跳到正文

RainJava

作者:RainMelody

Runtime Java compiler with Mixin injection and ASM transformation support

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

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 initializes
  • server/ — Executes each time the server starts
  • client/ — Executes during client setup
  • mixins/ — Mixin classes for runtime method injection
  • coremod/ — 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

常见问题

RainJava 支持哪些 Minecraft 版本?

RainJava 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

RainJava 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

RainMelody 的其他作品

查看全部 →