========================================
全部功能 - 已实现功能记录
（汇总所有功能分类的"做了什么"，按分类分节）
========================================
说明:
- 本文件汇总全部功能分类的已实现内容
- 每节对应一个功能分类（如 动物养殖 / 烧烤），后续新分类在此追加
- 各分类的详细转换流程见 tuilun 下对应的《XX转化关系.txt》


########################################
【动物养殖】(xy_animal)
########################################

一、鸡窝(产蛋) —— 低级机制
- 放蛋: 手持鸡蛋右键鸡窝逐级放置递增 (0蛋→1蛋→…→5蛋), 每次消耗1个鸡蛋,
  提示 "鸡蛋已放入鸡窝 (N/5)" [已实现]
- 取蛋: 空手右键取走对应数量鸡蛋, 以掉落物形式获得, 回到0蛋形态,
  提示 "取走了 N 个鸡蛋" (5/4/3/2/1蛋均可取) [已实现]

二、鸡饲料盆 (chickenmanger_0/1)
- 填充: 手持种子右键, 消耗16个种子 → 满, 提示 "鸡饲料已加满" [已实现]
- 计时变空: 满盆计时60秒 → 自动变空, 开始提示 "鸡饲料已加满，鸡正在进食…",
  完成提示 "鸡饲料已吃完" [已实现]

三、饲料槽-小麦 (manger_0/3/2/1)
- 填充: 手持小麦右键, 消耗32个小麦 → 满, 提示 "小麦饲料已加满" [已实现]
- 计时逐级变空: 满→半量→少量→空, 每级计时60秒, 吃完提示 "小麦饲料已吃完" [已实现]

四、饲料槽-水 (manger_0/mangerwater)
- 加水: 手持水桶右键 → 水槽, 消耗水桶返还空桶, 提示 "已给饲料槽加水" [已实现]

五、饲料槽-胡萝卜 (manger_0/pigmanger_1/2)
- 填充: 手持胡萝卜右键, 消耗32个胡萝卜 → 满, 提示 "胡萝卜饲料已加满" [已实现]
- 计时逐级变空: 满→半量→空, 每级计时60秒, 吃完提示 "胡萝卜饲料已吃完" [已实现]

六、粪便 (feces_3/2/1)
- 清理: 空手右键逐级清理 (一坨→半坨→仅痕迹→消失), 提示 "清理了粪便" [已实现]


########################################
【烧烤】(xy_barbecue)
########################################

一、烧烤架 (barbecuegrill_0/1)
- 点火: 无火烧烤架_1 + 打火石 → 点燃烧烤架_2 (打火石不消耗) [已实现]
- 点火: 无火烧烤架_1 + 烈焰弹 → 点燃烧烤架_2 (消耗1个烈焰弹) [已实现]
- 灭火: 点燃烧烤架_2 + 水桶 → 无火烧烤架_1 (消耗水桶,返还空桶) [已实现]

二、烤串 (放烧烤架上,右键2次转换,不计时,需下方点燃烧烤炉)
- 牛肉串: beefkebabs_1(生) → beefkebabs_0(半熟) → beefkebabs_3(熟) [已实现]
- 羊肉串: lambkebabs_1(生) → lambkebabs_0(半熟) → lambkebabs_3(熟) [已实现]
- 烤蔬菜串: roasted_vegetables_0(生) → _1(半熟) → _3(熟) [已实现]
- 烤香菇串: roastedmushrooms_0(生) → _1(半熟) → _3(熟) [已实现]
- 失败提示: 下方不是点燃的烧烤炉 → "§c下方不是点燃的烧烤炉，无法翻烤！" [已实现]

三、上杆 (手持生食材右键 支杆b_34)
- 生鸡肉(放置后) roastchickenplace_0 → 烤鸡(上烤架_生) roastchicken_0 [已实现]
- 死猪 dead_pig → 烤乳猪(生) roastpig_0 [已实现]
- 鳕鱼 minecraft:cod → 烤鳕鱼(生) grilledcod_0 [已实现]
- 鲑鱼 minecraft:salmon → 烤鲑鱼(生) grilled_fish [已实现]

四、计时烤制 (支杆下方篝火 campfire,约60秒,右键激活 autoStart=False)
- 烤鸡: roastchicken_0(生) → roastchicken_1(熟) [已实现]
- 烤乳猪: roastpig_0(生) → roastpig_1(熟) [已实现]
- 烤鳕鱼: grilledcod_0(生) → grilledcod_1(熟) [已实现]
- 烤鲑鱼: grilled_fish(生) → grilled_salmon(熟) [已实现]
- 开始提示 "§e开始烤制烤X，约60秒…" / 完成提示 "§e烤X烤熟了！" [已实现]
- 下方无篝火: 拒绝开始 "§c支杆下方需要放一个篝火(营火)才能烤制！" [已实现]
- 烤制中拿走篝火: 暂停,篝火放回继续 (保持原时间戳) [已实现]
- 退出/重启游戏: 继续计时 (绝对时间戳写入方块实体数据持久化) [已实现]

五、取下 (空手右键烤熟方块,以掉落物形式获得整只)
- 烤鸡(熟) roastchicken_1 → b_34 + 掉落 烤鸡整只 roast_chickenplace_1,
  提示 "§a取下了烤鸡（整只）" [已实现]
- 烤乳猪(熟) roastpig_1 → b_34 + 掉落 烤乳猪整只 roastpignew_1,
  提示 "§a取下了烤乳猪（整只）" [已实现]

六、手持物品右键方块表面 (ServerItemUseOnEvent)
- 手持原版生鸡肉 minecraft:chicken 右键任意方块表面 → 生成 生鸡肉(放置后)
  roastchickenplace_0, 消耗1个, 提示 "已放置生鸡肉，可右键支杆上杆烤制" [已实现]


########################################
【通用架构】
########################################
- 右键转换与计时转换已拆分为两个独立类 (XxxService / XxxTimerService), 解耦 [已实现]
- 事件由 FeatureDispatcher 统一监听路由 (blockOwner/itemUseOnOwner/timerOwner) [已实现]
- 右键服务通过 FeatureDispatcher.startTimerFor 把计时启动转发给计时服务 [已实现]
- 计时用绝对时间戳写入方块实体数据, 支持退出/重启后继续计时 [已实现]


########################################
【食材补齐】(2026-09-02 第二批)
########################################
- 大米(brownrice): 从Java版迁入, 归乡野食材/谷物·米面组, 用于生米锅/米饭/竹筒饭/蛋炒饭 [已迁移]
- 生面(noodles): 从Java版迁入, 归面食.甜食/面粉·面团组, 用于汤锅生面汤/炒锅意面 [已迁移]
- 牛肋(costillavacaes): 从Java版迁入, 归乡野食材/肉类·肉馅组, 用于胡萝卜牛排骨(菜名保留"牛排骨") [已迁移]
- 葱(scallions): 从Java版迁入, 归乡野食材/蔬菜·切配组, 用于炒锅加葱/葱花锅底 [已迁移]
- 香菜锅底 → 改名"葱花锅底"(食材用葱): Java版无香菜, 触发食材已从青菜改为葱 [已改]
