跳到正文
烈焰甘蔗Wiki

Flower Block

基本信息

属性 值
注册名 Botany:flower
TileEntity TileEntityFlower
硬度 未指定
爆炸抗性 未指定
亮度 0

⚠️ 已订正(大小写):注册名原写 botany:flower,实际 modid 为 Botany(@Mod(modid = "Botany", ...),binnie/botany/Botany.java:58)。注册见 botany/genetics/ModuleGenetics.java:38。

✅ 已复核正确:canPlaceBlockOn = grass / dirt / farmland / Gardening.isSoil(block)(BlockFlower.java:145-147);canBlockStay 中 section>0 要求下方是 Botany.flower(:184-187);getDrops 仅 section==0 掉落(:192-202);随机 tick 驱动生长(:168-175 + TileEntityFlower.java:165)。原文「updateTick 每 tick 随机触发」措辞不严谨——是 Forge 随机 tick 调度后 updateTick 内无条件调 randomUpdate(rand)。硬度/抗性/亮度:构造函数(:37-42)未调用 setHardness / setResistance / setLightLevel,原文「未指定」正确。

功能

Flower Block(花朵方块)是 Botany mod 的核心方块,继承了 BlockContainer。使用自定义渲染器 RendererBotany(renderID = RendererBotany.renderID),非全立方渲染。

核心行为:

  • 生长机制: updateTick 每 tick 随机触发 TileEntityFlower.randomUpdate(),支持多节段(section)生长
  • 邻接检测: canPlaceBlockOn 检查下方是否为草方块、泥土或耕地
  • 多节段: 高于 1 节段的花朵需要下方也是 Flower 方块才能保持
  • 破坏规则: 仅 section=0 的花朵可掉落物品堆叠;多节段花朵不可直接破坏下节
  • 所有者: 放置时记录 EntityPlayer 的 GameProfile 作为花朵所有者

TileEntity

TileEntityFlower 存储:

  • IFlower - 花朵基因组
  • int section - 节段编号(0=地面,向上递增)
  • int age - 生长年龄
  • 渲染信息(主色、次色、茎色等)

数值

无能量/流体数值。

交互

触发 行为
放置 记录所有者,开始生长
邻接方块变化 检查是否保持,不保持则掉落
更新 tick 随机触发生长

所属多方块结构

无

相关条目

  • Soil - 土壤方块(花朵可种植其上)
  • Plant - 植物方块
浏览全部模组