▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/EmakiCooking - Семь кухонных станций
EmakiCooking - Семь кухонных станций

EmakiCooking - Семь кухонных станций

Плагин EmakiCooking добавляет в Майнкрафт семь интерактивных кухонных станций с реальным взаимодействием, ветвящимися результатами готовки, парящими над блоками отображениями и системой питательности еды.

Оцените первым
1.5K
15
Все версииEmaki Cooking 4.2.0

Emaki Cooking 4.2.0

Release11.08.2026

Список изменений

Changed

  • Actions use a new syntax, and you do not have to rewrite anything yourself. On first startup CoreLib rewrites the config files of every Emaki plugin under plugins/, once only. Each edited file keeps the original beside it with a .legacy-backup suffix. A line that cannot be converted leaves your config untouched and goes into a separate .v2-failed file, with the file and line listed in the console.
  • The seven nutrition actions are the only ones you need to rename by hand; automatic rewriting does not cover them. Underscores now separate the words:
    • emakicookingaddnutritioncooking_add_nutrition
    • emakicookingremovenutritioncooking_remove_nutrition
    • emakicookingsetnutritioncooking_set_nutrition
    • emakicookingclearnutritioncooking_clear_nutrition
    • emakicookingresetnutritioncooking_reset_nutrition
    • emakicookingrechecknutritionthresholdcooking_recheck_nutrition_threshold
    • emakicookingrunreciperewardcooking_run_recipe_reward
  • Nutrition loops need editing by hand too: loopsync/cancelloop become start_task/stop_task, %player_name% becomes %caster.uuid%, mode=replace becomes on_conflict=replace, and stop_if_offline becomes stop_when_offline. The comments in the nutrition threshold section of config.yml already show the new format. The repeat count of start_task is capped by CoreLib action.pipeline.max_repeat_times (default 100).
  • The juicer inspect action is right_click in the new config.yml. If you keep your old config file, change inspect under stations.juicer, or the juicer block cannot be mined.
  • For developers: EmakiCookingApi.available(), apiVersion(), pluginName() and isReady() are replaced by EmakiCookingApi.status(), which returns ApiStatus. EmakiCookingApiProvider is removed; call the static methods on EmakiCookingApi directly. New nutrition(), catalog() and operations() accessors return no-op implementations when the plugin is absent instead of throwing. EmakiCookingApi.Bridge is now @ApiStatus.NonExtendable.

Fixed

  • Stations breaking down for good after a while (chopping board, wok, grinder, juicer): a wok that finished cooking but could not be served, ingredients vanishing or being overwritten by the next ones added, a chopping board that would neither cut nor return items, a grinder with a frozen progress bar. One flaw caused all of it: a counter on the station's saved record climbed on every read, and once a save failed the station looked empty to the plugin with no way back. The counter no longer climbs and a failed save rolls back.
  • The pipeline jamming when a dish moves between stations, on Folia servers. An error mid-transfer blocked that station and everything queued behind it until a restart; it now recovers on its own.
  • Items being taken even when a recipe condition failed, on the wok and juicer. The bowl or container was removed before the condition was checked, so a failure had already cost the item and still reported success. The check now happens first, and only the on_fail actions run.
  • Items sometimes taken at odd moments. Recipes pulling ingredients from a player's inventory retried forever when they could not find them, so items could disappear after the player walked away or swapped items. Capped at 5 attempts, then the station is released without taking anything.
  • The juicer block being impossible to break while it held liquid, because inspect took over left click in survival and creative.
  • A flood of error messages when serving from the juicer without a container in hand.
  • Floating text and displayed items left in the world after removing a station, on all seven types, when the plugin could not read the station's contents.

Removed

  • JS scripting, including .js reward scripts in recipes. There is no automatic conversion, so rewrite those rewards using config actions. The bundled scripts/examples/cooking_reward.js sample is gone as well.
  • Two config options that never did anything: stations.juicer.drop_completed_result_on_break and stations.fermentation_barrel.require_sealed. They sat in the config file but were never read, so no value ever had an effect. Delete them from your own config whenever you like.

Notes

  • Update EmakiCoreLib to 4.7.0 first.
  • Back up your whole plugins/EmakiCooking/ folder before upgrading.
  • Three things need doing by hand: renaming the seven nutrition actions, rewriting JS reward scripts as config actions, and converting nutrition loops to start_task/stop_task. Everything else is rewritten for you.
  • Player nutrition data and stations already placed in the world are unaffected and need no migration. The action syntax inside recipe files is rewritten automatically; the recipe structure itself has not changed.

Emaki Cooking v4.1.0

MineBBS 更新日志

【必读】升级前必须完成的两件事

  • 不处理会静默清空玩家营养数据。 营养数据键由 values: 改为 nutrition:,没有兼容旧键的回退读取,也没有提升数据版本号,因此旧的 data/nutrition/<uuid>.yml 会被判定为空并按各营养类型默认值重建。升级前必须先备份 data/nutrition/,并把每个玩家文件中的 values: 段改名为 nutrition:,否则所有玩家营养数据都会丢失。
  • 营养动作短别名已移除。 ecaddnutritioncookingaddnutritionecremovenutritionectakenutritioncookingremovenutritionecsetnutritioncookingsetnutrition 全部不再存在,只保留 emakicookingaddnutritionemakicookingremovenutritionemakicookingsetnutrition升级前必须检索所有配置与脚本,把短别名替换为完整的 emakicooking* 动作名,否则使用短别名的动作链会报动作未注册。

工位数据未被破坏

  • 工位状态存储主体迁移到方块 PDC,但旧的 YAML 仍会被扫描并自动归档到 data/stations-legacy-backup/;没有方块实体的方块继续走 YAML 回退。
  • 配方文件、stations.* 结构与权限键均未改变。

破坏性变更:移除 Web Console

  • 浏览器端 Web Console 层已整体移除,包含 web-console.yml、GUI 界面的网页扩展与配套前端项目;原先依赖该网页界面完成的运维操作需要改用配置文件或命令。

世界黑名单与工位占位符

  • 新增全局与按工位的世界黑名单:station.disabled_worlds: []stations.<type>.disabled_worlds: []。在黑名单世界中,插件不接管相关事件,保留原版方块行为。
  • 新增工位占位符族 %emakicooking_station_*%,解析玩家最近交互的工位:typetype_nameworldxyzlocationblockheat_blockburningburning_secondsheatmoisturesteaminputinput_sourceinput_amountingredient_countreciperecipe_idprogressprogress_targetprogress_percentcompletedfluidfluid_amountplayer。另有 station_<name>_<field> 形式用于指定某一工位类型。
  • 新增公开的工位交互事件,第三方插件可以据此做联动。

命令、动作与预检

  • 新增命令 /ecooking station reindex(需要 emakicooking.admin),用于重建工位状态索引。
  • 新增 /ecooking inspect block(此前只有 inspect hand),可查看工位类型、来源、方块、方块状态、是否为方块实体、存储后端、PDC 状态、索引状态、索引后端、是否存在旧版 YAML,以及是否被世界黑名单禁用交互。
  • 新增营养动作:emakicookingclearnutritionemakicookingresetnutritionemakicookingrechecknutritionthresholdemakicookingrunrecipereward
  • 配置预检新增配方目录与工位状态目录提示,并按工位给出存储后端提示。
  • 新增本地化工位名称与错误提示键。

修复

  • 修复工位悬浮文本丢失原版物品译名的问题:此前文本会被拍平成旧式字符串,客户端无法本地化可翻译组件。现在保留组件结构,原版物品名按客户端语言显示。
  • 修复默认 config.yml 中示例动作行无效、从不触发的问题:它们使用了未注册的动作 id。默认值已修正,开箱示例(砧板、炒锅、研磨机、蒸锅、烤炉、榨汁机、发酵桶的音效与粒子反馈,以及营养过量反馈)现在可以真正生效。

其他改进

  • 插件描述文件由 plugin.yml 更名为 paper-plugin.yml,改用结构化依赖(必需 EmakiCoreLib;可选 PlaceholderAPI / CraftEngine / ItemsAdder / Nexo / Oraxen / PacketEvents / MMOItems / NeigeItems)。全部 25 个权限键及其默认值保持不变;/ecooking(别名 ec)改为代码注册,别名保留。
  • 工位状态主要存放在方块 PDC 并带版本账本,配合索引恢复与完成事务恢复,崩服或强制关服后工位进度与产出更不容易丢失或重复发放。
  • 消息前缀更换为新的品牌渐变样式。
  • 第三方物品 / 家具接入范围保持不变。

升级说明

  • 需要 EmakiCoreLib 4.6.0
  • 升级前请依次完成:备份 data/nutrition/,把各玩家文件的 values: 改名为 nutrition:,再检索配置与脚本替换全部营养动作短别名。
  • api-version1.21 提升到 1.21.8,构建基线由 spigot-api 改为 paper-api;folia-supported: true 与 Java 25 目标保持不变。
  • 新增配置键 station.disabled_worlds 与按工位的 disabled_worlds 默认为空列表,即不禁用任何世界,不填写则行为不变。
  • 升级后建议用 /ecooking inspect block 抽查若干已放置工位,确认存储与索引状态正常,并检查一次玩家营养数值是否符合预期。

SpigotMC Update Log

CENTER[B]◆ Emaki Cooking v4.1.0 Release ◆/B[/CENTER] [CENTER]Two mandatory pre-upgrade steps for nutrition data and nutrition action aliases, plus world blacklists, station placeholders, PDC-backed station state, and removal of the Web Console.[/CENTER] CENTER━━━━━━━━━━━━━━━━━━━━/B [LIST] []MANDATORY STEP 1 - player nutrition data will be silently reset unless you act. The nutrition data key changed from values: to nutrition: with no fallback read and no schema version bump, so old data/nutrition/.yml files are treated as empty and rebuilt from per-type defaults. Back up data/nutrition/ and rename the values: section to nutrition: in each player file before upgrading, otherwise all player nutrition is lost. []MANDATORY STEP 2 - short nutrition action aliases are removed. ecaddnutrition, cookingaddnutrition, ecremovenutrition, ectakenutrition, cookingremovenutrition, ecsetnutrition, and cookingsetnutrition are gone; only emakicookingaddnutrition, emakicookingremovenutrition, and emakicookingsetnutrition remain. Any action chain using a short alias will report an unregistered action, so search your configs and scripts and replace them with the full emakicooking* names. []Station state data is NOT broken: primary storage moved to block PDC, but legacy YAML is still scanned and automatically archived to data/stations-legacy-backup/, and blocks without a tile state fall back to YAML. Recipe files, the stations. structure, and permission keys are unchanged. []Breaking: the browser-based Web Console layer is removed, including web-console.yml, the GUI surface web extension, and the web-console frontend project. []New world blacklists, global and per station: station.disabled_worlds: [] plus stations..disabled_worlds: []. In a blacklisted world the plugin does not take over events and vanilla block behavior is preserved. []New station placeholder family %emakicooking_station_% resolving the player's most recent interacted station: type, type_name, world, x, y, z, location, block, heat_block, burning, burning_seconds, heat, moisture, steam, input, input_source, input_amount, ingredient_count, recipe, recipe_id, progress, progress_target, progress_percent, completed, fluid, fluid_amount, player. A station__ form also exists to target a specific station type. []New public station interaction event so third-party plugins can react to station interactions. []New command /ecooking station reindex (requires emakicooking.admin) to rebuild the station state index. []New /ecooking inspect block, reporting station type, source, block, block state, whether it is a tile state, storage backend, PDC state, index state, index backend, whether legacy YAML exists, and whether interaction is disabled by the world blacklist. []New nutrition actions: emakicookingclearnutrition, emakicookingresetnutrition, emakicookingrechecknutritionthreshold, emakicookingrunrecipereward. []Config precheck adds recipe-directory and station-state-directory messages, plus storage backend hints per station, and new localized station names and error keys are included. []Fixed station floating text losing vanilla item translation names: the text was flattened to a legacy string so translatable components could not be localized by the client. Components are now preserved and vanilla item names render in the client's own language. []Fixed the sample action lines in the default config.yml being invalid and never firing because they used unregistered ids. The defaults are corrected, so the out-of-the-box examples work: chopping board, wok, grinder, steamer, oven, juicer, fermentation barrel sound and particle feedback, and nutrition overeating feedback. []Descriptor renamed from plugin.yml to paper-plugin.yml with structured dependencies (EmakiCoreLib required; PlaceholderAPI / CraftEngine / ItemsAdder / Nexo / Oraxen / PacketEvents / MMOItems / NeigeItems optional). All 25 permission keys and their defaults are unchanged, and /ecooking (alias ec) registers in code with the alias preserved. []Station state now primarily lives in block PDC with a version ledger, plus index recovery and completion transaction recovery, so station progress and output are less likely to be lost or double-granted after a crash or hard shutdown. []Message prefix switched to a new brand gradient, and the third-party item/furniture integration set is unchanged. []Requires EmakiCoreLib 4.6.0. api-version moves from 1.21 to 1.21.8 and the build base moves from spigot-api to paper-api; folia-supported: true and the Java 25 target are unchanged. []The new config keys station.disabled_worlds and the per-station disabled_worlds default to empty lists, meaning nothing is disabled, so leaving them out changes nothing. [/LIST]

Modrinth Changelog

Added

  • World blacklists, global and per station: station.disabled_worlds: [] plus stations.<type>.disabled_worlds: []. In a blacklisted world the plugin does not take over events and vanilla block behavior is preserved.
  • Station placeholder family %emakicooking_station_*% resolving the player's most recent interacted station: type, type_name, world, x, y, z, location, block, heat_block, burning, burning_seconds, heat, moisture, steam, input, input_source, input_amount, ingredient_count, recipe, recipe_id, progress, progress_target, progress_percent, completed, fluid, fluid_amount, player. A station_<name>_<field> form also exists to target a specific station type.
  • Public station interaction event so third-party plugins can react to station interactions.
  • New command /ecooking station reindex (requires emakicooking.admin) to rebuild the station state index.
  • /ecooking inspect block (previously only inspect hand), reporting station type, source, block, block state, whether it is a tile state, storage backend, PDC state, index state, index backend, whether legacy YAML exists, and whether interaction is disabled by the world blacklist.
  • New nutrition actions: emakicookingclearnutrition, emakicookingresetnutrition, emakicookingrechecknutritionthreshold, emakicookingrunrecipereward.
  • Config precheck messages for the recipe directory and station state directory, plus storage backend hints per station.
  • New localized station names and error keys.

Changed

  • Descriptor renamed from plugin.yml to paper-plugin.yml with structured dependencies (EmakiCoreLib required; PlaceholderAPI / CraftEngine / ItemsAdder / Nexo / Oraxen / PacketEvents / MMOItems / NeigeItems optional). All 25 permission keys and their defaults are unchanged; /ecooking (alias ec) registers in code with the alias preserved.
  • Station state now primarily lives in block PDC with a version ledger, plus index recovery and completion transaction recovery, so station progress and output are less likely to be lost or double-granted after a crash or hard shutdown. Legacy YAML is still scanned and automatically archived to data/stations-legacy-backup/, and blocks without a tile state fall back to YAML.
  • Message prefix switched to a new brand gradient.
  • The third-party item/furniture integration set is unchanged.
  • api-version raised from 1.21 to 1.21.8 and the build base moved from spigot-api to paper-api; folia-supported: true and the Java 25 target are unchanged.

Fixed

  • Station floating text lost vanilla item translation names: the text was flattened to a legacy string, so translatable components could not be localized by the client. Components are now preserved and vanilla item names render in the client's own language.
  • The sample action lines in the default config.yml were invalid and never fired because they used ids that were not registered. The defaults are corrected, so the out-of-the-box examples now work: chopping board, wok, grinder, steamer, oven, juicer, fermentation barrel sound and particle feedback, and nutrition overeating feedback.

Removed

  • Player nutrition data will be silently reset unless you act first. The nutrition data key changed from values: to nutrition: with no fallback read and no schema version bump, so old data/nutrition/<uuid>.yml files are treated as empty and rebuilt from per-type defaults. Back up data/nutrition/ and rename the values: section to nutrition: in each player file before upgrading, otherwise all player nutrition is lost.
  • Short nutrition action aliases are removed. ecaddnutrition, cookingaddnutrition, ecremovenutrition, ectakenutrition, cookingremovenutrition, ecsetnutrition, and cookingsetnutrition are gone; only emakicookingaddnutrition, emakicookingremovenutrition, and emakicookingsetnutrition remain. Any action chain using a short alias will report an unregistered action, so search your configs and scripts and replace them with the full emakicooking* names.
  • The browser-based Web Console layer, including web-console.yml, the GUI surface web extension, and the web-console/ frontend project.

Notes

  • Requires EmakiCoreLib 4.6.0.
  • Before upgrading, in order: back up data/nutrition/, rename values: to nutrition: in each player nutrition file, then search configs and scripts and replace every short nutrition action alias with its full emakicooking* name.
  • Station state data is not broken: recipe files, the stations.* structure, and permission keys are unchanged. The new config keys station.disabled_worlds and the per-station disabled_worlds default to empty lists, meaning nothing is disabled, so leaving them out changes nothing. After upgrading, spot-check a few placed stations with /ecooking inspect block and verify player nutrition values look correct.

Файлы

EmakiCooking-4.2.0.jar(678.23 KiB)
Основной
Скачать

Метаданные

Канал релиза

Release

Номер версии

4.2.0

Загрузчики

Folia
Paper
Purpur

Версии игры

1.21.8–26.2

Загрузок

101

Дата публикации

11.08.2026

Загрузил

ID версии

Главная