跳到正文
烈焰甘蔗Wiki

Cherry Sapling(pamcherrySapling)

基本信息

属性 值
注册名 harvestcraft:pamcherrySapling
源码类 BlockPamSapling.java(36 个树苗方块共用)
构造 BlockRegistry.java:489 new BlockPamSapling(0, 0, pamCherry)
注册 BlockRegistry.java:673
贴图 harvestcraft:cherrySapling
温度/湿度分类 温带 Temperate(PamTemperateSaplings,BlockRegistry.java:825)
原版树种 木材 metadata 0、树叶 metadata 0 → 橡木 Oak
对应果实方块 pamCherry → Cherry 条目
生成器 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

本树种实际配方:

Cherry + minecraft:sapling [meta 0] -> pamcherrySapling

⚠️ 注意:产木型(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.pamCherry) 出现
  • 生成条件: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)

相关条目

浏览全部模组