▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/EmakiForge
EmakiForge

EmakiForge

Recipe-driven forging with quality tiers, material effects, and in-game editor

33
0

EmakiForge 3.1.0

release16 апреля 2026 г.

EmakiForge Changelog

[3.1.0] - 2026-04-16

Added

  • Added ForgeMaterialUsagePlanner to centralize required/optional material batching, capacity cost/bonus calculation, and unconsumed input return logic for more predictable forge resolution.
  • Adopted CoreLib's AbstractConfigurableEmakiPlugin, BaseAppConfig, and shared GuiTemplateLoader so Forge now shares the common config and GUI-loading foundation.

Improved

  • Reworked EmakiForgePlugin, ForgeLifecycleCoordinator, and ForgeRuntimeComponents so PDC attribute registration, service exposure, and CoreLib assembly feedback wiring follow one consistent startup path.
  • Hardened interactions in the forge station, recipe book, and editor by covering keyboard clicks, drag behavior, held-item validation, and session-state management.
  • Updated config.yml, gui/*.yml, and language resources so button sounds, hidden tooltips, and GUI structure follow the newer CoreLib GUI syntax.

Fixed

  • Fixed inconsistent optional-material batching, capacity bonuses, and leftover input return behavior when multiple matching materials were supplied together.
  • Fixed edge cases in item identification, recipe matching, and editor dirty-state handling to reduce false input mismatches and lingering editor state.
  • Fixed the timing of PDC attribute registration so Forge keeps writing external attribute data reliably after reloads and dependency rewiring.

EmakiForge 3.0.0

release12 апреля 2026 г.

📦 EmakiForge 更新日志 / Changelog

中文版

✨ 新增特性

  • ForgePdcAttributeWriter: 新增 PDC 属性写入器

    • 提供持久化数据容器属性写入功能
    • 支持物品 NBT 数据的持久化存储
  • EditableResourceType 增强: 扩展可编辑资源类型支持

    • 新增更多资源类型的编辑支持
    • 改进资源类型转换逻辑
  • ForgeLookupIndex: 新增强化查找索引

    • 提供高效的配方和材料查找
    • 优化查找性能
  • 配方系统增强: Recipe.java 优化

    • 新增配方验证逻辑
    • 改进配方加载错误处理

🐛 问题修复

  • BootstrapService 删除: 删除不再需要的引导服务

    • 由 CoreLib 的统一引导机制替代
    • 简化插件启动流程
  • MessageService 删除: 删除冗余的消息服务

    • 由 CoreLib 的统一消息服务替代
    • 减少代码重复
  • LanguageLoader 删除: 删除语言文件加载器

    • 由 CoreLib 的统一加载机制替代
    • 简化语言文件管理

English Version

✨ Features

  • ForgePdcAttributeWriter: New PDC attribute writer

    • Provides persistent data container attribute writing functionality
    • Supports persistent storage of item NBT data
  • EditableResourceType Enhancements: Extended editable resource type support

    • Added support for more resource types
    • Improved resource type conversion logic
  • ForgeLookupIndex: New forge lookup index

    • Provides efficient recipe and material lookup
    • Optimized lookup performance
  • Recipe System Enhancements: Recipe.java optimized

    • Added recipe validation logic
    • Improved recipe loading error handling

🐛 Bug Fixes

  • BootstrapService Deletion: Removed unnecessary bootstrap service

    • Replaced by CoreLib's unified bootstrap mechanism
    • Simplified plugin startup process
  • MessageService Deletion: Removed redundant message service

    • Replaced by CoreLib's unified message service
    • Reduced code duplication
  • LanguageLoader Deletion: Removed language file loader

    • Replaced by CoreLib's unified loading mechanism
    • Simplified language file management

EmakiForge 2.2.0

release9 апреля 2026 г.

EmakiForge Changelog

[2.2.0] - 2026-04-09

Added

Recipe files now own blueprints, materials, and target items together

  • recipes/*.yml can now define target_item, blueprint_requirements, materials, and optional_material_limit directly, so the release no longer depends on separate default blueprints/ and materials/ directories.
  • Inline recipe materials can now declare capacity cost, stat contributions, name / lore actions, and capacity bonus directly, and the sample flame_sword.yml has been fully migrated to the new schema.

Improved

Forge validation and GUI flow now follow the recipe model end to end

  • Material validation now matches inputs directly against recipe-defined required and optional materials by item source, which keeps fixed materials, optional materials, capacity limits, and capacity bonus checks consistent.
  • Default GUI wording, reload summaries, and command help now revolve around the "recipe" concept, so players and admins no longer need to reason about the old blueprint / material directory split.
  • Forge continues to delegate all external item-source availability to EmakiCoreLib, keeping only business-side matching, capacity calculation, and interaction feedback locally.

Fixed

  • Legacy keys such as required_materials, optional_materials, gui, and top-level forge_capacity are now rejected during parsing so old configs cannot be half-loaded into an inconsistent state.
  • Optional-material validation now blocks items that do not belong to the current recipe earlier in the flow, reducing follow-up errors caused by wrong materials slipping through.

Upgrade Notes

  • If you still use the old blueprints/ and materials/ config structure, migrate it to the new inline recipes/*.yml format before upgrading.
  • Default data release and list/editor flows now work around the recipes directory only, so do not rely on the removed default blueprint or material sample files.
  • This version should be paired with EmakiCoreLib 2.3.0, and CoreLib startup logs should be treated as the source of truth for external item-source bridge readiness.

Known Issues

  • The default template still does not show random-result previews. This limitation remains intentional to prevent reroll abuse.

EmakiForge 2.1.0

release7 апреля 2026 г.

[2.1.0] - 2026-04-08

Added

Forging Resource Editor Released

  • Added editor_gui and EditorGuiService, supporting in-game browsing, creation, and editing of three resource types: blueprints, materials, and recipes.
  • Added /emakiforge editor, edit, create, delete subcommands, along with the permissions emakiforge.editor, emakiforge.editor.delete, and emakiforge.editor.*.
  • The editor supports chat input, document tree browsing, recipe slot grid switching, writing item / output_item sources from the main hand item, and unsaved close confirmation.
  • Automatic backup of the original YAML is performed before saving, renaming, or deleting, followed by a hot-reload of forging resources upon operation completion.

GUI Template and Recipe Book Configuration Enhancements

  • The default forging GUI has been updated to a new layout, with clearer visual separation for the blueprint, capacity, materials, and confirmation areas.
  • Added the confirm_blocked virtual item and capacity_state text template. Clear blocking feedback is now provided when capacity limits are exceeded.
  • Added virtual_items.recipe_entry and multiple sets of state text to the recipe book. Unlock status, whether forged, and click hints are now all configuration-driven.

Improvements & Optimizations

Full Migration to CoreLib Item Source Service

  • ItemIdentifierService now delegates to EmakiCoreLib's ItemSourceService. Forge no longer maintains external item plugin bridges independently.
  • Removed Forge's direct compile-time dependencies and plugin.yml soft-dependencies on MMOItems, NeigeItems, and CraftEngine.
  • Item source availability and bridge timing are now uniformly managed by CoreLib. Forge retains only the business-side identification, matching, and hint logic.

Commands and Interaction Refactoring

  • The main command aliases have been adjusted from emforge / forge to eforge / ef.
  • The editor now supports resource locking to prevent simultaneous edits of the same resource by multiple administrators.
  • Deleting and renaming resources will first create a backup file on disk, reducing the risk of irreversible errors from misoperations during live server periods.

Default Template Detail Optimizations

  • forge_gui.yml now unifies capacity display, material slot hints, and result hiding instructions.
  • With the addition of virtual item templates to the recipe book pages, custom themes can now directly override text and display styles without modifying Java code.

Upgrade Notes

  • Requires EmakiCoreLib 2.1.0 or higher. The availability of external item sources should be verified based on the bridge status in CoreLib's startup logs.
  • If your scripts, menu buttons, or documentation still reference the old aliases forge / emforge, please update them to eforge / ef or the full main command emakiforge.
  • The resource editor's save and delete operations will generate backups under plugins/EmakiForge/backups/<type>/. It is recommended to include this in your server maintenance backup strategy.
  • If you are retaining an older custom forging template, please manually merge the new capacity_state text and the capacity over-limit blocking feedback logic.

Known Issues

  • The default template still does not display random result previews. This is a design limitation retained to prevent farming for random results.

EmakiForge 2.0.0

release4 апреля 2026 г.

EmakiForge Changelog

[2.0.0] - 2026-04-04

Added

Forging Results Integrated into CoreLib Assembly Pipeline

  • Forged products are now uniformly constructed through the EmakiItemAssemblyService, no longer relying solely on the legacy process of directly modifying ItemMeta.
  • Recipe results, material entries, and quality entries are compiled into assembly-layer snapshots and written into the final product.
  • result.meta_actions now supports name modification and Lore modification, making it easier to define product display rules directly at the recipe level.
  • Added forging-layer audit data, recording recipe ID, quality, material signature, forging time, and output source.

Assembly Feedback and Lore Search Hints

  • Added ForgeAssemblyFeedbackHandler, which synchronously reports Lore search-and-insert failures, regex errors, and configuration errors to the console.
  • Players will also receive direct prompts during actual forging if they encounter invalid Lore search configurations.

Asynchronous Caching and Persistence

  • Added PlayerDataCache; player forging history and pity counters are now managed by a concurrency-safe cache.
  • PlayerDataStore is now integrated into the CoreLib asynchronous YAML saving pipeline.
  • Automatic saves, player-offline saves, and plugin-shutdown saves will all wait for pending write tasks to complete, reducing the risk of historical data loss.
  • ForgeService added a pre-forge cache and prepareForgeAsync(...) to reduce redundant calculation overhead.

Changed

GUI and Recipe Experience

  • The default forging GUI no longer displays random product previews, preventing repeated刷取 of random quality and entry results through previews.
  • The default target item slot has been changed to a "result hidden" placeholder description, with interface text updated accordingly.
  • The recipe book now uniformly uses configuredOutputSource() to parse the result source when displaying result items.

Recipes and Validation Logic

  • Recipe added configuredOutputSource() and requiresTargetInput() for unified output source determination.
  • MaterialValidationService rewritten the material normalization and validation logic to prevent disguising required materials and塞入 optional slots.
  • RecipeMatchingService optimized error priority; when a recipe fails to match, a more reasonable first failure reason is now given.
  • Blueprint capacity, material capacity bonuses, and optional material whitelist/blacklist are now uniformly结算 within the same validation process.

Example Resource Updates

  • Default blueprint and material examples have been switched from external item IDs to vanilla items, lowering the barrier to entry for running out-of-the-box.
  • Example blueprints added forge_capacity, making capacity sources more intuitive.
  • Example recipe flame_sword.yml changed to use vanilla diamond_sword as base material, any_of blueprint requirements, whitelist-style optional materials, and the result.meta_actions写法.
  • YAML indentation examples for quality broadcast actions have been corrected.

Upgrade Notes

  • Requires EmakiCoreLib 2.0.0 or higher.
  • If you use custom recipes, it is recommended to explicitly declare the result source:
    • When there is a fixed product base material, use target_item.item or result.output_item.
    • When name/Lore modifications are needed, prioritize writing them in result.meta_actions.
  • The default GUI intentionally hides result previews; if your old workflow relied on the "preview first, then confirm" interaction, you need to evaluate whether to keep the old template.
  • If you still use the old forging process of "player places target item for processing", please key inspection the target slot interaction and custom GUI templates before upgrading.

Known Issues

  • Random results do not provide product previews in the default template; this is a design trade-off, not a rendering fault.

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:GPL-3.0-only
Опубликован:3 недели назад
Обновлён:2 дня назад
Главная