From b89930435c731105278c9c3ae4f6fdb060660b6c Mon Sep 17 00:00:00 2001 From: Guillaume Mercier <10gui-gui10@live.ca> Date: Sun, 8 Mar 2026 18:12:11 -0400 Subject: [PATCH 1/4] update EID/chunkAPI deps --- dependencies.gradle | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index d817cbb..12d8417 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,11 @@ dependencies { api("com.github.GTNewHorizons:GTNHLib:0.9.31:dev") compileOnly('com.github.GTNewHorizons:NotEnoughIds:2.1.10:dev') - compileOnly('com.falsepattern:chunkapi-mc1.7.10:0.6.0:dev') - compileOnly('com.falsepattern:endlessids-mc1.7.10:1.6.0:dev') + compileOnly('com.falsepattern:chunkapi-mc1.7.10:0.8.2:dev') + compileOnly('com.falsepattern:endlessids-mc1.7.10:1.7.1:dev') compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.8.71-GTNH:dev") { transitive = false } + + // for testing EID compat + // runtimeOnly('com.falsepattern:chunkapi-mc1.7.10:0.8.2:dev') + // runtimeOnly('com.falsepattern:endlessids-mc1.7.10:1.7.1:dev') } From 74cfd51725601c70decb861b505a36ff4bebffd7 Mon Sep 17 00:00:00 2001 From: Guillaume Mercier <10gui-gui10@live.ca> Date: Sun, 8 Mar 2026 18:16:31 -0400 Subject: [PATCH 2/4] re-order chunk write mixin to trigger before chunk API --- .../postea/mixins/early/MixinAnvilChunkLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/gtnewhorizons/postea/mixins/early/MixinAnvilChunkLoader.java b/src/main/java/com/gtnewhorizons/postea/mixins/early/MixinAnvilChunkLoader.java index cb342dd..09bc39c 100644 --- a/src/main/java/com/gtnewhorizons/postea/mixins/early/MixinAnvilChunkLoader.java +++ b/src/main/java/com/gtnewhorizons/postea/mixins/early/MixinAnvilChunkLoader.java @@ -29,7 +29,7 @@ public abstract class MixinAnvilChunkLoader { ChunkFixerUtility.onChunkLoaded(cir.getReturnValue()); } - @Inject(method = "writeChunkToNBT", at = @At("HEAD")) + @Inject(method = "writeChunkToNBT", at = @At("HEAD"), order = 900) private void postea$writePosteaChunkCode(Chunk chunk, World world, NBTTagCompound nbtTagCompound, CallbackInfo ci) { ChunkFixerUtility.onChunkWrite(chunk, nbtTagCompound); } From 462c2d7f9115e10a9e9ef2b64cf140bd8c045442 Mon Sep 17 00:00:00 2001 From: Guillaume Mercier <10gui-gui10@live.ca> Date: Sun, 8 Mar 2026 18:18:35 -0400 Subject: [PATCH 3/4] add late mixin for chunkAPI --- .../mixins/PosteaLateLoadingPlugin.java | 28 +++++++++++++++++++ .../mixins/late/MixinDataRegistryImpl.java | 25 +++++++++++++++++ src/main/resources/mixins.postea.late.json | 8 ++++++ 3 files changed, 61 insertions(+) create mode 100644 src/main/java/com/gtnewhorizons/postea/mixins/PosteaLateLoadingPlugin.java create mode 100644 src/main/java/com/gtnewhorizons/postea/mixins/late/MixinDataRegistryImpl.java create mode 100644 src/main/resources/mixins.postea.late.json diff --git a/src/main/java/com/gtnewhorizons/postea/mixins/PosteaLateLoadingPlugin.java b/src/main/java/com/gtnewhorizons/postea/mixins/PosteaLateLoadingPlugin.java new file mode 100644 index 0000000..e4e79c3 --- /dev/null +++ b/src/main/java/com/gtnewhorizons/postea/mixins/PosteaLateLoadingPlugin.java @@ -0,0 +1,28 @@ +package com.gtnewhorizons.postea.mixins; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import com.gtnewhorizon.gtnhmixins.ILateMixinLoader; +import com.gtnewhorizon.gtnhmixins.LateMixin; + +import cpw.mods.fml.common.Loader; + +@LateMixin +public final class PosteaLateLoadingPlugin implements ILateMixinLoader { + + @Override + public String getMixinConfig() { + return "mixins.postea.late.json"; + } + + @Override + public List getMixins(Set loadedCoreMods) { + final List mixins = new ArrayList<>(); + if (Loader.isModLoaded("chunkapi")) { + mixins.add("MixinDataRegistryImpl"); + } + return mixins; + } +} diff --git a/src/main/java/com/gtnewhorizons/postea/mixins/late/MixinDataRegistryImpl.java b/src/main/java/com/gtnewhorizons/postea/mixins/late/MixinDataRegistryImpl.java new file mode 100644 index 0000000..eabcd08 --- /dev/null +++ b/src/main/java/com/gtnewhorizons/postea/mixins/late/MixinDataRegistryImpl.java @@ -0,0 +1,25 @@ +package com.gtnewhorizons.postea.mixins.late; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.chunk.Chunk; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +import com.falsepattern.chunk.internal.DataRegistryImpl; +import com.gtnewhorizons.postea.utility.ChunkFixerUtility; + +@Mixin(value = DataRegistryImpl.class, remap = false) +public abstract class MixinDataRegistryImpl { + + @Inject( + method = "readChunkFromNBT(Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/nbt/NBTTagCompound;)V", + at = @At("RETURN"), + require = 1) + @SuppressWarnings("unused") + private static void Postea$chunkReadHook(Chunk chunk, NBTTagCompound chunkNBT, CallbackInfo ci) { + ChunkFixerUtility.onChunkRead(chunk, chunk.worldObj, chunkNBT); + } +} diff --git a/src/main/resources/mixins.postea.late.json b/src/main/resources/mixins.postea.late.json new file mode 100644 index 0000000..2054b04 --- /dev/null +++ b/src/main/resources/mixins.postea.late.json @@ -0,0 +1,8 @@ +{ + "required": true, + "minVersion": "0.8.5-GTNH", + "package": "com.gtnewhorizons.postea.mixins.late", + "refmap": "mixins.postea.refmap.json", + "target": "@env(DEFAULT)", + "compatibilityLevel": "JAVA_8" +} From f30a18face3184da4f50bbcf4ff2173807686dab Mon Sep 17 00:00:00 2001 From: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Date: Tue, 10 Mar 2026 12:58:31 +0100 Subject: [PATCH 4/4] fixes --- dependencies.gradle | 4 ---- .../postea/mixins/PosteaLateLoadingPlugin.java | 6 ++---- .../postea/mixins/late/MixinDataRegistryImpl.java | 1 - 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 12d8417..c884c3b 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -5,8 +5,4 @@ dependencies { compileOnly('com.falsepattern:chunkapi-mc1.7.10:0.8.2:dev') compileOnly('com.falsepattern:endlessids-mc1.7.10:1.7.1:dev') compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.8.71-GTNH:dev") { transitive = false } - - // for testing EID compat - // runtimeOnly('com.falsepattern:chunkapi-mc1.7.10:0.8.2:dev') - // runtimeOnly('com.falsepattern:endlessids-mc1.7.10:1.7.1:dev') } diff --git a/src/main/java/com/gtnewhorizons/postea/mixins/PosteaLateLoadingPlugin.java b/src/main/java/com/gtnewhorizons/postea/mixins/PosteaLateLoadingPlugin.java index e4e79c3..2952b97 100644 --- a/src/main/java/com/gtnewhorizons/postea/mixins/PosteaLateLoadingPlugin.java +++ b/src/main/java/com/gtnewhorizons/postea/mixins/PosteaLateLoadingPlugin.java @@ -7,8 +7,6 @@ import com.gtnewhorizon.gtnhmixins.ILateMixinLoader; import com.gtnewhorizon.gtnhmixins.LateMixin; -import cpw.mods.fml.common.Loader; - @LateMixin public final class PosteaLateLoadingPlugin implements ILateMixinLoader { @@ -18,9 +16,9 @@ public String getMixinConfig() { } @Override - public List getMixins(Set loadedCoreMods) { + public List getMixins(Set loadedMods) { final List mixins = new ArrayList<>(); - if (Loader.isModLoaded("chunkapi")) { + if (loadedMods.contains("chunkapi")) { mixins.add("MixinDataRegistryImpl"); } return mixins; diff --git a/src/main/java/com/gtnewhorizons/postea/mixins/late/MixinDataRegistryImpl.java b/src/main/java/com/gtnewhorizons/postea/mixins/late/MixinDataRegistryImpl.java index eabcd08..be4d438 100644 --- a/src/main/java/com/gtnewhorizons/postea/mixins/late/MixinDataRegistryImpl.java +++ b/src/main/java/com/gtnewhorizons/postea/mixins/late/MixinDataRegistryImpl.java @@ -18,7 +18,6 @@ public abstract class MixinDataRegistryImpl { method = "readChunkFromNBT(Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/nbt/NBTTagCompound;)V", at = @At("RETURN"), require = 1) - @SuppressWarnings("unused") private static void Postea$chunkReadHook(Chunk chunk, NBTTagCompound chunkNBT, CallbackInfo ci) { ChunkFixerUtility.onChunkRead(chunk, chunk.worldObj, chunkNBT); }