From 890e04d0dc77b31597cc915a47e2ab2e86e95f07 Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Sat, 23 Jul 2022 20:38:36 +0200 Subject: [PATCH] Extra Planets compat (fixes #27) --- dependencies.gradle | 3 +++ .../common/extraplanets/ConfigMixin.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/extraplanets/ConfigMixin.java diff --git a/dependencies.gradle b/dependencies.gradle index a6cac12..83a15a9 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -65,6 +65,9 @@ dependencies { //Erebus 0.4.7 compile(deobfCurse("theerebus-220698:2305035")) + //Extra Planets 2.1.4 + compileOnly(deobfCurse("extraplanets-241291:3214413")) + //Extra Utilities 1.2.12 compile(deobfCurse("extrautilities-225561:2264384")) diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/extraplanets/ConfigMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/extraplanets/ConfigMixin.java new file mode 100644 index 0000000..76714fe --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/extraplanets/ConfigMixin.java @@ -0,0 +1,24 @@ +package com.falsepattern.endlessids.mixin.mixins.common.extraplanets; + +import com.mjr.extraplanets.Config; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +import net.minecraftforge.common.config.Configuration; +import net.minecraftforge.common.config.Property; + +@Mixin(value = Config.class, + remap = false) +public abstract class ConfigMixin { + @Redirect(method = "load", + at = @At(value = "INVOKE", + target = "Lnet/minecraftforge/common/config/Configuration;get(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Lnet/minecraftforge/common/config/Property;")) + private static Property shiftBiomeIDsUp(Configuration config, String category, String key, int defaultValue, String comment) { + if (category.equals("biomeID")) { + defaultValue += 17000; + comment = "[range: 0 ~ 65535, default: " + defaultValue + "]"; + } + return config.get(category, key, defaultValue, comment); + } +} 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 f840e32..71f8f0f 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -118,6 +118,9 @@ public enum Mixin implements IMixin { //region Erebus->common ErebusModBiomesMixin(Side.COMMON, require(TargetedMod.EREBUS), "erebus.ModBiomesMixin"), //endregion Erebus->common + //region ExtraPlanets->common + ExtraPlanetsConfigMixin(Side.COMMON, require(TargetedMod.EXTRAPLANETS), "extraplanets.ConfigMixin"), + //endregion ExtraPlanets->common //region ExtraUtilities->common ChunkProviderEndOfTimeMixin(Side.COMMON, require(TargetedMod.EXTRAUTILITIES), "extrautilities.ChunkProviderEndOfTimeMixin"), //endregion ExtraUtilities->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 f3f8574..c7b5f1b 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java @@ -27,6 +27,7 @@ public enum TargetedMod implements ITargetedMod { DRAGONAPI("DragonAPI", false, startsWith("dragonapi")), EB("Enhanced Biomes", true, startsWith("Enhanced Biomes").or(startsWith("enhancedbiomes"))), EREBUS("The Erebus", true, startsWith("theerebus")), + EXTRAPLANETS("Extra Planets", false, startsWith("extraplanets-")), EXTRAUTILITIES("Extra Utilities", true, startsWith("extrautilities-")), FUTUREPACK("Futurepack", true, startsWith("[1.7.10]futurepack").or(startsWith("futurepack-")).and(loadConfig( FuturepackIDConfig.class))),