Releases: Cypherlink-Studios/MultiBlockEngine
Releases · Cypherlink-Studios/MultiBlockEngine
Release list
4.10.0
Breaking changes:
- None
Internal changes:
- Added
AddonI18ncontracts to the API and integrated list resolution intoI18nService. - Implemented
AddonI18nsystem and lifecycle integration for addon translation support. - Implemented wiring bridge, connection evaluation, and updated export tooling.
- Implemented the multimeter tool for the electrics system.
- Documentation and workflow: Translated
agent-commit-workflow.mdto English, added Git submodule awareness for addons, added new definition files, archived specs, and updated the wiki submodule pointer.
Bug fixes:
- None
Changes made by: @DarkBladeDev
Full Changelog: 4.9.1...4.10.0
4.9.1
Breaking changes:
- Refactored service implementations and extracted core tool contracts (
ToolModeExecutionService,ToolModeMetricsService,ToolSessionService) into the public API (dev.darkblade.mbe.api.tool.*). - Relocated
UIRuntimeRegistrytodev.darkblade.mbe.api.ui.runtimeand updated UI service implementation references across core and addon modules.
Internal changes:
- Introduced
AddonContext#registerMultiblockDirectoryallowing addons to dynamically inject custom multiblock directory paths into the core structure catalog. - Added
PanelDirectoryRegistryandPanelMappingRegistrytodev.darkblade.mbe.api.uifor dynamic panel directory management and mapping resolution. - Enhanced structure preview and blueprint placement system with
Rotationsupport,DisplayEntityRendererupdates,PreviewPlacementControllercontrols, andPacketEventsRendererBridgeintegration. - Refactored
PdcItemStackBridgefor improved item persistent data container (PDC) operations. - Added CodeMC Maven repositories (
maven-releasesandmaven-snapshots) to the root build configuration. - Standardized project documentation, agent skills, and
AGENTS.mdto English.
Bug fixes:
- Fixed a premature dependency check execution in
AddonRuntimeLifecycleServiceduring addon initialization. - Resolved API dependency resolution across subprojects by enforcing project-level dependency references.
Changes made by: @DarkBladeDev
Full Changelog: 4.8.5...4.9.1
4.8.5
Breaking changes:
- Removed legacy
MBEServiceRegistryfrom the core implementation. Addons directly depending on this internal core class instead of the standard API will no longer load.
Internal changes:
- Cleaned up and improved plugin startup logs for better readability.
- Bumped project version to
4.8.5.
New features:
- Extended Addon Metadata: Added support for new
addon.ymlfields includingname,description,website,authors,capabilities,load-before,load-after, andenvironment. - Runtime Environment Constraints: The engine now strictly validates the
environmentsection ofaddon.yml, ensuring required Java, Minecraft, and Bukkit plugin versions are met before loading an addon. - Capabilities System for Protected APIs: Addons utilizing protected core APIs (e.g. UI, Energy, Wiring, Persistence) must now explicitly declare the required
capabilitiesin their configuration. - Enhanced Dependency Resolution: Integrated
load-beforeandload-afterdirectives as soft edges in the dependency graph, providing precise control over addon initialization order.
Bug fixes:
- Fixed a cyclic dependency issue in
DependencyGraphResolverwhere a soft dependency conflicting with a hard dependency could cause infinite loops or crashes during initialization.
Changes made by: @DarkBladeDev
Full Changelog: 4.7.5...4.8.5
4.7.5
Breaking changes:
- None in this release.
Internal changes:
- Migrated the command framework to native Incendo Cloud v2 and refactored command autocomplete.
- Restructured the command architecture to implement
CommandRegistrationServiceand utilizeMBESender. - Flattened developer commands to fall under the new
mbe dev debugnamespace. - Refactored
ExportCommandto use Cloud annotations. - Bypassed the ArchUnit rule for hardcoded messages in
HelpCommand. - Updated the README version number badge to "1.21.x".
New features:
- Expanded the
/mbe admin reloadcommand to properly delegate reload triggers to the entire addon and service ecosystem:- Added a default
onReload()method to theMultiblockAddonAPI. - Implemented
reloadAllServices()inServiceLifecycleOrchestratorto reload all registered services safely. - Implemented
reloadAddons()inAddonRuntimeLifecycleServiceto reload addons respecting dependency order. - Added
MbeReloadEvent, a synchronous Bukkit event fired once internal reloads are completed.
- Added a default
- Added new player-facing commands:
CatalogCommand,BlueprintCommand, an Item list, and a Help command. - Introduced visual debugging support by injecting
PacketServiceand adaptingPacketEvents.
Bug fixes:
- Wired the tool dispatcher and fixed dynamic lore updates.
- Fixed a
StackOverflowErrorin the Cloud command parser caused by the@Defaultannotation. - Fixed translation parsing for color-coded items.
- Fixed blueprint multiblock modifier type resolution.
- Changed
packeteventsdependency tocompileOnlyApito prevent shading andLinkageError.
Changes made by: @DarkBladeDev
Full Changelog: 3.7.5...4.7.5
3.7.5
Breaking changes:
- Command System: The main monolithic command (
MultiblockCommand) has been completely removed and refactored into separate commands using the Incendo command framework. This may affect administrators or third-party integrations if they relied on the old command structure or its specific permissions.
Internal changes:
- Command System: Complete refactoring of commands into a modular structure based on Cloud (
BlueprintCommand,DebugCommand,ExportCommand,MiscCommand), which facilitates scalability and maintenance. - Architecture: The core
MultiBlockEngineclass was introduced to centrally initialize the application’s infrastructure and services. - Architecture: Architectural issues related to excessive coupling of the
EventBusand the service loading system were resolved. - Event System: The base interface
MBEEventand theEventBusServicewere added to standardize and improve the handling of internal events. - Lifecycle: The
MultiblockListenerclass was refactored, delegating its business logic to the newMultiblockLifecycleServiceto maintain separation of concerns. - Platform API: The
MBEItemStackabstraction was introduced into the API (along with its implementation,BukkitMBEItemStack) for better cross-platform item handling.
Bug fixes:
- WorldEdit Compatibility: Fixed a bug in the
MultiblockListenerthat caused interaction issues when using WorldEdit’s selection tool (wand).
Changes made by: @DarkBladeDev
Full Changelog: 2.7.5...3.7.5
2.7.5
Breaking changes:
- Restrictions that prevented add-ons from exposing their own services have been removed.
Internal changes:
- Packet handling has been migrated from ProtocolLib to PacketEvents.
Changes made by: @DarkBladeDev
Full Changelog: 1.3.4...2.7.5
1.5.5 build #1
Full Changelog: 1.5.4-1...1.5.5-1
1.5.4 build #1
1.4.4 build #1
1.3.4 build #11
v1.3.4 is here!
The project has undergone a significant restructuring, moving towards a more modular architecture driven by services and addons.
🚀 New Features
Core System and Architecture
- Centralized Tick System: Introduction of a central
TickServicefor managing scheduled tasks. - Event-Based Service Discovery: New lifecycle and service discovery system based on events for total decoupling.
- Metadata System: Implementation of a robust metadata system with integration for placeholders.
- Block Registry: New central infrastructure for defining and registering custom blocks.
- Preview Rendering: Structure preview system with blueprint construction guide using versioned Block Displays.
- Structured Assembly Pipeline: Improvement in multiblock detection with configurable limits and detailed reports.
- TrustedCommandService: Service for secure command execution with trust validation.
Addons System
- Resource Management: Added
getResourceandsaveResourcemethods inAddonContextto facilitate configuration file handling by addons. - Addon Commands:** Support for registering custom commands directly from addons, including autocompletion (tab-completion).
- Service API Control: Implementation of configurable policies to enforce API types in addon services.
UI and Interaction
- Inventory UI Engine: New decoupled graphical interface engine with integration for the blueprint catalog.
- Runtime Panel Registration: Dynamic system to register and manage the lifecycle of UI panels.
- Blueprint Crafting: Dedicated system for crafting blueprints with UI session management and slot roles.
- Interaction Actions: New
OpenPanelActionthat allows triggering interfaces through interactions with world blocks. - Inventory Compatibility: Reflection-based compatibility service for inventory views.
Tools and Objects
- Tool System: Full implementation of a tool system with actions, switchable modes, and a centralized dispatcher.
- Wrench: Improved assembly logic to provide better feedback and handle non-critical failures.
Internationalization (i18n)
- Centralized Messaging: Centralization of all plugin messages through translation keys.
- Player-Sensitive i18n: Support for translations based on the client's language for holograms and item generation.
- PlayerMessageService: Unified service for sending messages to players.
🛠 Refactoring and Cleanup
- Module Renaming: The
core-apimodule has been renamed toapifor greater clarity. - Network Topologies: Introduction of
NetworkTypeto support multiple network types in the wiring system. - Dependency Resolution: Replacement of manual topological sorting with a generic implementation of
DependencyGraphResolver. - Tool Modularization: Tool actions and modes are now managed through a registry system.
- Legacy Removal: The old cross-reference system was removed in favor of the new service discovery system.
📦 Submodules and Ecosystem
The following addons have been integrated as official submodules:
mbe-wiring: Physical wiring and network system.mbe-ui: User interface extensions.mbe-crafting: Building and crafting mechanics.
🐞 Fixes
- Support for tool interactions with air and handling of null blocks in wrench actions.
- Adjustment of log levels (from WARN to TRACE) for expected failures in assembly trigger fallback.
- Minor corrections in README and license links.
- Improvements in thread safety (concurrency) for theappearance of holograms.