package com.dani17val.lutorcrafts; import java.util.Iterator; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.HumanEntity; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryDragEvent; import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.CraftingInventory; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; public final class Lutorcrafts extends JavaPlugin implements Listener { private static final String nombreInv = ChatColor.BLUE + "Mesa de trabajo"; @Override public void onEnable() { Bukkit.getServer().getPluginManager().registerEvents(this, this); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { Player j = (Player) sender; if(!j.hasPermission("lutorlandia.lutorcrafts")){ j.sendMessage(ChatColor.RED+"No tienes permisos."); return true; } if (label.equalsIgnoreCase("lutorcrafts") || label.equalsIgnoreCase("lutorcraft")) { Inventory mesa = Bukkit.createInventory(null, InventoryType.WORKBENCH, nombreInv); j.openInventory(mesa); j.sendMessage("Abriendo mesa por comando..."); return true; } return true; } @EventHandler public void clickDerecho(PlayerInteractEvent e) { Player j = e.getPlayer(); if (e.getAction() == Action.RIGHT_CLICK_BLOCK) { if (e.getClickedBlock().getType() == Material.CRAFTING_TABLE && !e.getPlayer().isSneaking()) { Inventory mesa = Bukkit.createInventory(null, InventoryType.WORKBENCH, nombreInv); j.openInventory(mesa); j.sendMessage("Abriendo mesa..."); e.setCancelled(true); } } } @EventHandler public void alDrag(InventoryDragEvent e) { if (e.getInventory().getName().equalsIgnoreCase(nombreInv)) { if (e.getInventorySlots().contains(25)) { e.setCancelled(true); } } } @EventHandler public void alClickarEnGui(InventoryClickEvent e) { Inventory inv = e.getInventory(); HumanEntity p = e.getWhoClicked(); if (inv instanceof CraftingInventory) { p.sendMessage("Es crafting"); CraftingInventory ci = (CraftingInventory) inv; if (ci.getName().equals(nombreInv)) { p.sendMessage("Es la nuestra"); /* int slot = e.getSlot(); ItemStack item = e.getCurrentItem(); if (item != null && item.getType() == Material.GRAY_STAINED_GLASS_PANE && item.getItemMeta().getDisplayName().equalsIgnoreCase(" ")) { e.setCancelled(true); } else if (slot == 10 || slot == 11 || slot == 12 || slot == 19 || slot == 20 || slot == 21 || slot == 28 || slot == 29 || slot == 30) { } else if ((slot == 25) || (e.getAction().equals(InventoryAction.PLACE_ONE) || (e.getAction().equals(InventoryAction.PLACE_SOME)) || e.getAction().equals(InventoryAction.PLACE_ALL))) { e.setCancelled(true); } */ getServer().broadcastMessage("xD"); } } } @EventHandler public void alSalirDeGui(InventoryCloseEvent e) { Inventory inv = e.getInventory(); HumanEntity p = e.getPlayer(); p.sendMessage("xD"); if (inv instanceof CraftingInventory) { p.sendMessage("Es crafting"); CraftingInventory ci = (CraftingInventory) inv; if (ci.getName().equals(nombreInv)) { p.sendMessage("Es la nuestra"); Iterator ite = ci.iterator(); p.sendMessage("matriz: "); for(int i=0; i