Java Plugin-Problem

Dieses Thema im Forum "Minecraft Hilfe" wurde erstellt von SGT_Shan, 5. November 2016.

  1. SGT_Shan

    SGT_Shan Neuling

    Beiträge:
    1
    Punkte für Erfolge:
    1
    Hey Leute!

    Ich habe mich mal an mein Plugin rangesetzt und irgendwie funktioniert es nicht ganz. Wenn ich Ingame "/beam SGT_Shan" eingebe wird der Befehl "/heilen SGT_Shan" ausgeführt, oder wenn ich eingebe "/beam jwdw" (Also ein Spieler der nicht online ist) wird auch die Meldung von "/heilen jwdw" angezeigt. Kann mir jemand helfen ?

    Code:
    package com.Shan.ShanPlugin;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class ShanPlugin extends JavaPlugin {
    
        @Override
        public void onEnable() {
            super.onEnable();
           
            System.out.println("[ShanPlugin] Version 1.0 erfolgreich geladen!");
           
        }
       
        @Override
        public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    
            //Falls sender ein Player ist, machen wir den Sender zum Player
            Player player = null;
            if(sender instanceof Player){
                player = (Player) sender;
            }
           
           
            //Kommandos
                //Kommando "heilen"
                if (command.getName().equalsIgnoreCase("heilen")){
                   
                   
                    }
                   
                    if (args.length == 1){
                        for (Player haktuellerSpieler : this.getServer().getOnlinePlayers()){
                            if(haktuellerSpieler.getName().equalsIgnoreCase(args[0])){
                            haktuellerSpieler.setHealth(20);
                            sender.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Heilung" + ChatColor.DARK_GRAY + "] " + ChatColor.AQUA + "Du hast " + ChatColor.RED + haktuellerSpieler.getName() + ChatColor.AQUA + " erfolgreich geheilt!");
                            haktuellerSpieler.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Heilung" + ChatColor.DARK_GRAY + "] " + ChatColor.AQUA + "Du wurdest von " + ChatColor.RED + sender.getName() + ChatColor.AQUA + " geheilt!");
                            return true;
                            }
                            player.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Heilung" + ChatColor.DARK_GRAY + "] " + ChatColor.RED +args[0] + ChatColor.AQUA + " ist leider nicht auf dem Server!");
                            return true;
                    }
    
                    }
                    //Kommando "/heilen"
                    if (command.getName().equalsIgnoreCase("heilen"))
                            if (args.length != 1){
                                player.setHealth(20);
                                player.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Heilung" + ChatColor.DARK_GRAY + "] " + ChatColor.RED + "du" + ChatColor.AQUA + " hast" + ChatColor.RED + " dich" + ChatColor.AQUA + " geheilt");
                            }
    
                   
       
               
       
        //Kommando "beam"
                if (command.getName().equalsIgnoreCase("beam")){
                   
                    if(args.length != 1){
                        return false;
                    }
                // Sucht den Spieler den wir brauchen
                        for(Player baktuellerSpieler : this.getServer().getOnlinePlayers()){
                        if(baktuellerSpieler.getName().equalsIgnoreCase(args[0])){
                            //Kommando "beam"
                            player.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Beam" + ChatColor.DARK_GRAY + "] " + ChatColor.AQUA + "Skooty beam mich!");
                            player.teleport(baktuellerSpieler.getLocation());
                            player.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Beam" + ChatColor.DARK_GRAY + "] " + ChatColor.RED + "Du " + ChatColor.AQUA + "bist nun bei" + ChatColor.RED + baktuellerSpieler.getName() + "!");
                            return true;
                       
                        }
                    }
               
                        player.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Beam" + ChatColor.DARK_GRAY + "] " + ChatColor.RED + args[0] + ChatColor.AQUA + " ist leider nicht auf dem Server");
                        return true;
                       
                }
               
                   
                   
               
       
                return true;
    }
    }
    
     
  2. Clive128

    Clive128 Mitglied++ Aktiver Benutzer

    Beiträge:
    116
    Punkte für Erfolge:
    48
    Hey,

    auf den ersten Blick würde ich sagen, dass du da einen Fehler bei den Klammern hast.
    Schau mal in Zeile 31 dort öffnest du eine Klammer für den Befehl heilen diese machst du dann direkt in Zeile 34 wieder zu. --> Das Plugin führt immer den Befehlsteil aus wo es um das heilen eines Spielers geht und gibt dann ein true zurück. Wenn du die Klammer aus Zeile 34 um den ganzen Block ziehst sollte es gehen. (Die Zeilenangaben verstehen sich inklusive der Leerzeilen die du in dem Code hast ;-) )

    Wenn du noch Fragen hast kannst du dich gerne melden.

    Viele Grüße
    Clive

    Code:
            //Kommandos
                //Kommando "heilen"
                if (command.getName().equalsIgnoreCase("heilen")){
                   
                   
                   
                   
                    if (args.length == 1){
                        for (Player haktuellerSpieler : this.getServer().getOnlinePlayers()){
                            if(haktuellerSpieler.getName().equalsIgnoreCase(args[0])){
                            haktuellerSpieler.setHealth(20);
                            sender.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Heilung" + ChatColor.DARK_GRAY + "] " + ChatColor.AQUA + "Du hast " + ChatColor.RED + haktuellerSpieler.getName() + ChatColor.AQUA + " erfolgreich geheilt!");
                            haktuellerSpieler.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Heilung" + ChatColor.DARK_GRAY + "] " + ChatColor.AQUA + "Du wurdest von " + ChatColor.RED + sender.getName() + ChatColor.AQUA + " geheilt!");
                            return true;
                            }
                            player.sendMessage(ChatColor.DARK_GRAY +"[" + ChatColor.GREEN + "Heilung" + ChatColor.DARK_GRAY + "] " + ChatColor.RED +args[0] + ChatColor.AQUA + " ist leider nicht auf dem Server!");
                            return true;
                    }
    
                    }
                 }
     

Diese Seite empfehlen