Thaumcraft Integration
基本信息
| 属性 | 值 |
|---|---|
| 附属类 | net.mcft.betterstorage.addon.thaumcraft.ThaumcraftAddon |
| 检测 modid | Thaumcraft |
| 依赖级别 | 软依赖(after:Thaumcraft) |
| 附加方块 | 2(奥术学者背包、神秘金属箱子) |
| 附加物品 | 1(奥术学者背包物品) |
| 附加 TileEntity | 2 |
| 附加研究 | 1 |
来源:src/main/java/net/mcft/betterstorage/addon/thaumcraft/ThaumcraftAddon.java;检测代码 src/main/java/net/mcft/betterstorage/addon/Addon.java:20。
功能
Thaumcraft 是本 mod 最重要的集成方,附加两块来自神秘时代的内容并注册一条研究。
附加方块
| 配置键 | 显示名 | 类 | TileEntity | ID |
|---|---|---|---|---|
tile.thaumcraftBackpack |
Thaumaturge’s Backpack | TileThaumcraftBackpack(继承 TileBackpack) |
TileEntityThaumcraftBackpack |
container.betterstorage.thaumcraftBackpack |
tile.thaumiumChest |
Thaumium Chest | TileThaumiumChest |
TileEntityThaumiumChest |
container.betterstorage.thaumiumChest |
来源:配置键 ThaumcraftAddon.java:37-38;注册 ThaumcraftAddon.java:67-75, 201-203;常量 src/main/java/net/mcft/betterstorage/misc/Constants.java:23-24;英文名 src/main/resources/assets/betterstorage/lang/en_US.lang 的 tile.betterstorage.thaumcraftBackpack.name 与 tile.betterstorage.thaumiumChest.name。
两者都受配置开关控制(ThaumcraftAddon.java:68-69, 74),通过 MiscUtils.conditionalNew 条件创建。
神秘金属箱子
- 复用
TileEntityReinforcedChestRenderer渲染(ThaumcraftAddon.java:212-213) - GUI 为
GuiThaumiumChest,纹理textures/gui/thaumiumChest.png - 物品通过
ItemApi.getItem("Thaumcraft", "thaumium")取得(ThaumcraftAddon.java:52附近的ItemApi导入)
奥术学者背包
- 继承
TileBackpack,因此共用general.backpackRows等背包设置 - 物品渲染器为
ItemRendererBackpack(ThaumcraftAddon.java:210-211) - 通过
ThaumcraftApi注册元素标签(addItemAspects()/addEntityAspects(),ThaumcraftAddon.java:216-217)
研究
postInitialize 中注册一条研究(ThaumcraftAddon.java:229-243):
| 属性 | 值 |
|---|---|
| 研究 ID | betterstorage.magicstorage |
| 分类 | ARTIFICE |
| 要素 | VOID 8 + MAGIC 5 + EXCHANGE 5 |
| 复杂度 | 2 |
| 危险度 | 2 |
| 视点等级 | 2 |
| 父研究 | ENCHFABRIC |
| 隐藏父研究 | INFUSION |
| 是否隐藏 | 是(.setConcealed(),ThaumcraftAddon.java:242) |
研究图标为奥术学者背包物品,若其被禁用则回退为神秘金属箱子物品(ThaumcraftAddon.java:237)。
研究页面(ThaumcraftAddon.java:223-228):
- 说明页
tc.research_page.betterstorage.magicstorage.1 - 奥术学者背包的
InfusionRecipe页面(若启用) - 神秘金属箱子的
InfusionRecipe页面(若启用)
配方对象字段为 thaumcraftBackpackRecipe / thaumiumChestRecipe(ThaumcraftAddon.java:53-54)。
史莱姆桶的 Thaumcraft 变体
ItemBucketSlime 注册了 thaumicSlime handler,实体 ID 为 Thaumcraft.ThaumSlime(src/main/java/net/mcft/betterstorage/item/ItemBucketSlime.java:319-342):
- 效果时长倍率 1.0
- 食用时施加 8 s 的 flux 效果;源码会遍历
Potion.potionTypes查找名称为potion.fluxtaint的药水,找不到则退化为凋零效果(:322-336)
依赖声明
@Mod(dependencies = "required-after:Forge; after:Thaumcraft; after:NotEnoughItems;")(src/main/java/net/mcft/betterstorage/BetterStorage.java:32)——Thaumcraft 为软依赖,未安装时全部上述内容不注册。