Skip to content

Instantly share code, notes, and snippets.

View fifth-light's full-sized avatar

fifth_light fifth-light

  • China
  • 20:38 (UTC +08:00)
View GitHub Profile
@fifth-light
fifth-light / Minecraft Modding 编年史.md
Created November 1, 2025 19:27
Minecraft Modding 编年史

Minecraft Modding 编年史

by fifth_light

蛮荒年代

曾经,没有什么 Forge、更不存在什么 Fabric。你有的就是一个混淆后的 minecraft.jar。对于混淆,我们有一个伟大的项目叫 MCP,它提供了每个版本的 Minecraft 混淆名到可以实际开发使用的 MCP 名的映射。为了方便多版本移植,MCP 项目还有 SRG 名,基本上就是根据代码相似度匹配,跨版本相似的代码就会使用同一个名称,这样不同版本只要使用 SRG 名,如果逻辑不大,就不需要进行重构。

那个年代还没有模组加载器。那怎么打 mod 呢?我们采用的方法叫 JAR Modding。实际做法非常简单,用 MCP 工具链对 Minecraft 反编译,反混淆,得到 MCP 名的 Minecraft,然后修改反混淆的代码,最后重新编译回 JAR,并进行重混淆。这么做之后,你就得到了混淆名的,有着你的修改的 minecraft.jar。

@fifth-light
fifth-light / BlazeRod 基岩版动画适配考虑.md
Created September 19, 2025 03:14
BlazeRod 基岩版动画适配考虑

目前 BlazeRod 的动画系统分为以下几个部分:

  • Animation
  • AnimationChannel
  • AnimationInterpolation
  • AnimationInterpolator
  • AnimationKeyFrameData
  • AnimationKeyFrameIndexer

首先,我们有 Animation 类,其可以包装若干个 AnimationChannel,从而允许让多个动画片段同时播放。例如同时操作不同的骨骼、表情