NullPointerExeption when destroying a sign

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

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

    CraftCreeper6

    Hello! So I am creating sign support for my plugin; it works perfectly! All until I destroy the sign afterards,
    I get a NullPointerExeption :/
    StackTrace:
    Caused by: java.lang.NullPointerException
    at me.CraftCreeper6.utilites.InvGUI.onPlayerInteractSign(InvGUI.java:323

    Line 323:
    if (block.getType() == Material.SIGN_POST || block.getType() == Material.WALL_SIGN) {

    It happens with all the created signs and only happens on that line^^ :/
    Any help appreciated!
     
  2. Offline

    CraftCreeper6

    AdamQpzm
    if (!block.getType() == null){ ?

    EDIT:
    Tested it, does not work :/
     
  3. Offline

    CraftCreeper6

    AdamQpzm
    Thanks! Ill test it now :D

    AdamQpzm
    Did not work :/ I also now get an error when placing it :/
    Full code:
    Code:java
    1. package me.CraftCreeper6.utilites;
    2.  
    3. import java.util.ArrayList;
    4. import java.util.List;
    5. import java.util.Random;
    6.  
    7. import org.bukkit.Bukkit;
    8. import org.bukkit.ChatColor;
    9. import org.bukkit.Location;
    10. import org.bukkit.Material;
    11. import org.bukkit.block.Block;
    12. import org.bukkit.block.Sign;
    13. import org.bukkit.enchantments.Enchantment;
    14. import org.bukkit.entity.Player;
    15. import org.bukkit.event.EventHandler;
    16. import org.bukkit.event.Listener;
    17. import org.bukkit.event.block.Action;
    18. import org.bukkit.event.inventory.InventoryClickEvent;
    19. import org.bukkit.event.player.PlayerInteractEvent;
    20. import org.bukkit.event.player.PlayerJoinEvent;
    21. import org.bukkit.inventory.Inventory;
    22. import org.bukkit.inventory.ItemStack;
    23. import org.bukkit.inventory.meta.ItemMeta;
    24. import org.bukkit.plugin.java.JavaPlugin;
    25. import org.bukkit.potion.PotionEffect;
    26. import org.bukkit.potion.PotionEffectType;
    27.  
    28. public class InvGUI extends JavaPlugin implements Listener {
    29.  
    30. private String pn = ChatColor.BLUE + "[" + ChatColor.GREEN + ChatColor.BOLD
    31. + "Mini" + ChatColor.RED + ChatColor.BOLD + " Game"
    32. + ChatColor.BLUE + "] " + ChatColor.LIGHT_PURPLE;
    33.  
    34. private void teleportInWorld(Player p, int x, int y, int z) {
    35.  
    36. p.teleport(new Location(p.getWorld(), x, y, z));
    37.  
    38. }
    39.  
    40. private void openGUI(Player p) {
    41.  
    42. Inventory inv = Bukkit.createInventory(null, 27, ChatColor.BLUE
    43. + "Kit Selector");
    44.  
    45. ItemStack tank = new ItemStack(Material.DIAMOND_CHESTPLATE);
    46. ItemMeta tankMeta = tank.getItemMeta();
    47.  
    48. ItemStack archer = new ItemStack(Material.BOW);
    49. ItemMeta archerMeta = tank.getItemMeta();
    50.  
    51. ItemStack knight = new ItemStack(Material.DIAMOND_SWORD);
    52. ItemMeta knightMeta = tank.getItemMeta();
    53.  
    54. ItemStack horse = new ItemStack(Material.HAY_BLOCK);
    55. ItemMeta horseMeta = tank.getItemMeta();
    56.  
    57. List<String> tankLore = new ArrayList<String>();
    58. tankLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    59. + "Tank for your friend and obliterate all in sight!");
    60. tankMeta.setLore(tankLore);
    61. tankMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    62. + ChatColor.ITALIC + "TANK");
    63. tank.setItemMeta(tankMeta);
    64.  
    65. List<String> archerLore = new ArrayList<String>();
    66. archerLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    67. + "Stay back, Shoot, Kill!");
    68. archerMeta.setLore(archerLore);
    69. archerMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    70. + ChatColor.ITALIC + "ARCHER");
    71. archer.setItemMeta(archerMeta);
    72.  
    73. List<String> knightLore = new ArrayList<String>();
    74. knightLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    75. + "Melee fighter deals alot of damage!");
    76. knightMeta.setLore(knightLore);
    77. knightMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    78. + ChatColor.ITALIC + "KNIGHT");
    79. knight.setItemMeta(knightMeta);
    80.  
    81. List<String> horseLore = new ArrayList<String>();
    82. horseLore.add(ChatColor.DARK_PURPLE + "" + ChatColor.ITALIC
    83. + "High damage but low armor!");
    84. horseMeta.setLore(horseLore);
    85. horseMeta.setDisplayName(ChatColor.BOLD + "" + ChatColor.RED + ""
    86. + ChatColor.ITALIC + "HORSE");
    87. horse.setItemMeta(horseMeta);
    88.  
    89. inv.setItem(10, tank);
    90.  
    91. inv.setItem(12, archer);
    92.  
    93. inv.setItem(14, knight);
    94.  
    95. inv.setItem(16, horse);
    96.  
    97. p.openInventory(inv);
    98.  
    99. }
    100.  
    101. @EventHandler
    102. public void onInvClick(InventoryClickEvent e) {
    103.  
    104. if (!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase(
    105. "Kit Selector"))
    106. return;
    107.  
    108. Player p = (Player) e.getWhoClicked();
    109.  
    110. e.setCancelled(true);
    111.  
    112. if (e.getCurrentItem() == null
    113. || e.getCurrentItem().getType() == Material.AIR
    114. || !e.getCurrentItem().hasItemMeta()) {
    115. p.closeInventory();
    116. return;
    117. }
    118.  
    119. switch (e.getCurrentItem().getType()) {
    120.  
    121. case DIAMOND_CHESTPLATE:
    122.  
    123. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    124. 2, 1));
    125.  
    126. p.getInventory().clear();
    127.  
    128. teleportInWorld(p, 72, 69, 140);
    129. ItemStack tankarmorchest = new ItemStack(
    130. Material.DIAMOND_CHESTPLATE);
    131. ItemStack tankarmorhelm = new ItemStack(Material.DIAMOND_HELMET);
    132. ItemStack tankarmorleggs = new ItemStack(Material.DIAMOND_LEGGINGS);
    133. ItemStack tankarmorboots = new ItemStack(Material.DIAMOND_BOOTS);
    134. ItemStack tankarmorsword = new ItemStack(Material.IRON_SWORD);
    135. ItemStack tankarmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    136.  
    137. tankarmorchest.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    138. 1);
    139. tankarmorhelm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    140. 1);
    141. tankarmorleggs.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    142. 1);
    143. tankarmorboots.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    144. 1);
    145. tankarmorsword.addEnchantment(Enchantment.DAMAGE_ALL, 2);
    146.  
    147. p.getInventory().setHelmet(tankarmorhelm);
    148. p.getInventory().setChestplate(tankarmorchest);
    149. p.getInventory().setLeggings(tankarmorleggs);
    150. p.getInventory().setBoots(tankarmorboots);
    151.  
    152. p.getInventory().addItem(tankarmorsword);
    153. p.getInventory().addItem(tankarmorfood);
    154.  
    155. p.closeInventory();
    156.  
    157. break;
    158.  
    159. case BOW:
    160. p.getInventory().clear();
    161.  
    162. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    163. 2, 1));
    164.  
    165. teleportInWorld(p, 72, 69, 140);
    166. ItemStack archerarmorchest = new ItemStack(
    167. Material.LEATHER_CHESTPLATE);
    168. ItemStack archerarmorhelm = new ItemStack(Material.LEATHER_HELMET);
    169. ItemStack archerarmorleggs = new ItemStack(
    170. Material.LEATHER_LEGGINGS);
    171. ItemStack archerarmorboots = new ItemStack(Material.LEATHER_BOOTS);
    172. ItemStack archerarmorbow = new ItemStack(Material.BOW);
    173. ItemStack archerarmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    174. ItemStack archerarrow = new ItemStack(Material.ARROW);
    175.  
    176. archerarmorchest.addEnchantment(
    177. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    178. archerarmorhelm.addEnchantment(
    179. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    180. archerarmorleggs.addEnchantment(
    181. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    182. archerarmorboots.addEnchantment(
    183. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    184. archerarmorbow.addEnchantment(Enchantment.ARROW_DAMAGE, 2);
    185. archerarmorbow.addEnchantment(Enchantment.ARROW_INFINITE, 1);
    186.  
    187. p.getInventory().setHelmet(archerarmorhelm);
    188. p.getInventory().setChestplate(archerarmorchest);
    189. p.getInventory().setLeggings(archerarmorleggs);
    190. p.getInventory().setBoots(archerarmorboots);
    191.  
    192. p.getInventory().addItem(archerarmorbow);
    193. p.getInventory().addItem(archerarmorfood);
    194. p.getInventory().addItem(archerarrow);
    195.  
    196. p.closeInventory();
    197.  
    198. break;
    199.  
    200. case DIAMOND_SWORD:
    201.  
    202. p.getInventory().clear();
    203.  
    204. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    205. 2, 1));
    206.  
    207. teleportInWorld(p, 72, 69, 140);
    208. ItemStack knightarmorchest = new ItemStack(Material.IRON_CHESTPLATE);
    209. ItemStack knightarmorhelm = new ItemStack(Material.IRON_HELMET);
    210. ItemStack knightarmorleggs = new ItemStack(Material.IRON_LEGGINGS);
    211. ItemStack knightarmorboots = new ItemStack(Material.IRON_BOOTS);
    212. ItemStack knightarmorsword = new ItemStack(Material.DIAMOND_SWORD);
    213. ItemStack knightarmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    214.  
    215. knightarmorchest.addEnchantment(
    216. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    217. knightarmorhelm.addEnchantment(
    218. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    219. knightarmorleggs.addEnchantment(
    220. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    221. knightarmorboots.addEnchantment(
    222. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    223. knightarmorsword.addEnchantment(Enchantment.DAMAGE_ALL, 1);
    224. knightarmorsword.addEnchantment(Enchantment.KNOCKBACK, 1);
    225.  
    226. p.getInventory().setHelmet(knightarmorhelm);
    227. p.getInventory().setChestplate(knightarmorchest);
    228. p.getInventory().setLeggings(knightarmorleggs);
    229. p.getInventory().setBoots(knightarmorboots);
    230.  
    231. p.getInventory().addItem(knightarmorsword);
    232. p.getInventory().addItem(knightarmorfood);
    233.  
    234. p.closeInventory();
    235.  
    236. break;
    237.  
    238. case HAY_BLOCK:
    239.  
    240. p.getInventory().clear();
    241.  
    242. p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,
    243. 2, 1));
    244.  
    245. teleportInWorld(p, 72, 69, 140);
    246. ItemStack horsearmorchest = new ItemStack(Material.IRON_CHESTPLATE);
    247. ItemStack horsearmorhelm = new ItemStack(Material.IRON_HELMET);
    248. ItemStack horsearmorleggs = new ItemStack(Material.IRON_LEGGINGS);
    249. ItemStack horsearmorboots = new ItemStack(Material.IRON_BOOTS);
    250. ItemStack horsearmorsword = new ItemStack(Material.IRON_SWORD);
    251. ItemStack horsearmorfood = new ItemStack(Material.COOKED_BEEF, 32);
    252.  
    253. horsearmorchest.addEnchantment(
    254. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    255. horsearmorhelm.addEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL,
    256. 2);
    257. horsearmorleggs.addEnchantment(
    258. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    259. horsearmorboots.addEnchantment(
    260. Enchantment.PROTECTION_ENVIRONMENTAL, 2);
    261. horsearmorsword.addEnchantment(Enchantment.DAMAGE_ALL, 3);
    262.  
    263. p.getInventory().setHelmet(horsearmorhelm);
    264. p.getInventory().setChestplate(horsearmorchest);
    265. p.getInventory().setLeggings(horsearmorleggs);
    266. p.getInventory().setBoots(horsearmorboots);
    267.  
    268. p.getInventory().addItem(horsearmorsword);
    269. p.getInventory().addItem(horsearmorfood);
    270.  
    271. p.closeInventory();
    272.  
    273. break;
    274.  
    275. default:
    276. break;
    277. }
    278.  
    279. }
    280.  
    281. @EventHandler
    282. public void onPlayerInteract(PlayerInteractEvent event) {
    283. Player p = event.getPlayer();
    284. Block block = event.getClickedBlock();
    285.  
    286. if (block.getType() == Material.SIGN_POST //HERE
    287. || block.getType() == Material.WALL_SIGN && block != null) { //HERE
    288. Sign sign = (Sign) block.getState();
    289. Action action = event.getAction();
    290. if (action == Action.RIGHT_CLICK_BLOCK) {
    291. if (sign.getLine(0).equalsIgnoreCase("[Minigame]")
    292. && sign.getLine(1).equalsIgnoreCase("Kit")
    293. && sign.getLine(2).equalsIgnoreCase("Selector")
    294. || sign.getLine(0).equalsIgnoreCase("§a[Minigame]")
    295. && sign.getLine(1).equalsIgnoreCase("§bKit")
    296. && sign.getLine(2).equalsIgnoreCase("§bSelector")
    297. && p.hasPermission("Sign.Interact.KitSelect")) {
    298.  
    299. if (p.hasPermission("Sign.Create.KitSelect")) {
    300.  
    301. sign.setLine(0, "§a[Minigame]");
    302. sign.setLine(1, "§bKit");
    303. sign.setLine(2, "§bSelector");
    304. sign.setLine(3, "§aRight Click");
    305. sign.update();
    306.  
    307. openGUI(event.getPlayer());
    308. } else {
    309.  
    310. }
    311. } else {
    312.  
    313. }
    314. }
    315. }
    316. }
    317.  
    318. @EventHandler
    319. public void onPlayerInteractSign(PlayerInteractEvent event) {
    320. Player p = event.getPlayer();
    321. Block block = event.getClickedBlock();
    322.  
    323. if (block.getType() == Material.SIGN_POST //HERE
    324. || block.getType() == Material.WALL_SIGN && block != null) { //HERE
    325.  
    326. Sign sign = (Sign) block.getState();
    327. Action action = event.getAction();
    328. if (action == Action.RIGHT_CLICK_BLOCK) {
    329. if (sign.getLine(0).equalsIgnoreCase("[Minigame]")
    330. && sign.getLine(1).equalsIgnoreCase("Help")
    331. || sign.getLine(0).equalsIgnoreCase("§a[Minigame]")
    332. && sign.getLine(1).equalsIgnoreCase("§4Help")
    333. && p.hasPermission("Sign.Interact.Help")) {
    334.  
    335. if (p.hasPermission("Sign.Create.Help")) {
    336.  
    337. sign.setLine(0, "§a[Minigame]");
    338. sign.setLine(1, "§4HELP ME");
    339. sign.update();
    340.  
    341. p.sendMessage(pn + "Commands:");
    342. p.sendMessage(pn + "/minigame leave - Leave the game!");
    343. p.sendMessage(pn
    344. + "/minigame set leavespawn - Set leave spawn!");
    345. } else {
    346.  
    347. }
    348. } else {
    349.  
    350. }
    351. }
    352. }
    353.  
    354. }
    355.  
    356. @EventHandler
    357. public void onPlayerInteractRANDOM(PlayerInteractEvent event) {
    358. final Player p = event.getPlayer();
    359. Block block = event.getClickedBlock();
    360.  
    361. if (block.getType() == Material.SIGN_POST //HERE
    362. || block.getType() == Material.WALL_SIGN && block != null) { // HERE
    363. Sign sign = (Sign) block.getState();
    364. Action action = event.getAction();
    365. if (action == Action.RIGHT_CLICK_BLOCK) {
    366. if (sign.getLine(0).equalsIgnoreCase("[Minigame]")
    367. && sign.getLine(1).equalsIgnoreCase("RANDOM")
    368. || sign.getLine(0).equalsIgnoreCase("§a[Minigame]")
    369. && sign.getLine(1).equalsIgnoreCase("§8RANDOM")
    370. && p.hasPermission("Sign.Interact.Random")) {
    371.  
    372. if (p.hasPermission("Sign.Create.Random")) {
    373.  
    374. sign.setLine(0, "§a[Minigame]");
    375. sign.setLine(1, "§8RANDOM");
    376. sign.setLine(3, "KNIGHT");
    377. sign.update();
    378. sign.setLine(3, "ARCHER");
    379. sign.update();
    380. sign.setLine(3, "TANK");
    381. sign.update();
    382. sign.setLine(3, "HORSE");
    383. sign.update();
    384. sign.setLine(3, "");
    385.  
    386. Random rn = new Random();
    387. int max = 4;
    388. int min = 1;
    389. int counter = min;
    390. if (counter <= min) {
    391. int num = 1 + rn.nextInt(max);
    392.  
    393. switch (num) {
    394. case 1:
    395.  
    396. p.addPotionEffect(new PotionEffect(
    397. PotionEffectType.HEALTH_BOOST, 2, 1));
    398.  
    399. p.getInventory().clear();
    400.  
    401. teleportInWorld(p, 72, 69, 140);
    402. ItemStack tankarmorchest = new ItemStack(
    403. Material.DIAMOND_CHESTPLATE);
    404. ItemStack tankarmorhelm = new ItemStack(
    405. Material.DIAMOND_HELMET);
    406. ItemStack tankarmorleggs = new ItemStack(
    407. Material.DIAMOND_LEGGINGS);
    408. ItemStack tankarmorboots = new ItemStack(
    409. Material.DIAMOND_BOOTS);
    410. ItemStack tankarmorsword = new ItemStack(
    411. Material.IRON_SWORD);
    412. ItemStack tankarmorfood = new ItemStack(
    413. Material.COOKED_BEEF, 32);
    414.  
    415. tankarmorchest
    416. .addEnchantment(
    417. Enchantment.PROTECTION_ENVIRONMENTAL,
    418. 1);
    419. tankarmorhelm
    420. .addEnchantment(
    421. Enchantment.PROTECTION_ENVIRONMENTAL,
    422. 1);
    423. tankarmorleggs
    424. .addEnchantment(
    425. Enchantment.PROTECTION_ENVIRONMENTAL,
    426. 1);
    427. tankarmorboots
    428. .addEnchantment(
    429. Enchantment.PROTECTION_ENVIRONMENTAL,
    430. 1);
    431. tankarmorsword.addEnchantment(
    432. Enchantment.DAMAGE_ALL, 2);
    433.  
    434. p.getInventory().setHelmet(tankarmorhelm);
    435. p.getInventory().setChestplate(tankarmorchest);
    436. p.getInventory().setLeggings(tankarmorleggs);
    437. p.getInventory().setBoots(tankarmorboots);
    438.  
    439. p.getInventory().addItem(tankarmorsword);
    440. p.getInventory().addItem(tankarmorfood);
    441.  
    442. p.closeInventory();
    443.  
    444. break;
    445.  
    446. case 2:
    447.  
    448. p.getInventory().clear();
    449.  
    450. p.addPotionEffect(new PotionEffect(
    451. PotionEffectType.HEALTH_BOOST, 2, 1));
    452.  
    453. teleportInWorld(p, 72, 69, 140);
    454. ItemStack archerarmorchest = new ItemStack(
    455. Material.LEATHER_CHESTPLATE);
    456. ItemStack archerarmorhelm = new ItemStack(
    457. Material.LEATHER_HELMET);
    458. ItemStack archerarmorleggs = new ItemStack(
    459. Material.LEATHER_LEGGINGS);
    460. ItemStack archerarmorboots = new ItemStack(
    461. Material.LEATHER_BOOTS);
    462. ItemStack archerarmorbow = new ItemStack(
    463. Material.BOW);
    464. ItemStack archerarmorfood = new ItemStack(
    465. Material.COOKED_BEEF, 32);
    466. ItemStack archerarrow = new ItemStack(
    467. Material.ARROW);
    468.  
    469. archerarmorchest
    470. .addEnchantment(
    471. Enchantment.PROTECTION_ENVIRONMENTAL,
    472. 2);
    473. archerarmorhelm
    474. .addEnchantment(
    475. Enchantment.PROTECTION_ENVIRONMENTAL,
    476. 2);
    477. archerarmorleggs
    478. .addEnchantment(
    479. Enchantment.PROTECTION_ENVIRONMENTAL,
    480. 2);
    481. archerarmorboots
    482. .addEnchantment(
    483. Enchantment.PROTECTION_ENVIRONMENTAL,
    484. 2);
    485. archerarmorbow.addEnchantment(
    486. Enchantment.ARROW_DAMAGE, 2);
    487. archerarmorbow.addEnchantment(
    488. Enchantment.ARROW_INFINITE, 1);
    489.  
    490. p.getInventory().setHelmet(archerarmorhelm);
    491. p.getInventory()
    492. .setChestplate(archerarmorchest);
    493. p.getInventory().setLeggings(archerarmorleggs);
    494. p.getInventory().setBoots(archerarmorboots);
    495.  
    496. p.getInventory().addItem(archerarmorbow);
    497. p.getInventory().addItem(archerarmorfood);
    498. p.getInventory().addItem(archerarrow);
    499.  
    500. p.closeInventory();
    501.  
    502. break;
    503.  
    504. case 3:
    505.  
    506. p.getInventory().clear();
    507.  
    508. p.addPotionEffect(new PotionEffect(
    509. PotionEffectType.HEALTH_BOOST, 2, 1));
    510.  
    511. teleportInWorld(p, 72, 69, 140);
    512. ItemStack knightarmorchest = new ItemStack(
    513. Material.IRON_CHESTPLATE);
    514. ItemStack knightarmorhelm = new ItemStack(
    515. Material.IRON_HELMET);
    516. ItemStack knightarmorleggs = new ItemStack(
    517. Material.IRON_LEGGINGS);
    518. ItemStack knightarmorboots = new ItemStack(
    519. Material.IRON_BOOTS);
    520. ItemStack knightarmorsword = new ItemStack(
    521. Material.DIAMOND_SWORD);
    522. ItemStack knightarmorfood = new ItemStack(
    523. Material.COOKED_BEEF, 32);
    524.  
    525. knightarmorchest
    526. .addEnchantment(
    527. Enchantment.PROTECTION_ENVIRONMENTAL,
    528. 2);
    529. knightarmorhelm
    530. .addEnchantment(
    531. Enchantment.PROTECTION_ENVIRONMENTAL,
    532. 2);
    533. knightarmorleggs
    534. .addEnchantment(
    535. Enchantment.PROTECTION_ENVIRONMENTAL,
    536. 2);
    537. knightarmorboots
    538. .addEnchantment(
    539. Enchantment.PROTECTION_ENVIRONMENTAL,
    540. 2);
    541. knightarmorsword.addEnchantment(
    542. Enchantment.DAMAGE_ALL, 1);
    543. knightarmorsword.addEnchantment(
    544. Enchantment.KNOCKBACK, 1);
    545.  
    546. p.getInventory().setHelmet(knightarmorhelm);
    547. p.getInventory()
    548. .setChestplate(knightarmorchest);
    549. p.getInventory().setLeggings(knightarmorleggs);
    550. p.getInventory().setBoots(knightarmorboots);
    551.  
    552. p.getInventory().addItem(knightarmorsword);
    553. p.getInventory().addItem(knightarmorfood);
    554.  
    555. p.closeInventory();
    556.  
    557. break;
    558.  
    559. case 4:
    560.  
    561. p.getInventory().clear();
    562.  
    563. p.addPotionEffect(new PotionEffect(
    564. PotionEffectType.HEALTH_BOOST, 2, 1));
    565.  
    566. teleportInWorld(p, 72, 69, 140);
    567. ItemStack horsearmorchest = new ItemStack(
    568. Material.IRON_CHESTPLATE);
    569. ItemStack horsearmorhelm = new ItemStack(
    570. Material.IRON_HELMET);
    571. ItemStack horsearmorleggs = new ItemStack(
    572. Material.IRON_LEGGINGS);
    573. ItemStack horsearmorboots = new ItemStack(
    574. Material.IRON_BOOTS);
    575. ItemStack horsearmorsword = new ItemStack(
    576. Material.IRON_SWORD);
    577. ItemStack horsearmorfood = new ItemStack(
    578. Material.COOKED_BEEF, 32);
    579.  
    580. horsearmorchest
    581. .addEnchantment(
    582. Enchantment.PROTECTION_ENVIRONMENTAL,
    583. 2);
    584. horsearmorhelm
    585. .addEnchantment(
    586. Enchantment.PROTECTION_ENVIRONMENTAL,
    587. 2);
    588. horsearmorleggs
    589. .addEnchantment(
    590. Enchantment.PROTECTION_ENVIRONMENTAL,
    591. 2);
    592. horsearmorboots
    593. .addEnchantment(
    594. Enchantment.PROTECTION_ENVIRONMENTAL,
    595. 2);
    596. horsearmorsword.addEnchantment(
    597. Enchantment.DAMAGE_ALL, 3);
    598.  
    599. p.getInventory().setHelmet(horsearmorhelm);
    600. p.getInventory().setChestplate(horsearmorchest);
    601. p.getInventory().setLeggings(horsearmorleggs);
    602. p.getInventory().setBoots(horsearmorboots);
    603.  
    604. p.getInventory().addItem(horsearmorsword);
    605. p.getInventory().addItem(horsearmorfood);
    606.  
    607. p.closeInventory();
    608.  
    609. break;
    610.  
    611. default:
    612. break;
    613. }
    614. }
    615.  
    616. }
    617.  
    618. } else {
    619.  
    620. }
    621.  
    622. } else {
    623.  
    624. }
    625. }
    626. }
    627.  
    628. @EventHandler
    629. public void onJoin(PlayerJoinEvent e) {
    630. e.getPlayer().getInventory().addItem(new ItemStack(Material.COMPASS));
    631. Player p = e.getPlayer();
    632.  
    633. p.sendMessage("TEST");
    634. }
    635.  
    636. @EventHandler
    637. public void Interact(PlayerInteractEvent e) {
    638.  
    639. Action a = e.getAction();
    640. ItemStack is = e.getItem();
    641.  
    642. if (a == Action.PHYSICAL || is == null || is.getType() == Material.AIR)
    643. return;
    644.  
    645. if (is.getType() == Material.COMPASS) {
    646. openGUI(e.getPlayer());
    647. }
    648.  
    649. }
    650. }


    Can you help?? :p I put a // HERE to where the errors are :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 7, 2016
  4. You're gonna want to check that it's not null before checking whether it's a sign ;) Just move it from the end to the start
     
  5. Offline

    CraftCreeper6

    AdamQpzm
    Did not work :/ It doesn't really cause any havok and you don't get a message in chat so I think it should be fine :p
     
  6. CraftCreeper6 Uhh, what errors are you getting? Can I have the full stack trace? Don't feel like looking at the whole class.
     
  7. Offline

    CraftCreeper6

    AdamQpzm
    There is one more thing though :/
    Is this randomizer right? (Is it between 1, 4) ?
    Random rn = new Random();
    int max = 4;
    int min = 1;
    int counter = min;
    if (counter <= min) {
    int num = 1 + rn.nextInt(max);
    If not could you please tell me how I would do this? (Don't spoon feed but maybe a thread? (Possibly not Java Docs or BukkitAPI xD I can't understand them :p)) :D

    Stack trace:
    Code:
    [14:10:54 ERROR]: Could not pass event PlayerInteractEvent to Minigame v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:427) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:481) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:466) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:191) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b29
    74jnks]
            at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:161) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b29
    74jnks]
            at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java
    :978) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInArmAnimation.a(SourceFile:43
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInArmAnimation.handle(SourceFi
    le:9) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    55) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    45) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    Caused by: java.lang.NullPointerException
            at me.CraftCreeper6.utilites.InvGUI.onPlayerInteractSign(InvGUI.java:324
    ) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0
    _45]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0
    _45]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .7.0_45]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:425) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            ... 15 more
    [14:10:54 ERROR]: Could not pass event PlayerInteractEvent to Minigame v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:427) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:481) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:466) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:191) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b29
    74jnks]
            at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:161) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b29
    74jnks]
            at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java
    :978) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInArmAnimation.a(SourceFile:43
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInArmAnimation.handle(SourceFi
    le:9) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    55) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    45) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
    Caused by: java.lang.NullPointerException
            at me.CraftCreeper6.utilites.InvGUI.onPlayerInteract(InvGUI.java:287) ~[
    ?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0
    _45]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0
    _45]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .7.0_45]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:425) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
            ... 15 more
     
  8. CraftCreeper6 Simplify your random thing. This will generate a random number between 1 and 4, that's what you wanted right?

    PHP:
    int i = new Random().nextInt(4) + 1;
    What're lines 324 and 287 as of that stack trace?
     
Thread Status:
Not open for further replies.

Share This Page