Dye
Library to expose INVOKEDYNAMIC to mods.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Dye
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.