From 6d3efa063495d5dc9d81cdc9e472f009ea6daa58 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 11 Jun 2016 09:21:44 +1000 Subject: SPIGOT-2380: Hitting in the air will always load the chunk at 0,0 --- .../craftbukkit/event/CraftEventFactory.java | 24 +++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java index cc488ccc..119e97d2 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -191,7 +191,7 @@ public class CraftEventFactory { if (action != Action.LEFT_CLICK_AIR && action != Action.RIGHT_CLICK_AIR) { throw new AssertionError(String.format("%s performing %s with %s", who, action, itemstack)); } - return callPlayerInteractEvent(who, action, new BlockPosition(0, 256, 0), EnumDirection.SOUTH, itemstack, hand); + return callPlayerInteractEvent(who, action, null, EnumDirection.SOUTH, itemstack, hand); } public static PlayerInteractEvent callPlayerInteractEvent(EntityHuman who, Action action, BlockPosition position, EnumDirection direction, ItemStack itemstack, EnumHand hand) { @@ -205,20 +205,20 @@ public class CraftEventFactory { CraftWorld craftWorld = (CraftWorld) player.getWorld(); CraftServer craftServer = (CraftServer) player.getServer(); - Block blockClicked = craftWorld.getBlockAt(position.getX(), position.getY(), position.getZ()); - BlockFace blockFace = CraftBlock.notchToBlockFace(direction); - - if (position.getY() > 255) { - blockClicked = null; + Block blockClicked = null; + if (position != null) { + blockClicked = craftWorld.getBlockAt(position.getX(), position.getY(), position.getZ()); + } else { switch (action) { - case LEFT_CLICK_BLOCK: - action = Action.LEFT_CLICK_AIR; - break; - case RIGHT_CLICK_BLOCK: - action = Action.RIGHT_CLICK_AIR; - break; + case LEFT_CLICK_BLOCK: + action = Action.LEFT_CLICK_AIR; + break; + case RIGHT_CLICK_BLOCK: + action = Action.RIGHT_CLICK_AIR; + break; } } + BlockFace blockFace = CraftBlock.notchToBlockFace(direction); if (itemInHand.getType() == Material.AIR || itemInHand.getAmount() == 0) { itemInHand = null; -- cgit v1.2.3