diff --git a/dependencies.gradle b/dependencies.gradle index 4186b17..250abe5 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -47,6 +47,9 @@ dependencies { //CoFH Lib 1.2.1-185 compile(curse("cofh-lib-220333:2388748")) + //Dark World 0.2 + compile(deobfCurse("darkworld-225075:2225172")) + //DragonAPI V31b compileOnly(deobfCurse("dragonapi-235591:3574508")) diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/darkworld/ChunkProviderDarkWorldAlphaMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/darkworld/ChunkProviderDarkWorldAlphaMixin.java new file mode 100644 index 0000000..0f70172 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/darkworld/ChunkProviderDarkWorldAlphaMixin.java @@ -0,0 +1,28 @@ +package com.falsepattern.endlessids.mixin.mixins.common.darkworld; + +import com.falsepattern.endlessids.mixin.helpers.BiomePatchHelper; +import matthbo.mods.darkworld.world.ChunkProviderDarkWorldAlpha; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.Chunk; + +@Mixin(value = ChunkProviderDarkWorldAlpha.class, + remap = false) +public abstract class ChunkProviderDarkWorldAlphaMixin { + @Shadow + private BiomeGenBase[] biomesForGen; + + @Redirect(method = "provideChunk", + at = @At(value = "INVOKE", + target = "Lnet/minecraft/world/chunk/Chunk;getBiomeArray()[B", + remap = true), + remap = true, + require = 1) + private byte[] setBiomesTweaked(Chunk chunk) { + return BiomePatchHelper.getBiomeArrayTweaked(chunk, biomesForGen); + } +} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/darkworld/ChunkProviderDarkWorldBetaMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/darkworld/ChunkProviderDarkWorldBetaMixin.java new file mode 100644 index 0000000..bdeb528 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/darkworld/ChunkProviderDarkWorldBetaMixin.java @@ -0,0 +1,28 @@ +package com.falsepattern.endlessids.mixin.mixins.common.darkworld; + +import com.falsepattern.endlessids.mixin.helpers.BiomePatchHelper; +import matthbo.mods.darkworld.world.ChunkProviderDarkWorldBeta; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.Chunk; + +@Mixin(value = ChunkProviderDarkWorldBeta.class, + remap = false) +public abstract class ChunkProviderDarkWorldBetaMixin { + @Shadow + private BiomeGenBase[] biomesForGeneration; + + @Redirect(method = "provideChunk", + at = @At(value = "INVOKE", + target = "Lnet/minecraft/world/chunk/Chunk;getBiomeArray()[B", + remap = true), + remap = true, + require = 1) + private byte[] setBiomesTweaked(Chunk chunk) { + return BiomePatchHelper.getBiomeArrayTweaked(chunk, biomesForGeneration); + } +} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/darkworld/ModBiomesMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/darkworld/ModBiomesMixin.java new file mode 100644 index 0000000..e8a99cf --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/darkworld/ModBiomesMixin.java @@ -0,0 +1,23 @@ +package com.falsepattern.endlessids.mixin.mixins.common.darkworld; + +import matthbo.mods.darkworld.init.ModBiomes; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +@Mixin(value = ModBiomes.class, + remap = false) +public abstract class ModBiomesMixin { + @ModifyConstant(method = "init", + constant = {@Constant(intValue = 100), + @Constant(intValue = 101), + @Constant(intValue = 102), + @Constant(intValue = 103), + @Constant(intValue = 104), + @Constant(intValue = 105), + @Constant(intValue = 106)}, + require = 7) + private static int shiftBiomeIDsUp(int id) { + return id + 10000; + } +} 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 354a87e..8d0f2f8 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -109,6 +109,13 @@ public enum Mixin implements IMixin { //region CoFHLib->common CoFHLibCofhBlockHelperMixin(Side.COMMON, require(TargetedMod.COFHLIB), "cofhlib.BlockHelperMixin"), //endregion CoFHLib->common + //region DarkWorld->common + ChunkProviderDarkWorldAlphaMixin(Side.COMMON, require(TargetedMod.DARKWORLD), + "darkworld.ChunkProviderDarkWorldAlphaMixin"), + ChunkProviderDarkWorldBetaMixin(Side.COMMON, require(TargetedMod.DARKWORLD), + "darkworld.ChunkProviderDarkWorldBetaMixin"), + DarkWorldModBiomesMixin(Side.COMMON, require(TargetedMod.DARKWORLD), "darkworld.ModBiomesMixin"), + //endregion DarkWorld->common //region DragonAPI->common //region DragonAPI->common->vanilla DragonAPIGenLayerRiverMixMixin(Side.COMMON, require(TargetedMod.DRAGONAPI), 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 e0aebc1..786bb13 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java @@ -19,6 +19,7 @@ public enum TargetedMod implements ITargetedMod { BOP("Biomes O' Plenty", true, startsWith("biomesoplenty-")), BIOMEWAND("Biome Wand", true, startsWith("1.7.10-biome-wand-").or(startsWith("biome-wand"))), COFHLIB("CoFH Lib", true, startsWith("cofhlib-")), + DARKWORLD("Dark World", true, startsWith("darkworld-")), DRAGONAPI("DragonAPI", false, startsWith("dragonapi")), EREBUS("The Erebus", true, startsWith("theerebus")), EXTRAUTILITIES("Extra Utilities", true, startsWith("extrautilities-")),