From 1aa130549e92d4cde0917fe21c8fb113a152ecb2 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Wed, 13 Jul 2022 20:07:09 +0200 Subject: [PATCH] twilight forest conflict detector fix --- .../twilightforest/TFBiomeBaseMixin.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/twilightforest/TFBiomeBaseMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/twilightforest/TFBiomeBaseMixin.java index 8b80043..d27ffc6 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/twilightforest/TFBiomeBaseMixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/twilightforest/TFBiomeBaseMixin.java @@ -1,12 +1,18 @@ package com.falsepattern.endlessids.mixin.mixins.common.twilightforest; +import com.falsepattern.endlessids.PlaceholderBiome; import com.falsepattern.endlessids.constants.ExtendedConstants; import com.falsepattern.endlessids.constants.VanillaConstants; +import lombok.val; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Constant; import org.spongepowered.asm.mixin.injection.ModifyConstant; +import org.spongepowered.asm.mixin.injection.Redirect; import twilightforest.biomes.TFBiomeBase; +import net.minecraft.world.biome.BiomeGenBase; + @Mixin(value = TFBiomeBase.class, remap = false) public abstract class TFBiomeBaseMixin { @@ -16,4 +22,19 @@ public abstract class TFBiomeBaseMixin { private static int extendIDs(int constant) { return ExtendedConstants.biomeIDCount; } + + @Redirect(method = "isConflictAtBiomeID", + at = @At(value = "INVOKE", + target = "Lnet/minecraft/world/biome/BiomeGenBase;getBiome(I)Lnet/minecraft/world/biome/BiomeGenBase;", + remap = true), + require = 1) + private static BiomeGenBase ignorePlaceholders(int id) { + val biome = BiomeGenBase.getBiome(id); + if (biome instanceof PlaceholderBiome) { + BiomeGenBase.getBiomeGenArray()[id] = null; + return null; + } else { + return biome; + } + } }