Add logging to RotateBlockEvent

Debug logs were added to the RotateBlockEvent class. These logs will help track the flow of various states and actions, such as the current material and action type, whether the block is a trap door or a drip leaf, among others. This enhancement will assist debugging by providing more visibility into the state of the application at runtime.
This commit is contained in:
Teriuihi 2024-07-01 20:39:07 +02:00
parent a5f59c2399
commit f3f6d11547
2 changed files with 19 additions and 1 deletions

View File

@ -55,7 +55,7 @@ public final class PlayerUtils extends JavaPlugin {
pluginManager.registerEvents(new XpBottleEvent(this, logger), this);
pluginManager.registerEvents(new TeleportEvent(), this);
RotateBlockEvent rotateBlockEvent = new RotateBlockEvent();
RotateBlockEvent rotateBlockEvent = new RotateBlockEvent(logger);
pluginManager.registerEvents(rotateBlockEvent, this);
playerUtilsCommand.addSubCommand(new RotateBlock(rotateBlockEvent));
}

View File

@ -1,5 +1,6 @@
package com.alttd.playerutils.event_listeners;
import com.alttd.playerutils.util.Logger;
import org.bukkit.Axis;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@ -16,15 +17,22 @@ import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.slf4j.LoggerFactory;
import java.util.*;
import java.util.stream.Collectors;
public class RotateBlockEvent implements Listener {
private static final org.slf4j.Logger log = LoggerFactory.getLogger(RotateBlockEvent.class);
private final HashSet<UUID> rotateEnabled = new HashSet<>();
private final Logger logger;
private static final List<BlockFace> VALID_FOUR_STATES = List.of(BlockFace.NORTH, BlockFace.EAST, BlockFace.SOUTH, BlockFace.WEST);
public RotateBlockEvent(Logger logger) {
this.logger = logger;
}
public synchronized boolean toggleRotate(UUID uuid) {
if (rotateEnabled.contains(uuid)) {
@ -55,11 +63,14 @@ public class RotateBlockEvent implements Listener {
return;
Material type = block.getType();
logger.debug(String.format("Material %s with action %s", type, event.getAction().isLeftClick() ? "left click" : "right click"));
if (type.equals(Material.IRON_TRAPDOOR) && event.getAction().isLeftClick()) {
event.setCancelled(true);
logger.debug("Toggling trap door");
toggleTrapDoor(block, player);
} else if (Tag.BIG_DRIPLEAF_PLACEABLE.isTagged(type) && event.getAction().isLeftClick()) {
event.setCancelled(true);
logger.debug("Toggling drip leaf");
toggleDripLeaf(block, player);
} else if (Tag.STAIRS.isTagged(type)) {
event.setCancelled(true);
@ -94,24 +105,31 @@ public class RotateBlockEvent implements Listener {
BigDripleaf.Tilt[] values = BigDripleaf.Tilt.values();
int ordinal = bigDripleaf.getTilt().ordinal();
logger.debug("drip leaf is on tilt %d".formatted(ordinal));
if (++ordinal == values.length) {
ordinal = 0;
}
bigDripleaf.setTilt(values[ordinal]);
logger.debug("drip leaf set to tilt %d".formatted(ordinal));
block.setBlockAndForget(bigDripleaf);
logger.debug("drip leaf set");
}
private void toggleTrapDoor(Block block, Player player) {
if (!(block instanceof TrapDoor trapDoor)) {
logger.debug("Trap door early return 1");
return;
}
if (cannotBuild(block, player)) {
logger.debug("Trap door early return 2");
return;
}
logger.debug("Trap door is %s".formatted(trapDoor.isOpen() ? "open" : "closed"));
trapDoor.setOpen(!trapDoor.isOpen());
logger.debug(String.format("Trap door set to %s", trapDoor.isOpen() ? "open" : "close"));
}
private void toggleRails(Block block, Player player) {