Why Inventory Gui isn't working...

Discussion in 'Plugin Development' started by winitro, Sep 18, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    winitro

    The event.
    Code:java
    1. @EventHandler
    2. public void onInventoryClick(InventoryClickEvent event) {
    3. Player player1 = (Player) event.getWhoClicked();
    4. if (!ChatColor.stripColor(event.getInventory().getName())
    5. .equalsIgnoreCase("Mine" + "Spasm " + "kits"))
    6. return;
    7. event.setCancelled(true);
    8.  
    9. if (event.getCurrentItem() == null
    10. || event.getCurrentItem().getType() == Material.AIR
    11. || !event.getCurrentItem().hasItemMeta()) {
    12. player1.closeInventory();
    13. return;
    14. }
    15. if(KeeperofThings.contains(player1.getName())){
    16. player1.sendMessage("§1Mine§9Spasm §c>> " + ChatColor.DARK_RED + "There's only one kit per life!");
    17. player1.closeInventory();
    18. return;
    19. }
    20. if (event.getCurrentItem().getItemMeta().getDisplayName().contains(ChatColor.RED + "Warrior")){
    21. if(player1.hasPermission("MineSpasmKits.Warrior")){
    22. KeeperofThings.add(player1.getName());
    23. player1.closeInventory();
    24. ItemStack e = setMeta(new ItemStack(Material.CHAINMAIL_HELMET), "§cWarrior's Helment" + "", Arrays.asList(""));
    25. ItemStack i = setMeta(new ItemStack(Material.CHAINMAIL_CHESTPLATE), "§cWarrior's Chestplate" + "", Arrays.asList(""));
    26. ItemStack p = setMeta(new ItemStack(Material.CHAINMAIL_LEGGINGS), "§cWarrior's Chestplate" + "", Arrays.asList(""));
    27. ItemStack o = setMeta(new ItemStack(Material.CHAINMAIL_BOOTS), "§cWarrior's Chestplate" + "", Arrays.asList(""));
    28. ItemStack s = setMeta(new ItemStack(Material.IRON_SWORD), "§cWarrior's Sword" + "", Arrays.asList(""));
    29. Potion splash = new Potion(PotionType.SPEED, 1);
    30.  
    31. player1.sendMessage("§1Mine§9Spasm §c>> §6You got kit §cWarrior§6!");
    32. player1.getInventory().setHelmet(e);
    33. player1.getInventory().setChestplate(i);
    34. player1.getInventory().setLeggings(p);
    35. player1.getInventory().setBoots(o);
    36. player1.getInventory().setItemInHand(s);
    37. player1.getInventory().addItem(splash.toItemStack(1));
    38. player1.getInventory().addItem(splash.toItemStack(1));
    39. } else {
    40. player1.sendMessage("§1Mine§9Spasm §c>> §6You don't have permission to §cWarrior§6!");
    41. }
    42. }
    43. if(event.getCurrentItem().getItemMeta().getDisplayName().contains(ChatColor.GOLD + "Hunter")){
    44. if(player1.hasPermission("MineSpasmKits.Hunter")){
    45. KeeperofThings.add(player1.getName());
    46. player1.closeInventory();
    47. player1.getInventory().clear();
    48. ItemStack E = setMeta(new ItemStack(Material.GOLD_HELMET), "§6Hunter's Helment" + "", Arrays.asList(""));
    49. ItemStack LI = setMeta(new ItemStack(Material.LEATHER_CHESTPLATE), "§6Hunter's Chestplate" + "", Arrays.asList(""));
    50. ItemStack LA = setMeta(new ItemStack(Material.LEATHER_LEGGINGS), "§6Hunter's Leggings" + "", Arrays.asList(""));
    51. ItemStack LL = setMeta(new ItemStack(Material.GOLD_BOOTS), "§6Hunter's Boots" + "", Arrays.asList(""));
    52. ItemStack LE = setMeta(new ItemStack(Material.DIAMOND_SWORD), "§6Hunter's Sword" + "", Arrays.asList(""));
    53. ItemStack LP = setMeta(new ItemStack(Material.BOW), "§6Hunter's Bow" + "", Arrays.asList(""));
    54. ItemStack IU = setMeta(new ItemStack(Material.ARROW), "§6Arrow" + "", Arrays.asList(""));
    55. Potion spsh = new Potion(PotionType.SPEED, 1);
    56.  
    57.  
    58. LL.addEnchantment(Enchantment.PROTECTION_FIRE, 4);
    59.  
    60. player1.sendMessage("§1Mine§9Spasm §c>> §6You got kit Hunter!");
    61. player1.getInventory().setHelmet(E);
    62. player1.getInventory().setChestplate(LI);
    63. player1.getInventory().setLeggings(LA);
    64. player1.getInventory().setBoots(LL);
    65. player1.getInventory().addItem(LE);
    66. player1.getInventory().addItem(LP);
    67. player1.getInventory().addItem(IU);
    68. player1.getInventory().addItem(spsh.toItemStack(1));
    69. player1.getInventory().addItem(spsh.toItemStack(1));
    70.  
    71. }else{
    72. player1.sendMessage("§1Mine§9Spasm §c>> §6You don't have permission to Hunter§6!");
    73. }
    74. }
    75. if(event.getCurrentItem().getItemMeta().getDisplayName().contains(ChatColor.LIGHT_PURPLE + "Chemist")){
    76. if(player1.hasPermission("MineSpasmKits.Chemist")){
    77. KeeperofThings.add(player1.getName());
    78. player1.closeInventory();
    79. player1.getInventory().clear();
    80. ItemStack l = setMeta(new ItemStack(Material.GOLD_HELMET), "§dChemist's Helment" + "", Arrays.asList(""));
    81. ItemStack m = setMeta(new ItemStack(Material.GOLD_CHESTPLATE), "§dChemist's Chestplate" + "", Arrays.asList(""));
    82. ItemStack q = setMeta(new ItemStack(Material.GOLD_LEGGINGS), "§dChemist's Leggings" + "", Arrays.asList(""));
    83. ItemStack w = setMeta(new ItemStack(Material.GOLD_BOOTS), "§6Chemist's Boots" + "", Arrays.asList(""));
    84. ItemStack v = setMeta(new ItemStack(Material.WOOD_SWORD), "§dChemist's Sword" + "", Arrays.asList(""));
    85. Potion splash = new Potion(PotionType.SPEED, 2);
    86. Potion splah = new Potion(PotionType.WEAKNESS, 1);
    87. splah.setSplash(true);
    88. Potion splas = new Potion(PotionType.REGEN, 2);
    89. Potion splsh = new Potion(PotionType.INSTANT_HEAL, 1);
    90. Potion spash = new Potion(PotionType.INSTANT_DAMAGE, 1);
    91. spash.setSplash(true);
    92.  
    93. l.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    94. m.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    95. q.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    96. w.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    97. v.addEnchantment(Enchantment.DAMAGE_ALL, 3);
    98.  
    99. player1.getInventory().setHelmet(l);
    100. player1.getInventory().setChestplate(m);
    101. player1.getInventory().setLeggings(q);
    102. player1.getInventory().setBoots(w);
    103. player1.getInventory().setItemInHand(v);
    104. player1.getInventory().addItem(splash.toItemStack(1));
    105. player1.getInventory().addItem(splash.toItemStack(1));
    106. player1.getInventory().addItem(splas.toItemStack(1));
    107. player1.getInventory().addItem(splas.toItemStack(1));
    108. player1.getInventory().addItem(splas.toItemStack(1));
    109. player1.getInventory().addItem(splsh.toItemStack(1));
    110. player1.getInventory().addItem(splsh.toItemStack(1));
    111. player1.getInventory().addItem(splsh.toItemStack(1));
    112. player1.getInventory().addItem(splsh.toItemStack(1));
    113. player1.getInventory().addItem(splsh.toItemStack(1));
    114. player1.getInventory().addItem(splah.toItemStack(1));
    115. player1.getInventory().addItem(splah.toItemStack(1));
    116. player1.getInventory().addItem(splash.toItemStack(1));
    117. player1.getInventory().addItem(spash.toItemStack(1));
    118. player1.getInventory().addItem(spash.toItemStack(1));
    119. }
    120. }
    121. if(event.getCurrentItem().getItemMeta().getDisplayName().contains(ChatColor.GRAY + "Fighter")){
    122. if(player1.hasPermission("MineSpasmKits.Fighter")){
    123. KeeperofThings.add(player1.getName());
    124. player1.closeInventory();
    125. player1.getInventory().clear();
    126. ItemStack b = setMeta(new ItemStack(Material.IRON_HELMET), "§7Fighter's Helment" + "", Arrays.asList(""));
    127. ItemStack r = setMeta(new ItemStack(Material.CHAINMAIL_CHESTPLATE), "§7Fighter's Chestplate" + "", Arrays.asList(""));
    128. ItemStack t = setMeta(new ItemStack(Material.CHAINMAIL_LEGGINGS), "§7Fighter's Chestplate" + "", Arrays.asList(""));
    129. ItemStack y = setMeta(new ItemStack(Material.IRON_BOOTS), "§7Fighter's Chestplate" + "", Arrays.asList(""));
    130. ItemStack vi = setMeta(new ItemStack(Material.IRON_SWORD), "§7Fighter's Sword" + "", Arrays.asList(""));
    131.  
    132.  
    133. player1.getInventory().setHelmet(b);
    134. player1.getInventory().setChestplate(r);
    135. player1.getInventory().setLeggings(t);
    136. player1.getInventory().setBoots(y);
    137. player1.getInventory().setItemInHand(vi);
    138. }
    139. }
    140. if(event.getCurrentItem().getItemMeta().getDisplayName().contains(ChatColor.YELLOW + "Samurai")){
    141. if(player1.hasPermission("MineSpasmKits.Samurai")){
    142. KeeperofThings.add(player1.getName());
    143. player1.closeInventory();
    144. player1.getInventory().clear();
    145. ItemStack k = setMeta(new ItemStack(Material.GOLD_HELMET), "§eSamurai's Helment" + "", Arrays.asList(""));
    146. ItemStack j = setMeta(new ItemStack(Material.CHAINMAIL_CHESTPLATE), "§eSamurai's Chestplate" + "", Arrays.asList(""));
    147. ItemStack g = setMeta(new ItemStack(Material.CHAINMAIL_LEGGINGS), "§eSamurai's Leggings" + "", Arrays.asList(""));
    148. ItemStack f = setMeta(new ItemStack(Material.GOLD_BOOTS), "§eSamurai's Boots" + "", Arrays.asList(""));
    149. ItemStack d = setMeta(new ItemStack(Material.IRON_SWORD), "§eSamurai's Katana" + "", Arrays.asList(""));
    150.  
    151. d.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    152.  
    153. player1.getInventory().setHelmet(k);
    154. player1.getInventory().setChestplate(j);
    155. player1.getInventory().setLeggings(g);
    156. player1.getInventory().setBoots(f);
    157. player1.getInventory().setItemInHand(d);
    158. }
    159. }
    160. if(event.getCurrentItem().getItemMeta().getDisplayName().contains(ChatColor.GREEN + "Yoshi")){
    161. if(player1.hasPermission("MineSpasmKits.Yoshi")){
    162. KeeperofThings.add(player1.getName());
    163. player1.closeInventory();
    164. player1.getInventory().clear();
    165. ItemStack IL = dyeArmour(Material.LEATHER_CHESTPLATE, 0, 255, 0);
    166. ItemMeta tm = IL.getItemMeta();
    167. tm.setDisplayName("§aYoshi's Chestplate");
    168. IL.setItemMeta(tm);
    169. ItemStack EA = dyeArmour(Material.LEATHER_HELMET, 0, 255, 0);
    170. ItemMeta ti = EA.getItemMeta();
    171. ti.setDisplayName("§aYoshi's Helment");
    172. EA.setItemMeta(ti);
    173. ItemStack AL = dyeArmour(Material.LEATHER_LEGGINGS, 0, 255, 0);
    174. ItemMeta tP = EA.getItemMeta();
    175. tP.setDisplayName("§aYoshi's Leggings");
    176. AL.setItemMeta(tP);
    177. ItemStack EV = dyeArmour(Material.LEATHER_BOOTS, 0, 255, 0);
    178. ArrayList<String> lore = new ArrayList<String>();
    179. ItemMeta tL = EA.getItemMeta();
    180. tL.setDisplayName("§aYoshi's Boots");
    181. lore.add(ChatColor.GRAY + "Jumping I");
    182. tL.setLore(lore);
    183. EV.setItemMeta(tL);
    184. ItemStack PL = setMeta(new ItemStack(Material.FISHING_ROD), "§aYoshi's Tail" + "", Arrays.asList(""));
    185. ItemStack WL = setMeta(new ItemStack(Material.BOW), "§aYoshi's Tongue" + "", Arrays.asList(""));
    186. ItemStack JI = setMeta(new ItemStack(Material.ARROW), "§aYoshi's Eggs" + "", Arrays.asList(""));
    187.  
    188. WL.addEnchantment(Enchantment.ARROW_INFINITE, 1);
    189. WL.addEnchantment(Enchantment.ARROW_DAMAGE, 1);
    190.  
    191. player1.getInventory().setHelmet(EA);
    192. player1.getInventory().setChestplate(IL);
    193. player1.getInventory().setLeggings(AL);
    194. player1.getInventory().setBoots(EV);
    195. player1.getInventory().setItemInHand(WL);
    196. player1.getInventory().addItem(PL);
    197. player1.getInventory().addItem(JI);
    198. }
    199. }
    200. if(event.getCurrentItem().getItemMeta().getDisplayName().contains("§c§lComing soon!")){
    201. Player player = (Player) event.getWhoClicked();
    202. player.closeInventory();
    203. player.sendMessage("§1Mine§9Spasm §c>> §eThis kit well be be coming soon!");
    204. }
    205. if(event.getCurrentItem().getItemMeta().getDisplayName().contains("§c§l<< §e§lNon-Donor | Donor §c§l>>")){
    206. Player player = (Player) event.getWhoClicked();
    207. player.closeInventory();
    208. player.sendMessage("§1Mine§9Spasm §c>> §eDonator kits are on the >> that side");
    209. player.sendMessage("§1Mine§9Spasm §c>> §eMember kits are on the << that side");
    210. }
    211. }
     
  2. Offline

    SmooshCakez

    Registered your events? Also, your use of string concatenation at line 5 is redundant. winitro
     
  3. Offline

    winitro

    I am registering the events
     
  4. Offline

    fireblast709

    winitro don't close the inventory within the click event, close it using a 0 tick delayed task. For the rest, debug your event handler
     
  5. Offline

    Unica

    winitro

    This might solve quite some lines of code
    Code:java
    1. private ItemStack createItem(Material material, String displayName, String... lore){
    2. ItemStack i = new ItemStack(material);
    3. ItemMeta meta = i.getItemMeta();
    4. meta.setDisplayName(displayName);
    5. ArrayList<String> lore_list = new ArrayList<String>();
    6. for(String s : lore){
    7. lore_list.add(s);
    8. }
    9. meta.setLore(lore_list);
    10. i.setItemMeta(meta);
    11. return i;
    12. }


    And now, if you want to give a player an item you can just
    Code:java
    1. p.getInventory.addItem(createItem(Material.MATERIAL, "Name", "Lore 1", "Lore 2", "Lore 3"));


    Or set an helmet ;)
     
Thread Status:
Not open for further replies.

Share This Page