From 76a93456659e2432977c542603344df765e49b61 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Sun, 3 Jul 2022 02:32:17 +0200 Subject: [PATCH] fix dragonapi again --- .../dragonapi/GenLayerRiverEventMixin.java | 19 +++++++++++++++++++ .../mixins/common/dragonapi/IDTypeMixin.java | 3 ++- .../vanilla/GenLayerRiverMixMixin.java | 19 +++++++++++++++++++ .../endlessids/mixin/plugin/Mixin.java | 6 +++++- 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/GenLayerRiverEventMixin.java create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/vanilla/GenLayerRiverMixMixin.java diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/GenLayerRiverEventMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/GenLayerRiverEventMixin.java new file mode 100644 index 0000000..6922d24 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/GenLayerRiverEventMixin.java @@ -0,0 +1,19 @@ +package com.falsepattern.endlessids.mixin.mixins.common.dragonapi; + +import Reika.DragonAPI.Instantiable.Event.GenLayerRiverEvent; +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(value = GenLayerRiverEvent.class, + remap = false) +public abstract class GenLayerRiverEventMixin { + @ModifyConstant(method = "fire_1614", + constant = @Constant(intValue = VanillaConstants.biomeIDMask), + require = 2) + private static int increaseBiomeMask(int constant) { + return ExtendedConstants.biomeIDMask; + } +} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/IDTypeMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/IDTypeMixin.java index 379daea..b6c9a99 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/IDTypeMixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/IDTypeMixin.java @@ -7,7 +7,8 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.Constant; import org.spongepowered.asm.mixin.injection.ModifyConstant; -@Mixin(IDType.class) +@Mixin(value = IDType.class, + remap = false) public abstract class IDTypeMixin { @ModifyConstant(method = "", constant = @Constant(intValue = 254), diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/vanilla/GenLayerRiverMixMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/vanilla/GenLayerRiverMixMixin.java new file mode 100644 index 0000000..fee0d82 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/dragonapi/vanilla/GenLayerRiverMixMixin.java @@ -0,0 +1,19 @@ +package com.falsepattern.endlessids.mixin.mixins.common.dragonapi.vanilla; + +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; + +import net.minecraft.world.gen.layer.GenLayerRiverMix; + +@Mixin(GenLayerRiverMix.class) +public abstract class GenLayerRiverMixMixin { + @ModifyConstant(method = "getInts", + constant = @Constant(intValue = VanillaConstants.biomeIDMask), + expect = 0) + private int extendTheID(int constant) { + return ExtendedConstants.biomeIDMask; + } +} 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 295f232..26e64cd 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -49,7 +49,7 @@ public enum Mixin implements IMixin { ChunkProviderFlatMixin(Side.COMMON, always(), "vanilla.worldgen.ChunkProviderFlatMixin"), ChunkProviderGenerateMixin(Side.COMMON, always(), "vanilla.worldgen.ChunkProviderGenerateMixin"), ChunkProviderHellMixin(Side.COMMON, always(), "vanilla.worldgen.ChunkProviderHellMixin"), - GenLayerRiverMixMixin(Side.COMMON, always(), "vanilla.worldgen.GenLayerRiverMixMixin"), + GenLayerRiverMixMixin(Side.COMMON, avoid(TargetedMod.DRAGONAPI), "vanilla.worldgen.GenLayerRiverMixMixin"), GenLayerVoronoiZoomMixin(Side.COMMON, always(), "vanilla.worldgen.GenLayerVoronoiZoomMixin"), //endregion Minecraft->common->worldgen //endregion Minecraft->common @@ -78,6 +78,10 @@ public enum Mixin implements IMixin { CoFHLibCofhBlockHelperMixin(Side.COMMON, require(TargetedMod.COFHLIB), "cofhlib.BlockHelperMixin"), //endregion CoFHLib->common //region DragonAPI->common + //region DragonAPI->common->vanilla + DragonAPIGenLayerRiverMixMixin(Side.COMMON, require(TargetedMod.DRAGONAPI), "dragonapi.vanilla.GenLayerRiverMixMixin"), + //endregion DragonAPI->common->vanilla + DragonAPIGenLayerRiverEventMixin(Side.COMMON, require(TargetedMod.DRAGONAPI), "dragonapi.GenLayerRiverEventMixin"), DragonAPIBlockPropertiesMixin(Side.COMMON, require(TargetedMod.DRAGONAPI), "dragonapi.BlockPropertiesMixin"), DragonAPIIDTypeMixin(Side.COMMON, require(TargetedMod.DRAGONAPI), "dragonapi.IDTypeMixin"), //endregion DragonAPI->common