Tags
Creators
Details
1.3.4-11
Compatibility
Changes
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.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:tO8GLlyZ:JmcTRZBx"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:tO8GLlyZ:JmcTRZBx"
}

