From 4f370c45e3e1717885e4b4c81f1e9287cfb38c72 Mon Sep 17 00:00:00 2001 From: Revela Date: Thu, 26 Mar 2026 15:16:15 -0500 Subject: Fix pistons permanently breaking server-wide on dedicated servers (#1420) triggerEvent() set ignoreUpdate to true at the start but three early return paths skipped the reset at the end. Once any of these paths was hit, the TLS flag stayed true permanently, blocking all piston neighbor updates for the rest of the server session. --- Minecraft.World/PistonBaseTile.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Minecraft.World/PistonBaseTile.cpp') diff --git a/Minecraft.World/PistonBaseTile.cpp b/Minecraft.World/PistonBaseTile.cpp index e8e2a713..530cbf73 100644 --- a/Minecraft.World/PistonBaseTile.cpp +++ b/Minecraft.World/PistonBaseTile.cpp @@ -218,10 +218,12 @@ bool PistonBaseTile::triggerEvent(Level *level, int x, int y, int z, int param1, if (extend && param1 == TRIGGER_CONTRACT) { level->setData(x, y, z, facing | EXTENDED_BIT, UPDATE_CLIENTS); + ignoreUpdate(false); return false; } else if (!extend && param1 == TRIGGER_EXTEND) { + ignoreUpdate(false); return false; } } @@ -247,6 +249,7 @@ bool PistonBaseTile::triggerEvent(Level *level, int x, int y, int z, int param1, } else { + ignoreUpdate(false); return false; } PIXEndNamedEvent(); -- cgit v1.2.3