From 7f2a50affab9378b085db37a2edd69e580d85e57 Mon Sep 17 00:00:00 2001 From: YoungOnion <39562198+YoungOnionMC@users.noreply.github.com> Date: Sat, 6 Sep 2025 17:48:09 -0600 Subject: [PATCH 1/2] level mixin inject --- .../com/gregtechceu/gtceu/api/pattern/MultiblockState.java | 5 +++++ .../java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/pattern/MultiblockState.java b/src/main/java/com/gregtechceu/gtceu/api/pattern/MultiblockState.java index eca90ad7f7c..e310177a82a 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/pattern/MultiblockState.java +++ b/src/main/java/com/gregtechceu/gtceu/api/pattern/MultiblockState.java @@ -172,6 +172,11 @@ public void onBlockStateChanged(BlockPos pos, BlockState state) { } } else { IMultiController controller = getController(); + if (controller == null && error == UNLOAD_ERROR) { + if (!serverLevel.isLoaded(controllerPos)) { + GTCEu.LOGGER.info("Controller not loaded, pos {}", controllerPos); + } + } if (controller != null) { if (controller.isFormed() && state.getBlock() instanceof ActiveBlock) { LongSet activeBlocks = getMatchContext().getOrDefault("vaBlocks", LongSets.emptySet()); diff --git a/src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java b/src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java index a29a022f803..e0cadd4ada4 100644 --- a/src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java +++ b/src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java @@ -67,7 +67,7 @@ public abstract class LevelMixin implements LevelAccessor { @SuppressWarnings("ConstantValue") @Inject(method = "markAndNotifyBlock", at = @At(value = "INVOKE", - target = "Lnet/minecraft/world/level/Level;blockUpdated(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Block;)V", + target = "Lnet/minecraft/world/level/Level;setBlocksDirty(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;)V", remap = true), remap = false) private void gtceu$updateChunkMultiblocks(BlockPos pos, LevelChunk chunk, From b13a8e9db395f9d658cf2b6d31bbc02944191f63 Mon Sep 17 00:00:00 2001 From: YoungOnion <39562198+YoungOnionMC@users.noreply.github.com> Date: Sat, 13 Sep 2025 22:54:26 -0600 Subject: [PATCH 2/2] spotless and update --- src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java b/src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java index e0cadd4ada4..d095baa8fa6 100644 --- a/src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java +++ b/src/main/java/com/gregtechceu/gtceu/core/mixins/LevelMixin.java @@ -67,7 +67,7 @@ public abstract class LevelMixin implements LevelAccessor { @SuppressWarnings("ConstantValue") @Inject(method = "markAndNotifyBlock", at = @At(value = "INVOKE", - target = "Lnet/minecraft/world/level/Level;setBlocksDirty(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;)V", + target = "Lnet/minecraft/world/level/Level;setBlocksDirty(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;)V", remap = true), remap = false) private void gtceu$updateChunkMultiblocks(BlockPos pos, LevelChunk chunk,