diff --git a/src/main/java/de/diddiz/LogBlock/listeners/SignChangeLogging.java b/src/main/java/de/diddiz/LogBlock/listeners/SignChangeLogging.java index d74e753..466883a 100644 --- a/src/main/java/de/diddiz/LogBlock/listeners/SignChangeLogging.java +++ b/src/main/java/de/diddiz/LogBlock/listeners/SignChangeLogging.java @@ -3,6 +3,7 @@ package de.diddiz.LogBlock.listeners; import de.diddiz.LogBlock.Actor; import de.diddiz.LogBlock.LogBlock; import de.diddiz.LogBlock.Logging; +import java.util.Objects; import org.bukkit.block.BlockState; import org.bukkit.block.Sign; import org.bukkit.block.sign.SignSide; @@ -23,10 +24,16 @@ public class SignChangeLogging extends LoggingListener { BlockState newState = event.getBlock().getState(); if (newState instanceof Sign sign) { SignSide signSide = sign.getSide(event.getSide()); + boolean changed = false; for (int i = 0; i < 4; i++) { - signSide.setLine(i, event.getLine(i)); + if (!Objects.equals(signSide.getLine(i), event.getLine(i))) { + signSide.setLine(i, event.getLine(i)); + changed = true; + } + } + if (changed) { + consumer.queueBlockReplace(Actor.actorFromEntity(event.getPlayer()), event.getBlock().getState(), newState); } - consumer.queueBlockReplace(Actor.actorFromEntity(event.getPlayer()), event.getBlock().getState(), newState); } } }