diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/galacticraft/ChunkProviderOrbitMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/galacticraft/ChunkProviderOrbitMixin.java new file mode 100644 index 0000000..7ff1c3e --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/galacticraft/ChunkProviderOrbitMixin.java @@ -0,0 +1,28 @@ +package com.falsepattern.endlessids.mixin.mixins.common.galacticraft; + +import com.falsepattern.endlessids.mixin.helpers.BiomePatchHelper; +import futurepack.common.dim.ChunkProviderSpace; +import micdoodle8.mods.galacticraft.core.world.gen.BiomeGenBaseOrbit; +import micdoodle8.mods.galacticraft.core.world.gen.ChunkProviderOrbit; +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 = ChunkProviderOrbit.class, + remap = false) +public abstract class ChunkProviderOrbitMixin { + + @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, (i) -> BiomeGenBaseOrbit.space); + } +} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/galacticraft/ChunkProviderSpaceMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/galacticraft/ChunkProviderSpaceMixin.java new file mode 100644 index 0000000..7b45e07 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/galacticraft/ChunkProviderSpaceMixin.java @@ -0,0 +1,28 @@ +package com.falsepattern.endlessids.mixin.mixins.common.galacticraft; + +import com.falsepattern.endlessids.mixin.helpers.BiomePatchHelper; +import micdoodle8.mods.galacticraft.api.prefab.world.gen.ChunkProviderSpace; +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 = ChunkProviderSpace.class, + remap = false) +public abstract class ChunkProviderSpaceMixin { + @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/plugin/Mixin.java b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java index 0127c9a..1617c10 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -130,7 +130,11 @@ public enum Mixin implements IMixin { FuturepackChunkProviderSpaceMixin(Side.COMMON, require(TargetedMod.FUTUREPACK), "futurepack.ChunkProviderSpaceMixin"), //endregion Futurepack->common //region GalactiCraftCore->common - GalactiCraftCoreConfigManagerCoreMixin(Side.COMMON, require(TargetedMod.GALACTICRAFTCORE), + GalactiCraftChunkProviderOrbitMixin(Side.COMMON, require(TargetedMod.GALACTICRAFTCORE), + "galacticraft.ChunkProviderOrbitMixin"), + GalactiCraftChunkProviderSpaceMixin(Side.COMMON, require(TargetedMod.GALACTICRAFTCORE), + "galacticraft.ChunkProviderSpaceMixin"), + GalactiCraftConfigManagerCoreMixin(Side.COMMON, require(TargetedMod.GALACTICRAFTCORE), "galacticraft.ConfigManagerCoreMixin"), //endregion GalactiCraftCore->common //region ICG->common