From 08f7a6dd145ce6b749a34c492c5456c673de8a01 Mon Sep 17 00:00:00 2001 From: Pablete1234 Date: Wed, 25 Nov 2015 22:42:26 +0100 Subject: [PATCH] Fix rightclick with book --- .../module/modules/observers/ObserverModule.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/in/twizmwaz/cardinal/module/modules/observers/ObserverModule.java b/src/main/java/in/twizmwaz/cardinal/module/modules/observers/ObserverModule.java index 6f1d5a90d..cc154c8d4 100644 --- a/src/main/java/in/twizmwaz/cardinal/module/modules/observers/ObserverModule.java +++ b/src/main/java/in/twizmwaz/cardinal/module/modules/observers/ObserverModule.java @@ -30,6 +30,8 @@ import org.bukkit.block.Dropper; import org.bukkit.block.Furnace; import org.bukkit.block.Hopper; +import org.bukkit.craftbukkit.v1_8_R3.entity.CraftHumanEntity; +import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftItemStack; import org.bukkit.entity.ItemFrame; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -172,8 +174,9 @@ public void onBlockChange(BlockBreakEvent event) { @EventHandler public void onInteraction(PlayerInteractEvent event) { if (testObserver(event.getPlayer())) { - if (!(event.getPlayer().getItemInHand() != null && event.getPlayer().getItemInHand().getType().equals(Material.WRITTEN_BOOK) && event.getPlayer().getItemInHand().hasItemMeta() && event.getPlayer().getItemInHand().getItemMeta().hasDisplayName() && event.getPlayer().getItemInHand().getItemMeta().getDisplayName().equals(ChatColor.AQUA + "" + ChatColor.BOLD + "Coming Soon"))) { - event.setCancelled(true); + event.setCancelled(true); + if ((event.getAction().equals(Action.RIGHT_CLICK_AIR) || event.getAction().equals(Action.RIGHT_CLICK_BLOCK)) && (event.getPlayer().getItemInHand() != null && event.getPlayer().getItemInHand().getType().equals(Material.WRITTEN_BOOK))){ + ((CraftHumanEntity) event.getPlayer()).getHandle().openBook(CraftItemStack.asNMSCopy(event.getPlayer().getItemInHand())); } if (event.getClickedBlock() != null && event.getAction() == Action.RIGHT_CLICK_BLOCK) { if (event.getClickedBlock().getType().equals(Material.CHEST) || event.getClickedBlock().getType().equals(Material.TRAPPED_CHEST)) { @@ -183,14 +186,7 @@ public void onInteraction(PlayerInteractEvent event) { } event.getPlayer().openInventory(chest); } - if (event.getClickedBlock().getType().equals(Material.FURNACE)) { - Inventory furnace = Bukkit.createInventory(null, InventoryType.FURNACE); - for (int i = 0; i < ((Furnace) event.getClickedBlock().getState()).getInventory().getSize(); i++) { - furnace.setItem(i, ((Furnace) event.getClickedBlock().getState()).getInventory().getItem(i)); - } - event.getPlayer().openInventory(furnace); - } - if (event.getClickedBlock().getType().equals(Material.BURNING_FURNACE)) { + if (event.getClickedBlock().getType().equals(Material.FURNACE) || event.getClickedBlock().getType().equals(Material.BURNING_FURNACE)) { Inventory furnace = Bukkit.createInventory(null, InventoryType.FURNACE); for (int i = 0; i < ((Furnace) event.getClickedBlock().getState()).getInventory().getSize(); i++) { furnace.setItem(i, ((Furnace) event.getClickedBlock().getState()).getInventory().getItem(i));