ModernForgeConnectLoader-0.2.9.jar
Curse Maven Snippet
What's new
ModernForgeConnectLoader 0.2.9
Version 0.2.9 is a major compatibility and infrastructure update. It expands the MFCL developer API, improves legacy GUI and inventory synchronization, adds new runtime bridges for items, entities and rendering, and moves several previously mod-specific fixes into reusable compatibility systems.
API and Developer Tools
- Introduced and expanded MFCL API v2.
- Added runtime feature detection through
LegacyFeatures. - Added legacy player equipment access and write-back APIs.
- Added legacy event bridging.
- Added
LegacyValuesfor legacy arrays, lists, maps, mutable collections and object arguments. - Improved support for old APIs that use
Object[], arrays and collection-based parameters. - Added host item NBT preservation so modern items can keep their identity, count and full NBT when exposed to the legacy runtime.
- Added redirect support for legacy calls that cannot be handled by normal mappings.
- Expanded mapping APIs and player-context helpers.
- Added a reusable host ClassLoader context helper for adapters calling modern Forge APIs from legacy initialization code.
Legacy Scene and Original Rendering
- Added
LegacyScene/LegacyScenes. - Legacy blocks and TileEntities can now be placed inside an isolated off-world legacy scene.
- Original legacy world logic can be executed inside the scene.
- Original block renderers and TESRs can be rendered into modern interfaces.
- Improved render bounding boxes for large and multi-block TileEntities.
- Expanded legacy OpenGL capture, including separate depth-test and depth-write state.
This can be used by JEI, manuals, multiblock previews, debugging tools and other integrations that need the original legacy rendering.
GUI, Inventory and Network Synchronization
- Significantly improved synchronization between legacy containers and modern Minecraft inventories.
- All legacy inventory GUIs now map their player inventory slots, not only containers using client-side prediction.
- Full menu snapshots and individual slot updates now reconcile the real modern
Player.inventory. - Closing a legacy GUI now sends a final authoritative inventory snapshot.
- Fixed delayed click/cursor packets leaving stale client inventory state after closing a GUI.
- Reduced the risk of item loss or duplication caused by legacy/modern inventory state divergence.
- Modern-only items that cannot be represented by the legacy runtime are no longer erased when a legacy GUI closes.
- Legacy close callbacks now only write back slots they actually changed.
- Fixed equal ItemStacks being unnecessarily recreated during inventory synchronization, preserving object identity required by some old containers.
- Added optional local click prediction for supported legacy containers, with server-authoritative reconciliation.
Portable Item Containers
The portable-container logic originally created for TC4 Focus Pouches and Hover Harnesses has been generalized into reusable MFCL infrastructure.
The shared system now handles:
- opening-item identity;
- protected opening slots;
- number-key swap validation;
- original Slot / IInventory restrictions;
- content change tracking;
- server-authoritative write-back;
- stale-container invalidation;
- prevention of removed or replaced opening items being restored by delayed GUI actions.
Adapters only need to provide their own storage layout and serialization policy.
Modern Tools in the Legacy Runtime
- Improved legacy sword/tool attributes and modern held-item models.
- Legacy swords and tools now interact more correctly with modern combat, enchanting and tool behavior.
- Added typed legacy proxies for modern pickaxes.
- Modern Netherite, Forge-tagged and compatible modded pickaxes can now be used by supported legacy machines.
- Full modern ItemStack data, NBT and durability behavior are preserved.
- Added support for modern Tinkers' Construct broken-tool behavior.
- Broken Tinkers tools remain present and stop the machine instead of being deleted; repairing them allows them to work again.
- Original legacy tool behavior remains unchanged.
Enchantment Bridge
- Legacy enchantments can now be registered as real modern enchantments.
- Legacy weight, levels, enchantment costs, applicability and compatibility rules are preserved.
- Added conversion between old numeric enchantment IDs and modern resource IDs.
- Unknown legacy enchantments and modern-only enchantments are preserved during round-trip conversion.
- Supports enchanting tables,
/enchant, enchanted books, anvils and grindstones. - TC4 Repair and Haste continue to use the original legacy implementation rather than rewritten effects.
Legacy Item Use and World Effects
- Fixed synchronization of entity motion changed by legacy item-use callbacks.
- Legacy code can now correctly modify nearby entity motion and player motion in the modern world.
- Fixed TC4 Elemental Sword lift, repulsion, fall handling and floating-counter behavior.
- Fixed Elemental Axe dropped-item attraction.
- Restored Pickaxe of the Core prospecting visuals using the original TC4 scan and rendering logic.
- Fixed entity-query refreshes overwriting motion changes made earlier in the same callback.
Dropped Item Lifetime and Expiration
- Added support for original legacy dropped-item lifespans.
- Added forwarding of legacy
ItemExpireEventbehavior. - Modern Minecraft still owns item physics, pickup and persistence, while legacy mods can control expiration behavior.
- Legacy expiration callbacks may cancel expiration, extend lifetime, modify the stack or modify the world.
- Restored TC4 Bath Salts converting still water into Purifying Fluid after the original expiration delay.
Hosted Entity Interaction
- Added a complete right-click path for hosted legacy entities.
- Original entity interaction runs first, followed by the held item's living-entity interaction when appropriate.
- Main-hand, off-hand, player inventory, entity state and DataWatcher changes are synchronized back to the host.
- Saved hosted entities can lazily restore their original legacy instance before interaction.
- Fixed TC4 Golem Bell binding.
- Fixed golem core insertion and other entity-owned interactions.
Compatibility Infrastructure Generalization
Several mechanisms that were previously implemented inside individual mod adapters have been moved into shared MFCL infrastructure:
- portable-container lifecycle and transaction safety;
- packet sender, dimension, player and device validation;
- host ClassLoader context handling;
- modern crossbows using registered legacy arrow factories;
- shared GUI and inventory synchronization mechanisms.
Adapters for TC4, Extra Utilities, IC2, NEI and other mods now mainly provide mod-specific field layouts, data formats and gameplay rules, while MFCL owns the shared lifecycle, transport and synchronization behavior.
Testing and Stability
0.2.9 adds and expands real client/server smoke tests for:
- GUI synchronization under artificial server delay;
- Focus Pouch / Hover Harness behavior;
- enchantments and world reload;
- elemental tools;
- dropped-item expiration;
- Arcane Bore with modern and Tinkers pickaxes;
- hosted golem interactions;
- generalized portable-container, packet, ClassLoader and crossbow bridges;
- legacy melee weapons, enchanting and modern tool properties.
Some GUI tests intentionally stall the integrated server for 600 ms and verify pickup, placement, number-key swaps, split clicks, drag distribution and immediate GUI closing while checking client/server inventory equality, empty cursors and item conservation.
Important
MFCL networking has changed.
For multiplayer, both the client and server should be updated to 0.2.9.
MFCL API 0.2.9 is also available through the Maven repository.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

