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 与资源替换。

相关条目