Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
๐ ๏ธ CrossTie
Comprehensive optimization and compatibility patch Mod for RTM (RealTrainMod) on Minecraft 1.7.10.
๐ Project Overview
CrossTie provides rendering load reduction, update frequency suppression, and compatibility fixes across multiple Modsโsuch as RTM / NGTLib / MCTE (KaizPatchX), Angelica, Bamboo, IntelliInput, GTNHLib, Hodgepodge, and LiteLoader / Macro / Keybind Modโall within a single JAR.
๐ก Auto-Detection: Target Mods are automatically detected at startup, and corresponding patches are enabled only if they are present.
๐ Status
๐ง Environment & Build Status
| Item | Status / Version |
|---|---|
| Build | |
| Modrinth | |
| Minecraft | 1.7.10 |
| Forge | 10.13.4.1614 |
| Java | 8 |
| Required Mod | UniMixins 0.3.1+ |
| Build System | RetroFuturaGradle 1.4.1 |
| Last Verified | 2026-06-19 |
๐ Internal Structure Index
- Mixin Control:
CrossTieMixinPlugin.java - ASM CoreMod:
CrossTieCorePlugin.java - ASM Transformer:
CrossTieClassTransformer.java - Detectable Mods:
RealTrainMod,NGTLib,MCTE,Angelica,Bamboo,IntelliInput,GTNHLib,Hodgepodge,LiteLoader,MacroMod,Keybind Mod,RailMapCustom,MinFo
๐ Recommended Configuration
Recommended Mod versions for optimal performance.
| Mod Name | Recommended Version | Category |
|---|---|---|
| CrossTie | 1.0.0-Alpha6 |
Main |
| UniMixins | 0.3.1 |
Required |
| KaizPatchX | 1.10.0 |
Recommended |
| Angelica | 2.1.42+ |
Recommended |
| GTNHLib | 0.11.18+ |
Recommended |
| Hodgepodge | 2.7.162+ |
Optional |
| ArchaicFix | 0.8.0 |
Optional |
| ShaderFixer | 5.4 |
Optional |
โก What it does
CrossTie solves the following three core problems that occur between RTM-related Mods and performance-enhancing Mods.
- ๐ FPS Optimization
- Rendering culling, update frequency suppression, and switching to immediate rendering.
- โณ TPS Optimization
- Thinning updates for Entities and TileEntities.
- ๐ค Compatibility Fixes
- Resolving display list conflicts between Angelica and RTM.
- Redirecting GL calls.
- Avoiding class loader conflicts between Mods.
๐๏ธ Architecture
CrossTie features a 3-layer patch mechanism, intervening safely at the appropriate phase.
1. ASM CoreMod (CrossTieCorePlugin)
Runs as an IFMLLoadingPlugin in the earliest phase immediately after Minecraft starts.
- ModDetector: Scans the
mods/folder and automatically detects installed Mods from JAR/ZIP/litemod filenames. - MinFo Detection + Angelica Auto-Adjustment: If MinFo is detected, it forcibly rewrites
B:enableFontRenderertofalseinconfig/angelica-modules.cfg.
2. ASM Class Transformer (CrossTieClassTransformer)
Directly rewrites bytecode during class loading, before the Mixin phase. This completely avoids "loading order issues" and MixinTargetAlreadyLoadedException that Mixins cannot handle.
| Target Class / Method | Content |
|---|---|
GTNHLib 0.9.x MixinBlock_IconWrapper |
Redirects nhlib$getParticleIcon to GtnhLibIconCompat |
Angelica CTM MixinRenderBlocks |
Redirects glass pane icon resolution (e.g., tweakPaneIcons) to AngelicaPaneIconCompat |
MCPatcher GlassPaneRenderer |
Replaces setupIcons with return false |
Hodgepodge StringPooler$GuavaPooler |
Replaces getString(s) with s.intern() (Avoids Guava class loader conflicts) |
NGTLib/RTM ScriptUtil |
Replaces doScript(String) with ScriptUtilFallback.doScript(String) (Support for environments without Nashorn) |
MacroMod MacroModPermissions |
Removes tamperCheck() calls from all methods |
LiteLoader PermissionsManagerClient |
Makes tamperCheck() a no-op |
SplashProgress$3 (SplashProgress$3) |
Injects GL state reset (GL_TEXTURE_2D + glColor4f) via reflection at the start of run() |
3. Mixin (Dynamic Application)
CrossTieMixinPlugin dynamically applies only the necessary Mixins based on the detected installed Mods.
๐ Detailed list of Mixin applications per Mod (Click to expand)
๐น Angelica
AngelicaRenderGlobalDisplayListCrashMixin(Client + Angelica +crosstie.enableNativeRenderGlobalDisplayLists=true)- When rendering
hi03ExpressRailwayRail, avoids Angelica's display lists and uses the legacy OpenGL path.
- When rendering
SplashProgressBlackoutFixMixin(Client + Angelica +enableFontRenderer=false)- Fixes texture state caching issues on the splash screen.
๐น GTNHLib
ObjectPoolerThreadSafeMixin(GTNHLib always)- Thread-safe object pooling.
MixinBlockPaneFix/MixinBlockPaneIconFallback/MixinBlockIconFallback(Client + GTNHLib)- Fixes icon display and retrieval fallbacks for glass panes and blocks.
๐น KaizPatchX (NGTScriptUtil / MCTE / RailMapCustom / NGTLib / RTM)
ScriptUtilInvocableCacheMixin(NGTScriptUtil)- Optimization of Invocable cache.
AngelicaScriptTransformCacheMixin(Client + Angelica + KaizPatch + NGTScriptUtil)- Intercepts
AngelicaCompat.transformScriptwithScriptGlRedirector(GL call redirection + caching).
- Intercepts
ModelPackManagerScriptRedirectMixin(Client + Angelica + RTM + NGTScriptUtil)- Applies
ScriptGlRedirectortoModelPackManager.getScript.
- Applies
RailMapCustomCacheMixin(RailMapCustom)- Optimization of rail map cache.
McteWorldSetBlockDiffMixin(MCTE)- Optimization of world block difference sets.
RenderMiniatureDynamicLightMixin/RenderItemMiniatureDynamicLightMixin(Client + MCTE)- Fixes dynamic lighting for miniature blocks and miniature items.
EntityTrainBaseSpeedSyncMixin/EntityTrainBaseOptimizationMixin(RTM)- Optimization of train speed synchronization and entity updates.
RenderElectricalWiringConnectionCacheMixin/BlockLinePoleConnectionCacheMixin(Client + RTM)- Caching for wiring rendering and track pole connections.
RenderLargeRailOptimizationMixin/RenderLargeRailChunkBatchMixin(Client + RTM)- Optimization of large rail rendering and chunk batch processing.
RailPartsRendererOptimizationMixin(Client + RTM)- Optimization of rail parts renderer.
๐น LiteLoader / MacroMod
MixinPermissionsManagerClient/MacroModCoreMixin- Compatibility fixes for permissions and core.
๐ฆ Supported Mod Details
| Mod | Detection Name | Main Patch / Content |
|---|---|---|
| RealTrainMod | RTM |
Rendering optimization, update thinning, GL redirection |
| NGTLib | NGTLib / NGTScriptUtil |
ScriptUtil compatibility, GL redirection |
| MCTE | MCTE |
Miniature rendering fixes, dynamic lighting |
| KaizPatch | KaizPatch |
Angelica integration, script caching |
| Angelica | Angelica / AngelicaGlsm |
Display list conflict fixes, auto-adjustment of settings |
| Bamboo | Bamboo |
Rendering culling, update frequency suppression (backward compatibility) |
| IntelliInput | IntelliInput |
IME callback stabilization (backward compatibility) |
| GTNHLib | GTNHLib |
Icon resolution, thread-safety |
| Hodgepodge | Hodgepodge |
Avoids Guava class loader conflicts |
| LiteLoader | LiteLoader |
Permission management fixes |
| MacroMod | MacroMod |
Removal of tamperCheck, permission fixes |
| Keybind Mod | (Bundled detection) | Removal of tamperCheck |
| RailMapCustom | RailMapCustom |
Rail map cache |
๐ฅ Installation
- Place the downloaded
CrossTie-*.jarinto themodsfolder. - Place the required
UniMixins 0.3.1+into themodsfolder. - Depending on your needs, add target Mods such as RTM / Angelica / Bamboo / IntelliInput.
- Start the game normally.
๐ ๏ธ Build and Development
๐งฑ Build Procedure
./gradlew build --no-daemon


