Error in Player Join Event

Discussion in 'Plugin Development' started by DrPigi, Jul 13, 2014.

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

    DrPigi

    can someone help me?
    im making magic clock plugin but when player join error pop up in teh consoel he is not getting the item :(
    my code:
    Code:java
    1. package me.drpigi.hubtweaks;
    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.GameMode;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.Listener;
    12. import org.bukkit.event.block.Action;
    13. import org.bukkit.event.inventory.InventoryClickEvent;
    14. import org.bukkit.event.player.PlayerInteractEvent;
    15. import org.bukkit.event.player.PlayerJoinEvent;
    16. import org.bukkit.event.player.PlayerQuitEvent;
    17. import org.bukkit.inventory.ItemStack;
    18. import org.bukkit.inventory.PlayerInventory;
    19. import org.bukkit.inventory.meta.ItemMeta;
    20. import org.bukkit.material.MaterialData;
    21.  
    22. public class Clock implements Listener {
    23.  
    24. // List for hiding players
    25. ArrayList<String> players = new ArrayList<String>();
    26.  
    27. @SuppressWarnings("unused")
    28. private Main plugin;
    29.  
    30. public Clock(Main plugin) {
    31.  
    32. this.plugin = plugin;
    33.  
    34. }
    35.  
    36. // Removing player from list
    37. public void onQuitEvent(PlayerQuitEvent event) {
    38. Player player = event.getPlayer();
    39. players.remove(player.getName());
    40. }
    41.  
    42. @EventHandler
    43. public void onInventoryClick(InventoryClickEvent e) {
    44. if (e.getWhoClicked().isOp())
    45. return;
    46. if (e.getWhoClicked().getGameMode() == GameMode.CREATIVE)
    47. return;
    48. e.setCancelled(true);
    49. }
    50.  
    51. // Adding people to the list and giving them spawn items
    52. @EventHandler
    53. public void onPlayerJoin(PlayerJoinEvent event) {
    54. Player player = event.getPlayer();
    55. PlayerInventory inv = player.getInventory();
    56. players.add(player.getName());
    57.  
    58. if (Main.config.getBoolean("Settings.Magic Clock.Enabled") == true) {
    59. String time = Main.config
    60. .getString("Settings.Magic Clock.Enabled Item");
    61. int t = Integer.parseInt(time);
    62. if (time.contains(":")) {
    63. String[] parts = time.split(":");
    64. String part1 = parts[0];
    65. String part2 = parts[1];
    66. int p1 = Integer.parseInt(part1);
    67. int p2 = Integer.parseInt(part2);
    68.  
    69. @SuppressWarnings("deprecation")
    70. ItemStack enable = new ItemStack(p1, 1, (short) p2);
    71. ItemMeta enableMeta = (ItemMeta) enable.getItemMeta();
    72. String o = Main.config
    73. .getString("Settings.Magic Clock.Enabled Name");
    74. enableMeta.setDisplayName(ChatColor
    75. .translateAlternateColorCodes('$', o));
    76. List<String> enableList = new ArrayList<String>();
    77. String p = Main.config
    78. .getString("Settings.Magic Clock.Enabled Lore");
    79. enableList.add(ChatColor.translateAlternateColorCodes('$', p));
    80. enableMeta.setLore(enableList);
    81. enable.setItemMeta(enableMeta);
    82.  
    83. inv.setItem(8, enable);
    84. } else {
    85. @SuppressWarnings("deprecation")
    86. ItemStack enable = new ItemStack(t);
    87. ItemMeta enableMeta = (ItemMeta) enable.getItemMeta();
    88. String o = Main.config
    89. .getString("Settings.Magic Clock.Enabled Name");
    90. String op = ChatColor.translateAlternateColorCodes('$', o);
    91. enableMeta.setDisplayName(op);
    92. List<String> enableList = new ArrayList<String>();
    93. String p = Main.config
    94. .getString("Settings.Magic Clock.Enabled Lore");
    95. enableList.add(ChatColor.translateAlternateColorCodes('$', p));
    96. enableMeta.setLore(enableList);
    97. enable.setItemMeta(enableMeta);
    98.  
    99. inv.setItem(8, enable);
    100. }
    101.  
    102. }
    103. }
    104.  
    105. // Visibility Dye
    106. @SuppressWarnings("deprecation")
    107. @EventHandler
    108. public void onPlayerClickEvent(PlayerInteractEvent event) {
    109.  
    110. final Player player = event.getPlayer();
    111.  
    112. ItemStack disable = new ItemStack(1, 1, (short) 0);
    113.  
    114. ItemStack enable = new ItemStack(1, 1, (short) 0);
    115.  
    116. String time = Main.config
    117. .getString("Settings.Magic Clock.Enabled Item");
    118. int t = Integer.parseInt(time);
    119. if (time.contains(":")) {
    120. String[] parts = time.split(":");
    121. String part1 = parts[0];
    122. String part2 = parts[1];
    123. int p1 = Integer.parseInt(part1);
    124. int p2 = Integer.parseInt(part2);
    125.  
    126. MaterialData enabledata = new MaterialData(p2);
    127. // ItemStack enable = new ItemStack(p1, 1, (short) p2);
    128. enable.setTypeId(p1);
    129. enable.setAmount(1);
    130. enable.setData(enabledata);
    131. ItemMeta enableMeta = (ItemMeta) enable.getItemMeta();
    132. String o = Main.config
    133. .getString("Settings.Magic Clock.Enabled Name");
    134. enableMeta.setDisplayName(ChatColor.translateAlternateColorCodes(
    135. '$', o));
    136. List<String> enableList = new ArrayList<String>();
    137. String p = Main.config
    138. .getString("Settings.Magic Clock.Enabled Lore");
    139. enableList.add(ChatColor.translateAlternateColorCodes('$', p));
    140. enableMeta.setLore(enableList);
    141. enable.setItemMeta(enableMeta);
    142. } else {
    143. // ItemStack enable = new ItemStack(t);
    144. enable.setTypeId(t);
    145. ItemMeta enableMeta = (ItemMeta) enable.getItemMeta();
    146. String o = Main.config
    147. .getString("Settings.Magic Clock.Enabled Name");
    148. enableMeta.setDisplayName(ChatColor.translateAlternateColorCodes(
    149. '$', o));
    150. List<String> enableList = new ArrayList<String>();
    151. String p = Main.config
    152. .getString("Settings.Magic Clock.Enabled Lore");
    153. enableList.add(ChatColor.translateAlternateColorCodes('$', p));
    154. enableMeta.setLore(enableList);
    155. enable.setItemMeta(enableMeta);
    156. }
    157.  
    158. String tim = Main.config
    159. .getString("Settings.Magic Clock.Disabled Item");
    160. int ti = Integer.parseInt(tim);
    161. if (tim.contains(":")) {
    162. String[] parts = tim.split(":");
    163. String part1 = parts[0];
    164. String part2 = parts[1];
    165. int p1 = Integer.parseInt(part1);
    166. int p2 = Integer.parseInt(part2);
    167. MaterialData disabledata = new MaterialData(p2);
    168.  
    169. // disable = new ItemStack(p1, 1, (short) p2);
    170. disable.setTypeId(p1);
    171. disable.setAmount(1);
    172. disable.setData(disabledata);
    173. ItemMeta disableMeta = (ItemMeta) disable.getItemMeta();
    174. String o = Main.config
    175. .getString("Settings.Magic Clock.Disabled Name");
    176. disableMeta.setDisplayName(ChatColor.translateAlternateColorCodes(
    177. '$', o));
    178. List<String> disableList = new ArrayList<String>();
    179. String p = Main.config
    180. .getString("Settings.Magic Clock.Disabled Lore");
    181. disableList.add(ChatColor.translateAlternateColorCodes('$', p));
    182. disableMeta.setLore(disableList);
    183. disable.setItemMeta(disableMeta);
    184. } else {
    185. disable.setTypeId(ti);
    186. ItemMeta disableMeta = (ItemMeta) disable.getItemMeta();
    187. String o = Main.config
    188. .getString("Settings.Magic Clock.Disabled Name");
    189. disableMeta.setDisplayName(ChatColor.translateAlternateColorCodes(
    190. '$', o));
    191. List<String> disableList = new ArrayList<String>();
    192. String p = Main.config
    193. .getString("Settings.Magic Clock.Disabled Lore");
    194. disableList.add(ChatColor.translateAlternateColorCodes('$', p));
    195. disableMeta.setLore(disableList);
    196. disable.setItemMeta(disableMeta);
    197. }
    198.  
    199. if (event.getPlayer().getItemInHand().getType() == event.getPlayer()
    200. .getInventory()
    201. .getItem(Main.config.getInt("Settings.Magic Clock.Slot"))
    202. .getType()) {
    203. if (!(event.getAction().equals(Action.LEFT_CLICK_BLOCK) || event
    204. .getAction().equals(Action.LEFT_CLICK_AIR))) {
    205. if (player
    206. .getItemInHand()
    207. .getItemMeta()
    208. .getDisplayName()
    209. .equalsIgnoreCase(
    210. ChatColor.GREEN + "Players >> Enabled")) {
    211. if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK)
    212. || event.getAction().equals(Action.RIGHT_CLICK_AIR)) {
    213. if (this.players.contains(event.getPlayer().getName())) {
    214. players.remove(event.getPlayer().getName());
    215. for (Player targetPlayers : Bukkit
    216. .getOnlinePlayers()) {
    217. if (player.canSee(targetPlayers)) {
    218. player.hidePlayer(targetPlayers);
    219. } else {
    220. event.setCancelled(true);
    221. return;
    222. }
    223. this.players.add(player.getName());
    224. }
    225. player.getInventory().removeItem(enable);
    226. player.setItemInHand(disable);
    227. player.sendMessage(Main.Starter + ChatColor.GRAY
    228. + "You have toggled players visibility: "
    229. + ChatColor.RED + "Off");
    230. }
    231. players.add(event.getPlayer().getName());
    232. return;
    233. }
    234. } else if (player
    235. .getItemInHand()
    236. .getItemMeta()
    237. .getDisplayName()
    238. .equalsIgnoreCase(ChatColor.RED + "Players >> Disabled")) {
    239. if (event.getAction().equals(Action.RIGHT_CLICK_BLOCK)
    240. || event.getAction().equals(Action.RIGHT_CLICK_AIR)) {
    241. if (this.players.contains(event.getPlayer().getName())) {
    242. this.players.remove(player.getName());
    243. for (Player targetPlayers : Bukkit
    244. .getOnlinePlayers()) {
    245. if (player.canSee(targetPlayers)) {
    246. event.setCancelled(true);
    247. return;
    248. } else {
    249. player.showPlayer(targetPlayers);
    250. }
    251. }
    252. }
    253. players.add(event.getPlayer().getName());
    254. player.getInventory().removeItem(disable);
    255. player.setItemInHand(enable);
    256. player.sendMessage(Main.Starter + ChatColor.GRAY
    257. + "You have toggled players visibility: "
    258. + ChatColor.GREEN + "On");
    259. }
    260. }
    261. }
    262. }
    263. }
    264. }


    and my console error:
    Code:
            ... 14 more
    [19:35:49 ERROR]: Could not pass event PlayerInteractEvent to HubTweaks v1.0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:320) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:486) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:471) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:195) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b30
    20jnks]
            at org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory.callPlayerInte
    ractEvent(CraftEventFactory.java:165) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b30
    20jnks]
            at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java
    :604) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInBlockPlace.a(SourceFile:60)
    [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.PacketPlayInBlockPlace.handle(SourceFile
    :9) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craf
    tbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    55) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    45) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
    Caused by: java.lang.NullPointerException
            at me.drpigi.hubtweaks.Clock.onPlayerClickEvent(Clock.java:149) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0
    _60]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0
    _60]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .7.0_60]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:318) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-b3020jnks]
            ... 15 more
     
  2. Offline

    EnderTroll68

    The following piece is returning Null

    String o = Main.config.getString("Settings.Magic Clock.Enabled Name");
     
  3. Offline

    DrPigi

    but the config is:
    Code:
    Settings:
      General:
        Plugin Prefix: $6[$4Hub$3Tweaks$6]
        Spawn Location:
          world: world
          x: -14
          y: 80
          z: 9
        Void Tp:
          Enabled: true
          y: -1
        Messages:
          Join:
            Enabled: true
            Msg: $bThe Player %player% Join The Game!
          Quit:
            Enabled: true
            Msg: $bThe Player %player% Quit The Game!
          Welcome:
            Enabled: true
            Msg: $bWelcome To The Server! This Server Is Running HubTweaks!
          Motd:
            Enabled: true
            Msg: $bThe Best Server Ever!
        ClearInvOnJoin: true
     
      Teleporter:
        Enabled: true
        Slot: 0
        Item: 345
        Name: $2Game Teleporter
        Lore: $1Teleport To The Games!
        Inventory Size: 9
        Adresses:
          Spawn:
            Display Name: $3Main Lobby
            Lore: $4Teleport To The Main Lobby!
            world: world
            x: -14
            y: 80
            z: 9
            Display Item: 138
     
      Magic Clock:
        Enabled: true
        Slot: 1
        Enabled Item: 351:10
        Disabled Item: 351:8
        Enabled Name: $aPlayers >> Enabled
        Disabled Name: $cPlayers >> Disabled
        Enabled Lore: $fRight click to disable player visibility!
        Disabled Lore: $fRight click to enable player visibility!
     
      Lunch Pads:
        #Should launchpads be enabled?
        Enabled: true
        #MAIN: What should the main block be?
        Main Block: 70
        #FIRST: What should be the block directly under the player's feet?
        First Block: 152
        #SECOND: What block should be 2 blocks below the player?
        Second Block: 19
        #SPEED: What should be the lunch speed? (18 > speed > 1)
        Speed: 8
        #What sound should be played when launched?
        # http://jd.bukkit.org/rb/apidocs/org/bukkit/Sound.html
        # Disable with 'none'
        Sound: ENDERDRAGON_HIT
        #What effect should play?
        # http://jd.bukkit.org/rb/apidocs/org/bukkit/Effect.html
        # Disable with 'none'
        Effect: ENDER_SIGNAL
        #Should after player lunched into the air he will get a message?
        MsgEnabled: true
        #The Message:
        Message: $aWoooosh!
     
      WT:
        Lock Sun: true
        Lock Day: true
     
      No Breaking/Placing Blocks:
        Enabled: true
     
      No Hunger:
        Enabled: true
     
      No Damage:
        Enabled: true
     
      No ItemDrop:
        Enabled: true
     
      No ItemPickUp:
        Enabled: true
     
      Stop-Chat:
        Enabled: false
     
      No DeathMsg:
        Enabled: true
     
      No AchievementsMsg:
        Enabled: true
     
  4. Offline

    ZodiacTheories

    DrPigi

    I don't see Magic Clock in your config
     
  5. Offline

    minoneer

    ZodiacTheories
    But I do :p

    DrPigi
    Are you sure config paths can contain spaces? I've never actually tried it but always assumed they can't
     
  6. Offline

    hankered

    you added a space. remove it/ put a .
     
  7. Offline

    ZodiacTheories

  8. Offline

    DrPigi

    minoneer hankered
    Im use config alot (all my plugins uses config) and u can use spaces....
     
  9. Offline

    hankered

    99% sure you cant use spaces.

    remove the space/replace it and lets see who's right
     
  10. Offline

    DrPigi

    tried it: and its the same -_-
     
  11. Offline

    DrPigi

Thread Status:
Not open for further replies.

Share This Page