McPatcherForge(mcpatcherforge 主入口)
基本信息
| 属性 | 值 |
|---|---|
| modid | mcpatcherforge |
| 显示名 | MCPatcherForge |
@Mod 注解位置 |
src/main/java/jss/notfine/McPatcherForge.java:5 |
acceptedMinecraftVersions |
[1.7.10](:7) |
version |
字面量 "1.0.0-alpha"(:6,不是 Tags.VERSION) |
guiFactory |
jss.notfine.config.MCPatcherForgeGuiConfigFactory(:9) |
| 主类 | jss.notfine.McPatcherForge |
| 适用范围 | Minecraft 1.7.10 |
空壳主类
McPatcherForge.java 全文只有一个注解和一对空花括号:
@Mod(
modid = "mcpatcherforge",
version = "1.0.0-alpha",
name = "MCPatcherForge",
acceptedMinecraftVersions = "[1.7.10]",
acceptableRemoteVersions = "*",
guiFactory = "jss.notfine.config.MCPatcherForgeGuiConfigFactory"
)
public class McPatcherForge {
}
没有 @Mod.EventHandler、没有 @SidedProxy、没有 任何生命周期方法。配置与初始化全部由 AngelicaClientTweaker 代劳(:82 调 MCPatcherForgeConfig.registerConfig())。
与 NotFine 同包
McPatcherForge 位于 jss.notfine 包内,与 NotFine.java 同包 —— 这是「一仓多 modid」里包名与 modid 不对应的典型。MCPatcherForge 的代码主体不在 jss.notfine 下,而在:
| 路径 | 文件数 | 说明 |
|---|---|---|
src/main/java/com/prupe/ |
61 | 上游作者 Paul Rupe 的原版 MCPatcher 代码 |
src/main/java/jss/notfine/config/ |
5 | 含 MCPatcherForgeConfig、MCPatcherForgeGuiConfig、MCPatcherForgeGuiConfigFactory |
src/mixin/.../mixins/early/mcpatcherforge/ |
82 | 全部 mixin 补丁 |
上游归属
mcmod.info 的 MCPatcherForge 条目 credits 写明代码源自 Paul Rupe 的 MCPatcher(https://bitbucket.org/prupe/mcpatcher),1.7.10 移植由 Mist475 完成,AT 与 mixin 处理借用了 Hodgepodge 与 Angelica。
功能范围
MCPatcherForge 在 1.7.10 上移植的能力(按 mixin 分组,非按注册物):
| 分组 | mixin 数 | 能力 |
|---|---|---|
mcpatcherforge.cc(ConnectedTextures) |
39 | 连接纹理,含 cc/block 13、cc/client/renderer 7、cc/client/particle 8 |
mcpatcherforge.cit(CustomItemTextures) |
13 | 自定义物品纹理 |
mcpatcherforge.mob |
10 | 生物渲染 |
mcpatcherforge.base |
6 | 基础补丁 |
mcpatcherforge.ctm_cc |
4 | CTM 与 CC 联动 |
mcpatcherforge.hd |
4 | HD 材质包 |
mcpatcherforge.renderpass |
3 | 额外渲染 pass |
mcpatcherforge.sky |
2 | 自定义天空盒 |
| 其余 | 4 | ctm 1、cc/potion 2、world 4 中的顶层项 |
合计 82 个 mixin,见 MCPatcherForge Mixin 分组。
总开关
AngelicaConfig.java:52-55 定义总开关,默认开启:
@Config.Comment("Enable MCPatcherForge features, still in Alpha. Individual features are toggled in mcpatcher.json")
@Config.DefaultBoolean(true)
@Config.RequiresMcRestart
public static boolean enableMCPatcherForgeFeatures;
注释明确标注 still in Alpha。单项特性另由 mcpatcher.json 控制,见 McPatcherForgeConfig。
不注册任何游戏对象
与 Angelica / NotFine 一致:MCPatcherForge 零 Block / Item / Entity / TileEntity 注册。所有能力都是对原版类的 mixin 与资源替换。
相关条目
- Mod ID 与注册总表 - 同仓 3 个 modid
- NotFine - 同包的另一个 modid
- McPatcherForgeConfig - 65 字段 / 6 分类
- MCPatcherForge Mixin 分组 - 82 个 mixin
- AngelicaModulesConfig -
enableMCPatcherForgeFeatures