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; + } + } }