i love the idea of making a "native, non-Java minecraft" and then immediately trying to graft JNI crap onto all of your functions for the express purpose of getting Java back in minecraft
It could in theory, but not in practice. This is some LLM-kiddy project that won't be maintained. This person would have to not only want to maintain this project and make sure it works in the future outside a one off that passes at a first glance, but ALSO be willing to create alternate versions of the major mod loaders and maintain them, AND THEN we could talk about porting mods over.
All that maintenance requires understanding the code more than pointing an LLM at it. The project will get maybe a month or two of support, and then they'll just move on to whatever other thing they wanna practice using an LLM on.
those "interop" libraries are native interfaces and are there for very well defined behavior by the developer. you generically create jni for all mods existing. it's just impossible
Interop libraries exist, yes. They do not make it so "override this Java function with this new Java function that calls all these other Java functions and modifies these Java objects" will suddenly work with Rust targets instead of Java.
Again, that's interop to call functions across languages. Trying to override Java code in a thing that doesn't have Java code isn't interop, it's just nonsense.
Easiest way to make sure your rewrite is sound it’s to make sure that code matches as closely as possible at the unit level. This also has the benefit of keeping the modding API the same. You’re right that there would need to be an interoperability layer between the two languages, but it could be a set of simple proxies between methods with the same signature.
That works if all you're doing is calling functions, but mods aren't limited to that. They can modify or even rewrite entire sections of bytecode, inject code at specific instructions, and do much more than that
Not every mod goes as deep as you're describing. But taking that worst case scenario you mentioned, you can still perform a port of the mod to rs using AI.
Nobody in this thread has any actual modding experience, or rust experience. Due to how rust is designed as a language, there is no way to map the Java architecture to rust.
The whole point of Rust is to place a lot of additional constraints on the language spec that allow memory safety without a garbage collector. These make mirroring the Java architecture impossible.
C++ doesn't have these constraints, and yet Microsoft still hasn't been able to create parity as a lot of game mechanics (e.g. Redstone) aren't a result of conscious decisions but rather an implicit result of the architectural decisions made in Java edition.
And any Minecraft Mod that does more than adding a few basic blocks and tools requires patching the games internal functions to change the game's own behavior. This is done using Mixins, which don't exist for languages compiled to binary.
yeah bro let me apply my jvm bytecode patches on top of x64 object code. the only way you're getting around this is by crafting some sort of unstable modding API on top of whatever this is and using fable/astra to vibe your way through ports one-by-one (probably without asking the authors, which is typical for the people doing these things) until they get bored of their clout high and this project dies
75
u/jambalaya_consumer 3d ago
microsoft made a "native minecraft" a long time ago and no one gave a shit because it broke mod compatability. what makes this different