Backhand
模组主类:modid、配置注册与副手黑名单查询
基本信息
| 属性 | 值 |
|---|---|
| 路径 | xonin.backhand.Backhand |
| 注解 | @Mod(modid = Backhand.MODID, name = "Backhand", version = Tags.VERSION, dependencies = "required-after:gtnhlib@[0.6.34,)") |
modid
public static final String MODID = "backhand"(:28),全小写。
⚠️ 两个构建期占位符陷阱:
version = Tags.VERSION——Tags类由 Gradle 在编译期生成,源码里不存在- 仓库
mcmod.info整份都是${modId}/${modName}/${modVersion}占位符
name = "Backhand" 则是源码硬编码的展示名。
唯一的硬依赖
required-after:gtnhlib@[0.6.34,)——GTNHLib。
其余所有 mod(Thaumcraft / TConstruct / IC2 / Draconic Evolution 等)
都不在 FML 依赖串里,而是由 mixin 按目标存在与否动态开关。
生命周期
| 阶段 | 处理 |
|---|---|
load(FMLPreInitializationEvent) |
通过 GTNHLib ConfigurationManager 注册 BackhandConfig 与 BackhandConfigClient,然后 proxy.load() |
init(FMLInitializationEvent) |
BackhandPacketHandler.init() |
配置注册失败只 LOGGER.warn,不中断加载。
工具方法
| 方法 | 作用 |
|---|---|
isOffhandBlacklisted(ItemStack) |
是否命中 BackhandConfig.offhandBlacklist |
doesMainhandUseStopOffhandFallback(ItemStack) |
是否命中 mainhandUseStopsOffhandFallback |
matchesItemName(ItemStack, String[]) |
私有,按物品名匹配(stack == null 返回 false) |
getServer() |
FMLCommonHandler.instance().getMinecraftServerInstance() |
Proxy
@SidedProxy(clientSide = "xonin.backhand.client.ClientProxy", serverSide = "xonin.backhand.CommonProxy")