Log make signs glowing/unglowing

This commit is contained in:
Brokkonaut
2021-07-12 03:32:09 +02:00
parent 7f3837f1fe
commit 1e1243449f

View File

@@ -235,12 +235,27 @@ public class InteractLogging extends LoggingListener {
case DARK_OAK_WALL_SIGN: case DARK_OAK_WALL_SIGN:
case WARPED_WALL_SIGN: case WARPED_WALL_SIGN:
case CRIMSON_WALL_SIGN: case CRIMSON_WALL_SIGN:
if (wcfg.isLogging(Logging.SIGNTEXT) && event.getAction() == Action.RIGHT_CLICK_BLOCK) { if (wcfg.isLogging(Logging.SIGNTEXT) && event.getAction() == Action.RIGHT_CLICK_BLOCK && event.getItem() != null) {
ItemStack stack = event.getItem(); Material itemType = event.getItem().getType();
if (stack != null && BukkitUtils.isDye(stack.getType())) { if (BukkitUtils.isDye(itemType) || itemType == Material.GLOW_INK_SAC || itemType == Material.INK_SAC) {
final BlockState before = event.getClickedBlock().getState(); final BlockState before = event.getClickedBlock().getState();
if (before instanceof Sign) { if (before instanceof Sign) {
DyeColor newColor = BukkitUtils.dyeToDyeColor(stack.getType()); if (itemType == Material.GLOW_INK_SAC) {
Sign signBefore = (Sign) before;
if (!signBefore.isGlowingText()) {
final Sign signAfter = (Sign) event.getClickedBlock().getState();
signAfter.setGlowingText(true);
consumer.queueBlockReplace(Actor.actorFromEntity(player), signBefore, signAfter);
}
} else if (itemType == Material.INK_SAC) {
Sign signBefore = (Sign) before;
if (signBefore.isGlowingText()) {
final Sign signAfter = (Sign) event.getClickedBlock().getState();
signAfter.setGlowingText(false);
consumer.queueBlockReplace(Actor.actorFromEntity(player), signBefore, signAfter);
}
} else {
DyeColor newColor = BukkitUtils.dyeToDyeColor(itemType);
Sign signBefore = (Sign) before; Sign signBefore = (Sign) before;
if (newColor != null && signBefore.getColor() != newColor) { if (newColor != null && signBefore.getColor() != newColor) {
final Sign signAfter = (Sign) event.getClickedBlock().getState(); final Sign signAfter = (Sign) event.getClickedBlock().getState();
@@ -250,6 +265,7 @@ public class InteractLogging extends LoggingListener {
} }
} }
} }
}
break; break;
default: default:
} }