EnderZoo(主 mod 类)

基本信息

属性 值
路径 crazypants.enderzoo.EnderZoo
类型 class(@Mod 主类)
源码 src/main/java/crazypants/enderzoo/EnderZoo.java:39
modid EnderZoo
显示名 Ender Zoo(带空格)
依赖 required-after:Forge@10.13.0.1150,

modid 从 @Mod(modid = MODID) 实读,常量 MODID = "EnderZoo"(EnderZoo.java:47)。 VERSION = "GRADLETOKEN_VERSION"(EnderZoo.java:49)是构建期占位符,源码里读不到真实版本号。

生命周期

阶段 实际动作
preInit 建 ItemForCreativeMenuIcon → Config.load → 遍历 MobInfo 注册实体 → 建 5 件物品 → 按配置建 3 种 charge 方块 → 向 Waila 发 IMC register
init proxy.load()
postInit 触发 Enchantments → MobSpawns.loadSpawnConfig → addRecipes() → 若难度修正开启则装 MobSpawnEventHandler

静态成员

成员 类型 注册名
itemSpawnEgg ItemSpawnEgg itemSpawnEggEnderZoo
itemWitheringDust ItemWitheringDust witheringDust
itemConfusingDust ItemConfusingDust confusingDust
itemEnderFragment ItemEnderFragment enderFragment
itemForCreativeMenuIcon ItemForCreativeMenuIcon enderZooIcon(不进创造栏,setCreativeTab(null))
itemGuardiansBow ItemGuardiansBow guardiansBow
blockConfusingCharge BlockConfusingCharge blockConfusingCharge
blockEnderCharge BlockEnderCharge blockEnderCharge
blockConcussionCharge BlockConcussionCharge blockConcussionCharge

合计 6 个物品 + 3 个方块 + 8 种生物实体。

配方(addRecipes,EnderZoo.java:152)

产物 配方 是否受 dreamcraft 门控
Items.ender_pearl(原版末影珍珠) 梅花形,4× enderFragment + 3 空 否(无条件执行)
blockConfusingCharge csc / sgs / csc(c=confusingDust,s=sand,g=火药) 是
blockEnderCharge csc / sgs / csc(c=enderFragment) 是
blockConcussionCharge eee / sgs / ccc(e=enderFragment,c=confusingDust) 是

缺陷

  1. Loader.isModLoaded("dreamcraft") 门控(EnderZoo.java:153): 在 GTNH 中 DreamCraft 必定加载,故 3 种 charge 方块的配方全部不注册, 只能用指令获取。ender_pearl 配方不受影响。
  2. EnderZoo.java:95-111 残留 17 行被注释掉的 System.err.println 调试代码与 DebugUtil.instance.setEnabled(true),属未清理的调试残留。
  3. 三个 charge 配方各自重复调用 OreDictionary.registerOre("sand", ...),冗余。
  4. Loader.isModLoaded("dreamcraft") 是针对 DreamCraft 时代的配方避让逻辑。 GTNH 1.7.10 使用 GTNHGradle + CraftTweaker,并非 DreamCraft,故这是遗留的误判: 门控条件在 GTNH 上恒为真,等于禁用了本 mod 全部 charge 配方。

相关条目