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
+6
View File
@@ -12,6 +12,12 @@ architectury {
dependencies {
shadedApi(project(":common:implementation:base"))
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}")
include("com.github.the-glitch-network:minecraft-gudasm:${Versions.Mod.minecraftGudAsm}")
implementation(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false }
"developmentFabric"(project(path = ":platforms:mixin-common", configuration = "namedElements")) { isTransitive = false }
shaded(project(path = ":platforms:mixin-common", configuration = "transformProductionFabric")) { isTransitive = false }
@@ -0,0 +1,19 @@
package com.dfsek.terra.fabric;
import com.dfsek.terra.fabric.util.FabricLoaderUtil;
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 FabricASMEntryPoint implements AsmInitializer {
@Override
public void onInitializeAsm() {
LoaderUtil.INSTANCE = new FabricLoaderUtil();
AsmRegistry.getInstance().registerTransformer(new FertilizableASM());
}
}
@@ -0,0 +1,18 @@
package com.dfsek.terra.fabric.util;
import com.dfsek.terra.lifecycle.util.LoaderUtil;
import net.fabricmc.loader.api.FabricLoader;
public class FabricLoaderUtil extends LoaderUtil {
@Override
public String mapClassName(String namespace, String className) {
return FabricLoader.getInstance().getMappingResolver().mapClassName(namespace, className);
}
@Override
public String mapMethodName(String namespace, String owner, String name, String descriptor) {
return FabricLoader.getInstance().getMappingResolver().mapMethodName(namespace, owner, name, descriptor);
}
}
@@ -18,6 +18,9 @@
"entrypoints": {
"main": [
"com.dfsek.terra.fabric.FabricEntryPoint"
],
"gud_asm": [
"com.dfsek.terra.fabric.FabricASMEntryPoint"
]
},
"mixins": [