Skip to content

EmakiCooking

EmakiCooking 负责世界工位式烹饪。它提供砧板、炒锅、研磨机、蒸锅、烤炉、榨汁机和发酵桶七类工位。重点不是装备成长,而是方块交互、坐标状态、材料输入、阶段进度和分支产物。

基本信息

项目
模块版本3.1.0
主命令/ecooking
别名/ec
硬依赖EmakiCoreLib
软依赖PlaceholderAPI、CraftEngine、ItemsAdder、Nexo、PacketEvents
主要权限emakicooking.useemakicooking.reloademakicooking.inspectemakicooking.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工位识别、交互、限制、展示实体、燃料和流体容量等全局配置。

世界状态流程

  1. 玩家与工位方块交互。
  2. Cooking 识别该方块是否为配置中的工位。
  3. 读取该坐标的工位状态。
  4. 根据玩家手持物、权限、容器、燃料和配方执行操作。
  5. 更新工位状态,例如加入材料、切割次数、火候、燃烧时间、蒸汽、水分、流体容量或发酵进度。
  6. 条件满足后发放产物、盛取流体、进入下一阶段或执行动作。
  7. 状态写入 data/stations/,重启后恢复。

与外部方块插件的关系

Cooking 可以通过 CraftEngine、ItemsAdder、Nexo 等软依赖识别自定义方块或物品。若这些插件未安装,对应自定义工位不会生效,但原版物品或方块相关功能仍可按配置运行。

展示实体可通过 display_entities.backend 配置:

  • auto:有 PacketEvents 时使用虚拟展示实体,不可用时回退 Bukkit 真实 ItemDisplay。
  • packet_events:优先使用 PacketEvents,加载失败仍回退 Bukkit。
  • bukkit:始终使用 Bukkit 真实 ItemDisplay。