Merge pull request 'fix_rotate' (#1) from fix_rotate into master
Reviewed-on: #1
This commit is contained in:
commit
50f66b93c3
|
|
@ -55,7 +55,7 @@ public final class PlayerUtils extends JavaPlugin {
|
||||||
pluginManager.registerEvents(new XpBottleEvent(this, logger), this);
|
pluginManager.registerEvents(new XpBottleEvent(this, logger), this);
|
||||||
pluginManager.registerEvents(new TeleportEvent(), this);
|
pluginManager.registerEvents(new TeleportEvent(), this);
|
||||||
|
|
||||||
RotateBlockEvent rotateBlockEvent = new RotateBlockEvent();
|
RotateBlockEvent rotateBlockEvent = new RotateBlockEvent(logger);
|
||||||
pluginManager.registerEvents(rotateBlockEvent, this);
|
pluginManager.registerEvents(rotateBlockEvent, this);
|
||||||
playerUtilsCommand.addSubCommand(new RotateBlock(rotateBlockEvent));
|
playerUtilsCommand.addSubCommand(new RotateBlock(rotateBlockEvent));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.alttd.playerutils.event_listeners;
|
package com.alttd.playerutils.event_listeners;
|
||||||
|
|
||||||
|
import com.alttd.playerutils.util.Logger;
|
||||||
import org.bukkit.Axis;
|
import org.bukkit.Axis;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
|
|
@ -23,8 +24,13 @@ import java.util.stream.Collectors;
|
||||||
public class RotateBlockEvent implements Listener {
|
public class RotateBlockEvent implements Listener {
|
||||||
|
|
||||||
private final HashSet<UUID> rotateEnabled = new HashSet<>();
|
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);
|
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) {
|
public synchronized boolean toggleRotate(UUID uuid) {
|
||||||
if (rotateEnabled.contains(uuid)) {
|
if (rotateEnabled.contains(uuid)) {
|
||||||
|
|
@ -55,10 +61,11 @@ public class RotateBlockEvent implements Listener {
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Material type = block.getType();
|
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()) {
|
if (type.equals(Material.IRON_TRAPDOOR) && event.getAction().isLeftClick()) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
toggleTrapDoor(block, player);
|
toggleTrapDoor(block, player);
|
||||||
} else if (Tag.BIG_DRIPLEAF_PLACEABLE.isTagged(type) && event.getAction().isLeftClick()) {
|
} else if (type.equals(Material.BIG_DRIPLEAF) && event.getAction().isLeftClick()) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
toggleDripLeaf(block, player);
|
toggleDripLeaf(block, player);
|
||||||
} else if (Tag.STAIRS.isTagged(type)) {
|
} else if (Tag.STAIRS.isTagged(type)) {
|
||||||
|
|
@ -83,7 +90,7 @@ public class RotateBlockEvent implements Listener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleDripLeaf(Block block, Player player) {
|
private void toggleDripLeaf(Block block, Player player) {
|
||||||
if (!(block instanceof BigDripleaf bigDripleaf)) {
|
if (!(block.getBlockData() instanceof BigDripleaf bigDripleaf)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -103,7 +110,7 @@ public class RotateBlockEvent implements Listener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTrapDoor(Block block, Player player) {
|
private void toggleTrapDoor(Block block, Player player) {
|
||||||
if (!(block instanceof TrapDoor trapDoor)) {
|
if (!(block.getBlockData() instanceof TrapDoor trapDoor)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -112,6 +119,7 @@ public class RotateBlockEvent implements Listener {
|
||||||
}
|
}
|
||||||
|
|
||||||
trapDoor.setOpen(!trapDoor.isOpen());
|
trapDoor.setOpen(!trapDoor.isOpen());
|
||||||
|
block.setBlockAndForget(trapDoor);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleRails(Block block, Player player) {
|
private void toggleRails(Block block, Player player) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user