
RainJava
Runtime Java compiler with Mixin injection and ASM transformation support
About this Mod
RainJava
Write Java Code Inside Minecraft. Reload Instantly. No Restarts.
RainJava is a powerful in-game scripting mod that brings the full Java language into Minecraft. Write, compile, and execute Java code while the game is running — modify behavior, inject methods, transform bytecode, and see changes immediately without restarting.
What You Can Do
Live Coding
Create Java scripts that execute at startup, when the server starts, or during client setup. Edit code in any text editor, save the file, and use /java reload to apply changes instantly. The built-in Eclipse compiler handles everything automatically, even if your system has no Java compiler installed.
Mixin Injection
Write Mixin classes directly in source form to inject code into any Minecraft method. Target the beginning of a method with @Inject.At("HEAD"), catch return points with "RETURN", or intercept the final exit with "TAIL". All game classes are available for modification with full IDE-style autocomplete support.
CoreMod & ASM Transformation
For deep modifications, write CoreMod plugins that transform raw bytecode before the JVM sees it. Access every instruction, field, and method of any loaded class. This is the same power level as traditional Forge coremods, but accessible through simple Java source files that compile on demand.
Asset & Data Packs
Bundle custom textures, models, sounds, recipes, loot tables, and tags directly in your RainJava project. The assets/ and data/ folders work exactly like standard resource and data packs, loaded automatically with your scripts.
How It Works
Place Java source files in the RainJava/ folder inside your Minecraft directory. The folder structure determines when code runs:
startup/— Executes once when the game initializesserver/— Executes each time the server startsclient/— Executes during client setupmixins/— Mixin classes for runtime method injectioncoremod/— CoreMod plugins and ASM transformers
Every script declares a simple init() method. The framework discovers, compiles, and executes automatically. Errors appear in dedicated log files and in-game chat via the /java errors command.
Essential Documentation
Every installation includes a comprehensive README.txt in the RainJava/ folder. This file contains complete reference material for package declarations, Mixin syntax, injection points, CoreMod architecture, available commands, and troubleshooting — all available offline without internet access.
The README is updated with each release to reflect current API behavior and supported features. Consult it first for syntax questions, error messages, or advanced usage patterns.
Commands
/java reload [startup|server|client]— Hot-reload scripts without restart/java hand getId— Display held item registry ID/java hand getClass— Display held item Java class name/java errors [type]— Show compilation and runtime errors in chat
Requirements
Minecraft 1.20.1 with Forge
Java 17 or higher
Compatible with standard Forge mods and Mixin systems
Available Versions
How to Install RainJava on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set forge Loader
In the panel under "Egg", select the forge loader and matching Minecraft version (1.20.1).
Install Mod
Open the mod browser in the dashboard and search for "RainJava". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.20.1
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
RainJava server crashes on startup – what to do?
Most common cause: wrong forge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.20.1). You can switch loaders with one click in the panel.
Is RainJava compatible with forge?
RainJava officially supports forge for Minecraft 1.20.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with RainJava – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if RainJava consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install RainJava with just one click on your server.