Vanish Command ERROR

Discussion in 'Plugin Development' started by Jamscott, Jun 28, 2014.

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

    Jamscott

    Could someone help me i don't see where i have went wrong
    Vanish Command Class
    Code:java
    1. package me.jamscott.enderboxfun.commands;
    2.  
    3. import java.util.ArrayList;
    4.  
    5. import me.jamscott.enderboxfun.Messages;
    6.  
    7. import org.bukkit.Bukkit;
    8. import org.bukkit.ChatColor;
    9. import org.bukkit.command.Command;
    10. import org.bukkit.command.CommandExecutor;
    11. import org.bukkit.command.CommandSender;
    12. import org.bukkit.entity.Player;
    13.  
    14. public class Vanish implements CommandExecutor {
    15.  
    16. public static ArrayList<String> vanished = new ArrayList<String>();
    17.  
    18.  
    19. public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
    20.  
    21. if (!(sender instanceof Player)) {
    22. sender.sendMessage(ChatColor.RED + "You cannot vanish!");
    23. return true;
    24. }
    25.  
    26. Player p = (Player) sender;
    27.  
    28. if (cmd.getName().equalsIgnoreCase("vanish") || cmd.getName().equalsIgnoreCase("v")){
    29. if (!p.hasPermission("ender.mod")){
    30. p.sendMessage(Messages.NO_PERM);
    31. return false;
    32. }
    33. if (!vanished.contains(p.getName())) {
    34. for (Player pl : Bukkit.getServer().getOnlinePlayers()) {
    35. pl.hidePlayer(p);
    36. }
    37. vanished.add(p.getName());
    38. p.sendMessage(Messages.MAIN_PREFIX +"Vanish has now been : §a§lEnabled");
    39. return false;
    40. }
    41. else {
    42. for (Player pl : Bukkit.getServer().getOnlinePlayers()) {
    43. pl.showPlayer(p);
    44. }
    45. vanished.remove(p.getName());
    46. p.sendMessage(Messages.MAIN_PREFIX +"Vanish has now been : §c§lDisabled");
    47.  
    48. return false;
    49. }
    50. }
    51. return false;
    52. }
    53.  
    54. }


    ERROR LOG
    Code:
    21:04:00 [INFO] jamscott issued server command: /v
    21:04:00 [SEVERE] null
    21:04:00 org.bukkit.command.CommandException: Unhandled exception executing command 'v' in plugin Enderbox v1.0
    21:04:00    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:701) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(PlayerConnection.java:956) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:817) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:157) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:667) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00    at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:00 Caused by: java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()Ljava/util/Collection;
    21:04:00    at me.jamscott.enderboxfun.commands.Vanish.onCommand(Vanish.java:34) ~[?:?]
    21:04:00    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    21:04:01    ... 13 more
    
     
  2. Offline

    Gerov

    On line 34, instead of doing

    Code:java
    1. for(Player pl : Bukkit.getServer().getOnlinePlayers())


    do

    Code:java
    1. Player[] onlineplayers = Bukkit.getServer().getOnlinePlayers();
    2. for(Player pl : onlineplayers)
     
  3. Theres no diff Gerov

    W8 sorry Gerov ure right if you do it your way you might get ConcurrentModificationException
     
  4. Offline

    Jamscott

  5. Offline

    ZodiacTheories

  6. Offline

    Traks

    The Bukkit developer team changed the returned object of getOnlinePlayers() from a Player array to a Player Collection. Use the same version you used to build your plugin on your server, or update both to use Collection: Collection#toArray(T[])
     
  7. Offline

    Jamscott

    ZodiacTheories I fixed it i was using bukkit but when i changed to craftbukkit it was fixed
     
Thread Status:
Not open for further replies.

Share This Page