Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.66 KB | None | 0 0
  1. package fr.pierrot.risitas.listeners;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import java.util.Map.Entry;
  8.  
  9. import org.bukkit.Sound;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.inventory.ClickType;
  14. import org.bukkit.event.inventory.InventoryClickEvent;
  15. import org.bukkit.inventory.Inventory;
  16. import org.bukkit.inventory.ItemStack;
  17. import org.bukkit.inventory.PlayerInventory;
  18. import org.bukkit.inventory.meta.ItemMeta;
  19.  
  20. import fr.pierrot.risitas.Risitas;
  21.  
  22. public class InventoryClick implements Listener {
  23.  
  24. private Risitas main;
  25. public InventoryClick(Risitas main) {
  26. this.main = main;
  27. }
  28.  
  29. public static HashMap<Player, HashMap<ItemStack, Integer>> items = new HashMap<Player, HashMap<ItemStack, Integer>>();
  30.  
  31. public static HashMap<Player, List<String>> lore = new HashMap<Player, List<String>>();
  32.  
  33. public static HashMap<Player, HashMap<ItemStack, Integer>> sold = new HashMap<Player, HashMap<ItemStack, Integer>>();
  34.  
  35. @SuppressWarnings("deprecation")
  36. @EventHandler
  37. public void onClick(InventoryClickEvent e) {
  38.  
  39. if(e.getCurrentItem() == null) return;
  40. if(!e.getCurrentItem().hasItemMeta()) return;
  41.  
  42. Player p = (Player) e.getWhoClicked();
  43.  
  44. ItemStack t = e.getCurrentItem();
  45.  
  46. String tM = t.getItemMeta().getDisplayName();
  47.  
  48. Inventory inv = p.getInventory();
  49.  
  50. String invName = e.getInventory().getTitle();
  51.  
  52. if(tM == "§7Aya") {
  53.  
  54. e.setCancelled(true);
  55.  
  56. p.playSound(p.getLocation(), Sound.LEVEL_UP, 5, 5);
  57.  
  58. p.closeInventory();
  59.  
  60. main.blocksInventory.openInv(p);
  61.  
  62. }
  63.  
  64. if(invName.equals("§7Risitas") || invName.equals("§7Jesus")) {
  65.  
  66. if(t.getItemMeta().hasLore()) {
  67.  
  68. if(e.getClick() == ClickType.LEFT) {
  69.  
  70. p.closeInventory();
  71.  
  72. p.sendMessage(main.prefix + "Bien vu !");
  73.  
  74. HashMap<ItemStack, Integer> map = new HashMap<ItemStack, Integer>();
  75.  
  76. map.put(t, 1);
  77.  
  78. items.put(p, map);
  79. lore.put(p, t.getItemMeta().getLore());
  80. main.stop.put(p, 1);
  81.  
  82.  
  83. } else if(e.getClick() == ClickType.RIGHT) {
  84.  
  85. PlayerInventory inventory = e.getWhoClicked().getInventory();
  86.  
  87. if(!t.getItemMeta().getLore().get(2).equalsIgnoreCase("§7Issou")) {
  88.  
  89. if(inventory.contains(t.getTypeId())) {
  90.  
  91. p.closeInventory();
  92.  
  93. p.sendMessage(main.prefix + "Wut ?");
  94.  
  95. HashMap<ItemStack, Integer> map = new HashMap<ItemStack, Integer>();
  96.  
  97. map.put(t, 1);
  98.  
  99. sold.put(p, map);
  100.  
  101. lore.put(p, t.getItemMeta().getLore());
  102.  
  103. main.stop2.put(p, 1);
  104.  
  105. }
  106.  
  107. }
  108.  
  109. } else if(e.getClick() == ClickType.MIDDLE) {
  110.  
  111. PlayerInventory inventory = e.getWhoClicked().getInventory();
  112.  
  113. if(!t.getItemMeta().getLore().get(2).equalsIgnoreCase("§7Issou")) {
  114.  
  115. if(inventory.contains(t.getTypeId())) {
  116.  
  117. Map<Integer, ? extends ItemStack> matches = inventory.all(t.getType());
  118.  
  119. int count = 0;
  120.  
  121. for(int slot : matches.keySet()) {
  122.  
  123. ItemStack item = matches.get(slot);
  124.  
  125. if(item.getType() == t.getType() && item.getData().getData() == t.getData().getData()){
  126.  
  127. count += item.getAmount();
  128.  
  129. inventory.clear(slot);
  130.  
  131. p.sendMessage(main.prefix + count);
  132.  
  133. p.playSound(p.getLocation(), Sound.SUCCESSFUL_HIT, 3, 3);
  134.  
  135. p.closeInventory();
  136.  
  137. break;
  138.  
  139. }
  140.  
  141.  
  142. }
  143.  
  144. }
  145.  
  146. }
  147.  
  148. }
  149.  
  150. }
  151.  
  152. }
  153.  
  154. e.setCancelled(true);
  155.  
  156. }
  157.  
  158. public static void setItem(Player p) {
  159.  
  160. if(items.containsKey(p)) {
  161.  
  162. for(Entry<ItemStack, Integer> i : items.get(p).entrySet()) {
  163.  
  164. ItemStack item = i.getKey();
  165. item.setAmount(i.getValue());
  166.  
  167. if(item.hasItemMeta()) {
  168.  
  169. ItemMeta itm = item.getItemMeta();
  170.  
  171. if(itm.hasLore()) {
  172.  
  173. itm.setLore(new ArrayList<String>());
  174.  
  175. }
  176.  
  177. if(itm.hasDisplayName()) {
  178.  
  179. itm.setDisplayName("");
  180.  
  181. }
  182.  
  183. item.setItemMeta(itm);
  184.  
  185. }
  186.  
  187. p.getInventory().addItem(item);
  188.  
  189. }
  190.  
  191. }
  192.  
  193. }
  194.  
  195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement