EmakiCooking
EmakiCooking 负责世界工位式烹饪。它提供砧板、炒锅、研磨机、蒸锅、烤炉、榨汁机和发酵桶七类工位。重点不是装备成长,而是方块交互、坐标状态、材料输入、阶段进度和分支产物。
基本信息
| 项目 | 值 |
|---|---|
| 模块版本 | 3.1.0 |
| 主命令 | /ecooking |
| 别名 | /ec |
| 硬依赖 | EmakiCoreLib |
| 软依赖 | PlaceholderAPI、CraftEngine、ItemsAdder、Nexo、PacketEvents |
| 主要权限 | emakicooking.use、emakicooking.reload、emakicooking.inspect、emakicooking.admin |
七类工位
| 工位 | 典型玩法 |
|---|---|
砧板 chopping_board | 将食材切割成另一种形态。 |
炒锅 wok | 加入材料、控制火候、翻炒、出锅。 |
研磨机 grinder | 将物品研磨成粉末或其他材料。 |
蒸锅 steamer | 需要燃料、水分或蒸制进度的 GUI / 工位流程。 |
烤炉 oven | 加燃料提升火力,在合适火力区间内推进烘烤,并根据烘烤阶段决定结果。 |
榨汁机 juicer | 多次压榨材料生成流体,按容器容量盛取饮品。 |
发酵桶 fermentation_barrel | 投入多种材料后封存发酵,支持提前收取、正常完成和过度发酵分支。 |
默认配置目录
text
plugins/EmakiCooking/
├── config.yml
├── recipes/
│ ├── chopping_board/
│ ├── wok/
│ ├── grinder/
│ ├── steamer/
│ ├── oven/
│ ├── juicer/
│ └── fermentation_barrel/
├── gui/
│ ├── steamer.yml
│ ├── oven.yml
│ ├── juicer.yml
│ └── fermentation_barrel.yml
├── item_adjustments/
├── data/
│ └── stations/
└── lang/目录说明:
| 目录 / 文件 | 作用 |
|---|---|
recipes/ | 各工位配方。先从目标工位目录开始改。 |
gui/steamer.yml | 蒸锅 GUI。 |
gui/oven.yml | 烤炉 GUI。 |
gui/juicer.yml | 榨汁机 GUI。 |
gui/fermentation_barrel.yml | 发酵桶 GUI。 |
item_adjustments/ | 对输入或输出物品的额外调整。 |
data/stations/ | 世界工位状态持久化数据。排查重启后状态丢失时看这里。 |
config.yml | 工位识别、交互、限制、展示实体、燃料和流体容量等全局配置。 |
世界状态流程
- 玩家与工位方块交互。
- Cooking 识别该方块是否为配置中的工位。
- 读取该坐标的工位状态。
- 根据玩家手持物、权限、容器、燃料和配方执行操作。
- 更新工位状态,例如加入材料、切割次数、火候、燃烧时间、蒸汽、水分、流体容量或发酵进度。
- 条件满足后发放产物、盛取流体、进入下一阶段或执行动作。
- 状态写入
data/stations/,重启后恢复。
与外部方块插件的关系
Cooking 可以通过 CraftEngine、ItemsAdder、Nexo 等软依赖识别自定义方块或物品。若这些插件未安装,对应自定义工位不会生效,但原版物品或方块相关功能仍可按配置运行。
展示实体可通过 display_entities.backend 配置:
auto:有 PacketEvents 时使用虚拟展示实体,不可用时回退 Bukkit 真实 ItemDisplay。packet_events:优先使用 PacketEvents,加载失败仍回退 Bukkit。bukkit:始终使用 Bukkit 真实 ItemDisplay。