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):

  1. 说明页 tc.research_page.betterstorage.magicstorage.1
  2. 奥术学者背包的 InfusionRecipe 页面(若启用)
  3. 神秘金属箱子的 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 为软依赖,未安装时全部上述内容不注册。

相关条目