Skip to content

squeek502/ASMHelper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASMHelper

A library of functions to help with ASM transformations in Minecraft mods

With Forge > 1.14, Forge CoreMods are now implemented in Javascript. This branch is a port of ASMHelper from Java to Javascript in order to make it easier to port mods that used ASMHelper to 1.14+.


To use the Javascript version, put asmhelper.js in your mod's resources directory and load it in your initializeCoreMods function like so:

function initializeCoreMod() {
    Java.type("net.minecraftforge.coremod.api.ASMAPI").loadFile("path/to/asmhelper.js");

    // ASMHelper is now an object in the global namespace

    return {
        "FoodStatsTransformer": {
            "target": {
                "type": "CLASS",
                "name": "net.minecraft.util.FoodStats"
            },
            "transformer": function(classNode) {
                var internalClass = ASMHelper.toInternalClassName("some.package.IClassName");
                classNode.interfaces.add(internalClass);
                return classNode;
            }
        }
    }
}

Breaking Changes

Some methods that existed in the Java version have not been ported to Javascript. This is either because they are no longer applicable or they simply were not used by AppleCore and so porting them was not worth the effort. Pull requests for any unported functions are welcome!

About

Helper classes for ASM transformations in Minecraft mods

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published