From 918e880155c7020404a02fc41377d94929780100 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Tue, 22 Mar 2022 11:42:57 +0100 Subject: [PATCH] CoFH Lib --- dependencies.gradle | 8 ++++++- .../endlessids/asm/ClassEdit.java | 3 +-- .../asm/transformer/CofhBlockHelper.java | 23 ------------------- .../common/cofhlib/BlockHelperMixin.java | 18 +++++++++++++++ .../endlessids/mixin/plugin/Mixin.java | 9 ++++++-- .../endlessids/mixin/plugin/TargetedMod.java | 3 ++- 6 files changed, 35 insertions(+), 29 deletions(-) delete mode 100644 src/main/java/com/falsepattern/endlessids/asm/transformer/CofhBlockHelper.java create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/cofhlib/BlockHelperMixin.java diff --git a/dependencies.gradle b/dependencies.gradle index 1294860..b5a16fe 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -4,5 +4,11 @@ dependencies { } annotationProcessor("org.projectlombok:lombok:1.18.22") - compileOnly("curse.maven:undergroundbiomesconstructs-72744:2304497") + compileOnly("curse.maven:undergroundbiomesconstructs-72744:2304497") { + transitive = false + } + + compileOnly("curse.maven:cofh-lib-220333:2388747") { + transitive = false + } } diff --git a/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java b/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java index 2838b25..6a64a0b 100644 --- a/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java +++ b/src/main/java/com/falsepattern/endlessids/asm/ClassEdit.java @@ -3,7 +3,6 @@ package com.falsepattern.endlessids.asm; import java.util.HashMap; import com.falsepattern.endlessids.asm.transformer.WorldEditBaseBlock; import com.falsepattern.endlessids.asm.transformer.MFQM; -import com.falsepattern.endlessids.asm.transformer.CofhBlockHelper; import com.falsepattern.endlessids.asm.transformer.FmlRegistry; import java.util.Map; @@ -26,7 +25,7 @@ public enum ClassEdit //VanillaItemInWorldManager(new VanillaItemInWorldManager(), new String[] { "net.minecraft.server.management.ItemInWorldManager" }), //VanillaWorld(new VanillaWorld(), new String[] { "net.minecraft.world.World" }), FmlRegistry(new FmlRegistry(), new String[] { "cpw.mods.fml.common.registry.GameData", "cpw.mods.fml.common.registry.FMLControlledNamespacedRegistry" }), - CofhBlockHelper(new CofhBlockHelper(), new String[] { "cofh.lib.util.helpers.BlockHelper" }), + //CofhBlockHelper(new CofhBlockHelper(), new String[] { "cofh.lib.util.helpers.BlockHelper" }), //UndergroundBiomesOreUBifier(new UndergroundBiomesOreUBifier(), new String[] { "exterminatorJeff.undergroundBiomes.worldGen.OreUBifier" }), //UndergroundBiomesBiomeUndergroundDecorator(new UndergroundBiomesBiomeUndergroundDecorator(), new String[] { "exterminatorJeff.undergroundBiomes.worldGen.BiomeUndergroundDecorator" }), MFQM(new MFQM(), new String[] { "MoreFunQuicksandMod.main.MFQM" }), diff --git a/src/main/java/com/falsepattern/endlessids/asm/transformer/CofhBlockHelper.java b/src/main/java/com/falsepattern/endlessids/asm/transformer/CofhBlockHelper.java deleted file mode 100644 index 7acbf9f..0000000 --- a/src/main/java/com/falsepattern/endlessids/asm/transformer/CofhBlockHelper.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.falsepattern.endlessids.asm.transformer; - -import com.falsepattern.endlessids.constants.ExtendedConstants; -import com.falsepattern.endlessids.constants.VanillaConstants; -import org.objectweb.asm.tree.MethodNode; -import com.falsepattern.endlessids.asm.AsmUtil; -import org.objectweb.asm.tree.ClassNode; -import com.falsepattern.endlessids.asm.IClassNodeTransformer; - -public class CofhBlockHelper implements IClassNodeTransformer -{ - public CofhBlockHelper() { - super(); - } - - @Override - public void transform(final ClassNode cn, final boolean obfuscated) { - final MethodNode method = AsmUtil.findMethod(cn, ""); - if (!AsmUtil.transformInlinedSizeMethod(cn, method, VanillaConstants.blockIDCount, ExtendedConstants.blockIDCount, true)) { - AsmUtil.transformInlinedSizeMethod(cn, method, VanillaConstants.blockIDCount / 4, ExtendedConstants.blockIDCount); - } - } -} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/cofhlib/BlockHelperMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/cofhlib/BlockHelperMixin.java new file mode 100644 index 0000000..6481440 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/cofhlib/BlockHelperMixin.java @@ -0,0 +1,18 @@ +package com.falsepattern.endlessids.mixin.mixins.common.cofhlib; + +import cofh.lib.util.helpers.BlockHelper; +import com.falsepattern.endlessids.constants.ExtendedConstants; +import com.falsepattern.endlessids.constants.VanillaConstants; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +@Mixin(BlockHelper.class) +public abstract class BlockHelperMixin { + @ModifyConstant(method = "", + constant = {@Constant(intValue = VanillaConstants.blockIDCount), @Constant(intValue = VanillaConstants.blockIDCount / 4)}, + require = 1) + private static int extend(int constant) { + return ExtendedConstants.blockIDCount; + } +} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java index 6c493ce..8501e40 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -41,9 +41,14 @@ public enum Mixin { //BEGIN UBC //BEGIN common OreUBifierMixin(builder(Side.COMMON).target(TargetedMod.UBC).mixin("ubc.OreUBifierMixin")), - BiomeUndergroundDecoratorMixin(builder(Side.COMMON).target(TargetedMod.UBC).mixin("ubc.BiomeUndergroundDecoratorMixin")) + BiomeUndergroundDecoratorMixin(builder(Side.COMMON).target(TargetedMod.UBC).mixin("ubc.BiomeUndergroundDecoratorMixin")), //END common - //END ubc + //END UBC + //BEGIN CoFHLib + //BEGIN common + CofhBlockHelperMixin(builder(Side.COMMON).target(TargetedMod.COFHLIB).mixin("cofhlib.BlockHelperMixin")) + //END common + //END CoFHLib ; public final String mixin; diff --git a/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java b/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java index c14c208..d667443 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java @@ -8,7 +8,8 @@ import java.nio.file.Path; public enum TargetedMod { VANILLA("Minecraft", "", "", true), - UBC("UndergroundBiomesConstructs", "undergroundbiomesconstructs-1.7.10", "", false); + UBC("Underground Biomes Constructs", "undergroundbiomesconstructs-", "", false), + COFHLIB("CoFH Lib", "cofhlib-", "", false); public final String modName; public final String jarNamePrefixLowercase;