jabel
Mixin
jabel | Mixin | |
---|---|---|
9 | 13 | |
790 | 1,314 | |
- | 0.8% | |
3.5 | 6.0 | |
2 months ago | 3 months ago | |
Java | Java | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jabel
-
What Are Senders Good For, Anyway?
Java has things like Jabel that let you use modern Java syntax and compile down to Java 8 for compatibility reasons.
https://github.com/bsideup/jabel
This is useful commercially, but also nice when building Minecraft mods for older versions of Minecraft.
-
How to use different Java versions for src/main/java and src/test/java in Maven
As for Java bytecode, you assume the differences are significant while in reality, they are not, as explained by the Jabel project:
-
What can I do with Java 1.4?
(Before realizing it'd already been done)
-
What's new in Java 18 for us, developers ?
If you want to use new language features (pattern matching, string templates, records etc.) then I highly recommend to take a look at https://github.com/bsideup/jabel
- Minecraft 1.18 Pre-Release 2: Minecraft 1.18 will require Java 17
-
What version should new Java libraries be written in?
I've never heard of somebody sticking to 9 or 10 as their primary JDK. AFAIK most people who could update waited for the 11 LTS. The rest of us are just stuck on 8. But we have some nice tricks.
-
Is it possible to any jre under 16 to recognise class ver 60 ?
https://github.com/bsideup/jabel - lets you use new Java syntax, because things like pattern matching are just syntatic sugar and dont change the class file specification
-
Eclipse Compiler supports -source 16 -target 8
I've found about the Jabel that tried to enable this feature in the Javac compiler.
- Are there byte code differences between different Java releases?
Mixin
-
Hello I would try to start Modding in Minecraft. Have you any advice or good tutorial for beginning ?
And one day maybe you'll need that to inject code into specific location, but it's to do advanced things: https://github.com/SpongePowered/Mixin/wiki
-
Can someone with an coding brain tell me where the problem is? i dont even have a mod named "spongepowered"
SpongePowered isn't a Mod, they're the group that maintain the Framework for Mixins. The next mod in the stacktrace is cpw.mods.modlauncher
-
MineFortress beta is here! More professions, custom buildings, combats and some other things that I worked on during the past months! Let me know what do you think
That source was probably outdated. Forge didn't natively allow you to do that. You could do Java voodoo to allow a library that implemented(? Not sure if it implemented the feature or simply allowed it to be used in a specific way) Mixins, those allow you to modify the game's bytecode. Modern Forge has that library natively. Source: First paragraph of https://github.com/SpongePowered/Mixin/wiki/Mixins-on-Minecraft-Forge
- A Critique of Mojang, and Microsoft. I couldn't post this in r/minecraft for some dumb reason. feel free to critique me if you want!.
- Any advice for a new mod maker?
-
Scratch Is a Big Deal
These days Mojang provides obfuscation maps, so you can work with proper class and method names (though no parameter or local variable names). There's also been a lot of effort been put into the tooling. Nowadays there exists Gradle plugins that will download the game jar, decompile it and deobfuscate it using the official mappings. You develop against the deobfuscated code, then the plugin will turn the unobfuscated names back into their obfuscated versions when you compile. There's also been technology developed that lets you easily modify specific parts of a method in the game, so you can e.g. insert calls to your own functions at runtime.[1] This saves from you having to modify the game jar itself.
[1]: https://github.com/SpongePowered/Mixin
- How tf do i set up mixins
-
New open source Java decompiler
quilt (and fabric) take mojang's jar and preprocess it similarly, but the rest of the modifications to the code are done at runtime using a ridiculously powerful instrumenting classloader. the game is not decompiled at all, other than giving you something to look at in the IDE.
-
Questions on Coremods
If you can't use the API, I suggest you to use Mixins or really asking yourself if your idea should worth the instability/effort of creating a coremod.
-
Minecraft 1.18 Pre-Release 2: Minecraft 1.18 will require Java 17
see spongepowered's mixin wiki
What are some alternatives?
JGroups - The JGroups project
fabric-example-mod - Example Fabric mod
Spring - Spring Framework
Visual Studio Code - Visual Studio Code
guava - modular guava
MCPConfig - Public facing repo for MCP SRG mappings.
lwjgl - [LEGACY] LWJGL 2.X - The Lightweight Java Game Library.
bytecode-viewer - A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)
UniJ - Universal facade of JDK 9+ API, focused on Collection factory methods
Perses - A project to cause (controlled) destruction on your jvm application
jfx - JavaFX mainline development