From 600c28edbb3dc19053c36b24478ee5755ce6da8f Mon Sep 17 00:00:00 2001 From: FalsePattern <30945458+FalsePattern@users.noreply.github.com> Date: Wed, 13 Jul 2022 22:02:45 +0200 Subject: [PATCH] miscellaneous fixes to make stuff *just work* --- .gitignore | 10 ++- run/config/Tropicraft_Biomes.cfg | 15 ++++ run/config/erebus.cfg | 73 +++++++++++++++++++ .../falsepattern/endlessids/EndlessIDs.java | 6 ++ .../GenLayerTropiVoronoiZoomMixin.java | 19 +++++ .../endlessids/mixin/plugin/Mixin.java | 2 + .../endlessids/patching/CommonManager.java | 16 ++++ .../endlessids/patching/Patch.java | 5 ++ .../patching/patches/common/Futurepack.java | 2 +- 9 files changed, 146 insertions(+), 2 deletions(-) create mode 100644 run/config/Tropicraft_Biomes.cfg create mode 100644 run/config/erebus.cfg create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/tropicraft/GenLayerTropiVoronoiZoomMixin.java diff --git a/.gitignore b/.gitignore index d91dfbe..f313c28 100644 --- a/.gitignore +++ b/.gitignore @@ -146,4 +146,12 @@ gradle-app.setting # End of https://www.toptal.com/developers/gitignore/api/intellij+all,gradle,forgegradle,java srgmap.cfg -!lib/*.jar \ No newline at end of file +!lib/*.jar + +# ID configs to make CI run. +!run/ +run/* +!run/config/ +run/config/* +!run/config/Tropicraft_Biomes.cfg +!run/config/erebus.cfg diff --git a/run/config/Tropicraft_Biomes.cfg b/run/config/Tropicraft_Biomes.cfg new file mode 100644 index 0000000..b26daf7 --- /dev/null +++ b/run/config/Tropicraft_Biomes.cfg @@ -0,0 +1,15 @@ +# Configuration file + +"tropicraft biomes config" { + I:islandMountainsID=468 + I:rainforestHillsID=463 + I:rainforestMountainsID=464 + I:rainforestPlainsID=462 + I:tropicsBeachID=466 + I:tropicsID=461 + I:tropicsLakeID=467 + I:tropicsOceanID=460 + I:tropicsRiverID=465 +} + + diff --git a/run/config/erebus.cfg b/run/config/erebus.cfg new file mode 100644 index 0000000..d985b80 --- /dev/null +++ b/run/config/erebus.cfg @@ -0,0 +1,73 @@ +# Configuration file + +biomes { + I:"Elysian Fields"=403 + I:"Fields - Forest"=407 + I:"Fungal Forest"=405 + I:"Submerged Swamp"=406 + I:"Subterranean Savannah"=402 + I:"Ulterior Outback"=404 + I:"Underground Jungle"=400 + I:"Volcanic Desert"=401 +} + + +general { + B:"Add Glowshrooms to World generation"=true + B:"Alternative Planks Textures"=false + I:"Antlion Maze Frequency lower numbers increase rate. May Cause issues if too low."=1024 + + # 0 = only wooden blocks except tile entities & logs, 1 = only wooden blocks except logs, 2 = anything + I:"Beetle larva eating settings"=0 + B:"Block O' Bones Inventory Save"=true + + # This will not stop block destruction for player attacks only collided with blocks! + B:"Bombardier Beetle Block destruction"=true + B:"Coloured Biome Fogs"=true + + # There doesn't appear to be a limit on dimension IDs, but try to keep it low + I:"Dimension ID of The Erebus"=66 + B:"Generate natural swap vents"=true + B:"Glowing bugs emit light"=true + I:"Number of seconds before the portal is usable again."=5 + B:"Play erebus songs"=true + B:"Random mob names"=true + B:"Should player re-spawn in dimension"=false + B:"Should spawn beetles and larvae in the portal"=true + B:"Spawn Black Widows in Nether"=true +} + + +integration { + B:"Disable Forge Multipart integration"=false + B:"Disable Thaumcraft integration"=false +} + + +"mob modifiers" { + I:"Mob Attack Damage Multipier"=1 + I:"Mob Health Multiplier"=1 +} + + +ores { + B:"Generate aluminium"=false + B:"Generate coal"=true + B:"Generate copper"=false + B:"Generate diamond"=true + B:"Generate diamond_encrusted"=true + B:"Generate emerald"=true + B:"Generate fossil"=true + B:"Generate gneiss"=true + B:"Generate gold"=true + B:"Generate iron"=true + B:"Generate jade"=true + B:"Generate lapis"=true + B:"Generate lead"=false + B:"Generate petrified_wood"=true + B:"Generate quartz"=true + B:"Generate silver"=false + B:"Generate tin"=false +} + + diff --git a/src/main/java/com/falsepattern/endlessids/EndlessIDs.java b/src/main/java/com/falsepattern/endlessids/EndlessIDs.java index 2ce995e..2b3c379 100644 --- a/src/main/java/com/falsepattern/endlessids/EndlessIDs.java +++ b/src/main/java/com/falsepattern/endlessids/EndlessIDs.java @@ -6,6 +6,7 @@ import org.apache.logging.log4j.Logger; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.FMLConstructionEvent; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @@ -24,6 +25,11 @@ public class EndlessIDs { modId = Tags.MODID) private static CommonManager patchManager; + @Mod.EventHandler + public void construct(FMLConstructionEvent e) { + patchManager.construct(); + } + @Mod.EventHandler public void preInit(FMLPreInitializationEvent e) { patchManager.preInit(); diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/tropicraft/GenLayerTropiVoronoiZoomMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/tropicraft/GenLayerTropiVoronoiZoomMixin.java new file mode 100644 index 0000000..46c0476 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/tropicraft/GenLayerTropiVoronoiZoomMixin.java @@ -0,0 +1,19 @@ +package com.falsepattern.endlessids.mixin.mixins.common.tropicraft; + +import com.falsepattern.endlessids.constants.VanillaConstants; +import net.tropicraft.world.genlayer.GenLayerTropiVoronoiZoom; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +@Mixin(value = GenLayerTropiVoronoiZoom.class, + remap = false) +public abstract class GenLayerTropiVoronoiZoomMixin { + @ModifyConstant(method = "getInts", + constant = @Constant(intValue = VanillaConstants.biomeIDMask), + remap = true, + require = 1) + private int fixStupidBitMask(int constant) { + return 0xFFFFFFFF; + } +} 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 1617c10..354a87e 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -159,6 +159,8 @@ public enum Mixin implements IMixin { //region Tropicraft->common ChunkProviderTropicraftMixin(Side.COMMON, require(TargetedMod.TROPICRAFT), "tropicraft.ChunkProviderTropicraftMixin"), + GenLayerTropiVoronoiZoomMixin(Side.COMMON, require(TargetedMod.TROPICRAFT), + "tropicraft.GenLayerTropiVoronoiZoomMixin"), //endregion Tropicraft->common //region TwilightForest->common ChunkProviderTwilightForestMixin(Side.COMMON, require(TargetedMod.TWILIGHTFOREST), diff --git a/src/main/java/com/falsepattern/endlessids/patching/CommonManager.java b/src/main/java/com/falsepattern/endlessids/patching/CommonManager.java index 4d96598..01702f5 100644 --- a/src/main/java/com/falsepattern/endlessids/patching/CommonManager.java +++ b/src/main/java/com/falsepattern/endlessids/patching/CommonManager.java @@ -19,6 +19,22 @@ public class CommonManager { patches.add(new Futurepack()); } + @SneakyThrows + public final void construct() { + for (val patch : patches) { + if (Loader.isModLoaded(patch.modid)) { + try { + if (patch.construct()) { + EndlessIDs.LOG.info("Applied preInit patches for " + patch.modid); + } + } catch (Exception e) { + EndlessIDs.LOG.fatal("Failed to apply preInit patches for " + patch.modid, e); + throw e; + } + } + } + } + @SneakyThrows public final void preInit() { for (val patch : patches) { diff --git a/src/main/java/com/falsepattern/endlessids/patching/Patch.java b/src/main/java/com/falsepattern/endlessids/patching/Patch.java index 64bd8ce..4abd013 100644 --- a/src/main/java/com/falsepattern/endlessids/patching/Patch.java +++ b/src/main/java/com/falsepattern/endlessids/patching/Patch.java @@ -6,6 +6,11 @@ import lombok.RequiredArgsConstructor; public class Patch { public final String modid; + @SuppressWarnings("RedundantThrows") + public boolean construct() throws Exception { + return false; + } + @SuppressWarnings("RedundantThrows") public boolean preInit() throws Exception { return false; diff --git a/src/main/java/com/falsepattern/endlessids/patching/patches/common/Futurepack.java b/src/main/java/com/falsepattern/endlessids/patching/patches/common/Futurepack.java index 3202bc7..aa8905d 100644 --- a/src/main/java/com/falsepattern/endlessids/patching/patches/common/Futurepack.java +++ b/src/main/java/com/falsepattern/endlessids/patching/patches/common/Futurepack.java @@ -8,7 +8,7 @@ public class Futurepack extends Patch { } @Override - public boolean init() throws Exception { + public boolean construct() throws Exception { Class.forName("futurepack.common.dim.BiomeGenSpace"); return true; }