Solved Selecting a kit Crashes my server

Discussion in 'Plugin Development' started by CraftCreeper6, Apr 24, 2014.

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

    CraftCreeper6

    Hello! I posted a forum a while ago but no one knew why it as crashing my server!
    I have found out but cannot find a fix,
    Basically, the GUI is fine, no problems, it is when I click the item to select the kit :/
    Here is my code (I sincerely cannot find a fix :/):
    Code:java
    1. package me.CraftCreeper6.utilites;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.List;
    5.  
    6. import org.bukkit.Bukkit;
    7. import org.bukkit.ChatColor;
    8. import org.bukkit.Location;
    9. import org.bukkit.Material;
    10. import org.bukkit.block.Block;
    11. import org.bukkit.block.Sign;
    12. import org.bukkit.enchantments.Enchantment;
    13. import org.bukkit.entity.Player;
    14. import org.bukkit.event.EventHandler;
    15. import org.bukkit.event.Listener;
    16. import org.bukkit.event.block.Action;
    17. import org.bukkit.event.inventory.InventoryClickEvent;
    18. import org.bukkit.event.player.PlayerInteractEvent;
    19. import org.bukkit.event.player.PlayerJoinEvent;
    20. import org.bukkit.inventory.Inventory;
    21. import org.bukkit.inventory.ItemStack;
    22. import org.bukkit.inventory.meta.ItemMeta;
    23. import org.bukkit.plugin.java.JavaPlugin;
    24. import org.bukkit.potion.PotionEffect;
    25. import org.bukkit.potion.PotionEffectType;
    26.  
    27. public class InvGUI extends JavaPlugin implements Listener {
    28.  
    29. private void teleportInWorld(Player p, int x, int y, int z) {
    30.  
    31. p.teleport(new Location(p.getWorld(), x, y, z));
    32.  
    33. }
    34.  
    35. private void openGUI2(Player p) {
    36.  
    37. Inventory Veiw = Bukkit.createInventory(null, 54, ChatColor.BLUE + "Kit veiwer");
    38.  
    39. //TANK
    40.  
    41. ItemStack tankhelmet = new ItemStack(Material.DIAMOND_HELMET);
    42.  
    43. ItemStack tankchestplate = new ItemStack(Material.DIAMOND_CHESTPLATE);
    44.  
    45. ItemStack tankleggs = new ItemStack(Material.DIAMOND_LEGGINGS);
    46.  
    47. ItemStack tankboots = new ItemStack(Material.DIAMOND_BOOTS);
    48.  
    49. ItemStack tanksword = new ItemStack(Material.IRON_SWORD);
    50.  
    51. ItemStack tankfood = new ItemStack(Material.COOKED_BEEF, 32);
    52.  
    53. //ARCHER
    54.  
    55. ItemStack archerhelmet = new ItemStack(Material.LEATHER_HELMET);
    56.  
    57. ItemStack archerchestplate = new ItemStack(Material.LEATHER_CHESTPLATE);
    58.  
    59. ItemStack archerleggs = new ItemStack(Material.LEATHER_LEGGINGS);
    60.  
    61. ItemStack archerboots = new ItemStack(Material.LEATHER_BOOTS);
    62.  
    63. ItemStack archerfood = new ItemStack(Material.COOKED_BEEF, 32);
    64.  
    65. ItemStack archerbow = new ItemStack(Material.BOW);
    66.  
    67. ItemStack archerarrow = new ItemStack(Material.ARROW);
    68.  
    69. //KNIGHT
    70.  
    71. ItemStack knighthelmet = new ItemStack(Material.IRON_HELMET);
    72.  
    73. ItemStack knightchestplate = new ItemStack(Material.IRON_CHESTPLATE);
    74.  
    75. ItemStack knightleggs = new ItemStack(Material.IRON_LEGGINGS);
    76.  
    77. ItemStack knightboots = new ItemStack(Material.IRON_BOOTS);
    78.  
    79. ItemStack knightsword = new ItemStack(Material.DIAMOND_SWORD);
    80.  
    81. ItemStack knightfood = new ItemStack(Material.COOKED_BEEF, 32);
    82.  
    83. //HORSE
    84.  
    85. ItemStack horsehelmet = new ItemStack(Material.IRON_HELMET);
    86.  
    87. ItemStack horsechestplate = new ItemStack(Material.IRON_CHESTPLATE);
    88.  
    89. ItemStack horseleggs = new ItemStack(Material.IRON_LEGGINGS);
    90.  
    91. ItemStack horseboots = new ItemStack(Material.IRON_BOOTS);
    92.  
    93. ItemStack horsesword = new ItemStack(Material.IRON_SWORD);
    94.  
    95. ItemStack horsefood = new ItemStack(Material.COOKED_BEEF, 32);
    96.  
    97. //ENCHANTS
    98.  
    99.  
    100. //*Tank
    101. tankhelmet.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    102. tankchestplate.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    103. tankleggs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    104. tankboots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 1);
    105. tanksword.addEnchantment(Enchantment.DAMAGE_ALL, 2);
    106.  
    107. //*Archer
    108.  
    109. archerhelmet.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    110. archerchestplate.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    111. archerleggs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    112. archerboots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    113. archerbow.addEnchantment(Enchantment.ARROW_DAMAGE, 2);
    114. archerbow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
    115.  
    116. //*Knight
    117.  
    118. knighthelmet.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    119. knightchestplate.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    120. knightleggs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    121. knightboots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    122. knightsword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    123. knightsword.addEnchantment(Enchantment.KNOCKBACK, 1);
    124.  
    125. //*Horse
    126.  
    127. horsehelmet.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    128. horsechestplate.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    129. horseleggs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    130. horseboots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    131. horsesword.addEnchantment(Enchantment.DAMAGE_ALL, 3);
    132.  
    133. //ADD ITEMS
    134.  
    135. //*Tank
    136.  
    137. Veiw.setItem(1, tankhelmet);
    138. Veiw.setItem(2, tankchestplate);
    139. Veiw.setItem(3, tankleggs);
    140. Veiw.setItem(4, tankboots);
    141. Veiw.setItem(5, tanksword);
    142. Veiw.setItem(6, tankfood);
    143.  
    144. //*Archer
    145.  
    146. Veiw.setItem(10, archerhelmet);
    147. Veiw.setItem(11, archerchestplate);
    148. Veiw.setItem(12, archerleggs);
    149. Veiw.setItem(13, archerboots);
    150. Veiw.setItem(14, archerbow);
    151. Veiw.setItem(15, archerfood);
    152. Veiw.setItem(16, archerarrow);
    153.  
    154. //*Knight
    155.  
    156. Veiw.setItem(37, knighthelmet);
    157. Veiw.setItem(38, knightchestplate);
    158. Veiw.setItem(39, knightleggs);
    159. Veiw.setItem(40, knightboots);
    160. Veiw.setItem(41, knightsword);
    161. Veiw.setItem(42, knightfood);
    162.  
    163. //*Horse
    164.  
    165. Veiw.setItem(46, horsehelmet);
    166. Veiw.setItem(47, horsechestplate);
    167. Veiw.setItem(48, horseleggs);
    168. Veiw.setItem(49, horseboots);
    169. Veiw.setItem(50, horsesword);
    170. Veiw.setItem(51, horsefood);
    171.  
    172. //ICONS
    173.  
    174. ItemStack tank = new ItemStack(Material.DIAMOND_CHESTPLATE);
    175. ItemMeta tankMeta = tank.getItemMeta();
    176.  
    177. ItemStack archer = new ItemStack(Material.BOW);
    178. ItemMeta archerMeta = archer.getItemMeta();
    179.  
    180. ItemStack knight = new ItemStack(Material.DIAMOND_SWORD);
    181. ItemMeta knightMeta = knight.getItemMeta();
    182.  
    183. ItemStack horse = new ItemStack(Material.HAY_BLOCK);
    184. ItemMeta horseMeta = horse.getItemMeta();
    185.  
    186. List<String> tankLore = new ArrayList<String>();
    187. tankLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    188. + "Tank for your friend and obliterate all in sight!");
    189. tankMeta.setLore(tankLore);
    190. tankMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    191. + ChatColor.ITALIC + "TANK");
    192. tank.setItemMeta(tankMeta);
    193.  
    194. List<String> archerLore = new ArrayList<String>();
    195. archerLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    196. + "Stay back, Shoot, Kill!");
    197. archerMeta.setLore(archerLore);
    198. archerMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    199. + ChatColor.ITALIC + "ARCHER");
    200. archer.setItemMeta(archerMeta);
    201.  
    202. List<String> knightLore = new ArrayList<String>();
    203. knightLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    204. + "Melee fighter deals alot of damage!");
    205. knightMeta.setLore(knightLore);
    206. knightMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    207. + ChatColor.ITALIC + "KNIGHT");
    208. knight.setItemMeta(knightMeta);
    209.  
    210. List<String> horseLore = new ArrayList<String>();
    211. horseLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    212. + "High damage but low armor!");
    213. horseMeta.setLore(horseLore);
    214. horseMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    215. + ChatColor.ITALIC + "HORSE");
    216. horse.setItemMeta(horseMeta);
    217.  
    218. Veiw.setItem(0, tank);
    219. Veiw.setItem(9, archer);
    220. Veiw.setItem(36, knight);
    221. Veiw.setItem(45, horse);
    222.  
    223. //JOIN AS THE KIT
    224.  
    225. //*Tank
    226.  
    227. ItemStack tankJoin = new ItemStack(Material.ANVIL);
    228. ItemMeta tJMeta = tankJoin.getItemMeta();
    229.  
    230. tJMeta.setDisplayName(ChatColor.BLUE + "" + ChatColor.BOLD + "Join as the tank!");
    231.  
    232. tankJoin.setItemMeta(tJMeta);
    233.  
    234. //*Archer
    235.  
    236. ItemStack archerJoin = new ItemStack(Material.BOW);
    237. ItemMeta aJMeta = archerJoin.getItemMeta();
    238.  
    239. aJMeta.setDisplayName(ChatColor.BLUE + "" + ChatColor.BOLD + "Join as the archer!");
    240.  
    241. archerJoin.setItemMeta(aJMeta);
    242.  
    243. //*Knight
    244.  
    245. ItemStack knightJoin = new ItemStack(Material.WOOD_SWORD);
    246. ItemMeta kJMeta = knightJoin.getItemMeta();
    247.  
    248. kJMeta.setDisplayName(ChatColor.BLUE + "" + ChatColor.BOLD + "Join as the knight!");
    249.  
    250. knightJoin.setItemMeta(kJMeta);
    251.  
    252. //*Horse
    253.  
    254. ItemStack horseJoin = new ItemStack(Material.IRON_BLOCK);
    255. ItemMeta hJMeta = horseJoin.getItemMeta();
    256.  
    257. hJMeta.setDisplayName(ChatColor.BLUE + "" + ChatColor.BOLD + "Join as the horse!");
    258.  
    259. horseJoin.setItemMeta(hJMeta);
    260.  
    261. //SET ITEM JOINS
    262.  
    263. Veiw.setItem(8, tankJoin);
    264. Veiw.setItem(17, archerJoin);
    265. Veiw.setItem(44, knightJoin);
    266. Veiw.setItem(53, horseJoin);
    267.  
    268. p.openInventory(Veiw);
    269.  
    270. }
    271.  
    272. private void openGUI(Player p) {
    273.  
    274. p.sendMessage("TEST TWO");
    275. Inventory inv = Bukkit.createInventory(null, 27, ChatColor.BLUE
    276. + "Kit Selector");
    277.  
    278. ItemStack tank = new ItemStack(Material.DIAMOND_CHESTPLATE);
    279. ItemMeta tankMeta = tank.getItemMeta();
    280.  
    281. ItemStack archer = new ItemStack(Material.BOW);
    282. ItemMeta archerMeta = archer.getItemMeta();
    283.  
    284. ItemStack knight = new ItemStack(Material.DIAMOND_SWORD);
    285. ItemMeta knightMeta = knight.getItemMeta();
    286.  
    287. ItemStack horse = new ItemStack(Material.HAY_BLOCK);
    288. ItemMeta horseMeta = horse.getItemMeta();
    289.  
    290. List<String> tankLore = new ArrayList<String>();
    291. tankLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    292. + "Tank for your friend and obliterate all in sight!");
    293. tankMeta.setLore(tankLore);
    294. tankMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    295. + ChatColor.ITALIC + "TANK");
    296. tank.setItemMeta(tankMeta);
    297.  
    298. List<String> archerLore = new ArrayList<String>();
    299. archerLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    300. + "Stay back, Shoot, Kill!");
    301. archerMeta.setLore(archerLore);
    302. archerMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    303. + ChatColor.ITALIC + "ARCHER");
    304. archer.setItemMeta(archerMeta);
    305.  
    306. List<String> knightLore = new ArrayList<String>();
    307. knightLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    308. + "Melee fighter deals alot of damage!");
    309. knightMeta.setLore(knightLore);
    310. knightMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    311. + ChatColor.ITALIC + "KNIGHT");
    312. knight.setItemMeta(knightMeta);
    313.  
    314. List<String> horseLore = new ArrayList<String>();
    315. horseLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    316. + "High damage but low armor!");
    317. horseMeta.setLore(horseLore);
    318. horseMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    319. + ChatColor.ITALIC + "HORSE");
    320. horse.setItemMeta(horseMeta);
    321.  
    322. inv.setItem(10, tank);
    323.  
    324. inv.setItem(12, archer);
    325.  
    326. inv.setItem(14, knight);
    327.  
    328. inv.setItem(16, horse);
    329.  
    330. p.openInventory(inv);
    331.  
    332. }
    333.  
    334. @EventHandler
    335. public void onInvenClick(InventoryClickEvent e) {
    336.  
    337. if (!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase(
    338. "Kit veiwer"))
    339. return;
    340.  
    341. Player p = (Player) e.getWhoClicked();
    342.  
    343. e.setCancelled(true);
    344.  
    345. p.sendMessage(ChatColor.RED + "You are not allowed to take items!");
    346.  
    347. if (e.getCurrentItem() == null
    348. || e.getCurrentItem().getType() == Material.AIR
    349. || !e.getCurrentItem().hasItemMeta()) {
    350. p.closeInventory();
    351. return;
    352.  
    353. }
    354.  
    355. switch(e.getCurrentItem().getType()){
    356.  
    357. case ANVIL:
    358.  
    359. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    360. 2, Integer.MAX_VALUE));
    361.  
    362. p.getInventory().clear();
    363.  
    364. teleportInWorld(p, 72, 69, 140);
    365. ItemStack tankarmorchest = new ItemStack(
    366. Material.DIAMOND_CHESTPLATE);
    367. ItemStack tankarmorhelm = new ItemStack(Material.DIAMOND_HELMET);
    368. ItemStack tankarmorleggs = new ItemStack(Material.DIAMOND_LEGGINGS);
    369. ItemStack tankarmorboots = new ItemStack(Material.DIAMOND_BOOTS);
    370. ItemStack tankarmorsword = new ItemStack(Material.IRON_SWORD);
    371. ItemStack tankarmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    372.  
    373. tankarmorchest.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    374. 1);
    375. tankarmorhelm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    376. 1);
    377. tankarmorleggs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    378. 1);
    379. tankarmorboots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    380. 1);
    381. tankarmorsword.addEnchantment(Enchantment.DAMAGE_ALL, 2);
    382.  
    383. p.getInventory().setHelmet(tankarmorhelm);
    384. p.getInventory().setChestplate(tankarmorchest);
    385. p.getInventory().setLeggings(tankarmorleggs);
    386. p.getInventory().setBoots(tankarmorboots);
    387.  
    388. p.getInventory().addItem(tankarmorsword);
    389. p.getInventory().addItem(tankarmorfood);
    390.  
    391. p.closeInventory();
    392.  
    393. break;
    394.  
    395. case BOW:
    396. p.getInventory().clear();
    397.  
    398. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    399. 2, 1));
    400.  
    401. teleportInWorld(p, 72, 69, 140);
    402. ItemStack archerarmorchest = new ItemStack(
    403. Material.LEATHER_CHESTPLATE);
    404. ItemStack archerarmorhelm = new ItemStack(Material.LEATHER_HELMET);
    405. ItemStack archerarmorleggs = new ItemStack(
    406. Material.LEATHER_LEGGINGS);
    407. ItemStack archerarmorboots = new ItemStack(Material.LEATHER_BOOTS);
    408. ItemStack archerarmorbow = new ItemStack(Material.BOW);
    409. ItemStack archerarmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    410. ItemStack archerarrow = new ItemStack(Material.ARROW);
    411.  
    412. archerarmorchest.addEnchantment(
    413. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    414. archerarmorhelm.addEnchantment(
    415. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    416. archerarmorleggs.addEnchantment(
    417. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    418. archerarmorboots.addEnchantment(
    419. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    420. archerarmorbow.addEnchantment(Enchantment.ARROW_DAMAGE, 2);
    421. archerarmorbow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
    422.  
    423. p.getInventory().setHelmet(archerarmorhelm);
    424. p.getInventory().setChestplate(archerarmorchest);
    425. p.getInventory().setLeggings(archerarmorleggs);
    426. p.getInventory().setBoots(archerarmorboots);
    427.  
    428. p.getInventory().addItem(archerarmorbow);
    429. p.getInventory().addItem(archerarmorfood);
    430. p.getInventory().addItem(archerarrow);
    431.  
    432. p.closeInventory();
    433. break;
    434.  
    435. case WOOD_SWORD:
    436.  
    437. p.getInventory().clear();
    438.  
    439. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    440. 2, Integer.MAX_VALUE));
    441.  
    442. teleportInWorld(p, 72, 69, 140);
    443. ItemStack knightarmorchest = new ItemStack(Material.IRON_CHESTPLATE);
    444. ItemStack knightarmorhelm = new ItemStack(Material.IRON_HELMET);
    445. ItemStack knightarmorleggs = new ItemStack(Material.IRON_LEGGINGS);
    446. ItemStack knightarmorboots = new ItemStack(Material.IRON_BOOTS);
    447. ItemStack knightarmorsword = new ItemStack(Material.DIAMOND_SWORD);
    448. ItemStack knightarmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    449.  
    450. knightarmorchest.addEnchantment(
    451. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    452. knightarmorhelm.addEnchantment(
    453. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    454. knightarmorleggs.addEnchantment(
    455. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    456. knightarmorboots.addEnchantment(
    457. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    458. knightarmorsword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    459. knightarmorsword.addEnchantment(Enchantment.KNOCKBACK, 1);
    460.  
    461. p.getInventory().setHelmet(knightarmorhelm);
    462. p.getInventory().setChestplate(knightarmorchest);
    463. p.getInventory().setLeggings(knightarmorleggs);
    464. p.getInventory().setBoots(knightarmorboots);
    465.  
    466. p.getInventory().addItem(knightarmorsword);
    467. p.getInventory().addItem(knightarmorfood);
    468.  
    469. p.closeInventory();
    470.  
    471. break;
    472.  
    473. case IRON_BLOCK:
    474.  
    475. p.getInventory().clear();
    476.  
    477. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    478. 2, Integer.MAX_VALUE));
    479.  
    480. teleportInWorld(p, 72, 69, 140);
    481. ItemStack horsearmorchest = new ItemStack(Material.IRON_CHESTPLATE);
    482. ItemStack horsearmorhelm = new ItemStack(Material.IRON_HELMET);
    483. ItemStack horsearmorleggs = new ItemStack(Material.IRON_LEGGINGS);
    484. ItemStack horsearmorboots = new ItemStack(Material.IRON_BOOTS);
    485. ItemStack horsearmorsword = new ItemStack(Material.IRON_SWORD);
    486. ItemStack horsearmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    487.  
    488. horsearmorchest.addEnchantment(
    489. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    490. horsearmorhelm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    491. 2);
    492. horsearmorleggs.addEnchantment(
    493. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    494. horsearmorboots.addEnchantment(
    495. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    496. horsearmorsword.addEnchantment(Enchantment.DAMAGE_ALL, 3);
    497.  
    498. p.getInventory().setHelmet(horsearmorhelm);
    499. p.getInventory().setChestplate(horsearmorchest);
    500. p.getInventory().setLeggings(horsearmorleggs);
    501. p.getInventory().setBoots(horsearmorboots);
    502.  
    503. p.getInventory().addItem(horsearmorsword);
    504. p.getInventory().addItem(horsearmorfood);
    505.  
    506. p.closeInventory();
    507.  
    508.  
    509. break;
    510.  
    511. default:
    512. break;
    513. }
    514. }
    515.  
    516. @EventHandler
    517. public void onInvClick(InventoryClickEvent e) {
    518.  
    519. if (!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase(
    520. "Kit Selector"))
    521. return;
    522.  
    523. Player p = (Player) e.getWhoClicked();
    524.  
    525. e.setCancelled(true);
    526.  
    527. if (e.getCurrentItem() == null
    528. || e.getCurrentItem().getType() == Material.AIR
    529. || !e.getCurrentItem().hasItemMeta()) {
    530. p.closeInventory();
    531. return;
    532. }
    533.  
    534. switch (e.getCurrentItem().getType()) {
    535.  
    536. case DIAMOND_CHESTPLATE:
    537.  
    538. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    539. 2, Integer.MAX_VALUE));
    540.  
    541. p.getInventory().clear();
    542.  
    543. teleportInWorld(p, 72, 69, 140);
    544. ItemStack tankarmorchest = new ItemStack(
    545. Material.DIAMOND_CHESTPLATE);
    546. ItemStack tankarmorhelm = new ItemStack(Material.DIAMOND_HELMET);
    547. ItemStack tankarmorleggs = new ItemStack(Material.DIAMOND_LEGGINGS);
    548. ItemStack tankarmorboots = new ItemStack(Material.DIAMOND_BOOTS);
    549. ItemStack tankarmorsword = new ItemStack(Material.IRON_SWORD);
    550. ItemStack tankarmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    551.  
    552. tankarmorchest.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    553. 1);
    554. tankarmorhelm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    555. 1);
    556. tankarmorleggs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    557. 1);
    558. tankarmorboots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    559. 1);
    560. tankarmorsword.addEnchantment(Enchantment.DAMAGE_ALL, 2);
    561.  
    562. p.getInventory().setHelmet(tankarmorhelm);
    563. p.getInventory().setChestplate(tankarmorchest);
    564. p.getInventory().setLeggings(tankarmorleggs);
    565. p.getInventory().setBoots(tankarmorboots);
    566.  
    567. p.getInventory().addItem(tankarmorsword);
    568. p.getInventory().addItem(tankarmorfood);
    569.  
    570. p.closeInventory();
    571.  
    572. break;
    573.  
    574. case BOW:
    575. p.getInventory().clear();
    576.  
    577. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    578. 2, 1));
    579.  
    580. teleportInWorld(p, 72, 69, 140);
    581. ItemStack archerarmorchest = new ItemStack(
    582. Material.LEATHER_CHESTPLATE);
    583. ItemStack archerarmorhelm = new ItemStack(Material.LEATHER_HELMET);
    584. ItemStack archerarmorleggs = new ItemStack(
    585. Material.LEATHER_LEGGINGS);
    586. ItemStack archerarmorboots = new ItemStack(Material.LEATHER_BOOTS);
    587. ItemStack archerarmorbow = new ItemStack(Material.BOW);
    588. ItemStack archerarmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    589. ItemStack archerarrow = new ItemStack(Material.ARROW);
    590.  
    591. archerarmorchest.addEnchantment(
    592. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    593. archerarmorhelm.addEnchantment(
    594. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    595. archerarmorleggs.addEnchantment(
    596. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    597. archerarmorboots.addEnchantment(
    598. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    599. archerarmorbow.addEnchantment(Enchantment.ARROW_DAMAGE, 2);
    600. archerarmorbow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
    601.  
    602. p.getInventory().setHelmet(archerarmorhelm);
    603. p.getInventory().setChestplate(archerarmorchest);
    604. p.getInventory().setLeggings(archerarmorleggs);
    605. p.getInventory().setBoots(archerarmorboots);
    606.  
    607. p.getInventory().addItem(archerarmorbow);
    608. p.getInventory().addItem(archerarmorfood);
    609. p.getInventory().addItem(archerarrow);
    610.  
    611. p.closeInventory();
    612.  
    613. break;
    614.  
    615. case DIAMOND_SWORD:
    616.  
    617. p.getInventory().clear();
    618.  
    619. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    620. 2, Integer.MAX_VALUE));
    621.  
    622. teleportInWorld(p, 72, 69, 140);
    623. ItemStack knightarmorchest = new ItemStack(Material.IRON_CHESTPLATE);
    624. ItemStack knightarmorhelm = new ItemStack(Material.IRON_HELMET);
    625. ItemStack knightarmorleggs = new ItemStack(Material.IRON_LEGGINGS);
    626. ItemStack knightarmorboots = new ItemStack(Material.IRON_BOOTS);
    627. ItemStack knightarmorsword = new ItemStack(Material.DIAMOND_SWORD);
    628. ItemStack knightarmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    629.  
    630. knightarmorchest.addEnchantment(
    631. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    632. knightarmorhelm.addEnchantment(
    633. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    634. knightarmorleggs.addEnchantment(
    635. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    636. knightarmorboots.addEnchantment(
    637. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    638. knightarmorsword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    639. knightarmorsword.addEnchantment(Enchantment.KNOCKBACK, 1);
    640.  
    641. p.getInventory().setHelmet(knightarmorhelm);
    642. p.getInventory().setChestplate(knightarmorchest);
    643. p.getInventory().setLeggings(knightarmorleggs);
    644. p.getInventory().setBoots(knightarmorboots);
    645.  
    646. p.getInventory().addItem(knightarmorsword);
    647. p.getInventory().addItem(knightarmorfood);
    648.  
    649. p.closeInventory();
    650.  
    651. break;
    652.  
    653. case HAY_BLOCK:
    654.  
    655. p.getInventory().clear();
    656.  
    657. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    658. 2, Integer.MAX_VALUE));
    659.  
    660. teleportInWorld(p, 72, 69, 140);
    661. ItemStack horsearmorchest = new ItemStack(Material.IRON_CHESTPLATE);
    662. ItemStack horsearmorhelm = new ItemStack(Material.IRON_HELMET);
    663. ItemStack horsearmorleggs = new ItemStack(Material.IRON_LEGGINGS);
    664. ItemStack horsearmorboots = new ItemStack(Material.IRON_BOOTS);
    665. ItemStack horsearmorsword = new ItemStack(Material.IRON_SWORD);
    666. ItemStack horsearmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    667.  
    668. horsearmorchest.addEnchantment(
    669. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    670. horsearmorhelm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    671. 2);
    672. horsearmorleggs.addEnchantment(
    673. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    674. horsearmorboots.addEnchantment(
    675. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    676. horsearmorsword.addEnchantment(Enchantment.DAMAGE_ALL, 3);
    677.  
    678. p.getInventory().setHelmet(horsearmorhelm);
    679. p.getInventory().setChestplate(horsearmorchest);
    680. p.getInventory().setLeggings(horsearmorleggs);
    681. p.getInventory().setBoots(horsearmorboots);
    682.  
    683. p.getInventory().addItem(horsearmorsword);
    684. p.getInventory().addItem(horsearmorfood);
    685.  
    686. p.closeInventory();
    687.  
    688. break;
    689.  
    690. default:
    691. break;
    692. }
    693.  
    694. }
    695.  
    696. @EventHandler
    697. public void onPlayerInteract(PlayerInteractEvent event) {
    698. Player p = event.getPlayer();
    699. Block block = event.getClickedBlock();
    700.  
    701. if (block != null && block.getType() == Material.SIGN_POST
    702. || block.getType() == Material.WALL_SIGN) {
    703. Sign sign = (Sign) block.getState();
    704. Action action = event.getAction();
    705. if (action == Action.RIGHT_CLICK_BLOCK) {
    706. if (sign.getLine(0).equalsIgnoreCase("[Minigame]")
    707. && sign.getLine(1).equalsIgnoreCase("Kit")
    708. && sign.getLine(2).equalsIgnoreCase("Veiwer")
    709. || sign.getLine(0).equalsIgnoreCase("§a[Minigame]")
    710. && sign.getLine(1).equalsIgnoreCase("§bKit")
    711. && sign.getLine(2).equalsIgnoreCase("§bVeiwer")
    712. && p.hasPermission("Sign.Interact.KitVeiw")) {
    713.  
    714. if (p.hasPermission("Sign.Create.KitVeiw")) {
    715.  
    716. sign.setLine(0, "§a[Minigame]");
    717. sign.setLine(1, "§bKit");
    718. sign.setLine(2, "§bVeiwer");
    719. sign.setLine(3, "§aRight Click");
    720. sign.update();
    721.  
    722. openGUI2(event.getPlayer());
    723. }
    724. } else {
    725.  
    726. }
    727. }
    728. }
    729. }
    730.  
    731. @EventHandler
    732. public void onJoin(PlayerJoinEvent e) {
    733. e.getPlayer().getInventory().addItem(new ItemStack(Material.COMPASS));
    734. Player p = e.getPlayer();
    735.  
    736. p.sendMessage("TEST");
    737. }
    738.  
    739. @EventHandler
    740. public void Interact(PlayerInteractEvent e) {
    741.  
    742. Action a = e.getAction();
    743. ItemStack is = e.getItem();
    744.  
    745. if (a == Action.PHYSICAL || is == null || is.getType() == Material.AIR)
    746. return;
    747.  
    748. if (is.getType() == Material.COMPASS) {
    749. openGUI(e.getPlayer());
    750. }
    751.  
    752. }
    753. }


    Any help appreciated! :D
     
  2. Offline

    Konkz

    Two things.

    1) You still haven't took my advise of learving Java first then Bukkit API.
    2) This is not your main class, don't extends JavaPlugin
     
  3. Offline

    CraftCreeper6

    Konkz
    Js, I was working on this plugin before you said to learn Java first :) and I really want to get this finished :)
     
  4. Offline

    Konkz

    Hence I said you will have to take a break :p

    Plus it's better to finish it with high quality code rather than some scrappy code which you
    struggle to read.
     
  5. Offline

    CraftCreeper6

    Konkz
    I understand it though :p I don't struggle to read it :p I don't know why I extends JavaPlugin sometimes...
     
Thread Status:
Not open for further replies.

Share This Page