Vault API

Discussion in 'Plugin Development' started by ProMCKingz, Aug 26, 2014.

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

    Garris0n

    So the event is not being called at all? The plugin is on the server, right?
     
  2. Offline

    ProMCKingz

    Garris0n
    Well, the only bit that gets called is the ender pearl for some very very odd reason

    Garris0n
    Other than that, the code used to work perfectly fine before

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 10, 2016
  3. Offline

    Garris0n

    So it does work? Where is it failing, then?
     
  4. Offline

    MnMaxon

    ProMCKingz
    Did you try adding the broadcast messages? Like:
    Code:java
    1. package mc.promckingz.wardrobe;
    2.  
    3. import net.milkbowl.vault.economy.EconomyResponse;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.ChatColor;
    7. import org.bukkit.Material;
    8. import org.bukkit.entity.HumanEntity;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.Listener;
    12. import org.bukkit.event.inventory.InventoryClickEvent;
    13. import org.bukkit.inventory.ItemStack;
    14.  
    15. public class ClickListener implements Listener {
    16.  
    17. SettingsManager settings = SettingsManager.getInstance();
    18. CompassPort CP = CompassPort.getInstance();
    19. CompassPort plugin;
    20. public int BEACON;// This was moved
    21.  
    22. public ClickListener(CompassPort instance) {
    23. plugin = instance;
    24. BEACON = plugin.config.getInt("Teleport_Cost"); // This was moved from
    25. // the top
    26. }
    27.  
    28. @EventHandler
    29. public void onClick(InventoryClickEvent event) {
    30. Bukkit.broadcastMessage("1");
    31. HumanEntity entity = event.getWhoClicked();
    32. if ((entity instanceof Player)) {
    33. Bukkit.broadcastMessage("2");
    34. Player player = (Player) entity;
    35. if (event.getInventory().getName().equals(CompassPort.getCompassInventory().getName())) {
    36. Bukkit.broadcastMessage("3");
    37. event.setCancelled(true);
    38. ItemStack clicked = event.getCurrentItem();
    39. if (clicked != null) {
    40. Bukkit.broadcastMessage("4");
    41. if (clicked.getType() == Material.DIAMOND_HELMET) {
    42. if (player.getEquipment().getHelmet().equals(Material.DIAMOND_HELMET)) {
    43. player.sendMessage(ChatColor.RED + "You already have a diamond helmet!");
    44. } else {
    45. player.closeInventory();
    46. player.getEquipment().setHelmet(new ItemStack(Material.DIAMOND_HELMET));
    47. player.sendMessage(ChatColor.GOLD + "You now have a" + ChatColor.AQUA + " Diamond Helmet!");
    48. }
    49. } else if (clicked.getType() == Material.ENDER_PEARL) {
    50. player.closeInventory();
    51. if (CompassPort.getTarget() != null) {
    52. player.teleport(CompassPort.getTarget());
    53. player.sendMessage(plugin.config.getString("Teleport_Message".replaceAll("§", "&")));
    54. return;
    55. } else {
    56. player.sendMessage(ChatColor.RED + "Point not yet set!");
    57. }
    58. } else if (clicked.getType() == Material.GOLD_HELMET) {
    59. Bukkit.broadcastMessage("5");
    60. player.closeInventory();
    61. }
    62. }
    63. if (clicked.getType() == Material.BEACON) {
    64. Bukkit.broadcastMessage("6");
    65. player.closeInventory();
    66. String pn = player.getName();
    67. if (CP.economy.getBalance(pn) >= BEACON) {
    68. EconomyResponse er = CP.economy.withdrawPlayer(pn, BEACON);
    69. if (er.transactionSuccess()) {
    70. settings.getData().set(player.getName() + " .z", player.getLocation().getBlockZ());
    71. settings.getData().set(player.getName() + " .y", player.getLocation().getBlockY());
    72. settings.getData().set(player.getName() + " .x", player.getLocation().getBlockX());
    73. CompassPort.setTarget(player.getLocation());
    74. plugin.saveConfig();
    75. plugin.reloadConfig();
    76.  
    77. player.closeInventory();
    78. player.sendMessage(ChatColor.GOLD
    79. + plugin.config.getString("Teleport_Update_Message".replaceAll("(&([a-f0-9]))",
    80. "\u00A7$2")));
    81. }
    82. Bukkit.broadcastMessage("7");
    83. if (clicked.getType() == Material.GOLD_HELMET) {
    84. Bukkit.broadcastMessage("8");
    85. player.closeInventory();
    86. player.openInventory(SubHelmet.getHelmetInventory());
    87. }
    88. if (clicked.getType() == Material.GOLD_CHESTPLATE) {
    89. Bukkit.broadcastMessage("9");
    90. player.closeInventory();
    91. player.openInventory(SubChestPlate.getChestplateInventory());
    92. }
    93. if (clicked.getType() == Material.GOLD_LEGGINGS) {
    94. Bukkit.broadcastMessage("10");
    95. player.closeInventory();
    96. player.openInventory(SubLeggings.getLeggingsInventory());
    97. }
    98. if (clicked.getType() == Material.GOLD_BOOTS) {
    99. Bukkit.broadcastMessage("11");
    100. player.closeInventory();
    101. player.openInventory(SubBoots.getBootsInventory());
    102. }
    103. if (clicked.getType() == Material.BOWL) {
    104. Bukkit.broadcastMessage("12");
    105. player.closeInventory();
    106. }
    107. if (clicked.getType() == Material.CARPET) {
    108. Bukkit.broadcastMessage("13");
    109. player.closeInventory();
    110. player.getEquipment().setHelmet(null);
    111. player.getEquipment().setChestplate(null);
    112. player.getEquipment().setLeggings(null);
    113. player.getEquipment().setBoots(null);
    114. }
    115. Bukkit.broadcastMessage("14");
    116. if (clicked.getType() == Material.NETHER_STAR) {
    117. Bukkit.broadcastMessage("15");
    118. player.closeInventory();
    119. player.sendMessage(ChatColor.DARK_AQUA + "[Wardrobe+] " + ChatColor.RED
    120. + "This feature will be added in a future update!");
    121. }
    122. if (clicked.getType() == Material.GLASS) {
    123. Bukkit.broadcastMessage("16");
    124. player.closeInventory();
    125. player.sendMessage(ChatColor.DARK_AQUA + "[Wardrobe+] " + ChatColor.RED
    126. + "This feature will be added in a future update!");
    127. }
    128. if (clicked.getType() == Material.TRAPPED_CHEST) {
    129. Bukkit.broadcastMessage("17");
    130. player.closeInventory();
    131. player.sendMessage(ChatColor.DARK_AQUA + "[Wardrobe+] " + ChatColor.RED
    132. + "This feature will be added in a future update!");
    133. }
    134. }
    135. }
    136. }
    137. Bukkit.broadcastMessage("18");
    138. }
    139. }
    140. }
     
  5. Offline

    ProMCKingz

    MnMaxon garrison
    Alright, so I went in game, used your code, And clicked on an item (Same with every item) and I received the following messages back: 1,2,3,4,18
    So it seems as if it will not read after the BEACON
     
  6. Offline

    MnMaxon

    ProMCKingz
    I think I found it, the brackets were a little off there. This should fix it:
    Code:java
    1. package pa.cka.ge;
    2.  
    3. import net.milkbowl.vault.economy.EconomyResponse;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.ChatColor;
    7. import org.bukkit.Material;
    8. import org.bukkit.entity.HumanEntity;
    9. import org.bukkit.entity.Player;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.Listener;
    12. import org.bukkit.event.inventory.InventoryClickEvent;
    13. import org.bukkit.inventory.ItemStack;
    14.  
    15. public class ClickListener implements Listener {
    16.  
    17. SettingsManager settings = SettingsManager.getInstance();
    18. CompassPort CP = CompassPort.getInstance();
    19. CompassPort plugin;
    20. public int BEACON;// This was moved
    21.  
    22. public ClickListener(CompassPort instance) {
    23. plugin = instance;
    24. BEACON = plugin.config.getInt("Teleport_Cost"); // This was moved from
    25. // the top
    26. }
    27.  
    28. @EventHandler
    29. public void onClick(InventoryClickEvent event) {
    30. Bukkit.broadcastMessage("1");
    31. HumanEntity entity = event.getWhoClicked();
    32. if ((entity instanceof Player)) {
    33. Bukkit.broadcastMessage("2");
    34. Player player = (Player) entity;
    35. if (event.getInventory().getName().equals(CompassPort.getCompassInventory().getName())) {
    36. Bukkit.broadcastMessage("3");
    37. event.setCancelled(true);
    38. ItemStack clicked = event.getCurrentItem();
    39. if (clicked != null) {
    40. Bukkit.broadcastMessage("4");
    41. if (clicked.getType() == Material.DIAMOND_HELMET) {
    42. if (player.getEquipment().getHelmet().equals(Material.DIAMOND_HELMET)) {
    43. player.sendMessage(ChatColor.RED + "You already have a diamond helmet!");
    44. } else {
    45. player.closeInventory();
    46. player.getEquipment().setHelmet(new ItemStack(Material.DIAMOND_HELMET));
    47. player.sendMessage(ChatColor.GOLD + "You now have a" + ChatColor.AQUA + " Diamond Helmet!");
    48. }
    49. } else if (clicked.getType() == Material.ENDER_PEARL) {
    50. player.closeInventory();
    51. if (CompassPort.getTarget() != null) {
    52. player.teleport(CompassPort.getTarget());
    53. player.sendMessage(plugin.config.getString("Teleport_Message".replaceAll("§", "&")));
    54. return;
    55. } else {
    56. player.sendMessage(ChatColor.RED + "Point not yet set!");
    57. }
    58. } else if (clicked.getType() == Material.GOLD_HELMET) {
    59. Bukkit.broadcastMessage("5");
    60. player.closeInventory();
    61. }
    62. }
    63. if (clicked.getType() == Material.BEACON) {
    64. Bukkit.broadcastMessage("6");
    65. player.closeInventory();
    66. String pn = player.getName();
    67. if (CP.economy.getBalance(pn) >= BEACON) {
    68. EconomyResponse er = CP.economy.withdrawPlayer(pn, BEACON);
    69. if (er.transactionSuccess()) {
    70. settings.getData().set(player.getName() + " .z", player.getLocation().getBlockZ());
    71. settings.getData().set(player.getName() + " .y", player.getLocation().getBlockY());
    72. settings.getData().set(player.getName() + " .x", player.getLocation().getBlockX());
    73. CompassPort.setTarget(player.getLocation());
    74. plugin.saveConfig();
    75. plugin.reloadConfig();
    76.  
    77. player.closeInventory();
    78. player.sendMessage(ChatColor.GOLD
    79. + plugin.config.getString("Teleport_Update_Message".replaceAll("(&([a-f0-9]))",
    80. "\u00A7$2")));
    81. }
    82. }
    83. if (clicked.getType() == Material.GOLD_HELMET) {
    84. Bukkit.broadcastMessage("8");
    85. player.closeInventory();
    86. player.openInventory(SubHelmet.getHelmetInventory());
    87. }
    88. if (clicked.getType() == Material.GOLD_CHESTPLATE) {
    89. Bukkit.broadcastMessage("9");
    90. player.closeInventory();
    91. player.openInventory(SubChestPlate.getChestplateInventory());
    92. }
    93. if (clicked.getType() == Material.GOLD_LEGGINGS) {
    94. Bukkit.broadcastMessage("10");
    95. player.closeInventory();
    96. player.openInventory(SubLeggings.getLeggingsInventory());
    97. }
    98. if (clicked.getType() == Material.GOLD_BOOTS) {
    99. Bukkit.broadcastMessage("11");
    100. player.closeInventory();
    101. player.openInventory(SubBoots.getBootsInventory());
    102. }
    103. if (clicked.getType() == Material.BOWL) {
    104. Bukkit.broadcastMessage("12");
    105. player.closeInventory();
    106. }
    107. if (clicked.getType() == Material.CARPET) {
    108. Bukkit.broadcastMessage("13");
    109. player.closeInventory();
    110. player.getEquipment().setHelmet(null);
    111. player.getEquipment().setChestplate(null);
    112. player.getEquipment().setLeggings(null);
    113. player.getEquipment().setBoots(null);
    114. }
    115. Bukkit.broadcastMessage("14");
    116. if (clicked.getType() == Material.NETHER_STAR) {
    117. Bukkit.broadcastMessage("15");
    118. player.closeInventory();
    119. player.sendMessage(ChatColor.DARK_AQUA + "[Wardrobe+] " + ChatColor.RED
    120. + "This feature will be added in a future update!");
    121. }
    122. if (clicked.getType() == Material.GLASS) {
    123. Bukkit.broadcastMessage("16");
    124. player.closeInventory();
    125. player.sendMessage(ChatColor.DARK_AQUA + "[Wardrobe+] " + ChatColor.RED
    126. + "This feature will be added in a future update!");
    127. }
    128. if (clicked.getType() == Material.TRAPPED_CHEST) {
    129. Bukkit.broadcastMessage("17");
    130. player.closeInventory();
    131. player.sendMessage(ChatColor.DARK_AQUA + "[Wardrobe+] " + ChatColor.RED
    132. + "This feature will be added in a future update!");
    133. }
    134. }
    135. }
    136. Bukkit.broadcastMessage("18");
    137. }
    138. }
    139. }
     
  7. Offline

    ProMCKingz

    MnMaxon
    Ah, it seems to still give me the same messages: 1,2,3,4,5,18

    MnMaxon
    This is the error I get when I click the beacon:
    PHP:
    [16:42:08 ERROR]: Could not pass event InventoryClickEvent to WardrobePlus v1.0
    org
    .bukkit.event.EventException
            at org
    .bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va
    :294) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a
    :62) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava
    :501) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava
    :486) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.PlayerConnection.a(PlayerConnection.java
    :1361) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.PacketPlayInWindowClick.a(SourceFile:32)
    [
    craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.PacketPlayInWindowClick.handle(SourceFil
    e
    :10) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.NetworkManager.a(NetworkManager.java:146
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.ServerConnection.c(SourceFile:134) [craf
    tbukkit
    .jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.MinecraftServer.u(MinecraftServer.java:6
    55
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:2
    50
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:5
    45
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
    :457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            
    at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
    17
    ) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
    Caused byjava.lang.NullPointerException
            at mc
    .promckingz.wardrobe.ClickListener.onClick(ClickListener.java:67) ~
    [?:?]
            
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.6.0
    _31
    ]
            
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.6.0
    _31
    ]
            
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .6.0_31
    ]
            
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.6.0_31]
            
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va
    :292) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b3024jnks]
            ... 
    13 more
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 10, 2016
  8. Offline

    Necrodoom

    ProMCKingz well then, you get a NPE on line 67 as it says. Check which variable is null.
    Also, I doubt you got message 5 and 18 but also got a NPE on line 67.
     
  9. Offline

    ProMCKingz

  10. Offline

    TheHandfish

    Wat.

    java.lang.NullPointerException – How to handle Null Pointer ...

    You don't want NullPointerExceptions. NPE's are heralds of evil. When we get them, that means we tried to use a variable that is null to perform a task when it is necessary to use a variable that is not null.

    This would trigger a null pointer:

    Code:
    Player p = null;
    p.sendMessage("Hi, nonexistent player.");
    
    This would catch the error.

    Code:
    Player p = null;
    if(p != null)
    {
    p.sendMessage("This really doesn't make any sense.");
    }
    
     
  11. Offline

    ProMCKingz

    TheHandfish
    What do you mean?
    Let me admit I am quite a novis when it comes to coding Java
     
  12. Offline

    TheHandfish

    If that is the case, you really should work more on Java before trying to use an API for an API.
     
Thread Status:
Not open for further replies.

Share This Page