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)。
相关条目
- 配置:KAMI 与暗影束 - 3 个维度 ID 与 2 个矿脉配置
- KAMI 材料与工具 - 末地碎片 / 下界碎片的产出
- 网络封包 - 传送门按钮与传送 2 个服务端封包