介绍
🛠️ 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. 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). ModelPackManagerScriptRedirectMixin(Client + Angelica + RTM + NGTScriptUtil)- Applies
ScriptGlRedirectortoModelPackManager.getScript. 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
常见问题
CrossTie 支持哪些 Minecraft 版本?
CrossTie 支持 Minecraft Java 版 1.7.10,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
CrossTie 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。
评论
登录后评论和评分