Advertisement
Guest User

Untitled

a guest
Aug 25th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.34 KB | None | 0 0
  1. package com.dani17val.lutorcrafts;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.Material;
  6. import org.bukkit.command.Command;
  7. import org.bukkit.command.CommandSender;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.block.Action;
  12. import org.bukkit.event.inventory.InventoryAction;
  13. import org.bukkit.event.inventory.InventoryClickEvent;
  14. import org.bukkit.event.inventory.InventoryCloseEvent;
  15. import org.bukkit.event.inventory.InventoryDragEvent;
  16. import org.bukkit.event.player.PlayerInteractEvent;
  17. import org.bukkit.event.player.PlayerJoinEvent;
  18. import org.bukkit.inventory.Inventory;
  19. import org.bukkit.inventory.ItemStack;
  20. import org.bukkit.inventory.meta.ItemMeta;
  21. import org.bukkit.plugin.java.JavaPlugin;
  22.  
  23. import java.util.HashMap;
  24. import java.util.UUID;
  25.  
  26. public final class Lutorcrafts extends JavaPlugin implements Listener {
  27.  
  28. public static HashMap<UUID, Inventory> mesas = new HashMap<UUID,Inventory>();
  29. ItemStack cristal = new ItemStack(Material.GRAY_STAINED_GLASS_PANE, 1);
  30. ItemMeta cristalim = cristal.getItemMeta();
  31.  
  32. @Override
  33. public void onEnable() {
  34. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  35. }
  36.  
  37. @Override
  38. public void onDisable() {
  39.  
  40. }
  41.  
  42. @Override
  43. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  44. Player j = (Player) sender;
  45. if(label.equalsIgnoreCase("lutorcrafts") || label.equalsIgnoreCase("lutorcraft")){
  46. generarMesa(j);
  47. j.openInventory(mesas.get(j.getUniqueId()));
  48. return true;
  49. }
  50. return true;
  51. }
  52.  
  53. @EventHandler
  54. public void alSalirDeGui(InventoryCloseEvent e){
  55. if(e.getPlayer() instanceof Player){
  56. Player p = Bukkit.getPlayer(e.getPlayer().getName());
  57. if(e.getInventory().getName().equalsIgnoreCase(ChatColor.BLUE+"Mesa de trabajo especial")){
  58. if(mesas.get(p.getUniqueId()).getItem(10) != null) {
  59. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(10));
  60. }
  61. if(mesas.get(p.getUniqueId()).getItem(11) != null) {
  62. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(11));
  63. }
  64. if(mesas.get(p.getUniqueId()).getItem(12) != null) {
  65. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(12));
  66. }
  67. if(mesas.get(p.getUniqueId()).getItem(19) != null) {
  68. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(19));
  69. }
  70. if(mesas.get(p.getUniqueId()).getItem(20) != null) {
  71. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(20));
  72. }
  73. if(mesas.get(p.getUniqueId()).getItem(21) != null) {
  74. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(21));
  75. }
  76. if(mesas.get(p.getUniqueId()).getItem(28) != null) {
  77. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(28));
  78. }
  79. if(mesas.get(p.getUniqueId()).getItem(29) != null) {
  80. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(29));
  81. }
  82. if(mesas.get(p.getUniqueId()).getItem(30) != null) {
  83. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(30));
  84. }
  85. if(mesas.get(p.getUniqueId()).getItem(25) != null) {
  86. p.getWorld().dropItem(p.getLocation(), mesas.get(p.getUniqueId()).getItem(25));
  87. }
  88. mesas.get(p.getUniqueId()).setItem(10, new ItemStack(Material.AIR));
  89. mesas.get(p.getUniqueId()).setItem(11, new ItemStack(Material.AIR));
  90. mesas.get(p.getUniqueId()).setItem(12, new ItemStack(Material.AIR));
  91. mesas.get(p.getUniqueId()).setItem(19, new ItemStack(Material.AIR));
  92. mesas.get(p.getUniqueId()).setItem(20, new ItemStack(Material.AIR));
  93. mesas.get(p.getUniqueId()).setItem(21, new ItemStack(Material.AIR));
  94. mesas.get(p.getUniqueId()).setItem(28, new ItemStack(Material.AIR));
  95. mesas.get(p.getUniqueId()).setItem(29, new ItemStack(Material.AIR));
  96. mesas.get(p.getUniqueId()).setItem(30, new ItemStack(Material.AIR));
  97. mesas.get(p.getUniqueId()).setItem(25, new ItemStack(Material.AIR));
  98. mesas.remove(p.getUniqueId());
  99. }
  100. }
  101. }
  102.  
  103. public void generarMesa(Player p){
  104. mesas.put(p.getUniqueId(), Bukkit.getServer().createInventory(p, 45, ChatColor.BLUE+"Mesa de trabajo especial"));
  105. cristalim.setDisplayName(" ");
  106. cristal.setItemMeta(cristalim);
  107. for(int i=0; i<45; i++){
  108. mesas.get(p.getUniqueId()).setItem(i, cristal);
  109. }
  110. mesas.get(p.getUniqueId()).setItem(10, new ItemStack(Material.AIR));
  111. mesas.get(p.getUniqueId()).setItem(11, new ItemStack(Material.AIR));
  112. mesas.get(p.getUniqueId()).setItem(12, new ItemStack(Material.AIR));
  113. mesas.get(p.getUniqueId()).setItem(19, new ItemStack(Material.AIR));
  114. mesas.get(p.getUniqueId()).setItem(20, new ItemStack(Material.AIR));
  115. mesas.get(p.getUniqueId()).setItem(21, new ItemStack(Material.AIR));
  116. mesas.get(p.getUniqueId()).setItem(28, new ItemStack(Material.AIR));
  117. mesas.get(p.getUniqueId()).setItem(29, new ItemStack(Material.AIR));
  118. mesas.get(p.getUniqueId()).setItem(30, new ItemStack(Material.AIR));
  119. mesas.get(p.getUniqueId()).setItem(25, new ItemStack(Material.AIR));
  120. }
  121.  
  122. @EventHandler
  123. public void alJugador(PlayerInteractEvent e){
  124. Player j = e.getPlayer();
  125. if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
  126. if(e.getClickedBlock().getType() == Material.CRAFTING_TABLE && !e.getPlayer().isSneaking()){
  127. generarMesa(j);
  128. j.openInventory(mesas.get(j.getUniqueId()));
  129. e.setCancelled(true);
  130. }
  131. }
  132. }
  133.  
  134. @EventHandler
  135. public void alDrag(InventoryDragEvent e) {
  136. if (e.getInventory().getName().equalsIgnoreCase(ChatColor.BLUE + "Mesa de trabajo especial")) {
  137. if (e.getInventorySlots().contains(25)) {
  138. e.setCancelled(true);
  139. }
  140. }
  141. }
  142.  
  143. @EventHandler
  144. public void alClickarEnGui(InventoryClickEvent e) {
  145. if (e.getInventory().getName().equalsIgnoreCase(ChatColor.BLUE + "Mesa de trabajo especial")) {
  146. ItemStack item = e.getCurrentItem();
  147. if (item != null && item.getType() == Material.GRAY_STAINED_GLASS_PANE
  148. && item.getItemMeta().getDisplayName().equalsIgnoreCase(" ")) {
  149. e.setCancelled(true);
  150. } else if ((e.getSlot() == 25) || (e.getAction().equals(InventoryAction.PLACE_ONE) || (e.getAction().equals(InventoryAction.PLACE_SOME))
  151. || e.getAction().equals(InventoryAction.PLACE_ALL))) {
  152. e.setCancelled(true);
  153. }
  154. }
  155. }
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement