Blood Arsenal

[!INFO] Git Commit: 890824b (tag 1.5.12) | Updated: 2026-10-02

Blood Arsenal 是 GTNH 整合包中的血液主题工具/武器/护甲模组, 作者 Arcratus,仓库 GTNewHorizons/BloodArsenal。

官方描述:"Blood-themed tools, weapons, armor and much more!"

属性 实测值
modid BloodArsenal(混合大小写)
资源域 bloodarsenal(全小写,与 modid 不一致)
modName Blood Arsenal(BloodArsenal.java:50)
版本字段 BATags.VERSION(间接常量,BloodArsenal.java:56)
主包 com.arc.bloodarsenal
Java 文件 136
注册方块 19(经本地 registerBlock 辅助方法)
注册 TileEntity 5
注册物品 57(经本地 registerItem 辅助方法)
实体 1(EntityBloodTNT)
配方 17(6 条绑定 + 11 条普通)
语言文件 5(zh_CN / en_US / ru_RU / zh_TW / de_DE)
硬依赖 required-after:AWWayofTime
软依赖 NotEnoughItems、Baubles、guideapi、TConstruct、Waila、ForbiddenMagic

[!IMPORTANT] 裁定:硬依赖是 AWWayofTime,不是 Blood Magic @Mod 的依赖串(BloodArsenal.java:51)是:

required-after:AWWayofTime;after:NotEnoughItems;after:Baubles;after:guideapi;after:TConstruct;after:Waila;after:ForbiddenMagic

Blood Magic 全仓只出现 2 次,且都不是运行时依赖:

  • dependencies.gradle:5 —— api("com.github.GTNewHorizons:BloodMagic:1.9.0:dev"),编译期库
  • README.md:7 —— 相关项目链接

Blood Arsenal 是从 WayofTime 系血脉魔法代码分叉出来的独立模组, 运行时依赖 AWWayofTime,把 Blood Magic 当作编译期代码库使用。 说它是「Blood Magic 配套 mod」不准确。

[!WARNING] mcmod.info 的 dependencies 是空数组 mcmod.info 写的是 "dependencies": [], 完全漏报了硬依赖 AWWayofTime 和 6 个软依赖。 必须以 @Mod 注解为准。modid / name / version / mcversion 全是 ${modId} / ${modName} / ${modVersion} / ${minecraftVersion} 占位符,同样不可用。

[!IMPORTANT] 数量必须数本地辅助方法,不能数 GameRegistry.* 本 mod 自己定义了 ModBlocks.registerBlock(ModBlocks.java:78、:99) 和 ModItems.registerItem(ModItems.java:238)三个重载, 真正调用 GameRegistry.registerBlock 的只有 2 处。 直接 grep GameRegistry.registerBlock 会得到 2, 真实方块数是 19。物品同理:grep GameRegistry.registerItem 得 3, 真实物品数是 57。这是本 mod 最容易出错的地方。

依赖关系

硬依赖

  • AWWayofTime —— 配方系统直接调用其 BindingRegistry.registerRecipe (BloodArsenalRecipes.java:112 起),且为 required-after。

软依赖

NotEnoughItems、Baubles、Guide-API、TinkersConstruct、Waila、ForbiddenMagic。

编译期库(非运行时依赖)

依赖 声明位置 作用域
Baubles-Expanded dependencies.gradle:4 api
BloodMagic dependencies.gradle:5 api
TinkersConstruct :6 compileOnly
AppleCore :7 compileOnly
Thaumcraft :8 compileOnly
Guide-API :9 compileOnlyApi

BloodMagic、Baubles-Expanded 与 Guide-API 不在本 wiki 收录范围 (relation.md 无对应行),故不建分类、不加链接。 Thaumcraft / TinkersConstruct 已收录: Thaumcraft、Tinkers Construct。

注册机制:配置可禁用

两个本地辅助方法都支持通过配置跳过注册:

配置项 默认值 作用
BloodArsenalConfig.blocksToBeDisabled new String[] { "" }(BloodArsenalConfig.java:108–:111) 跳过指定方块的注册
BloodArsenalConfig.itemsToBeDisabled 空列表(:45) 跳过指定物品的注册

默认值是单个空字符串,因此默认状态下 19 方块与 57 物品全部注册。 但配置可让数量下降,写「共 N 个」时必须注明这是默认值下的数量。

方块列表

共 19 个方块,全部在 ModBlocks.init()(ModBlocks.java:45–:68)注册。

物品列表

共 57 个物品,全部在 ModItems.init()(ModItems.java:137–:195)注册。 规模较大,按用途分组:

药剂效果

仪式

  • 仪式 - 5 个 AWWayofTime 炼金仪式

集成

配方列表

  • 配方系统 - 17 条配方,6 条走 AWWayofTime 绑定系统

实体列表

[!WARNING] EntityBloodHound 是死代码,不是覆盖缺口 CommonProxy.java:31-32 里它的注册被注释掉了:

// EntityRegistry.registerModEntity(EntityBloodHound.class, "BloodHound", 3, BloodArsenal.instance, 96,
// 3, true);

类文件 common/entity/mob/EntityBloodHound.java 与客户端渲染器 client/renderer/entity/RenderEntityBloodHound.java 都存在, 且 BoundShears.java:229 会 spawnEntityInWorld(new EntityBloodHound(world)) —— 但实体没有注册 ID、也没有网络生成, 且 CommonProxy.initRendering() 是空的 // TODO Auto-generated stub, 渲染器从未接线。故实体数量是 1,不是 2。

快速导航