背景
放置食物是餐食系统的核心机械:方块放置在地面,右键食用,返还容器。1.0 有三种形状(BOX/BOWL/BOTTLE),各自有独特行为(盒饭两阶段、可乐气泡、饮品返还空罐)。
1.0 参考:srcRef/1.0/src/main/java/willow/train/kuayue/block/food/(PlacementFoodBlock、TrainDietBoxBlock、ParticlesDrinkBlock)
做什么
1. Java 方块类(行为留在 Java)
PlacementFoodBlock 基类:BOX/BOWL/BOTTLE 三种 shape,FACING 旋转,canPlace 检查顶面
TrainDietBoxBlock:两阶段吃法。第一口获得 Regeneration I (5s),第二口返还 lunch_box。继承 1.0 的 EMPTY 状态 + ExternalRemainderBlockItem 机制
ParticlesDrinkBlock:直接食用,返还 empty_can/empty_can_blue。KUA_COLA 有 BUBBLE_COLUMN_UP 粒子,BLUE_BULL 无粒子。食用后获得对应的物品效果
2. BlockItem 类
PlacementFoodBlockItem:通用放置食物物品
PlacementDrinkBlockItem:饮品物品(DRINK 游戏动画)
3. 注册方式(数据驱动)
- 这些方块通过
ProvisionsFactories.java 注册的工厂类型在 JSON 中声明
diet_box 工厂 → train_diet_1
drink 工厂 → kua_cola(有粒子)、blue_bull(无粒子)
- Block 属性(strength、sound_type、map_color)在
provisions.json 的 registry_group 中定义,可逐 block 覆盖
验收标准
- 盒饭放置可吃,第一口补饥饿值 + 再生效果,第二口返还午餐盒
- 可乐放置可喝,喝时有气泡粒子,返还空罐
- 蓝牛放置可喝,无粒子,返还蓝空罐
- 所有放置食物只能放在方块顶面,可旋转
- 状态在重进世界后正确恢复
背景
放置食物是餐食系统的核心机械:方块放置在地面,右键食用,返还容器。1.0 有三种形状(BOX/BOWL/BOTTLE),各自有独特行为(盒饭两阶段、可乐气泡、饮品返还空罐)。
1.0 参考:
srcRef/1.0/src/main/java/willow/train/kuayue/block/food/(PlacementFoodBlock、TrainDietBoxBlock、ParticlesDrinkBlock)做什么
1. Java 方块类(行为留在 Java)
PlacementFoodBlock基类:BOX/BOWL/BOTTLE 三种 shape,FACING 旋转,canPlace 检查顶面TrainDietBoxBlock:两阶段吃法。第一口获得 Regeneration I (5s),第二口返还 lunch_box。继承 1.0 的 EMPTY 状态 + ExternalRemainderBlockItem 机制ParticlesDrinkBlock:直接食用,返还 empty_can/empty_can_blue。KUA_COLA 有 BUBBLE_COLUMN_UP 粒子,BLUE_BULL 无粒子。食用后获得对应的物品效果2. BlockItem 类
PlacementFoodBlockItem:通用放置食物物品PlacementDrinkBlockItem:饮品物品(DRINK 游戏动画)3. 注册方式(数据驱动)
ProvisionsFactories.java注册的工厂类型在 JSON 中声明diet_box工厂 →train_diet_1drink工厂 →kua_cola(有粒子)、blue_bull(无粒子)provisions.json的 registry_group 中定义,可逐 block 覆盖验收标准