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-")), ;