Skip to content

Commit 3b24e74

Browse files
committed
Ensure IC signs are always updated, to fix weirdness on Spigot. Fixes #1369
1 parent a0c433f commit 3b24e74

2 files changed

Lines changed: 11 additions & 5 deletions

File tree

src/main/java/com/sk89q/craftbook/mechanics/ic/AbstractSelfTriggeredIC.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ public boolean isAlwaysST() {
2626

2727
return false;
2828
}
29-
}
29+
}

src/main/java/com/sk89q/craftbook/mechanics/ic/ICMechanic.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import com.sk89q.worldedit.bukkit.BukkitAdapter;
3838
import org.apache.commons.lang.StringUtils;
3939
import org.bukkit.Bukkit;
40-
import org.bukkit.Material;
4140
import org.bukkit.block.Block;
4241
import org.bukkit.event.EventHandler;
4342
import org.bukkit.event.EventPriority;
@@ -232,7 +231,11 @@ public void onBlockRedstoneChange(final SourcedBlockRedstoneEvent event) {
232231
}
233232
}
234233
if (cnt > 0) {
235-
((IC) icData[2]).trigger(chipState);
234+
IC ic = (IC) icData[2];
235+
ic.trigger(chipState);
236+
try {
237+
ic.getSign().update(false);
238+
} catch (Throwable ignored) {}
236239
}
237240
} catch (IllegalArgumentException ex) {
238241
// Exclude these exceptions so that we don't spam consoles because of Bukkit
@@ -302,10 +305,13 @@ public void onThink(SelfTriggerThinkEvent event) {
302305

303306
final Object[] icData = setupIC(event.getBlock(), true);
304307

305-
if(icData != null && icData[2] instanceof SelfTriggeredIC) {
308+
if(icData != null && icData[2] instanceof SelfTriggeredIC ic) {
306309
event.setHandled(true);
307310
ChipState chipState = ((ICFamily) icData[1]).detectSelfTriggered(BukkitAdapter.adapt(event.getBlock().getLocation()), ((IC) icData[2]).getSign());
308-
((SelfTriggeredIC) icData[2]).think(chipState);
311+
ic.think(chipState);
312+
try {
313+
ic.getSign().update(false);
314+
} catch (Throwable ignored) {}
309315
}
310316
}
311317

0 commit comments

Comments
 (0)