Random Boubles

[!INFO] Git Commit: 2712fa7 | Updated: 2026-10-01(首次源码通读)

Random Boubles(modid randomboubles)是 Minecraft 1.7.10 的一个 Thaumcraft 装饰品(Baubles)附属 mod,唯一内容是戒指:1 枚矿工戒指、 6 组要素戒指(3 meta 各)、1 组 9 meta 的组合戒指。全部物品无方块、无实体、 无 TileEntity、无维度、无 GUI。

命名与注册约定(审计要点)

  • modid = randomboubles(RandomBoubles.java:26 public static final String MODID = "randomboubles")。 ⚠️ src/main/resources/mcmod.info 里写的是 "modid": "${modId}" —— 构建期占位符,由 GTNH Gradle 约定插件在编译时替换。 直接读 mcmod.info 会读不到真实 modid,必须读 Java 常量。 同文件的 ${modName} / ${modVersion} / ${minecraftVersion} 均为占位符。
  • 全部物品用 GameRegistry.registerItem(item, "名字", RandomBoubles.MODID) 三参重载(BaubleItems.java:30-49),注册名与 modid 同为源码实参, 资源目录也用 randomboubles:,两者一致。
  • 物品数量:8 个 Item 实例 / 共 28 个 meta。

物品列表

条件注册

BaubleItems.init()(BaubleItems.java:30-49)中,只有 randomboubles:ring 无条件注册;其余 7 个 Item 全部包在 if (Loader.isModLoaded("Thaumcraft")) 内。 不装 Thaumcraft 时本 mod 只剩 1 个矿工戒指,且没有任何配方。

配方总数

  • 奥术合成 6 条(ArcaneRecipes.java)
  • 注入 / 增强注入 18 条(InfusionRecipes.java)
  • 研究条目 37 个(RingResearch.registerResearch()), 含 6 个 autoUnlock 的学徒环 + 3 个分支节点(Master of the Rings、 Ring Combinations、Protection Theory)+ 1 个自定义分类 RBRINGS

配方与物品的对应关系见各条目。6 个要素戒指的代码除要素下标外完全同构。

跨 mod 兼容(全部读自 RandomBoubles.postInit,:34-54)

检测的 modid 触发的源码常量 影响
ThaumicExploration Constants.ThaumicExploration 隐藏 6 组要素戒指的 meta 0,且 24 条配方全部改指向其 discountRing,本 mod 戒指失去获取途径
gregtech Constants.Gregtech 奥术合成的 T 由 ingotThaumium 改为 plateThaumium
dreamcraft Constants.GTNH 注入返还物改为「惰性珍珠碎片」
WitchingGadgets Constants.WitchingGadgets 注入返还物改为「无源珍珠」
thaumicbases 直接内联 Loader.isModLoaded(InfusionRecipes.java:175-177) 注入的 Salis Mundus 替换为 TBBlocks.dustBlock

⚠️ 这些常量全部在 postInit 才赋值,但 getSubItems 在客户端读它们 (ItemAerRing.java:59 等)—— 属初始化时序依赖,源码中未做保护。

物品迁移

FMLMissingMappingsEvent(RandomBoubles.java:56-65)把旧版物品 ID Baubles:Ring 重映射到 randomboubles:ring,属存量存档兼容,非内容。

审计状态

  • 本页 8 条目已于 2026-10-01 全量回源码逐条核对。
  • 未核实项一律显式标注;本 mod 无需标注「无法核实」的内容。