OnPlayerJoin Help

Discussion in 'Plugin Development' started by Zangoran, May 30, 2014.

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

    Zangoran

    Here is my code:
    Code:java
    1. package me.zangoran.kobaltorange.smp;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.command.Command;
    6. import org.bukkit.command.CommandSender;
    7. import org.bukkit.entity.Player;
    8. import org.bukkit.plugin.java.JavaPlugin;
    9.  
    10. public class SMP extends JavaPlugin {
    11.  
    12. public static boolean state = false;
    13.  
    14. @Override
    15. public void onEnable() {
    16. getLogger().info("onEnable has been enabled!");
    17. }
    18.  
    19. @Override
    20. public void onDisable() {
    21. }
    22.  
    23. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    24. if (cmd.getName().equalsIgnoreCase("smp") && sender instanceof Player) {
    25. Player player = (Player) sender;
    26. if (!player.hasPermission("smp.toggle")) {
    27. player.sendMessage(ChatColor.RED + "You are not allowed to perform this command.");
    28. return true;
    29. } else if (args.length > 0) {
    30. if (args[0].equalsIgnoreCase("on")) {
    31. SMP.state = true;
    32. for (Player p : Bukkit.getServer().getOnlinePlayers()) {
    33. if (!p.hasPermission("smp.bypass")) {
    34. p.kickPlayer("Server is under maintenance!");
    35. return true;
    36. } else {
    37. Bukkit.getLogger().info(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.BLUE + " SMP has been turned" + ChatColor.DARK_GREEN + " ON");
    38. p.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.BLUE + " SMP has been turned" + ChatColor.DARK_GREEN + " ON");
    39. }
    40. }
    41. }
    42.  
    43. } else if (args[0].equalsIgnoreCase("off")) {
    44. SMP.state = false;
    45. for (Player p : Bukkit.getServer().getOnlinePlayers()) {
    46. p.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.BLUE + " SMP has been turned" + ChatColor.RED + " OFF");
    47. }
    48. return true;
    49. } else if (args[0].equalsIgnoreCase("reload")) {
    50. if (player.hasPermission("smp.reload")) {
    51. this.reloadConfig();
    52. player.sendMessage(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.DARK_RED + " Config reloaded!");
    53. Bukkit.getLogger().info(ChatColor.RED + "[" + ChatColor.GOLD + "SMP" + ChatColor.RED + "]" + ChatColor.DARK_RED + " Config reloaded!");
    54. return true;
    55. }
    56. } else {
    57. return false;
    58. }
    59. } else {
    60. return true;
    61. }
    62.  
    63.  
    64. return true;
    65. }
    66. }

    What I want it to do is when a player joins they get kicked right away. When I do /smp on it does nothing at all except say the chat notification. Also when I do it in the console it does nothing. And when I do /smp it gives me this:
    Code:
    [17:43:17 ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'smp' in plugin SMP v1.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-2-g1e4
    dcde-b3086jnks]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.
    1-2-g1e4dcde-b3086jnks]
            at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:701) ~[craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-
    1.7.9-R0.1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(PlayerConnection.java:956) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bu
    kkit-1.7.9-R0.1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:817) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R
    0.1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0
    .1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(PacketPlayInChat.java:47) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7
    .9-R0.1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:157) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-
    2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-2-g1e4d
    cde-b3086jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:667) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.
    1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.
    1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.
    1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R
    0.1-2-g1e4dcde-b3086jnks]
            at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.
    1-2-g1e4dcde-b3086jnks]
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
            at me.zangoran.kobaltorange.smp.SMP.onCommand(SMP.java:43) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit-1.7.9-R0.2-20140520.082451-2.jar:git-Bukkit-1.7.9-R0.1-2-g1e4
    dcde-b3086jnks]
            ... 13 more
    Could someone please help?
     
  2. Offline

    Arkel

    You're getting a null error because the args array is empty when you just type "/smp". Hence "Caused by: java.lang.ArrayIndexOutOfBoundsException: 0".

    You might find it easier if you taught yourself some more Java and re-did the plugin tutorial
     
  3. Offline

    JaguarJo

Thread Status:
Not open for further replies.

Share This Page