COWMODSКаталог модов
EmakiCoreLib | Shared Runtime for the Emaki Series

ВЕРСИИ (26)

release

Emaki CoreLib 4.8.0

4.8.0
31 авг. 2026 г.237Minecraft: 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.2, 26.2folia, paper, purpur
Скачать
Что нового
### Added - Weighted action branches, restricted JavaScript stages, logical item matchers, shared material allocation, PDC conversion tools, and trigger registration/dispatch APIs. ### Changed - PDC writes use flattened keys with non-destructive legacy migration. - Shared execution, scheduling, UI, persistence, and configuration boundaries follow the current lifecycle and owner-thread contracts. ### Breaking Changes - Legacy action conversion, configured-item conversion, and obsolete script/trigger entry points were removed; migrate integrations to the current pipeline, matcher, and trigger APIs. ### Upgrade Notes - Upgrade CoreLib before dependent modules, back up all data, run `/corelib pdc-convert all --dry-run`, and stage-test actions, matchers, triggers, scripting, and Folia ownership.
release

Emaki CoreLib 4.7.0

4.7.0
11 авг. 2026 г.179Minecraft: 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.2, 26.2folia, paper, purpur
Скачать
Что нового
### Added - Vanilla dialog support, built on the server's own dialog capability, so a plugin can show a screen with explanatory text, input fields and buttons. Needs a client on 1.21.6+; older clients are unverified. New `dialog` block: `dialog.enabled` (default `true`) is the master switch, `dialog.directory` (default `dialogs`) is the definition folder relative to `plugins/EmakiCoreLib/`, and every `.yml` in it is loaded. - A heavily commented sample definition inside the plugin jar, `dialogs/example_notice.yml`, covering the three types (`notice` one button, `confirmation` yes/no, `multi_action` several), body text and inputs, the four button actions (`none`, `command_template`, `run_command`, `open_url`), and the `can_close_with_escape`, `pause` and `after_action` switches. The sample is not written out to your data folder: create your own `.yml` files in the folder named by `dialog.directory` (default `plugins/EmakiCoreLib/dialogs/`) and use the one in the jar as a reference. A definition missing a required input `key` or its buttons is reported and skipped at load time. Plugins can also embed dialogs in their own config files, parsed the same way. - New `display` block, the shared layer behind floating text and displayed items, used by damage indicators, cooking station text and item displays. `display.backend` (default `auto`): `bukkit` spawns real entities visible to everyone nearby with no extra plugin, `packet` sends virtual entities that stay out of the world save, use no server entities and can be shown to specific players only (needs PacketEvents on 1.19.4+), `auto` uses packets when PacketEvents is present, `inherit` follows `gui.backend`. An unavailable packet backend always falls back to `bukkit`. `display.view_distance_blocks` (default `48`) and `display.refresh_interval_ticks` (default `20`) apply to the packet backend only. - New `gui.click_interval_ms` (default `100` ms), a minimum interval between menu clicks that stops autoclickers and macros from settling the same click twice. Normal clicking never trips it, a blocked click is dropped safely so the menu stays consistent and the player sees no message, and `0` disables it. Above `500` is not recommended. Both menu backends honour it. - New `minimessage.default_no_italic` (default `true`). Vanilla italicises item names and lore, so with this on every Emaki text (menu item names and lore, menu titles, chat messages, dialogs) renders upright unless italics are written out. It is a default, not a lock: `<i>` and `<italic>` still work. - New `vanilla_language` block for server-side vanilla item and block names, needed by anything that localises them server-side such as searching storage by name. `vanilla_language.enabled` defaults to `false`; turning it on downloads the language file from Mojang's official asset index once, caches it in `plugins/EmakiCoreLib/lang-cache/` and never goes online again. A failed download does not stop the server. `vanilla_language.locale` (default `zh_cn`) matches the client language file names. - New `action.pipeline` block, all three limits checked at config load time, with an over-limit config rejected in favour of the last working one rather than quietly lowered: `action.pipeline.max_repeat_times` (default `100`) caps `every <interval> times <count>` and the `times` argument of `start_task`, `action.pipeline.max_sequence_depth` (default `8`) caps nested `run` calls, and `action.pipeline.max_branch_depth` (default `16`) caps nested `if ... [ ... ]`. - Item lore can expand across multiple lines: a line holding nothing but one placeholder whose value is a list becomes several lines. Applies to `minecraft:lore` only. - Readable diagnostics for a broken action line, pointing at line and column, naming what is missing and which values are accepted, and reporting how many more problems remain on the same line. Bare internal key names are no longer printed. ### Changed - Every Emaki plugin uses a new action syntax, and you do not have to rewrite anything yourself. Near the end of startup CoreLib rewrites the `.yml` configs in every `plugins/` folder whose name starts with `Emaki`, once only, then drops a hidden `.action-v2-migrated` marker in `plugins/EmakiCoreLib/`. Each edited file keeps the original beside it with a `.legacy-backup` suffix, written once and never overwritten. Conversion only touches Emaki's own folders and skips `lang/` directories. - Every converted line is compiled before installation. Lines that pass are rewritten, lines that do not are left exactly as they were, and the console lists the file, line and reason for each. If no line in a file passes, the original is untouched and the result goes into a separate `.v2-failed` file. While any line is rejected or any file could not be read or written, the marker is withheld so the next update retries. The console prints a report of files and lines changed plus every skip and failure; a server already fully converted prints no summary. - Syntax changes, using CoreLib's own `action.templates` sample: ```yaml # old - 'sendmessage text="<green>got %result_item_name%</green>"' - '@delay=10t playsound sound=minecraft:entity.experience_orb.pickup volume=0.8 pitch=1.2' # new - 'self | send_message text="<green>got %var.result_item_name%</green>"' - 'self | after 10t | play_sound sound=minecraft:entity.experience_orb.pickup volume=0.8 pitch=1.2' ``` - Action names gained underscores: `sendmessage` → `send_message`, `playsound` → `play_sound`, `spawnparticle` → `spawn_particle`, `givepotioneffect` → `give_potion_effect`, `runcommandasconsole` → `run_command_as_console`. - Each line starts with a segment naming who it acts on: `self`, `inherited`, `looking_at`, `nearby`, `trigger`. Omitted means `self`. One per line, and it must come first. Segments are separated by `|` and run left to right. A `keep` segment hands the selected targets to a later phase, which reads them back with `inherited`. - Old line prefixes became segments: `@delay=10t` → `after 10t |`, `@chance=0.3` → `chance 0.3 |`, `@if='cond'` → `where cond |`. `@ignore_failure` is gone and unnecessary, since continuing past a failed segment is the default. - Real branches use `if <condition> [ ... ]`, optionally with `else [ ... ]`. Automatic conversion never emits brackets: it turns `@if` into `where`, because the old syntax had no else arm. - Durations carry a unit suffix, so `ticks=200` → `duration=200t`. Units are `t`, `s` and `ms`; a bare number counts as ticks. - Placeholders were renamed: `%player%` and `%player_name%` → `%caster.name%`, `%player_uuid%` → `%caster.uuid%`, `%player_world%` → `%caster.world%`, `%player_x%` `%player_y%` `%player_z%` → `%caster.x%` `%caster.y%` `%caster.z%`, `%target_name%` → `%target.name%`, `%target_uuid%` → `%target.uuid%`, `%has_target%` → `%target.present%`. - Your own variables are written `%var.name%`; a bare `%name%` is rejected at load time with a message saying what to write. A `set name=value` segment writes variables mid-pipeline, and the `expression` field of a variable definition is now `value`. - Calling a named sequence changed from `@template=name` to `run name key=value`. - Four old actions need editing by hand; the converter recognises them and says so in the console: `loopsync` and `loopasync` → `start_task`, `cancelloop` → `stop_task`, `usetemplate` → `run <sequence>`. Loop parameters changed too: `mode=replace` → `on_conflict=replace`, `stop_if_offline` → `stop_when_offline`. `start_task` also accepts `stop_when_dead`, `stop_when`, `stop_on_failure`, `initial_delay` and `key`. - What used to be `action.loop.templates` are now named sequences, called with `run name` and optional `key=value` arguments. A sequence line that does not compile is named in the console, that sequence is unavailable and the rest still work. - `/corelib action run` takes a whole pipeline line instead of `run <actionId> key=value ...`, for example `/corelib action run self | send_message text="hi"`. `/corelib action list` shows the currently available segments with their kind and providing plugin. `/corelib debug loops` now lists the long-running tasks that `start_task` creates, with a new message for a key matching nothing. - Expression and text configs accept exactly one key name per field. Aliases now count as absent: `value` (was also `text`, `template`, `expression`, `formula`), `condition` (was also `when`, `if`, `expression`, `formula`), `true_value` / `false_value` (were also `true`/`then`/`value`/`char` and `false`/`else`/`fallback`/`default`), `fallback` (was also `default`, `else`, `false_value`), `cases` (was also `conditions`), `separator` (was also `joiner`), `count` (was also `rolls`, `times`, `random_times`, `amount`), `allow_duplicates` (was also `allow_duplicate`, `allow_repeat`, `allow_repeats`, `repeat`, `repeatable`, `with_replacement`), `lines` (was also `values`, `options`, `texts`, `value`), `chars` (was also `characters`, `alphabet`, `values`), `weights` (was also `weight`). Bundled samples already use the single names; update your own configs if they used an alias. - Config precheck problems are coloured by severity for the whole line: red for errors, yellow for warnings, grey for notes. The failure count only includes problems that block loading. - Modules try a config before switching to it: a candidate has to pass precheck to take effect, and the previous working config is kept when it does not. Previously the new config was installed first and only then reported, so one typo could reset a module to its defaults. - Logs about hooking into external item plugins are more specific: when a plugin is installed but its items are not registered yet the reason is spelled out for ItemsAdder, CraftEngine, NeigeItems, Nexo, Oraxen and EcoItems individually, and a plugin whose API does not match is reported instead of silently skipped. - `release_default_data` stays for compatibility with existing config files, but with the script samples gone there are no bundled sample resources left for it to control. - For developers: `EmakiCoreLibApiProvider` is removed; call the static methods on `EmakiCoreLibApi` directly. `available()`, `apiVersion()`, `pluginName()` and `isReady()` are replaced by `status()`, returning `ApiStatus` with `usable()`, `ready()`, version and plugin name. `itemDisplayName(String)` and `itemDisplayName(ItemStack)` return `EmakiResult<String>` instead of `String`, and `itemComponentCapability(String)` returns `Optional<ItemComponentCapability>` instead of a nullable value. New unified result contract `EmakiResult` with `FailureKind` and `Unit`. - For developers: third parties register actions through `registerActionStage`, `registerActionSource` and `registerActionGate` (all returning `CoreStageRegistration`), with `onStageRegistryRebuilt(Plugin, Runnable)` to re-register after a rebuild. The contract types are `CoreActionStage` / `CoreActionSource` / `CoreActionGate`, `CoreStageContext`, `CoreStageParameter`, `CoreStageParameterType`, `CoreStageKind`, `CoreResolvedArguments`, `CoreActionSubject`, `CoreActionOutcome`, `CoreSourceResult`, `CoreGateResult`, `CoreGateThread`, `CoreTargetRequirement`, `CoreCancellationToken`, `CoreActionKey`, `CoreActionKeys`, `CoreActionFailureKind` and `PhaseContract`. - For developers: new capability registry (`publishCapabilities`, `revokeCapabilities`, `hasCapability`, `capabilities()`, `capabilitiesOf(String)`) and cross-module readiness contract (`whenReady`, `isModuleReady(String)`, `addModuleListener`, with `ReadinessRegistration`, `ModuleReadinessPhase`, `ModuleReadinessListener`). Modules publish loading / ready / absent around reloads and shutdown, and `status().ready()` now means the data is loaded rather than components being non-null. Do not re-register inside a `whenReady` callback, which hits the already-ready branch and recurses; use `addModuleListener` to rebuild caches on each reload. - For developers: `dialogs()` returns `CoreLibDialogs` (with `DialogDefinition` and the public dialog parsing entry point) and `scheduling()` returns `EmakiScheduling` (with `TaskToken`); both return no-op implementations when the plugin is absent instead of throwing. The item source system became a public contract (`ItemSourceProvider`, `ItemSourceRef`, `ItemSourceKind`, `ItemSourceRegistration`, `ItemSourceProbeResult`, `ItemSourceProbeState`, `LifecycleState`, `LifecycleStatus`) so third parties can register their own source types; the old `ItemSourceType` was a final enum nothing outside could extend. - For developers: shared infrastructure moved into `corelib-api` for direct use, including `Texts`, `MiniMessages`, `ConsoleOutputs`, `ConfigNodes`, `Numbers`, `Jsons`, `SafePaths`, `SlotParser`, `EquipmentSlotMatcher`, `ItemTextBridge`, `ConditionContext`, `CommandTabHelper`, `AsyncFailures`, `SignatureUtil`, `Anchors`, `EntityPhysicsSupport`, `ConfigPrecheckSeverity`, plus the YAML access layer `YamlSection`, `YamlFiles`, `MapYamlSection`, `BoostedYamlSection`, `BoostedYamlSupport`, `VersionedYamlFile` and `YamlLoadException`. A new `MythicMobBridge` consolidates Mythic metadata lookups. `EmakiCoreLibApi.Bridge` remains an internal entry point third-party plugins should not implement. ### Fixed - Random `NoSuchMethodError` crashes and text rendering failures on some servers. The runtime libraries CoreLib downloads were on mismatched versions: part of the Adventure family was pinned to `4.21.0` and the rest to `4.26.1`, and mixing them makes some calls disappear at runtime, while the gson being fetched was `2.8.0`, older than the one Paper ships, pushing the server's own copy behind it. The Adventure family is now on a single version and gson matches Paper's `2.11.0`. - Lore piling up after editing an item definition. Triggering an update kept the old lore lines as external content and appended them after the new ones, adding a round of history each time. The freshly built item is now the only baseline and stale records are cleared. - Missing precheck message keys in several modules and inconsistent colours on a number of console lines, so raw key names are no longer printed. ### Removed - JS scripting, entirely. Your own `.js` scripts stop working and there is no automatic conversion, so the same logic has to be rebuilt with config actions. - The whole `script:` block from `config.yml`: `script.enabled`, `script.engine` (`type: graaljs`, the timeouts and the `allow_*` switches), `script.paths` (`root: scripts` and the directories it created), `script.action` (the `runjs` id), `script.context`, `script.security` including `denied_actions_from_script`, `script.server_api`, and `script.debug` with `log_script_load` and `log_script_execute`. Leaving the block in your own file causes no error. - The `runjs` action, the `/corelib script [list|inspect|reload]` subcommand, and the bundled samples `scripts/examples/hello.js`, `js_broadcast_action.js`, `js_event_examples.js` and `js_placeholders.js`. All `script_*` and `js_*` language keys are gone, so custom language files carrying them hold unused entries. - For developers: the script API surface `EmakiScriptApi`, `ScriptActionApi`, `ScriptContextApi`, `ScriptItemApi` and `ScriptLoggerApi`. Also `CompatibilityReport` and `compatibilityReport()`, `EmakiAttributeBridge`, `PdcAttributeApi` and `PdcAttributePayloadSnapshot`, and the old action surface `registerAction`, `unregisterAction`, `unregisterActions`, `unregisterActionsBySource`, `actionRegistered`, `action(String)`, `actions()`, `actionsByOwner`, `actionsBySource` with `CoreAction`, `CoreActionContext`, `CoreActionDescriptor`, `CoreActionErrorType`, `CoreActionExecutionMode`, `CoreActionParameter`, `CoreActionParameterType`, `CoreActionPlanningContext`, `CoreActionRegistration` and `CoreActionResult`. `FoliaSchedulerAdapter` and `corelib.async.TaskHandle` are deprecated for removal; move to `EmakiScheduling`. ### Notes - Back up your whole `plugins/EmakiCoreLib/` folder before upgrading, and because this release rewrites other Emaki plugins' configs, back up their folders under `plugins/` as well. Update CoreLib first, then the plugins that depend on it. - Most action lines are rewritten for you. Four things need doing by hand: converting `loopsync`, `loopasync`, `cancelloop` and `usetemplate` to `start_task`, `stop_task` and `run`; rebuilding `.js` script logic as config actions; replacing alias key names in expression and text configs; and deleting the `script:` block if you want it gone. - Turn on `vanilla_language.enabled` yourself for server-side vanilla item names; it is off by default and goes online the first time. For floating text and damage indicators over the packet backend, install PacketEvents on a server running 1.19.4+, otherwise real entities are used. - Server requirements are unchanged: Paper or a Paper fork on 1.21.8+, `folia-supported: true`, Java target 25. No commands or permissions were added or removed; `emakicorelib.admin` and `emakicorelib.reload` are still the only ones. - After upgrading, check the action conversion report in the console for rejected lines, click through a few menus to confirm the click interval does not get in the way, and run `/corelib check` to read the precheck report. # Emaki CoreLib v4.6.0 ## MineBBS 更新日志 ### 移除内容与破坏性变更 - 内置 Web Console 已整体移除:相关前端页面、`web-console.yml` 资源文件,以及配置中整个 `web_console:` 配置块(监听地址、端口、账号密码、会话超时、安全模式、请求体上限、允许模块、配置浏览限制、历史与快照设置)都不再存在。 - 移除命令 `/corelib web`(别名 `webconsole`、`url`、`link`)与 `/corelib webdebug [frontend|backend|all]`。 - 移除权限 `emakicorelib.web`,同时移除它在 `emakicorelib.admin` 下的子权限项;如果权限插件里有显式授权,请自行删除。 - 移除语言文件中的 `web_console:` 与 `web_debug:` 两个段落及其键;自定义语言文件如仍保留这些内容,它们将成为无效条目。 - 不再支持纯 Spigot 服务端,必须使用 Paper 或 Paper 系分支。 ### 默认值变更 - `script.enabled` 默认值由 `true` 改为 `false`,JavaScript 功能改为按需开启;原先依赖默认开启的服务器需要手动写入 `script.enabled: true`。 - `script.server_api.enabled` 默认值由 `true` 改为 `false`;脚本中调用服务器 API 的用法需要显式重新开启。 ### 新增内置动作与命令 - 新增 15 个内置动作,可在任意动作列表中使用:`giveitem`、`takeitem`、`setitem`、`damageitem`、`repairitem`、`setblock`、`breakblock`、`explosion`、`ignite`、`extinguish`、`feed`、`killentity`、`spawnentity`、`bossbarshow`、`bossbarhide`。 - 新增 `/corelib action` 子命令:`action list` 查看已注册动作,`action run <actionId> [key=value ...]` 直接触发动作,便于配置调试。 - 新增 `/corelib debug all on|off|status` 运行期全局调试开关,对应新配置键 `debug.global_all`(默认 `false`)。 ### 统一游戏事件通道 - CoreLib 现在只注册一份共享监听器,并把击杀、破坏方块、放置方块、合成、钓鱼、驯服、酿造、熔炉取出以及 MythicMobs 击杀等行为统一转发给依赖它的 Emaki 插件。 - 新增配置块 `gameplay_events`:`enabled`(默认 `true`)、`last_damager_expire_ticks`(`200`)、`brew_attribution_expire_ticks`(`6000`)。 ### 物品与配置能力 - 面向配置作者与 API 使用者开放 configured-item / 物品组件流程,并随插件附带组件目录资源 `item-components.yml`,其中说明每个 `minecraft:*` 组件 id、起始版本与可接受的写法。 - 新增 EcoItems 作为物品来源,按可选软依赖声明。 - 新增配置键 `release_default_data`(默认 `true`);设为 `false` 后不再释放随包的 `scripts`、`examples` 示例文件。 - 新增共享聊天输入服务,插件可以在 GUI 之外请求玩家在聊天栏输入内容。 ### GUI 点击类型与运行时 - GUI 点击类型从 3 种扩展到 11 种:原先只有 `CLICK`、`LEFTCLICK`、`RIGHTCLICK`,现新增 `SHIFT_LEFTCLICK`、`SHIFT_RIGHTCLICK`、`MIDDLECLICK`、`DOUBLECLICK`、`NUMBER_KEY`、`SWAP_OFFHAND`、`DROP`、`CONTROL_DROP`,GUI 配置可以区分 Shift、中键、双击、丢弃与快捷栏点击。 - 数据包 GUI 后端现在显式解析点击类型,两种后端在完整点击类型集合上的表现一致。 - 运行库加载改为使用 Paper 官方 plugin-loader classpath 接口,不再在启用阶段注入 jar。 - bStats 改为打包进插件内部,不再作为独立的运行库 jar 分发;相关配置键没有变化。 - 消息前缀更换为新的品牌渐变样式,所有消息都会体现。 ### 修复 - 配置预检信息此前为硬编码英文且忽略 `language` 设置,现已走语言键,`en_US.yml` 与 `zh_CN.yml` 都提供了对应文本。 ### 升级说明 - 先升级 CoreLib,再升级依赖它的其它 Emaki 插件。 - 请删除配置中已失效的 `web_console:` 配置块与 `web-console.yml` 文件,并移除 `emakicorelib.web` 授权。 - 如果之前在使用脚本功能,请手动补回 `script.enabled: true` 与 `script.server_api.enabled: true`。 - 确认服务端为 Paper 系 1.21.8 及以上:插件描述文件已从 `plugin.yml` 迁移到 `paper-plugin.yml` 并带 loader 条目,软依赖改为结构化服务器依赖,`api-version` 由 `1.21` 提升到 `1.21.8`,低于 1.21.8 的服务端不在支持范围内。Java 目标仍为 25,`folia-supported: true` 与此前一致。 - 命令不再在描述文件中声明,主命令与别名 `corelib` / `emakicore` 改为运行期注册,服主侧用法不变。 - `EmakiCoreLibApi` 为纯新增:已发布的方法全部保留,新增兼容性报告、configured-item 创建与应用、物品组件能力,以及完整的第三方动作注册接口。 - 建议正式服升级前备份 `plugins/EmakiCoreLib/` 目录,并在升级后实际验证一次 GUI 点击、动作触发与 `/corelib debug all status`。 ## SpigotMC Update Log [CENTER][SIZE=6][B]◆ Emaki CoreLib v4.6.0 Release ◆[/B][/SIZE][/CENTER] [CENTER]Web Console removed, scripting now opt-in, 15 new built-in actions, a shared gameplay-event layer, and an 11-type GUI click vocabulary.[/CENTER] [CENTER][B]━━━━━━━━━━━━━━━━━━━━[/B][/CENTER] [LIST] [*]Removed: the built-in Web Console is gone entirely, including its frontend, the web-console.yml resource, and the whole web_console: configuration block (host, port, auth, session timeout, security mode, request body limit, allowed modules, config-browser limits, history and snapshot settings). [*]Removed: the commands /corelib web (aliases webconsole, url, link) and /corelib webdebug [frontend|backend|all]. [*]Removed: the permission emakicorelib.web, including its child entry under emakicorelib.admin. Drop explicit grants from your permission plugin. [*]Removed: the web_console: and web_debug: language sections and their keys; custom language files still carrying them now hold dead entries. [*]Removed: plain Spigot is no longer a supported target. Paper or a Paper fork is required. [*]Default change: script.enabled now defaults to false. Set script.enabled: true if you relied on JavaScript being on by default. [*]Default change: script.server_api.enabled now defaults to false. Re-enable it explicitly for scripts that call the server API. [*]Added 15 built-in actions usable in any action list: giveitem, takeitem, setitem, damageitem, repairitem, setblock, breakblock, explosion, ignite, extinguish, feed, killentity, spawnentity, bossbarshow, bossbarhide. [*]Added /corelib action with action list and action run <actionId> [key=value ...] to inspect and directly fire registered actions. [*]Added /corelib debug all on|off|status as a runtime global debug toggle, backed by the new config key debug.global_all (default false). [*]Added a unified gameplay event layer: CoreLib registers one shared listener and republishes kill, block break, block place, craft, fish, tame, brew, furnace-extract, and MythicMobs-kill events to dependent Emaki plugins, configured through the new gameplay_events block (enabled default true, last_damager_expire_ticks 200, brew_attribution_expire_ticks 6000). [*]Added the configured-item / item-component pipeline for config authors and API consumers, plus a shipped item-components.yml catalog documenting each minecraft:* component id, its since version, and accepted format. [*]Added EcoItems as an item source, declared as an optional soft dependency. [*]Added the config key release_default_data (default true); set it to false to stop writing the bundled scripts and examples sample files. [*]Added a shared chat-input service so plugins can ask a player to type a value in chat outside a GUI. [*]Expanded the GUI click vocabulary from 3 to 11 types: CLICK, LEFTCLICK, RIGHTCLICK plus SHIFT_LEFTCLICK, SHIFT_RIGHTCLICK, MIDDLECLICK, DOUBLECLICK, NUMBER_KEY, SWAP_OFFHAND, DROP, and CONTROL_DROP, so GUI configs can distinguish shift, middle, double, drop, and hotbar clicks. [*]The packet GUI backend now resolves click types explicitly, matching the Bukkit backend across the full vocabulary. [*]Runtime library loading now uses Paper's official plugin-loader classpath API instead of injecting jars at enable time. [*]bStats is shaded into the plugin instead of shipping as a separate bundled runtime-library jar. No config key change. [*]The message prefix uses a new brand gradient, visible on every message. [*]Fixed config precheck messages, which were hardcoded English and ignored the language setting; they now route through language keys present in both en_US.yml and zh_CN.yml. [*]Before updating: delete the stale web_console: block and web-console.yml, remove emakicorelib.web grants, re-add script.enabled: true and script.server_api.enabled: true if scripting was in use, and confirm the server is Paper 1.21.8+. [*]Compatibility: the descriptor moved from plugin.yml to paper-plugin.yml with a loader entry, soft-depends became structured server dependencies, api-version was raised from 1.21 to 1.21.8, and the Java target stays at 25. Commands are no longer declared in the descriptor; the root command plus the corelib / emakicore aliases register at runtime, and owner-facing usage is unchanged. [*]EmakiCoreLibApi is purely additive: every previously released method still exists, with new surface for a compatibility report, configured-item create/apply, item component capabilities, and third-party action registration. [/LIST] ## Modrinth Changelog ### Added - 15 built-in actions usable in any action list: `giveitem`, `takeitem`, `setitem`, `damageitem`, `repairitem`, `setblock`, `breakblock`, `explosion`, `ignite`, `extinguish`, `feed`, `killentity`, `spawnentity`, `bossbarshow`, `bossbarhide`. - `/corelib action` with `action list` and `action run <actionId> [key=value ...]` to inspect and directly fire registered actions. - `/corelib debug all on|off|status` runtime global debug toggle, backed by the new config key `debug.global_all` (default `false`). - Unified gameplay event layer: one shared listener republishes kill / block break / block place / craft / fish / tame / brew / furnace-extract / MythicMobs-kill events to dependent Emaki plugins, configured through the new `gameplay_events` block (`enabled` default `true`, `last_damager_expire_ticks` `200`, `brew_attribution_expire_ticks` `6000`). - Configured-item / item-component pipeline for config authors and API consumers, plus a shipped `item-components.yml` catalog documenting each `minecraft:*` component id, its `since` version, and accepted format. - EcoItems as an item source, declared as an optional soft dependency. - Config key `release_default_data` (default `true`); set `false` to stop writing the bundled `scripts` / `examples` sample files. - Shared chat-input service so plugins can ask a player to type a value in chat outside a GUI. - Localizable config precheck output instead of hardcoded English. - Additive `EmakiCoreLibApi` surface: compatibility report, configured-item create/apply, item component capabilities, and third-party action registration. All previously released methods still exist. ### Changed - GUI click vocabulary expanded from 3 to 11 types: `CLICK`, `LEFTCLICK`, `RIGHTCLICK` plus `SHIFT_LEFTCLICK`, `SHIFT_RIGHTCLICK`, `MIDDLECLICK`, `DOUBLECLICK`, `NUMBER_KEY`, `SWAP_OFFHAND`, `DROP`, `CONTROL_DROP`. - The packet GUI backend resolves click types explicitly, so its click types match the Bukkit backend across the full vocabulary. - `script.enabled` default flipped `true` -> `false`; JavaScript is now opt-in. - `script.server_api.enabled` default flipped `true` -> `false`; scripts calling the server API need it re-enabled explicitly. - Runtime library loading now uses Paper's official plugin-loader classpath API instead of injecting jars at enable time. - bStats is shaded into the plugin instead of shipping as a separate bundled runtime-library jar. No config key change. - Message prefix switched to a new brand gradient. - Descriptor migrated from `plugin.yml` to `paper-plugin.yml` with a loader entry; soft-depends became structured server dependencies. `api-version` raised `1.21` -> `1.21.8`. Java target unchanged at 25. - Commands are no longer declared in the descriptor; the root command plus the `corelib` / `emakicore` aliases register at runtime. Owner-facing usage is unchanged. ### Fixed - Config precheck messages were hardcoded English and ignored the `language` setting; they now route through language keys present in both `en_US.yml` and `zh_CN.yml`. ### Removed - The built-in Web Console, including its bundled frontend, the `web-console.yml` resource, and the whole `web_console:` config block (host, port, auth username/password, session timeout, security mode, request body limit, allowed modules, config-browser limits, history/snapshot settings). - The commands `/corelib web` (aliases `webconsole`, `url`, `link`) and `/corelib webdebug [frontend|backend|all]`. - The permission `emakicorelib.web`, including its child entry under `emakicorelib.admin`. - The language sections `web_console:` and `web_debug:` and their keys; custom language files carrying them now have dead entries. - Support for plain Spigot. Paper or a Paper fork is required. ### Notes - Update CoreLib before the other Emaki plugins that depend on it. - Upgrade actions: delete the stale `web_console:` block and `web-console.yml`, remove `emakicorelib.web` grants, re-add `script.enabled: true` and `script.server_api.enabled: true` if scripting was in use, and confirm the server is Paper 1.21.8+. - Servers below 1.21.8 are out of contract. `folia-supported: true` was already declared before this release. - Back up `plugins/EmakiCoreLib/` before updating production, then verify GUI clicks, action triggers, and `/corelib debug all status`.
release

Emaki CoreLib 4.6.0

4.6.0
27 июл. 2026 г.128Minecraft: 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.2, 26.2folia, paper, purpur
Скачать
Что нового
### Added - 15 built-in actions usable in any action list: `giveitem`, `takeitem`, `setitem`, `damageitem`, `repairitem`, `setblock`, `breakblock`, `explosion`, `ignite`, `extinguish`, `feed`, `killentity`, `spawnentity`, `bossbarshow`, `bossbarhide`. - `/corelib action` with `action list` and `action run <actionId> [key=value ...]` to inspect and directly fire registered actions. - `/corelib debug all on|off|status` runtime global debug toggle, backed by the new config key `debug.global_all` (default `false`). - Unified gameplay event layer: one shared listener republishes kill / block break / block place / craft / fish / tame / brew / furnace-extract / MythicMobs-kill events to dependent Emaki plugins, configured through the new `gameplay_events` block (`enabled` default `true`, `last_damager_expire_ticks` `200`, `brew_attribution_expire_ticks` `6000`). - Configured-item / item-component pipeline for config authors and API consumers, plus a shipped `item-components.yml` catalog documenting each `minecraft:*` component id, its `since` version, and accepted format. - EcoItems as an item source, declared as an optional soft dependency. - Config key `release_default_data` (default `true`); set `false` to stop writing the bundled `scripts` / `examples` sample files. - Shared chat-input service so plugins can ask a player to type a value in chat outside a GUI. - Localizable config precheck output instead of hardcoded English. - Additive `EmakiCoreLibApi` surface: compatibility report, configured-item create/apply, item component capabilities, and third-party action registration. All previously released methods still exist. ### Changed - GUI click vocabulary expanded from 3 to 11 types: `CLICK`, `LEFTCLICK`, `RIGHTCLICK` plus `SHIFT_LEFTCLICK`, `SHIFT_RIGHTCLICK`, `MIDDLECLICK`, `DOUBLECLICK`, `NUMBER_KEY`, `SWAP_OFFHAND`, `DROP`, `CONTROL_DROP`. - The packet GUI backend resolves click types explicitly, so its click types match the Bukkit backend across the full vocabulary. - `script.enabled` default flipped `true` -> `false`; JavaScript is now opt-in. - `script.server_api.enabled` default flipped `true` -> `false`; scripts calling the server API need it re-enabled explicitly. - Runtime library loading now uses Paper's official plugin-loader classpath API instead of injecting jars at enable time. - bStats is shaded into the plugin instead of shipping as a separate bundled runtime-library jar. No config key change. - Message prefix switched to a new brand gradient. - Descriptor migrated from `plugin.yml` to `paper-plugin.yml` with a loader entry; soft-depends became structured server dependencies. `api-version` raised `1.21` -> `1.21.8`. Java target unchanged at 25. - Commands are no longer declared in the descriptor; the root command plus the `corelib` / `emakicore` aliases register at runtime. Owner-facing usage is unchanged. ### Fixed - Config precheck messages were hardcoded English and ignored the `language` setting; they now route through language keys present in both `en_US.yml` and `zh_CN.yml`. ### Removed - The built-in Web Console, including its bundled frontend, the `web-console.yml` resource, and the whole `web_console:` config block (host, port, auth username/password, session timeout, security mode, request body limit, allowed modules, config-browser limits, history/snapshot settings). - The commands `/corelib web` (aliases `webconsole`, `url`, `link`) and `/corelib webdebug [frontend|backend|all]`. - The permission `emakicorelib.web`, including its child entry under `emakicorelib.admin`. - The language sections `web_console:` and `web_debug:` and their keys; custom language files carrying them now have dead entries. - Support for plain Spigot. Paper or a Paper fork is required. ### Notes - Update CoreLib before the other Emaki plugins that depend on it. - Upgrade actions: delete the stale `web_console:` block and `web-console.yml`, remove `emakicorelib.web` grants, re-add `script.enabled: true` and `script.server_api.enabled: true` if scripting was in use, and confirm the server is Paper 1.21.8+. - Servers below 1.21.8 are out of contract. `folia-supported: true` was already declared before this release. - Back up `plugins/EmakiCoreLib/` before updating production, then verify GUI clicks, action triggers, and `/corelib debug all status`.
release

Emaki CoreLib 4.5.0

4.5.0
14 июл. 2026 г.94Minecraft: 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.2, 26.2folia, paper, purpur
Скачать
Что нового
### Added - Public CoreLib Action API for third-party custom action registration with owner/source cleanup. - More built-in actions for boss bars, blocks, entities, inventory, held items, item repair/damage, and item give/take flows. - Shared gameplay-event channel used by modules such as Codex and Level. - EcoItems item source support. - Manifest v2 Web Console platform with module manifests, schemas, diagnostics, plugin API capabilities, and stale reload cleanup. - `/api/web/*` aggregation and diagnostics endpoints. ### Improved - Command suggestions now appear immediately after typing the root command plus a space. - Refactored Web Console CONFIG and SCRIPT surfaces. - bStats is now bundled and relocated inside CoreLib instead of a separate runtime module. - Migrated to `paper-plugin.yml` and Paper command registration. - Hardened scheduler, async, and localized item text handling. ### Notes - Update CoreLib before other Emaki plugins. - Requires Paper-family 1.21.8+ behavior. - Breaking: Action aliases were removed; use canonical action IDs. - `showachievementtoast` is now provided by EmakiCodex. - Install plugin jars on the server; API jars are only for developers.
release

Emaki CoreLib 4.4.0

4.4.0
29 июн. 2026 г.108Minecraft: 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Скачать
Что нового
### Added - Config precheck on startup and reload, with a console report and `/emakicorelib check`; failed prechecks cancel the reload and keep the previous config. - Loop actions (loop-sync / loop-async / cancel-loop) with interval, iteration, and concurrency limits. - Packet GUI backend that reuses the same window across row changes, switchable via `gui.backend` (bukkit / packet / auto); packet only needs PacketEvents. - Oraxen item source and block bridge support, shared by all modules. - Public Bukkit event infrastructure with cancellable subscriptions and per-plugin cleanup. - JavaScript extensions: custom conditions, expression functions, host object proxies, and script text APIs, plus `/emakicorelib script`. - `check` and `debug` subcommands for `/emakicorelib`. ### Fixed - Fixed item rebuilds wiping Lore and custom names added by other plugins. - Fixed huge values being zeroed out when output in scientific notation by the expression engine. - Fixed enchanted/starred item names losing translatable text. - Fixed low-frequency stability issues around action registry, PDC null inputs, cache diagnostics, and cached preview items. ### Refactored - Switchable GUI backend abstraction (bukkit / packet); default behavior unchanged. - Packet GUI backend split out then merged back, now built-in (needs PacketEvents). ### Improved - Per-module debug log prefixes and externalized debug text. - Centralized runtime library and bStats handling. ### Notes - Update CoreLib before other Emaki plugins. - Breaking: `web_console.security.allow_config_write` → `web_console.security.mode` (default `readonly`). - Breaking: script action aliases `runscript` / `javascript` removed; use `runjs`. - Breaking: legacy condition/GUI/Mythic-bridge fields removed; migrate to the new structure. - New softdepends (Oraxen, PacketEvents) and new config keys; compare or regenerate your config.
release

Emaki CoreLib 4.3.0

4.3.0
16 июн. 2026 г.49Minecraft: 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Скачать
Что нового
### Added - Web Console Insight search, reference tracking, and dependency graph views. - Web Console history snapshots, diffs, and confirmed rollback support. - Plugin read-only/preview API routes. - Layered item preview infrastructure. - Shared condition blocks. - `language: "zh_CN"` in the default CoreLib config. ### Fixed - CoreLib config now includes and applies the `language` key. - Fixed wildcard glob paths being used instead of concrete child files. - Fixed custom editor surface path resolution. - Fixed nested list editor layout issues. - Fixed hex color preview support for MiniMessage. - Fixed item operation replay during Assembly rebuilds. ### Refactored - Split Web Console styles into focused modules. - Refactored document path resolution and extension host exports. - Refactored shared condition and item preview pipelines. ### Improved - Better Web Console layout, responsive behavior, field outlines, and editors. - Better localized file titles and descriptions. - Centralized runtime library and bStats handling. ### Notes - Update CoreLib before other Emaki plugins. - Change language in `plugins/EmakiCoreLib/config.yml`.
release

Emaki CoreLib 4.2.0

4.2.0
5 июн. 2026 г.108Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Скачать
Что нового
CoreLib v4.2.0 is mainly a foundation update. Scripts are more modular, runtime libraries are cleaner, and shared Web Console behavior is more consistent across the Emaki series. ### Highlights - New `emaki.module("...")` script access style. - Global JavaScript actions, placeholders, controlled Bukkit event scripting, and CoreLib MythicMobs JS mechanics. - Versioned config/language update notices during startup. ### Improved - Centralized bStats and runtime library handling in CoreLib. - Friendlier display names for managed item sources. - More consistent shared Web Console editors. ### Notes - Review custom scripts before updating production servers. - Update CoreLib before the other Emaki plugins.
release

Emaki CoreLib 4.1.0

4.1.0
2 июн. 2026 г.23Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11folia, paper, purpur, spigot
Скачать
Что нового
# EmakiCoreLib v4.1.0 > Built-in Web Console, Folia scheduler support, unified placeholder syntax, and more. --- ### ✨ New Features #### Built-in Web Console Manage all Emaki plugin configurations directly from your browser. The web console provides: - **GUI Editor** — visually edit YAML-based GUI configurations - **Item Editor** — configure custom items with a structured interface - **Source Code Editor** — CodeMirror-powered editor with syntax highlighting - **YAML Preview** — real-time preview of parsed YAML output - **Multi-language I18n** — full internationalization support - **Theme Switching** — light and dark themes - **File Version Control & Search** — track changes and find files quickly - **Extension System** — sub-plugins can register their own editors declaratively #### Folia Scheduler Support EmakiCoreLib now fully supports Folia servers. All async task scheduling has been refactored to use a unified scheduler, ensuring compatibility and stability across both Paper and Folia environments. #### Unified Placeholder Syntax All placeholders now consistently use the `%variable%` wrapping format, eliminating the previous mix of different placeholder styles. #### Random Character Variables New support for random, weighted-random, and conditional character variables, enabling more dynamic and varied lore text and messages. #### Equipment Slot Matching New equipment slot matching logic with proper attribute and skill activation handling, ensuring equipment effects only apply to their intended slots. #### Recipe Completion Conditions A new condition system allows executing additional checks and actions after a recipe is completed. #### Item Component Inspection A new command for inspecting item persistent data, useful for debugging custom item configurations. #### General Resource Files Support for extracting resource files from JARs, making it easier to distribute templates and example configurations. ### 🐛 Bug Fixes - Fixed Web Console incorrectly loading CONFIG files as structured YAML through glob paths. - Fixed number input field issues and improved session management. ### ♻️ Improvements - Refactored the condition system with unified variable and action naming conventions. - Unified async task scheduling, replacing scattered task handles with a consistent interface. - Refactored the item operation ledger and debug logging system with unified debug support. - Cleaned up large amounts of redundant comments and deprecated code. - Optimized cache usage and code reuse across modules.
release

Emaki CoreLib 4.0.0

4.0.0
11 мая 2026 г.67Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
## EmakiCoreLib 4.0.0 Release A major update introducing a JavaScript scripting engine, reversible item modification system, and new built-in actions for the Emaki plugin family. ### New Features - **JavaScript Scripting Engine**: Execute custom `.js` scripts via the `runjs` action (aliases: `runscript`, `javascript`). Scripts access player data, trigger context, item info, random utilities, shared state, and action dispatch via the built-in `emaki` global object. Powered by GraalJS with configurable timeout (default 1000ms), content-hash caching, and security sandboxing. - **`dropitem` Action**: Drop items at specified world coordinates with relative coordinate support and all item source types (vanilla / CraftEngine / ItemsAdder / Nexo). - **`placeblock` Action**: Place blocks at specified coordinates, supporting vanilla and custom blocks. Properly fires `BlockPlaceEvent` for compatibility with other plugins. - **Item Operation Ledger**: Reversible item name/lore modification system stored in item PDC. Supports precise single-operation revert or batch revert by namespace. Provides unified text modification infrastructure for gem socketing, strengthening, forging, etc. - **EmakiAttribute Bridge API**: Stable interface for soft-depending on EmakiAttribute — read resources, consume resources, query attribute values, and invoke the damage pipeline. - **Enhanced Condition System**: New `none_of` condition type and nested condition groups (`type: group`) for combining `all_of` / `any_of` / `none_of` in complex logic. ### Improvements - Config and language files auto-merge new keys on upgrade without manual editing. - YAML loading errors now show specific error messages and file locations in console. - Item text read/write uses legacy format for better compatibility with plugins using traditional color codes. ### Upgrade Notes - Config version updated to `4.0.0` with new `script` section (auto-merged on upgrade). - Script engine enabled by default; set `script.enabled: false` to disable. - Script files are placed in `plugins/EmakiCoreLib/scripts/` — categorized subdirectories and example scripts are auto-created on first startup. [View Full Documentation](https://jiuwu02.github.io/Emaki_Series/) | [Join Discord Community](https://discord.gg/FV4GFQbvCM) | [QQ Group](https://qm.qq.com/q/GqGrzHp0wU)
release

Emaki CoreLib 3.5.1

3.5.1
4 мая 2026 г.31Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
## EmakiCoreLib 3.5.1 Release This release fixes MiniMessage rendering for item display names and lore on standard Spigot API by improving the bridge between Adventure Components and Bukkit ItemMeta string fields. - Fixed MiniMessage tags not rendering when item display names and lore are written through CoreLib `ItemTextBridge`. - Converted Adventure Components to Spigot-compatible legacy section strings before writing to Bukkit `ItemMeta#setDisplayName` and `ItemMeta#setLore`. - Read existing item display names and lore from legacy section strings back into Adventure Components for consistent CoreLib text handling. - No Paper API is introduced; standard Spigot API compatibility is preserved. ### Upgrade Notes - Existing Emaki plugins built for EmakiCoreLib 3.5.0 generally do not need to be re-released; updating CoreLib to `3.5.1` is recommended. - Plugins that directly inspect Bukkit `ItemMeta#getLore()` without `ItemTextBridge` may now see legacy `§` color strings for newly written item lore instead of raw MiniMessage tags. [View Full Documentation](https://jiuwu02.github.io/Emaki_Series/) | [Join Discord Community](https://discord.gg/FV4GFQbvCM) | [QQ Group](https://qm.qq.com/q/GqGrzHp0wU)
release

Emaki CoreLib 3.5.0

3.5.0
4 мая 2026 г.24Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
## EmakiCoreLib 3.5.0 Release This release improves the shared runtime used by the Emaki plugin family, with new MythicMobs action support, EmakiItem source integration, GUI item improvements, and expression parsing cleanup. - Added `castmythicskill` as a built-in CoreLib action. - Added MythicMobs as a soft dependency and fail-safe runtime provider. - Added EmakiItem to the shared item source registry. - Improved GUI item construction for custom item sources. - Split and refined expression parsing rules. - Removed deprecated resource cleanup behavior during default file synchronization. ### Upgrade Notes - MythicMobs is required only when using `castmythicskill`. - Retest custom formulas and action scripts if they rely on complex numeric parsing. [View Full Documentation](https://jiuwu02.github.io/Emaki_Series/) | [Join Discord Community](https://discord.gg/FV4GFQbvCM) | [QQ Group](https://qm.qq.com/q/GqGrzHp0wU)
release

Emaki CoreLib 3.4.0

3.4.0
28 апр. 2026 г.31Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
## EmakiCoreLib 3.4.0 Dev Update This dev update adds a custom block bridge system, refactors the PDC attribute API away from reflection, and replaces all reflection-based item source resolvers with direct plugin API calls. - **Custom block bridge**: new `CustomBlockBridge` interface shared by CraftEngine, ItemsAdder, and Nexo. Returns safe defaults when the plugin is not installed. - **PDC attribute API refactor**: `ReflectivePdcAttributeGateway` → `PdcAttributeGateway`, now discovers `PdcAttributeApi` via Bukkit `ServicesManager`. - **Item source resolver refactor**: all `Reflective*` resolvers replaced with direct API calls. CraftEngine resolver listens to `CraftEngineReloadEvent` for auto-refresh. - **Skill PDC gateway rename**: `ReflectiveSkillPdcGateway` → `SkillPdcGateway`. - **Caffeine library declaration**: added to `plugin.yml` libraries for automatic download, fixing `NoClassDefFoundError` on pure Spigot servers. ### Upgrade Notes No upgrade notes. [View Full Documentation](https://jiuwu02.github.io/Emaki_Series/) | [Join Discord Community](https://discord.gg/FV4GFQbvCM) | [QQ Group](https://qm.qq.com/q/GqGrzHp0wU)
release

EmakiCorelib 3.3.0

3.3.0
25 апр. 2026 г.24Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
## EmakiCoreLib 3.3.0 EmakiCoreLib 3.3.0 refreshes the shared baseline used by the entire Emaki suite. This release standardizes versioned YAML files around the `version` key, moves the build baseline to Java 25, updates the economy integration wording to `ExcellentEconomy`, and continues tightening common runtime utilities used by Forge, Strengthen, Gem, Cooking, Attribute, and Skills. - **Unified version fields**: versioned config and language resources now use `version` as the current schema key. - **Java 25 baseline**: the parent build and module dependency line now target Java 25 and CoreLib 3.3.0. - **Economy integration refresh**: the current soft-dependency wording targets ExcellentEconomy while Vault support remains available. - **Reusable action templates**: shared action lists can be called through `@template`, reducing duplicated success/failure feedback in upper modules. - **Runtime cleanup**: caching, async helpers, expression evaluation, GUI parsing, text bridges, and YAML utilities received maintenance and performance-focused cleanup. - **Integration-ready foundation**: PlaceholderAPI, MMOItems, and CraftEngine hooks continue to serve downstream Emaki modules. ### Upgrade Notes - Use Java 25 for this release. - Replace custom `config_version` or `lang_version` fields with `version`. - Update old CoinsEngine deployment copy to the current ExcellentEconomy wording where relevant. - Move repeated action lists into templates when you maintain larger configs. [View Full Documentation](https://jiuwu02.github.io/Emaki_Series/) | [Join Discord Community](https://discord.gg/FV4GFQbvCM) | [QQ Group](https://qm.qq.com/q/GqGrzHp0wU)
release

EmakiCorelib 3.2.0

3.2.0
24 апр. 2026 г.37Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
## EmakiCoreLib 3.2.0 EmakiCoreLib 3.2.0 is the release that fully consolidates the Emaki suite around the newer structured-presentation runtime, the unified vanilla item-source syntax, and the lighter runtime loading path. The most visible benefit for administrators is not a single flashy mechanic, but a cleaner base: layered name and lore rendering is more stable, rollback flows are more precise, vanilla item and block sources now follow one shared shorthand rule, CraftEngine-backed block matching has a proper bridge in CoreLib, and runtime libraries are no longer carried through the old bundled packaging path. - **Structured presentation is now the main display path**. The old item-presentation compiler, editor, and lore-search insertion chain were removed in favor of the newer template, validation, and rendering stack. - **Layer removal is explicit now, and the cooking namespace is wired in**. Item assembly can remove one or multiple layers directly, and CoreLib now registers the cooking namespace for downstream rebuild, rollback, and cleanup flows. - **Vanilla source parsing is now standardized**. CoreLib only accepts `minecraft-`, `mc-`, `v-`, or bare vanilla identifiers for item and block sources, while the legacy `minecraft:item_id` format is no longer treated as a valid source input. Runtime shorthand output is normalized to the `minecraft-item_id` style. - **CraftEngine block integration is cleaner**. CoreLib now exposes a reusable CraftEngine block bridge, and both GUI preview building and item-source resolution share the same vanilla material parsing path. - **Item text handling is more reliable**. The text bridge preserves translation-key based names and provides stable helpers for effective names, plain text, and hover-linked display output. - **Runtime packaging and YAML loading were simplified**. Adventure platform libraries, serializers, `exp4j`, and `boosted-yaml` are now loaded through Spigot `libraries`, the previous bundled Gson / SnakeYAML path has been cleaned out, and YAML IO is consolidated around BoostedYaml. ### Upgrade Notes - Migrate any remaining `minecraft:item_id` item or block source entries to `minecraft-item_id`, `mc-item_id`, `v-item_id`, or a bare vanilla id. - Migrate any remaining legacy display editing configs to `structured_presentation`. - Make sure the server environment can resolve the declared Spigot runtime libraries on first boot. - If your deployment still carries older defaults-based resource layouts, re-check them against the current bootstrap synchronization path instead of relying on the removed legacy migration behavior. # [View Full Documentation](https://jiuwu02.github.io/Emaki_Series/) | [Join Discord Community](https://discord.gg/FV4GFQbvCM) | [QQ Group](https://qm.qq.com/q/GqGrzHp0wU)
release

EmakiCorelib 3.1.0

3.1.0
16 апр. 2026 г.29Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
# EmakiCoreLib Changelog ## [3.1.0] - 2026-04-16 ### Added - Added shared `AbstractEmakiPlugin`, `AbstractConfigurableEmakiPlugin`, `BaseAppConfig`, and a reusable `GuiTemplateLoader` so gameplay modules can share one runtime, config, and GUI template foundation. - Added `ItemSourceService.displayName`, `InventoryItemUtil`, and `PlayerSessionMap` to unify item display-name lookup, inventory counting/removal, and per-player session tracking. ### Improved - Refactored the reflective CraftEngine, ItemsAdder, MMOItems, NeigeItems, and Nexo item resolvers behind shared base classes so availability checks, loaded-state detection, and fallback behavior stay consistent. - Updated `GuiService`, `GuiSession`, `GuiTemplateParser`, and `ItemComponentParser` to support `sounds.left_click` / `sounds.right_click`, `hide_tooltip`, and `tooltip_display`, while tightening session switching during async GUI rendering. - Normalized item-source comparisons and text bridging so `minecraft:` prefixes, `itemName`, vanilla translation keys, and custom names all flow through one display pipeline. ### Fixed - Fixed a race where an older GUI session could overwrite a newer one after async rendering completed, reducing stale pages, orphaned sessions, and mismatched close callbacks. - Fixed item-name handling so it no longer depends on `displayName` only; `itemName` and vanilla translated names now work without relying on runtime-specific APIs. - Fixed vanilla item-source matching when one side used a `minecraft:` prefix and the other did not.
release

EmakiCorelib 3.0.0

3.0.0
12 апр. 2026 г.17Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur, spigot
Скачать
Что нового
# 📦 EmakiCoreLib 更新日志 / Changelog ## 中文版 ### ✨ 新增特性 - **物品文本桥接**: `ItemTextBridge.java` 新增 - 提供跨版本文本 API 兼容性支持 - 确保在不同 Paper/Spigot 版本间的文本显示一致性 - **MiniMessages 支持**: `MiniMessages.java` 新增/增强 - 新增 MiniMessage 格式解析支持 - 提供更丰富的文本格式化能力 - **IndexedLineInsertActionParser**: 新增 Lore 插入解析器 - 支持从顶部/底部插入 Lore 行 - 支持统计行插入模式 - **生命周期框架**: 新增抽象生命周期协调器 - `AbstractLifecycleCoordinator.java`: 抽象基类 - `RuntimeComponents.java`: 运行时组件抽象 - **服务注册表**: `EmakiServiceRegistry.java` 新增 - 提供服务注册和查找功能 - 支持服务依赖注入 - **YAML 抽象重构**: 新增完整的 YAML 抽象层 - `YamlConfigLoader.java`: YAML 配置加载器 - `VersionedYamlFile.java`: 版本化 YAML 文件支持 - `YamlSection.java`: YAML 节抽象接口 - `BoostedYamlSection.java`: 增强型 YAML 节实现 - `MapYamlSection.java`: Map backed YAML 节实现 - `SnakeYamlSupport.java`: SnakeYAML 底层支持 - **Bootstrap 包**: 新增 bootstrap 包结构 - 提供插件启动引导支持 - **Entity 包**: 新增 entity 包结构 - 提供实体相关功能 - **Integration 包**: 新增 integration 包结构 - 提供第三方插件集成支持 ### 🐛 问题修复 - **YAML 合并逻辑优化**: 修复配置合并时的类型处理问题 - 改进 `mergeMissingValues` 方法,使用 YamlSection 替代 ConfigurationSection - 优化版本比较逻辑,新增 `compareVersions` 方法 ### 🚀 优化与改进 - **YAML 文件重构**: `YamlFiles.java` 大量重构 - 简化版本升级逻辑 - 优化配置合并流程 - 改进类型转换处理 - **文本工具增强**: `Texts.java` 优化 - 新增文本空白检测方法 - 优化文本处理性能 - **配置版本升级**: - `config.yml`: 2.3.0 → 3.0.0 - `lang/zh_CN.yml`: 2.3.0 → 3.0.0 - **MessageService 优化**: 重构消息服务 - 优化消息发送逻辑 - 改进文本格式化 ### ♻️ 架构与底层 - **核心服务重构**: 多个核心服务类进行重构和优化 - 改进服务注册和获取流程 - 优化服务依赖管理 - **依赖管理**: 优化 Maven 依赖配置 - 减少传递依赖冲突 - 更新库版本 - **代码格式化**: 统一代码风格和导入格式 --- ## English Version ### ✨ Features - **Item Text Bridge**: `ItemTextBridge.java` added - Provides cross-version text API compatibility support - Ensures text display consistency across different Paper/Spigot versions - **MiniMessages Support**: `MiniMessages.java` added/enhanced - Added MiniMessage format parsing support - Provides richer text formatting capabilities - **IndexedLineInsertActionParser**: New Lore insertion parser - Supports inserting Lore lines from top/bottom - Supports stat line insertion modes - **Lifecycle Framework**: Added abstract lifecycle coordinator - `AbstractLifecycleCoordinator.java`: Abstract base class - `RuntimeComponents.java`: Runtime components abstraction - **Service Registry**: `EmakiServiceRegistry.java` added - Provides service registration and lookup functionality - Supports service dependency injection - **YAML Abstraction Refactoring**: Added complete YAML abstraction layer - `YamlConfigLoader.java`: YAML configuration loader - `VersionedYamlFile.java`: Versioned YAML file support - `YamlSection.java`: YAML section abstraction interface - `BoostedYamlSection.java`: Enhanced YAML section implementation - `MapYamlSection.java`: Map-backed YAML section implementation - `SnakeYamlSupport.java`: SnakeYAML low-level support - **Bootstrap Package**: Added bootstrap package structure - Provides plugin startup bootstrap support - **Entity Package**: Added entity package structure - Provides entity-related functionality - **Integration Package**: Added integration package structure - Provides third-party plugin integration support ### 🐛 Bug Fixes - **YAML Merge Logic Optimization**: Fixed type handling issues during configuration merging - Improved `mergeMissingValues` method, using YamlSection instead of ConfigurationSection - Optimized version comparison logic, added `compareVersions` method ### 🚀 Improvements & Optimizations - **YAML File Refactoring**: `YamlFiles.java` extensively refactored - Simplified version upgrade logic - Optimized configuration merging process - Improved type conversion handling - **Text Utility Enhancements**: `Texts.java` optimized - Added text blank detection method - Optimized text processing performance - **Configuration Version Upgrade**: - `config.yml`: 2.3.0 → 3.0.0 - `lang/zh_CN.yml`: 2.3.0 → 3.0.0 - **MessageService Optimization**: Refactored message service - Optimized message sending logic - Improved text formatting ### ♻️ Chores & Refactoring - **Core Service Refactoring**: Multiple core service classes refactored and optimized - Improved service registration and retrieval process - Optimized service dependency management - **Dependency Management**: Optimized Maven dependency configuration - Reduced transitive dependency conflicts - Updated library versions - **Code Formatting**: Unified code style and import formatting
release

EmakiCorelib 2.3.0

2.3.0
9 апр. 2026 г.15Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
# EmakiCoreLib Changelog ## \[2.3.0] - 2026-04-09 ### Added #### Expression-aware name and lore replacement - `ItemRenderService` now supports `name_append_if_unchanged` and `name_append_if_changed`, which helps strengthen and forge pipelines decide whether another suffix should be appended after a previous name change. - Regex replacement in names and lore now supports capture groups and expression blocks inside the replacement template, making it easier to combine matched text with runtime variables. - `ExpressionEngine.replaceVariables` is now exposed as a reusable entry point so name templates, lore templates, and replacement templates share the same variable-expansion behavior. #### Startup diagnostics and loader issue collection - Startup logs now print the list of economy providers that actually became available, so operators can verify `Vault` and other backends more quickly. - `YamlDirectoryLoader` now accumulates load issues, allowing upper-layer plugins to expose lint, self-check, or admin diagnostics directly. ### Improved #### Rendering and bridge infrastructure hardening - `RegexLoreSearchMatcher` now caches compiled regex patterns to reduce repeated compile overhead during frequent lore searches. - `CacheManager` now tracks hits, misses, evictions, and expirations with atomic counters, which keeps shared cache statistics more stable. - Item source bridges now report more specific details while in `WAITING` or `INCOMPATIBLE` state, making load-order and API-compatibility diagnosis easier. ### Fixed - `ExpressionEngine` now rejects overly long expressions, dangerous characters, and `NaN` / `Infinity` results so broken templates do not poison runtime calculations. - Regex-based rendering no longer flattens replacements too early, so `$1`-style capture groups and expression blocks can work together correctly. ### Upgrade Notes - If your name or lore templates already use `$1`-style regex capture groups or `[ ... ]` expression blocks, regression-test those displays after upgrading. - Upper-layer plugins can now read `YamlDirectoryLoader.issues()` directly when implementing config self-checks or admin diagnostics. - Startup logs will now print ready economy providers; if an expected backend does not appear, first verify dependency startup order and provider registration. ### Known Issues - None
release

EmakiCorelib 2.2.0

2.2.0
8 апр. 2026 г.21Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
## 2.2.0 - 2026-04-08 ### Overview This version focuses on fixing the optional dependency loading for `EconomyManager`, constituting a compatibility and stability update. ### Changed - Adjusted the economy backend registration process. `Vault` and `CoinsEngine` Providers are no longer directly hard-referenced and instantiated during the construction phase. - `EconomyManager` now checks whether the corresponding plugin is enabled and if the required API classes are visible before deciding whether to register an optional Provider. - The `CoinsEngine` related Provider has been changed to load reflectively based on runtime state to avoid premature class linking. ### Fixed - Fixed the issue where, when `CoinsEngine / ExcellentEconomy` is not installed on the server, `EmakiCoreLib` would throw a `NoClassDefFoundError` during the `onEnable` phase due to the absence of `su.nightexpress.excellenteconomy.api.ExcellentEconomyAPI`. - Fixed the issue where, despite `CoinsEngine` being declared in `softdepend`, the economy bridge class would still fail at runtime because it was resolved prematurely. - Fixed the issue where CoreLib could not gracefully degrade to a "register only available Providers" state when optional economy dependencies are absent. ### Compatibility - Although the repository for `ExcellentEconomy` is named `ExcellentEconomy`, the server plugin registration name and build artifact identifier still use `CoinsEngine`. - The existing `softdepend: CoinsEngine` configuration remains correct; no need to change it to `ExcellentEconomy`. - Existing syntax in action DSL such as `provider=vault`, `provider=coinsengine`, and `currency=...` remains compatible. ### Migration - No configuration migration is required. - No data migration is required. - No command, permission, or language file adjustments are needed.
release

EmakiCorelib 2.1.0

2.1.0
7 апр. 2026 г.19Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
## [2.1.0] - 2026-04-08 ### Added #### Unified Item Source Bridge and Dependency Integration Timing - Added `ItemSourceIntegrationCoordinator`. During the startup phase, it uniformly registers item source resolvers for `MMOItems`, `ItemsAdder`, `Nexo`, `NeigeItems`, and `CraftEngine`. - Item source bridges now dynamically switch between `READY`, `WAITING`, and `INCOMPATIBLE` states based on external plugin enable/disable events and the official "item registration complete" event. - Added bridge status logs to the console, clearly distinguishing scenarios like "plugin not installed", "installed but resources not yet loaded", and "API version incompatible". - `plugin.yml` has been updated with relevant soft-dependencies. Upper-layer plugins no longer need to individually manage the loading sequence of external item plugins. #### Action System - New Temporary Item Workflow - `ActionContext` now has shared state across actions, facilitating the reuse of temporary data within the same action chain. - Added built-in actions: `createitem`, `edititem`, `senditem`, `clearitem`. These allow directly creating items, modifying name/Lore, giving items to players, and clearing items by slot within the action DSL. - The temporary item workflow is now integrated with the unified `ItemSourceService` and `ItemPresentationEditor`, allowing direct item generation from item sources with presentation modifications applied. - `clearitem` supports dual filtering by slot and item source, suitable for reuse in chains like forging, strengthening, and reward recovery. #### Expanded Foundation for Presentation Compilation and Document Editing - Added `ItemPresentationEditor`, supporting standardized editing of name and Lore for existing `ItemStack`s at runtime. - `YamlDirectoryLoader` now retains the original `YamlConfiguration`, source file path, and parsing results, facilitating editor implementation, backups, and hot-reloading for upper-layer plugins. - Added `ConditionEvaluator`, a universal condition parser supporting numerical comparison, string comparison, and `&&` / `||` combination logic, providing a common foundation for configuration filtering and rule judgment in upper-layer plugins. ### Improvements & Optimizations #### Standardization of Item Presentation Protocol - `EmakiPresentationEntry`, `SearchInsertConfig`, and `LoreSearchInsertResult` have been unified into a standardized field structure, reducing ambiguity during serialization and data backfilling in the presentation layer. - The presentation compiler now only accepts standardized operation and field names. Validation, return status, and error details for Lore search-and-insert are also more explicit. - The collaboration between `ItemRenderService` and the assembly of presentation entries has been further consolidated, making it easier for upper-layer modules like `EmakiForge` and `EmakiStrengthen` to reuse directly. #### Action Execution Precision and Reusability - `@chance` now uses high-precision threshold parsing, reducing floating-point probability boundary errors. - Shared state eliminates the dependency on external global containers for multi-step item processing within the same action chain. - `ItemSourceType` has been expanded with more complete type display names and alias resolution, unifying format recognition for sources like `ItemsAdder` / `Nexo`. ### Upgrade Notes - `EmakiForge 2.1.0` and `EmakiStrengthen 1.0.0` are advised to uniformly depend on CoreLib's `ItemSourceService` and should no longer maintain external item bridges within their respective business modules. - If your action configurations still use `givecoins`, please migrate before upgrading; this built-in action has been removed from the default registration list. - If your presentation configurations rely on old alias keys or field names, please revert to the standard写法 during upgrade, e.g., `action`, `content`, `target_pattern`, `regex_pattern`, `replacement`. - After the server integrates `ItemsAdder`, `Nexo`, `NeigeItems`, `CraftEngine`, or `MMOItems`, it is recommended to verify in the startup logs that the final bridge status is `READY`. ### Known Issues - None
release

EmakiCorelib 2.0.0

2.0.0
3 апр. 2026 г.26Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
# EmakiCoreLib Changelog ## [2.0.0] - 2026-04-04 ### Added #### Asynchronous Infrastructure & Performance Monitoring - Added `AsyncTaskScheduler`, `AsyncFileService`, `AsyncYamlFiles` to provide unified asynchronous execution capabilities for actions, file I/O, GUI, and assembly processes. - Added `PerformanceMonitor`, `PerformanceSnapshot`, and an operation-level statistics model for continuous tracking of execution time, success rates, and warning counts. - Added generic `CacheManager` / `CacheStats` for caching high-frequency hotspot data such as preview results. #### GUI Asynchronous Rendering - `GuiService` now has an `openAsync(...)` opening flow. - Added `AsyncGuiRenderer`, supporting slot item preparation on async threads followed by a single batch fill-back on the main thread. - `GuiSession` gained the ability to fill back rendering results, facilitating the decoupling of "computation" and "display" for complex GUIs. #### Item Assembly 2.0 - `EmakiItemAssemblyService` added `previewAsync(...)`, `giveAsync(...)`, and preview caching. - Added `AssemblyFeedbackHandler`, allowing business plugins to receive feedback on Lore search-and-insert failures, regex errors, and configuration errors. - Added `ItemPresentationCompiler`, `PresentationCompileResult`, `PresentationCompileIssue`. - Name modification, Lore modification, and search-and-insert rules can now be compiled first and then rendered, making it easier for upper-level plugins like `EmakiForge` to reuse them. ### Changed #### Action System Scheduling Upgrade - The `Action` interface added extension points: `executionMode()` and `timeoutMillis()`. - Added `ActionExecutionMode`, currently supporting `SYNC` and `ASYNC_IO`. - `ActionDispatchScheduler` will automatically choose between main-thread scheduling or async I/O scheduling based on the action's execution mode. - `ActionExecutor` uniformly integrates delay, timeout, failure fallback, and asynchronous execution pipelines. #### YAML & Resource Loading Optimizations - `YamlDirectoryLoader` added `loadAsync()`, allowing directory-type configurations to directly utilize the CoreLib async scheduler. - `EmakiCoreLibPlugin` will now automatically migrate bundled resources from the legacy `defaults/` directory during startup. - Plugin initialization phase uniformly integrates the async file service, namespace registration, performance monitoring, and assembly service async configuration. #### Build & Dependencies - Module version upgraded to `2.0.0`. - Added `gson` dependency and supplemented Shade filtering rules to avoid packaging conflicts with `module-info.class` and some manifest files. ### Upgrade Notes - Both `EmakiAttribute 2.0.0` and `EmakiForge 2.0.0` are adapted based on this version of CoreLib. - Custom actions involving I/O operations (e.g., database, HTTP, file) are recommended to be explicitly declared as `ASYNC_IO`. - Plugins relying on the assembly system can start using async preview, async distribution, and assembly feedback callbacks. ### Known Issues - None
release

EmakiCorelib 1.11.0

1.11.0
31 мар. 2026 г.13Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
# EmakiCoreLib Changelog ## [1.11.0] - 2026-03-31 ### New Features #### CoinsEngine Economy Support * Added the `GiveCoinsAction` action, supporting currency operations for the CoinsEngine economy plugin. * Action Parameters: * `amount` (required): The amount of currency. * `currency` (required): The type of currency. * Automatically registered to the built-in action list, supporting templated configuration. * Requires the CoinsEngine plugin to be installed on the server. ### Improvements & Optimizations #### Action System Improvements * All built-in Action IDs have been uniformly changed from underscore format to camelCase format. * `send_message` → `sendmessage` * `play_sound` → `playsound` * `broadcast_message` → `broadcastmessage` * `send_title` → `sendtitle` * `send_action_bar` → `sendactionbar` * `give_money` → `givemoney` * `take_money` → `takemoney` * `set_money` → `setmoney` * `give_exp` → `giveexp` * `take_exp` → `takeexp` * `set_exp` → `setexp` * `set_health` → `sethealth` * `give_potion_effect` → `givepotioneffect` * `remove_potion_effect` → `removepotioneffect` * `clear_potion_effects` → `clearpotioneffects` * `spawn_particle` → `spawnparticle` * `run_command_as_player` → `runcommandasplayer` * `run_command_as_op` → `runcommandasop` * `run_command_as_console` → `runcommandasconsole` * `use_template` → `usetemplate` #### Enhanced Error Messages * Improved error messages for missing actions (`missingActionResult`). * Automatically detects Action ID format and provides normalization suggestions. * Example: When using `send_message`, prompts "Use 'sendmessage' instead". * Helps developers quickly locate and fix configuration errors. #### ActionExecutor Optimization * Added `missingActionResult()` method to uniformly handle cases where actions are not found. * Improved Action ID normalization logic, removing underscores before lookup. * Optimized error message format to provide clearer migration guidance. ### Configuration Changes #### Configuration Template Updates * Action IDs in the example configuration templates have been updated to the new format. * Comment examples have been synchronized, demonstrating the correct way to configure actions. ### Code Improvements #### BuiltinActions * Added registration for `GiveCoinsAction`. * Maintained the registration order of other built-in actions. #### All Action Implementation Classes * Updated the return value of the `id()` method to camelCase format. * Kept action functionality and parameters unchanged. ### Usage Notes #### Action ID Migration * **Important**: All action configurations must be migrated from underscore format to camelCase format. * The system will automatically detect and provide migration suggestions, but it is recommended to proactively update configuration files. * Affected configuration files: * Action templates in `EmakiCoreLib/config.yml` * Quality actions in `EmakiForge/config.yml` * Custom action configuration files * Action calls in scripts and plugins. #### CoinsEngine Integration * To use the `givecoins` action, ensure the CoinsEngine plugin is installed on the server. * CoinsEngine is an optional dependency and does not affect core functionality. * Clear error messages are returned if the action execution fails. #### Compatibility * Maintains backward compatibility with configuration files from older versions. * Error prompts will help developers quickly locate issues. * It is recommended to back up configuration files before upgrading. ### Known Issues * None
release

EmakiCorelib 1.10.0

1.10.0
30 мар. 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
[Changelog](https://github.com/jiuwu02/Emaki_Series/releases/tag/release-corelib-1.10.0__forge-1.9.0__attribute-1.7.0)
release

Emaki Corelib 1.9.0

1.9.0
29 мар. 2026 г.15Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
[Changelog](https://github.com/jiuwu02/Emaki_Series/releases/tag/release-corelib-1.9.0__forge-1.8.0__attribute-1.6.0)
release

Emaki Corelib 1.8.0

1.8.0
29 мар. 2026 г.14Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
[Changelog](https://github.com/jiuwu02/Emaki_Series/releases/tag/release-corelib-1.8.0__forge-1.7.0)
release

Emaki Corelib 1.6.0

1.6.0
28 мар. 2026 г.19Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
[Changelog](https://github.com/jiuwu02/Emaki_Series/releases/tag/release-corelib-1.6.0__forge-1.5.0__attribute-1.3.0)
release

Emaki Corelib 1.3.0

1.3.0
27 мар. 2026 г.27Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать