Compatibility
Minecraft: Java Edition
Platforms
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Links
Creators
Details
A library / modlauncher service that exposes the jvm INVOKEDYNAMIC opcode to modders. For more information on how to use it as a modder, see the GitHub.
Some more explanation on this:
The Java Virtual Machine (JVM) has an opcode called INVOKEDYNAMIC. Each individual occurrence of that opcode in bytecode is permanently bound to a CallSite object when executed the first time. This CallSite is obtained by calling a bootstrap method, which is implemented in plain java. This is for example used to implement lambdas in bytecode.
Dye provides a transform service to replace regular method calls to methods annotated with a special annotation with INVOKEDYNAMIC opcodes to a custom bootstrap method given by the annotation value.