Skip to content

Releases: Cypherlink-Studios/MultiBlockEngine

4.10.0

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 02 Aug 01:21
82ee9d9

Breaking changes:

  • None

Internal changes:

  • Added AddonI18n contracts to the API and integrated list resolution into I18nService.
  • Implemented AddonI18n system 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.md to 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

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 26 Jul 16:16
871258c

Breaking changes:

  • Refactored service implementations and extracted core tool contracts (ToolModeExecutionService, ToolModeMetricsService, ToolSessionService) into the public API (dev.darkblade.mbe.api.tool.*).
  • Relocated UIRuntimeRegistry to dev.darkblade.mbe.api.ui.runtime and updated UI service implementation references across core and addon modules.

Internal changes:

  • Introduced AddonContext#registerMultiblockDirectory allowing addons to dynamically inject custom multiblock directory paths into the core structure catalog.
  • Added PanelDirectoryRegistry and PanelMappingRegistry to dev.darkblade.mbe.api.ui for dynamic panel directory management and mapping resolution.
  • Enhanced structure preview and blueprint placement system with Rotation support, DisplayEntityRenderer updates, PreviewPlacementController controls, and PacketEventsRendererBridge integration.
  • Refactored PdcItemStackBridge for improved item persistent data container (PDC) operations.
  • Added CodeMC Maven repositories (maven-releases and maven-snapshots) to the root build configuration.
  • Standardized project documentation, agent skills, and AGENTS.md to English.

Bug fixes:

  • Fixed a premature dependency check execution in AddonRuntimeLifecycleService during 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

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 23 Jul 21:21

Breaking changes:

  • Removed legacy MBEServiceRegistry from 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.yml fields including name, description, website, authors, capabilities, load-before, load-after, and environment.
  • Runtime Environment Constraints: The engine now strictly validates the environment section of addon.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 capabilities in their configuration.
  • Enhanced Dependency Resolution: Integrated load-before and load-after directives as soft edges in the dependency graph, providing precise control over addon initialization order.

Bug fixes:

  • Fixed a cyclic dependency issue in DependencyGraphResolver where 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

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 20 Jul 20:33
e2c3dcf

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 CommandRegistrationService and utilize MBESender.
  • Flattened developer commands to fall under the new mbe dev debug namespace.
  • Refactored ExportCommand to 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 reload command to properly delegate reload triggers to the entire addon and service ecosystem:
    • Added a default onReload() method to the MultiblockAddon API.
    • Implemented reloadAllServices() in ServiceLifecycleOrchestrator to reload all registered services safely.
    • Implemented reloadAddons() in AddonRuntimeLifecycleService to reload addons respecting dependency order.
    • Added MbeReloadEvent, a synchronous Bukkit event fired once internal reloads are completed.
  • Added new player-facing commands: CatalogCommand, BlueprintCommand, an Item list, and a Help command.
  • Introduced visual debugging support by injecting PacketService and adapting PacketEvents.

Bug fixes:

  • Wired the tool dispatcher and fixed dynamic lore updates.
  • Fixed a StackOverflowError in the Cloud command parser caused by the @Default annotation.
  • Fixed translation parsing for color-coded items.
  • Fixed blueprint multiblock modifier type resolution.
  • Changed packetevents dependency to compileOnlyApi to prevent shading and LinkageError.

Changes made by: @DarkBladeDev
Full Changelog: 3.7.5...4.7.5

3.7.5

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 17 Jul 15:57

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 MultiBlockEngine class was introduced to centrally initialize the application’s infrastructure and services.
  • Architecture: Architectural issues related to excessive coupling of the EventBus and the service loading system were resolved.
  • Event System: The base interface MBEEvent and the EventBusService were added to standardize and improve the handling of internal events.
  • Lifecycle: The MultiblockListener class was refactored, delegating its business logic to the new MultiblockLifecycleService to maintain separation of concerns.
  • Platform API: The MBEItemStack abstraction 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 MultiblockListener that 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

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 13 Jun 21:23

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

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 17 May 01:20

Full Changelog: 1.5.4-1...1.5.5-1

1.5.4 build #1

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 10 May 04:46

Added:

  • Compatibility with Bukkit and Spigot

Full Changelog: 1.4.4-1...1.5.4-1

1.4.4 build #1

1.4.4 build #1 Pre-release
Pre-release

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 10 May 04:22

Full Changelog: 1.3.4...1.4.4-1

1.3.4 build #11

Choose a tag to compare

@DarkBladeDev DarkBladeDev released this 07 May 03:00

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 TickService for 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 getResource and saveResource methods in AddonContext to 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 OpenPanelAction that 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-api module has been renamed to api for greater clarity.
  • Network Topologies: Introduction of NetworkType to 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.

Full Changelog: 0.3.4-beta...1.3.4