BlockState cast null?

Discussion in 'Plugin Development' started by MayoDwarf, Feb 25, 2014.

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

    MayoDwarf

    ERROR:
    Code:java
    1. [23:17:40 ERROR]: Could not pass event PlayerInteractEvent to NextKits v1.0
    2. org.bukkit.event.EventException
    3. at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    4. at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    5. at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:486) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    6. at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:471) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    7. at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:195) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    8. at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:165) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    9. at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java:988) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    10. at net.minecraft.server.v1_7_R1.PacketPlayInArmAnimation.a(SourceFile:43) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    11. at net.minecraft.server.v1_7_R1.PacketPlayInArmAnimation.handle(SourceFile:9) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    12. at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    13. at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    14. at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:655) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    15. at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:250) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    16. at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    17. at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    18. at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    19. Caused by: java.lang.NullPointerException
    20. at com.core.mayodwarf.Main.onInteract(Main.java:36) ~[?:?]
    21. at sun.reflect.GeneratedMethodAccessor251.invoke(Unknown Source) ~[?:?]
    22. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[?:1.6.0_65]
    23. at java.lang.reflect.Method.invoke(Method.java:597) ~[?:1.6.0_65]
    24. at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:318) ~[spigot.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    25. ... 15 more

    CODE:
    Code:java
    1. package com.core.mayodwarf;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.block.Block;
    5. import org.bukkit.block.BlockState;
    6. import org.bukkit.block.Sign;
    7. import org.bukkit.configuration.file.FileConfiguration;
    8. import org.bukkit.event.EventHandler;
    9. import org.bukkit.event.Listener;
    10. import org.bukkit.event.block.Action;
    11. import org.bukkit.event.player.PlayerInteractEvent;
    12. import org.bukkit.inventory.ItemStack;
    13. import org.bukkit.plugin.java.JavaPlugin;
    14.  
    15. import java.util.ArrayList;
    16. import java.util.List;
    17.  
    18. /**
    19. * Created with IntelliJ IDEA.
    20. * User: MayoDwarf
    21. * Date: 2/25/14
    22. * Time: 9:35 PM
    23. * To change this template use File | Settings | File Templates.
    24. */
    25. public class Main extends JavaPlugin implements Listener {
    26. private FileConfiguration config;
    27. public void onEnable() {
    28. this.getConfig();
    29. this.getConfig().options().copyDefaults(true);
    30. this.getServer().getPluginManager().registerEvents(this, this);
    31. }
    32. public void onDisable() {}
    33. @EventHandler
    34. public void onInteract(PlayerInteractEvent evt) {
    35. Block b = evt.getClickedBlock();
    36. BlockState bs = b.getState();
    37. if(bs instanceof Sign) {
    38. Sign s = (Sign) bs;
    39. if(evt.getAction() == Action.RIGHT_CLICK_BLOCK) {
    40. if(s.getLine(0).equalsIgnoreCase("[SaveKit]")) {
    41. if(evt.getPlayer().hasPermission("Kits."+s.getLine(1).toString())) {
    42. if(getConfig().contains("Players."+evt.getPlayer().getName()+"."+s.getLine(1).toString()+".kit")) {
    43. List<ItemStack> list1 = (List<ItemStack>) this.getConfig().getList("Players." + evt.getPlayer().getName() + "." + s.getLine(1) + ".kit");
    44. list1.clear();
    45. }
    46. for(ItemStack items : evt.getPlayer().getInventory().getContents()) {
    47. if(items !=null) {
    48. List<ItemStack> list = (List<ItemStack>) this.getConfig().get("Players."+evt.getPlayer().getName()+"."+s.getLine(1)+".kit", new ArrayList<ItemStack>());
    49. list.add(items);
    50. getConfig().set("Players." + evt.getPlayer().getName() + "." + s.getLine(1).toString() + ".kit", list);
    51. saveConfig();
    52. }
    53. }
    54. getConfig().set("Players."+evt.getPlayer().getName()+"."+s.getLine(1).toString()+".armor", evt.getPlayer().getInventory().getArmorContents());
    55. saveConfig();
    56. evt.getPlayer().sendMessage(ChatColor.GREEN+"Kit "+ChatColor.RED+""+s.getLine(1)+ChatColor.GREEN+" has been saved!");
    57. }
    58. }
    59. else if(s.getLine(0).equalsIgnoreCase("[LoadKit]")) {
    60. if(evt.getPlayer().hasPermission("Kits."+s.getLine(1))) {
    61. if(getConfig().contains("Players."+evt.getPlayer().getName()+"."+s.getLine(1).toString()+".kit")) {
    62. List<ItemStack> kit = (List<ItemStack>) this.getConfig().getList("Players."+evt.getPlayer().getName()+"."+s.getLine(1).toString()+".kit");
    63. evt.getPlayer().getInventory().clear();
    64. evt.getPlayer().getInventory().setArmorContents(null);
    65. for(ItemStack stacks : kit) {
    66. evt.getPlayer().getInventory().addItem(stacks.clone());
    67. }
    68. ItemStack[] items = (ItemStack[]) getConfig().get("Players."+evt.getPlayer().getName()+"."+s.getLine(1).toString()+".armor");
    69. evt.getPlayer().getInventory().setArmorContents(items);
    70. evt.getPlayer().updateInventory();
    71. evt.getPlayer().sendMessage(ChatColor.AQUA+"Kit "+ChatColor.RED+""+s.getLine(1)+ChatColor.AQUA+" has been loaded!");
    72. }
    73. }
    74. }
    75. }
    76. }
    77. }
    78. }
     
  2. Offline

    MrInspector

    MayoDwarf likes this.
  3. Offline

    xTrollxDudex

    MayoDwarf
    You're clicking air. Check action before getting block.
     
    MayoDwarf likes this.
Thread Status:
Not open for further replies.

Share This Page