Makes sure to not display portal information when placing a block
This commit is contained in:
parent
88bb02dfbd
commit
1efd89cdb0
@ -28,6 +28,8 @@ import org.bukkit.event.block.Action;
|
|||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
import org.bukkit.event.player.PlayerJoinEvent;
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
|
import org.bukkit.inventory.EquipmentSlot;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This listener listens to any player-related events related to stargates
|
* This listener listens to any player-related events related to stargates
|
||||||
@ -186,7 +188,7 @@ public class PlayerEventListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
if (event.getAction() == Action.RIGHT_CLICK_BLOCK) {
|
||||||
handleRightClickBlock(event, player, block);
|
handleRightClickBlock(event, player, block, event.getHand());
|
||||||
} else if (event.getAction() == Action.LEFT_CLICK_BLOCK && block.getBlockData() instanceof WallSign) {
|
} else if (event.getAction() == Action.LEFT_CLICK_BLOCK && block.getBlockData() instanceof WallSign) {
|
||||||
//Handle left click of a wall sign
|
//Handle left click of a wall sign
|
||||||
handleSignClick(event, player, block, true);
|
handleSignClick(event, player, block, true);
|
||||||
@ -259,8 +261,9 @@ public class PlayerEventListener implements Listener {
|
|||||||
* @param event <p>The event triggering the right-click</p>
|
* @param event <p>The event triggering the right-click</p>
|
||||||
* @param player <p>The player doing the right-click</p>
|
* @param player <p>The player doing the right-click</p>
|
||||||
* @param block <p>The block the player clicked</p>
|
* @param block <p>The block the player clicked</p>
|
||||||
|
* @param hand <p>The hand the player used to interact with the stargate</p>
|
||||||
*/
|
*/
|
||||||
private void handleRightClickBlock(PlayerInteractEvent event, Player player, Block block) {
|
private void handleRightClickBlock(PlayerInteractEvent event, Player player, Block block, EquipmentSlot hand) {
|
||||||
if (block.getBlockData() instanceof WallSign) {
|
if (block.getBlockData() instanceof WallSign) {
|
||||||
handleSignClick(event, player, block, false);
|
handleSignClick(event, player, block, false);
|
||||||
return;
|
return;
|
||||||
@ -272,7 +275,6 @@ public class PlayerEventListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (MaterialHelper.isButtonCompatible(block.getType())) {
|
if (MaterialHelper.isButtonCompatible(block.getType())) {
|
||||||
|
|
||||||
Portal portal = PortalHandler.getByBlock(block);
|
Portal portal = PortalHandler.getByBlock(block);
|
||||||
if (portal == null) {
|
if (portal == null) {
|
||||||
return;
|
return;
|
||||||
@ -293,9 +295,12 @@ public class PlayerEventListener implements Listener {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//Display information about the portal if it has no sign
|
//Display information about the portal if it has no sign
|
||||||
|
ItemStack heldItem = player.getInventory().getItem(hand);
|
||||||
|
if (heldItem.getType().isAir() || !heldItem.getType().isBlock()) {
|
||||||
displayPortalInfo(block, player);
|
displayPortalInfo(block, player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays information about a clicked portal
|
* Displays information about a clicked portal
|
||||||
|
Loading…
x
Reference in New Issue
Block a user