Change Ban

Discussion in 'Plugin Development' started by Super10Gamer, Jan 30, 2016.

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

    Super10Gamer

    Hi, I don't know why this dosen't work.
    Anyone Can Help Me ?

    Code:
            if (command.getName().equalsIgnoreCase("ban")) {
                Player p = (Player) sender;
                if (!p.hasPermission("swordgames.ban")) {
                    p.sendMessage("§cSem Permissão!");
                } else {
                    if (args.length == 0) {
                        sender.sendMessage("§cUse: /ban {PLAYER} {REASON}");
                    } else {
                        if (args.length == 1) {
    
    
                        }else
                            if (args.length == 2) {
                                Player target = Bukkit.getServer().getPlayer(args[0]);
                                if (target == null) {
                                    p.sendMessage(ChatColor.RED + args[0] + " não esta Online");
                                    return true;
    
                                } else {
                                  int reason = Integer.valueOf(args[1]);
                                  target.setBanned(true);
                                  target.kickPlayer(null);
                                  Bukkit.broadcastMessage("§bO Jogador §c" + target.getName() + " §bFoi Banido! Rasão: §c" + reason);
                                  Bukkit.broadcastMessage("§bPor §c" + p.getDisplayName());
                                }
                            }
                    }
                }
                }
     
  2. Offline

    adam753

    Your ifs and elses are in all the wrong places. This would be avoided if you were to make sure everything is indented correctly and don't try to put things like "} else {" on one line. Try laying your code out correctly and you could well find out that it's not doing what you thought.

    Also, "/ban" is a vanilla minecraft command. I assume you knew that already? Do you have this command registered in your plugin.yml?
     
  3. Offline

    Zombie_Striker

    Since you did not post your instanceof check, I will assume this is a blind casted player. Please do not blind cast. Instead, check if the sender is a player before casting.
    If I remember correctly, you cannot override commands. You are going to need to use a new command if you want this to work properly.

    Since it does nothing, why are you checking? Just remove this block entirely.

    1. I don't think you can/should input a null for a string. if you really want to, put "" instead.
    2. You may want to replace null with 'reason', that way the player knows what they were banned for.
    And as it has been noted before, you should format your code. Easier to see mistakes that way.
     
  4. Offline

    Super10Gamer

    Nothing.
    Code:
            if (command.getName().equalsIgnoreCase("ban")) {
                Player p = (Player) sender;
                if (!p.hasPermission("swordgames.ban")) {
                    p.sendMessage("§cSem Permissão!");
                } else {
                    if (args.length == 0) {
                        sender.sendMessage("§cUse: /ban {PLAYER} {REASON}");
                    } else {
                            if (args.length == 2) {
                                Player target = Bukkit.getServer().getPlayer(args[0]);
                                if (target == null) {
                                    p.sendMessage(ChatColor.RED + args[0] + " não esta Online");
                                    return true;
    
                                } else {
                                  int reason = Integer.valueOf(args[1]);
                                  target.setBanned(true);
                                  target.kickPlayer("reason");
                                  Bukkit.broadcastMessage("§bO Jogador §c" + target.getName() + " §bFoi Banido! Rasão: §c" + reason);
                                  Bukkit.broadcastMessage("§bPor §c" + p.getDisplayName());
                                }
                            }
                    }
                }
                }
    Code:
    [16:20:12 ERROR]: Unhandled exception executing command 'ban' in plugin SwordGam
    es-SkyWars v1.3.1
    org.bukkit.command.CommandException: Unhandled exception executing command 'ban'
    in plugin SwordGames-SkyWars v1.3.1
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[ser
    ver.jar:git-Spigot-db6de12-18fbb24]
            at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.jav
    a:417) [Essentials-2.x-SNAPSHOT.jar:?]
            at com.earth2me.essentials.Essentials.onCommand(Essentials.java:402) [Es
    sentials-2.x-SNAPSHOT.jar:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [serv
    er.jar:git-Spigot-db6de12-18fbb24]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
    1) [server.jar:git-Spigot-db6de12-18fbb24]
            at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServe
    r.java:641) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerCon
    nection.java:1162) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java
    :997) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java
    :45) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java
    :1) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:1
    3) [server.jar:git-Spigot-db6de12-18fbb24]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    ?:1.8.0_71]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_71]
            at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [server.jar
    :git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:7
    15) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:3
    74) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:6
    54) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java
    :557) [server.jar:git-Spigot-db6de12-18fbb24]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_71]
    Caused by: java.lang.NumberFormatException: For input string: "a"
            at java.lang.NumberFormatException.forInputString(Unknown Source) ~[?:1.
    8.0_71]
            at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_71]
            at java.lang.Integer.valueOf(Unknown Source) ~[?:1.8.0_71]
            at me.super10.Main.onCommand(Main.java:29) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[ser
    ver.jar:git-Spigot-db6de12-18fbb24]
            ... 18 more
     
  5. Offline

    Zombie_Striker

    You're trying to turn the reason for why the player is banned into an Integer.
     
  6. Offline

    Super10Gamer

    Code:
            if (command.getName().equalsIgnoreCase("ban")) {
                Player p = (Player) sender;
                if (!p.hasPermission("swordgames.ban")) {
                    p.sendMessage("§cSem Permissão!");
                } else {
                    if (args.length == 0) {
                        sender.sendMessage("§cUse: /ban {PLAYER} {REASON}");
                    } else {
                            if (args.length == 2) {
                                Player target = Bukkit.getServer().getPlayer(args[0]);
                                if (target == null) {
                                    p.sendMessage(ChatColor.RED + args[0] + " não esta Online");
                                    return true;
    
                                } else {
                                  Integer reason = Integer.valueOf(args[1]);
                                  target.setBanned(true);
                                  target.[U]kickPlayer[/U]('reason');
                                  Bukkit.broadcastMessage("§bO Jogador §c" + target.getName() + " §bFoi Banido! Rasão: §c" + reason);
                                  Bukkit.broadcastMessage("§bPor §c" + p.getDisplayName());
                                }
                            }
                    }
                }
                }
    Code:
    [16:32:43 ERROR]: Unhandled exception executing command 'ban' in plugin SwordGam
    es-Ban v1.0.1
    org.bukkit.command.CommandException: Unhandled exception executing command 'ban'
    in plugin SwordGames-Ban v1.0.1
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[ser
    ver.jar:git-Spigot-db6de12-18fbb24]
            at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.jav
    a:417) [Essentials-2.x-SNAPSHOT.jar:?]
            at com.earth2me.essentials.Essentials.onCommand(Essentials.java:402) [Es
    sentials-2.x-SNAPSHOT.jar:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [serv
    er.jar:git-Spigot-db6de12-18fbb24]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:14
    1) [server.jar:git-Spigot-db6de12-18fbb24]
            at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServe
    r.java:641) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerCon
    nection.java:1162) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java
    :997) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java
    :45) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java
    :1) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:1
    3) [server.jar:git-Spigot-db6de12-18fbb24]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [
    ?:1.8.0_71]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_71]
            at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [server.jar
    :git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:7
    15) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:3
    74) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:6
    54) [server.jar:git-Spigot-db6de12-18fbb24]
            at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java
    :557) [server.jar:git-Spigot-db6de12-18fbb24]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_71]
    Caused by: java.lang.NumberFormatException: For input string: "Oi"
            at java.lang.NumberFormatException.forInputString(Unknown Source) ~[?:1.
    8.0_71]
            at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_71]
            at java.lang.Integer.valueOf(Unknown Source) ~[?:1.8.0_71]
            at me.super10.Main.onCommand(Main.java:29) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[ser
    ver.jar:git-Spigot-db6de12-18fbb24]
            ... 18 more
     
  7. Offline

    Zombie_Striker

    @Super10Gamer
    Still, you are doing the same thing. Turn "reason" into a string, and remove interger.valueOf.
     
  8. Offline

    Super10Gamer

    Thanks It Worked.
    But I can't Use EXEMPLE: /ban Super10Mine_xD Hacker Kill Aura
    Only: /ban Super10Mine_xD Hacker
     
    Last edited: Jan 30, 2016
Thread Status:
Not open for further replies.

Share This Page