From 7bc4e82fdb02fffe57f2553ed6033fee8f2dd9c4 Mon Sep 17 00:00:00 2001 From: rjnasers Date: Sun, 25 Jan 2026 21:07:08 +0100 Subject: [PATCH] Why you no work --- .../ChunkProviderSpaceLakesGTNHMixin.java | 60 +++++++++++++++++++ .../blockitem/thermos/NibbleArrayMixin.java | 4 ++ .../endlessids/mixin/plugin/Mixin.java | 1 + 3 files changed, 65 insertions(+) create mode 100644 src/main/java/com/falsepattern/endlessids/mixin/mixins/common/biome/galaxyspace/ChunkProviderSpaceLakesGTNHMixin.java diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/biome/galaxyspace/ChunkProviderSpaceLakesGTNHMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/biome/galaxyspace/ChunkProviderSpaceLakesGTNHMixin.java new file mode 100644 index 0000000..c6dcf23 --- /dev/null +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/biome/galaxyspace/ChunkProviderSpaceLakesGTNHMixin.java @@ -0,0 +1,60 @@ +/* + * EndlessIDs + * + * Copyright (C) 2022-2025 FalsePattern, The MEGA Team + * All Rights Reserved + * + * The above copyright notice, this permission notice and the word "MEGA" + * shall be included in all copies or substantial portions of the Software. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, only version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + */ + +package com.falsepattern.endlessids.mixin.mixins.common.biome.galaxyspace; + +import com.falsepattern.endlessids.mixin.helpers.BiomePatchHelper; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Pseudo; +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; + +@Pseudo +@Mixin(targets = "galaxyspace.core.dimension.ChunkProviderSpaceLakes", + remap = false) + +public abstract class ChunkProviderSpaceLakesGTNHMixin +{ + @Shadow + protected BiomeGenBase[] biomesForGeneration; + + /** + * @author Cardinalstar16 + * @reason The Galaxy-space mod maintained by GTNH has a different class layout than + * non-GTNH versions of galaxy space. Additionally, biomesForGeneration must be + * shadowed with protected access rather than private since GTNH galaxy space also applies + * an access transformer on the biomesForGenerationField. + */ + @SuppressWarnings("UnresolvedMixinReference") + @Redirect(method = "func_73154_d", + at = @At(value = "INVOKE", + target = "Lnet/minecraft/world/chunk/Chunk;func_76605_m()[B"), + require = 0, + expect = 0) + private byte[] setBiomesTweaked(Chunk chunk) { + return BiomePatchHelper.getBiomeArrayTweaked(chunk, biomesForGeneration); + } +} diff --git a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/blockitem/thermos/NibbleArrayMixin.java b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/blockitem/thermos/NibbleArrayMixin.java index a2f2778..ea95b41 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/blockitem/thermos/NibbleArrayMixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/mixins/common/blockitem/thermos/NibbleArrayMixin.java @@ -39,10 +39,14 @@ public class NibbleArrayMixin { @Shadow private int depthBits; // depthBits @Shadow private int depthBitsPlusFour; // depthBitsPlusFour + @SuppressWarnings("MixinAnnotationTarget") @Shadow private int length; + @SuppressWarnings("MixinAnnotationTarget") @Shadow private byte trivialByte; + @SuppressWarnings("MixinAnnotationTarget") @Shadow private byte trivialValue; + @SuppressWarnings("MixinAnnotationTarget") @Inject( method = "detectAndProcessTrivialArray", at = @At( 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 1685114..179d6a4 100644 --- a/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java +++ b/src/main/java/com/falsepattern/endlessids/mixin/plugin/Mixin.java @@ -283,6 +283,7 @@ public enum Mixin implements IMixins { common("biome.galaxyspace.ChunkProviderKuiperMixin", "biome.galaxyspace.ChunkProviderMarsSSMixin", "biome.galaxyspace.ChunkProviderSpaceLakesMixin", + "biome.galaxyspace.ChunkProviderSpaceLakesGTNHMixin", "biome.galaxyspace.ChunkProviderVenusSSMixin")), Biome_Highlands(Phase.LATE,