How hchunhei81-cyber/jvm-mod-combiner works
JVM Mod Combiner is an experimental Rust-and-Java prototype for running Fabric and Forge/NeoForge in isolated runtime environments and synchronizing game state across them. Its principal workflow is Fabric player-state sampling, routing through a local Rust TCP DataBus, and maintaining a NeoForge remote-player mirror. The README also describes loader launch and isolation, plus an early hostile-mob sampling path. Several links rely on README claims or the source index; unsampled implementation details are not inferred.
Main entry points: main.rs Rust JVM Launcher · BusAgent.java NeoForge Java Agent · MonsterSync.java Hostile Mob Sampling · LoaderDetector.java Agent Loader Detector
Components 16
Runtime Launch
- Rust JVM Launcher
src/main.rs - Loader Mode Detection
src/mod_detect.rs - Embedded JVM
- Fabric Runtime
- NeoForge Runtime
- Forge Runtime
Data Transport
- TCP DataBus
src/main.rs
Loader Agents
- Fabric Java Agent
bus_test/BusAgent.java - NeoForge Java Agent
bus_test/BusAgent.java - Agent Loader Detector
bus_test/LoaderDetector.java
State Synchronization
- Player State Sampling
bus_test/BusAgent.java - Remote Player Mirror
bus_test/BusAgent.java - Hostile Mob Sampling
bus_test/MonsterSync.java
Other components
- Launcher User
- Fabric Local Player
- NeoForge Client World
Connections 18
- Launcher User → Rust JVM Launcher: starts
README.md - Rust JVM Launcher → Loader Mode Detection: selects mode
- Rust JVM Launcher → Embedded JVM: launches
README.md - Rust JVM Launcher → TCP DataBus: starts listener
src/main.rs - Embedded JVM → Fabric Runtime: loads
README.md - Rust JVM Launcher → NeoForge Runtime: launches separately
README.md - Rust JVM Launcher → Forge Runtime: launches
README.md - Fabric Runtime → Fabric Java Agent: hosts agent
- NeoForge Runtime → NeoForge Java Agent: hosts agent
- Fabric Java Agent → Agent Loader Detector: resolves loader
bus_test/BusAgent.java - NeoForge Java Agent → Agent Loader Detector: resolves loader
bus_test/BusAgent.java - Fabric Local Player → Player State Sampling: provides state
bus_test/BusAgent.java - Player State Sampling → TCP DataBus: sends state
README.md - TCP DataBus → NeoForge Java Agent: routes messages
src/main.rs - NeoForge Java Agent → Remote Player Mirror: updates mirror
bus_test/BusAgent.java - Remote Player Mirror → NeoForge Client World: injects entity
bus_test/BusAgent.java - Fabric Java Agent → Hostile Mob Sampling: invokes sampler
bus_test/BusAgent.java - Hostile Mob Sampling → TCP DataBus: sends mob state
bus_test/MonsterSync.java