forked from LogBlock/LogBlock
only log sign changes whan anything was changed
This commit is contained in:
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user