From 8e23dd1f07fbe14a9070a6f2a72edb49b0281746 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Sun, 3 Jul 2022 19:56:08 +0200 Subject: [PATCH] Nature's Compass compat --- README.MD | 1 + dependencies.gradle | 1 + .../naturescompass/BiomeUtilsMixin.java | 24 +++++++++++++++++++ .../endlessids/mixin/plugin/Mixin.java | 3 +++ .../endlessids/mixin/plugin/TargetedMod.java | 1 + 5 files changed, 30 insertions(+) create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/naturescompass/BiomeUtilsMixin.java diff --git a/README.MD b/README.MD index a191eca..9143cab 100644 --- a/README.MD +++ b/README.MD @@ -14,6 +14,7 @@ This mod also contains patches for the following mods: - DragonAPI - GalactiCraft - More Fun Quicksand Mod +- Nature's Compass - Realistic Terrain Generation - Underground Biomes Constructs - WorldEdit diff --git a/dependencies.gradle b/dependencies.gradle index b2dd3e0..910ba06 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -17,5 +17,6 @@ dependencies { compile("curse.maven:atg-228356:2231155") // 0.12.0 compile(deobfMaven(curseMaven, "curse.maven:biomesoplenty-220318:2499612")) // 2.1.0.2308 compile(deobfMaven(curseMaven, "curse.maven:rtg-237989:2521557")) // 1.1.1.7 + compile(deobfMaven(curseMaven, "curse.maven:naturescompass-252848:2451823")) // 1.3.1 compileOnly(files("lib/GalacticraftCore-1.7-3.0.12.504-deobf.jar")) } diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/naturescompass/BiomeUtilsMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/naturescompass/BiomeUtilsMixin.java new file mode 100644 index 0000000..23e0fbe --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/naturescompass/BiomeUtilsMixin.java @@ -0,0 +1,24 @@ +package com.falsepattern.endlessids.mixin.mixins.common.naturescompass; + +import com.chaosthedude.naturescompass.util.BiomeUtils; +import com.falsepattern.endlessids.PlaceholderBiome; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import net.minecraft.world.biome.BiomeGenBase; + +@Mixin(value = BiomeUtils.class, + remap = false) +public abstract class BiomeUtilsMixin { + @Inject(method = "biomeIsBlacklisted", + at = @At("HEAD"), + cancellable = true, + require = 1) + private static void blockPlaceholders(BiomeGenBase biome, CallbackInfoReturnable cir) { + if (biome instanceof PlaceholderBiome) { + cir.setReturnValue(true); + } + } +} 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 2b208bd..268643a 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -94,6 +94,9 @@ public enum Mixin implements IMixin { MFQMDataWatcherMixin(Side.COMMON, require(TargetedMod.MFQM).and(condition(() -> IEConfig.extendDataWatcher)), "mfqm.MFQMDataWatcherMixin"), //endregion MFQM->common + //region NaturesCompass->common + NaturesCompassBiomeUtilsMixin(Side.COMMON, require(TargetedMod.NATURESCOMPASS), "naturescompass.BiomeUtilsMixin"), + //endregion NaturesCompass->common //region RTG->common RTGChunkProviderRTGMixin(Side.COMMON, require(TargetedMod.RTG), "rtg.ChunkProviderRTGMixin"), RTGLandscapeGeneratorMixin(Side.COMMON, require(TargetedMod.RTG), "rtg.LandscapeGeneratorMixin"), 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 7ceab8e..fab2f6e 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java @@ -18,6 +18,7 @@ public enum TargetedMod implements ITargetedMod { DRAGONAPI("DragonAPI", false, startsWith("dragonapi")), GALACTICRAFTCORE("GalactiCraftCore", false, startsWith("galacticraftcore")), MFQM("More Fun Quicksand Mod", false, startsWith("morefunquicksandmod-")), + NATURESCOMPASS("Nature's Compass", true, startsWith("naturescompass")), RTG("Realistic Terrain Generation", true, startsWith("rtg-")), UBC("Underground Biomes Constructs", false, startsWith("undergroundbiomesconstructs-")), WORLDEDIT("WorldEdit", false, startsWith("worldedit-")),