Nutmeg Sapling(pamnutmegSapling)
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | harvestcraft:pamnutmegSapling |
| 源码类 | BlockPamSapling.java(36 个树苗方块共用) |
| 构造 | BlockRegistry.java:515 new BlockPamSapling(0, 0, pamNutmeg) |
| 注册 | BlockRegistry.java:686 |
| 贴图 | harvestcraft:nutmegSapling |
| 温度/湿度分类 | 温带 Temperate(PamTemperateSaplings,BlockRegistry.java:825) |
| 原版树种 | 木材 metadata 0、树叶 metadata 0 → 橡木 Oak |
| 对应果实方块 | pamNutmeg → Nutmeg 条目 |
| 生成器 | WorldGenPamFruitTree |
| 碰撞箱 | min (0.1, 0.0, 0.1) ~ max (0.9, 0.8, 0.9) |
| TileEntity | 无 |
| 创造标签 | tabHarvestCraft2 |
木材与树叶的 metadata 由构造器参数
(metaWood, metaLeaves)决定,经WorldGenPamFruitTree/WorldGenPamFruitLogTree传给原版Blocks.log与Blocks.leaves。1.7.10 中不存在「苹果树=橡木」这类额外映射表 —— 全部信息就是这两个 metadata。
种植与生长
| 触发 | 行为 | 证据 |
|---|---|---|
| 骨粉 | markOrGrowMarked:metadata 无 bit 8 时只打标记(meta OR 8),第二次才真正长树 |
BlockPamSapling.java:55-62 |
| 随机刻 | 光照 ≥ 9 且 random.nextInt(7) == 0 时走同一条「打标记 / 长树」路径 |
BlockPamSapling.java:78-85 |
| 长树 | 先调 TerrainGen.saplingGrowTree(尊重 Forge 树生长规则),先把方块换成原版 Blocks.field_150350_a(树苗),生成失败再换回自身 |
BlockPamSapling.java:68-76 |
| 生成器高度 | 两种构造器都传 new WorldGenPam...(true, 5, ...),第 2 个参数 5 |
BlockPamSapling.java:38、:48 |
生长配方
| 分类 | 配方出处 | 写法 | 树苗 metadata |
|---|---|---|---|
| 温带(9 个) | PamFoodRecipes.java:29 |
for (i < 9) 循环,索引 PamTemperateSaplings[i] ↔ PamTemperateFruits[i] |
0 |
| 暖带(24 个) | PamFoodRecipes.java:32 |
for (i < 24) 循环,索引 PamWarmSaplings[i] ↔ PamWarmFruits[i] |
3 |
| 肉桂 | PamFoodRecipes.java:34 |
单独手写 BlockRegistry.pamcinnamonSapling |
3 |
| 纸皮树 | PamFoodRecipes.java:35 |
单独手写 BlockRegistry.pampaperbarkSapling |
3 |
| 枫树 | PamFoodRecipes.java:36 |
单独手写 BlockRegistry.pammapleSapling |
1 |
本树种实际配方:
Nutmeg + minecraft:sapling [meta 0] -> pamnutmegSapling
⚠️ 注意:产木型(log)这 3 条配方没有写成
PamLogSaplings[i]循环, 所以「果实与树苗按下标配对」这个规律只对温带与暖带成立。PamLogFruits数组确实存在(ItemRegistry.java:2599),但它在 1.7.10 中只被PamMFRCompatibility.java:47用于 Miscellaneous Farming Red 的 fertilizable 注册, 不参与配方登记。
世界生成
- 会自然生成:
PamTreeGenerator.java中以new WorldGenPamFruitTree(true, 5, 0, 0, BlockRegistry.pamNutmeg)出现 - 生成条件:
FOREST且非COLD、非SPOOKY、非MOUNTAIN;地面须为Blocks.field_150349_c(草)或Blocks.field_150346_d(泥土) - 稀有度
temperatefruittreeRarity默认 15(BlockRegistry.java:390),每轮在该组 9 个树种中随机挑一种 - 所有果树生成器开头都有
if (BiomeDictionary.isBiomeOfType(biome, DEAD)) return;(PamTreeGenerator.java:42-44)—— 死亡生物群系不生成 - 维度开关(对所有果树一致):仅 Overworld(0) 生成;Twilight Forest(7) 与 Aroma1997’s Dimension(6) 需另开配置(默认均
false)
相关条目
- Nutmeg(pamNutmeg) - 对应果实方块
- Fruit Trees - 36 个果树种的完整对照表