From 692ab60b371eee90eae77f85a6ac0f802404a649 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Tue, 27 Dec 2022 16:44:21 +0100 Subject: [PATCH] Witchery compat (#46) --- dependencies.gradle | 3 +++ .../WorldChunkManagerMirrorMixin.java | 24 +++++++++++++++++++ .../endlessids/mixin/plugin/Mixin.java | 3 +++ .../endlessids/mixin/plugin/TargetedMod.java | 1 + 4 files changed, 31 insertions(+) create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/witchery/WorldChunkManagerMirrorMixin.java diff --git a/dependencies.gradle b/dependencies.gradle index 3817c75..22da7c8 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -133,6 +133,9 @@ dependencies { //Underground Biomes Constructs 0.8-beta49 compile(deobfCurse("undergroundbiomesconstructs-72744:2304497")) + //Witchery 0.24.1 + compile(deobfCurse("witchery-69673:2234410")) + //WorldEdit 6.1.1 compileOnly(deobfCurse("worldedit-225608:2309699")) diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/witchery/WorldChunkManagerMirrorMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/witchery/WorldChunkManagerMirrorMixin.java new file mode 100644 index 0000000..64a9352 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/witchery/WorldChunkManagerMirrorMixin.java @@ -0,0 +1,24 @@ +package com.falsepattern.endlessids.mixin.mixins.common.witchery; + +import com.emoniph.witchery.dimension.WorldChunkManagerMirror; +import com.falsepattern.endlessids.mixin.helpers.BiomePatchHelper; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.Chunk; + +@Mixin(value = WorldChunkManagerMirror.class, + remap = false) +public abstract class WorldChunkManagerMirrorMixin { + @Redirect(method = "provideChunk", + at = @At(value = "INVOKE", + target = "Lnet/minecraft/world/chunk/Chunk;getBiomeArray()[B", + remap = true), + remap = true, + require = 1) + private byte[] setBiomesTweaked(Chunk chunk) { + return BiomePatchHelper.getBiomeArrayTweaked(chunk, (i) -> BiomeGenBase.hell); + } +} 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 20c9789..fe18bff 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -192,6 +192,9 @@ public enum Mixin implements IMixin { UBCOreUBifierMixin(Side.COMMON, require(TargetedMod.UBC), "ubc.OreUBifierMixin"), UBCBiomeUndergroundDecoratorMixin(Side.COMMON, require(TargetedMod.UBC), "ubc.BiomeUndergroundDecoratorMixin"), //endregion UBC->common + //region Witchery->common + WitcheryWorldChunkManagerMirrorixin(Side.COMMON, require(TargetedMod.WITCHERY), "witchery.WorldChunkManagerMirrorMixin"), + //endregion Witchery->common //region WorldEdit->common WorldEditBaseBlockMixin(Side.COMMON, require(TargetedMod.WORLDEDIT), "worldedit.BaseBlockMixin"), //endregion WorldEdit->common 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 ed70419..b4b7352 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java @@ -42,6 +42,7 @@ public enum TargetedMod implements ITargetedMod { TROPICRAFT("Tropicraft", true, startsWith("tropicraft-")), TWILIGHTFOREST("Twilight Forest", true, startsWith("twilightforest")), UBC("Underground Biomes Constructs", true, startsWith("undergroundbiomesconstructs-")), + WITCHERY("Witchery", true, startsWith("witchery-")), WORLDEDIT("WorldEdit", false, startsWith("worldedit-")), ;