跳到正文
烈焰甘蔗Wiki

Persimmon(pamPersimmon)

基本信息

属性 值
注册名 harvestcraft:pamPersimmon
源码类 BlockPamFruit.java(33 个果实方块共用)
构造 BlockRegistry.java:533
注册 BlockRegistry.java:731
贴图 harvestcraft:persimmon_0/1/2(3 张,按 metadata 轮换)
硬度 setHardness(Block.field_149779_h) + setRequiresTool(true);该混淆静态字段本机无 1.7.10 映射表,具体数值无法核实
温度/湿度分类 暖带/热带 Warm(PamWarmSaplings,BlockRegistry.java:826)
对应树苗 pampersimmonSapling → Persimmon Sapling
成熟果实物品 Persimmon
TileEntity 无
创造标签 tabHarvestCraft2

生长与再生

BlockPamFruit 用 metadata 0/1/2 表示成熟度:

metadata 状态 行为
0 未成熟 光照值 5(getLightValue 覆写返回 5)
1 生长中 光照值 5
2 已成熟 光照值 0;可被右键采摘
  • 随机刻再生:func_149674_a 中若 meta < 2 且 rand.nextInt(30) == 0 则 meta + 1(BlockPamFruit.java:75-84)
  • 右键采摘:rightclickharvestFruit 默认 true(BlockRegistry.java:433)。仅当 meta == 2 时生效:调用 dropBlockAsItem 掉 1 个果实并把方块重置为 meta 0(BlockPamFruit.java:62-65)→ 采摘后需再等随机刻重新成熟,可以反复再生,不是一次性方块
  • 右键粒子:rightclickmatureshowfruitHearts 默认 false(BlockRegistry.java:430)。开启后在 meta == 2 时于方块上方生成 heart 粒子(BlockPamFruit.java:54-61)
  • 骨粉:fertilize 前进 2~5 点并上限钳制在 2(BlockPamFruit.java:86-92)
  • 破坏掉落:func_149650_a 返回 Persimmon,数量恒为 1(BlockPamFruit.java:97-190、:192-194)

生存条件

  • canPlaceBlockOn 覆写为「正上方一格必须是 Blocks.field_150362_t」(BlockPamFruit.java:201-204)
  • onNeighborBlockChange 覆写:一旦上方不再是该方块,立即自毁(BlockPamFruit.java:206-210)
  • 因此该方块只能作为树叶的一部分存在,单独放置会立刻消失
  • 碰撞箱 getCollisionBoundingBox 覆写返回 null(BlockPamFruit.java:40-42)→ 无实体碰撞

相关条目

  • Persimmon Sapling - 对应树苗
  • Fruit Trees - 36 个果树种的温度/湿度分类与「果实↔树苗↔原版树种」完整对照表
浏览全部模组