KAMI 维度与浮空装置

基本信息

属性 值
方块数 4(基岩传送门、传送门、浮空机车、浮空中继)
自定义维度 1(Bedrock 基岩维度)
维度包 thaumic.tinkerer.common.dim:WorldProviderBedrock、ChunkProviderBedrock、OreClusterGenerator、TeleporterBedrock、EnumOreFrequency
注册位置 TTRegistry.java:62-63、TTRegistry.java:64-65
注册门槛 传送门需 enableKami;基岩传送门、浮空机车、浮空中继无条件注册

数值

方块 注册名 Java 类 TileEntity 注册门槛 注册行
基岩传送门 bedrockPortal BlockBedrockPortal TileBedrockPortal 无条件 TTRegistry.java:62
传送门 warpGate BlockWarpGate TileWarpGate ConfigHandler.enableKami TTRegistry.java:63
浮空机车 Levitational Locomotive BlockMobilizer TileEntityMobilizer 无条件 TTRegistry.java:64
浮空中继 Levitational Locomotive Relay BlockMobilizerRelay TileEntityRelay 无条件 TTRegistry.java:65

后两者的注册名含空格(LibBlockNames.MOBILIZER / MOBILIZER_RELAY),因此其资源标识为 ttinkerer:Levitational Locomotive(含空格)。

功能

基岩维度

WorldProviderBedrock 继承原版 WorldProvider(WorldProviderBedrock.java:16),getDimensionName() 返回 "Bedrock"(WorldProviderBedrock.java:43-45),renderStars() 返回 true(WorldProviderBedrock.java:47-49)。

维度的注册在 ThaumicTinkerer.init() 中完成,且双重条件:

if (ConfigHandler.enableKami && ConfigHandler.bedrockDimensionID != 0) {
    DimensionManager.registerProviderType(ConfigHandler.bedrockDimensionID, WorldProviderBedrock.class, false);
    DimensionManager.registerDimension(ConfigHandler.bedrockDimensionID, ConfigHandler.bedrockDimensionID);
}

(ThaumicTinkerer.java:77-80)

条件 含义 来源
enableKami 需启用 KAMI 体系 ThaumicTinkerer.java:77
bedrockDimensionID != 0 配置值 0 表示禁用该维度 ThaumicTinkerer.java:77

字段初值为 19(ConfigHandler.java:49),但 loadConfig() 读取的默认值是 -19(配置键 Bedrock dimension id,category "general.kami",取值范围 -1023…1023,ConfigHandler.java:190-196)。因此首次生成配置文件后实际生效值是 -19,而非类字段初值 19。

矿脉生成

OreClusterGenerator 实现 IWorldGenerator(OreClusterGenerator.java:14),其两个静态字段由配置写入:

字段 配置键 category 默认值 范围 源码
OreClusterGenerator.density Bedrock Dimension ore density "general" 1 0–1023 ConfigHandler.java:204-210
OreClusterGenerator.blacklist Bedrock dimension ore Blacklist "general.kami" { "oreFirestone" } 字符串列表 ConfigHandler.java:198-202

生成主循环为 for (int k = 0; k < density; k++)(OreClusterGenerator.java:24),即 density 直接等于每区块的垂直矿脉条数。

EnumOreFrequency 的频率判定同时检查黑名单与物品字典:return !Arrays.asList(OreClusterGenerator.blacklist).contains(name) && !OreDictionary.getOres(name).isEmpty()(EnumOreFrequency.java:107)。

density 的 category 是 "general"(ConfigHandler.java:206),而紧邻的 blacklist 用的是 "general.kami"(ConfigHandler.java:200)。两者位于同一个 if (enableKami) 代码块内,却写入不同的配置分类。

研究

方块 研究键 键值 父研究 状态
浮空机车 KEY_MOBILIZER LEVITATOR_LOCOMOTIVE — 可达
浮空中继 无 — — getResearchItem() 返回 null
传送门 KEY_WARP_GATE WARP_GATE — 仅 enableKami 时可达
基岩传送门 无 — — LibResearch 中无对应键
  • 浮空机车的构造点在 BlockMobilizer.java:98(KEY_MOBILIZER)。
  • 浮空中继的 getResearchItem() 显式 return null;(BlockMobilizerRelay.java:85-87)。LibResearch.KEY_RELAY(值 LEVITATOR_RELAY)在该类中只作为配方标识符出现在 ThaumicTinkererArcaneRecipe 的构造参数里(BlockMobilizerRelay.java:92),并非研究键 —— 因此该常量虽有引用却从不生成研究条目(见 研究总览)。
  • 传送门研究在 BlockWarpGate.java:185。

合成配方

浮空中继是本页唯一自带合成配方的方块(BlockMobilizerRelay.getRecipeItem(),BlockMobilizerRelay.java:89-100 起):

WFW
SIs
WFW

所需 Aspects:AIR 20 + ORDER 5 + EARTH 15(BlockMobilizerRelay.java:94)。配方的两个 id 参数为 KEY_RELAY 与 KEY_MOBILIZER(BlockMobilizerRelay.java:92-93)。

相关条目