Fabric/Quilt fertilization support

This commit is contained in:
Zoë
2022-07-11 21:49:16 -07:00
parent ba6d4649c6
commit 50377a1b89
20 changed files with 342 additions and 32 deletions
+8
View File
@@ -15,6 +15,14 @@ dependencies {
annotationProcessor("net.fabricmc:sponge-mixin:${Versions.Mod.mixin}")
annotationProcessor("dev.architectury:architectury-loom:${Versions.Mod.architecuryLoom}")
modImplementation("com.github.the-glitch-network:minecraft-gudasm:${Versions.Mod.minecraftGudAsm}") {
exclude("net.fabricmc")
exclude("net.fabricmc.fabric-api")
}
include("com.github.the-glitch-network:minecraft-gudasm:${Versions.Mod.minecraftGudAsm}") {
exclude("net.fabricmc")
exclude("net.fabricmc.fabric-api")
}
implementation(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false }
"developmentQuilt"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false }
@@ -0,0 +1,17 @@
package com.dfsek.terra.quilt;
import net.gudenau.minecraft.asm.api.v1.AsmInitializer;
import net.gudenau.minecraft.asm.api.v1.AsmRegistry;
import com.dfsek.terra.lifecycle.asm.FertilizableASM;
import com.dfsek.terra.lifecycle.util.LoaderUtil;
import com.dfsek.terra.quilt.util.QuiltLoaderUtil;
public class QuiltASMEntryPoint implements AsmInitializer {
@Override
public void onInitializeAsm() {
LoaderUtil.INSTANCE = new QuiltLoaderUtil();
AsmRegistry.getInstance().registerTransformer(new FertilizableASM());
}
}
@@ -0,0 +1,18 @@
package com.dfsek.terra.quilt.util;
import com.dfsek.terra.lifecycle.util.LoaderUtil;
import org.quiltmc.loader.api.QuiltLoader;
public class QuiltLoaderUtil extends LoaderUtil {
@Override
public String mapClassName(String namespace, String className) {
return QuiltLoader.getMappingResolver().mapClassName(namespace, className);
}
@Override
public String mapMethodName(String namespace, String owner, String name, String descriptor) {
return QuiltLoader.getMappingResolver().mapMethodName(namespace, owner, name, descriptor);
}
}
@@ -26,6 +26,9 @@
],
"pre_launch": [
"com.dfsek.terra.quilt.QuiltPreLaunchEntryPoint"
],
"gud_asm": [
"com.dfsek.terra.quilt.QuiltASMEntryPoint"
]
},
"depends": [