• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Serverplugin schreiben / Kleine Frage

Status
Für weitere Antworten geschlossen.

Mrcookie008

Braumeister
Registriert
15 Dezember 2011
Beiträge
380
Diamanten
0
Minecraft
xCookieZz oder Mrcookie008 (Beides Premium)
Heyho Leute:D

Ich habe heute an einem Tutorial ein Plugin geschrieben , funktioniert alles super , nur wie kann ich nun den nächsten Befehl einsetzten bzw. kann ich mir irgentwo vom 1. Befehl was rauskopieren , wo ich dann beim 2. Befehl einfügen kann? Bin ein totaler neuling bei Eclipse :D
Und die Tutorialreihe geht erst in ca. 5 Tagen weiter^-^ Also wer grade nichts zutun hat könnte mir da eben mal helfen :)

Also hier der Code , wie gesagt: Wo muss ich nun mit dem 2. Befehl anfangen und vorallem was muss da als 1. hin? :/

Code:
package main;

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 CookieCommand extends JavaPlugin {
    
    public void onEnable() {
        System.out.println("CookieCommand v" + this.getDescription().getVersion() + " eingeschaltet PS: Cookies werden die Welt erobern! Muahaha!");
    }
    
    public void onDisable() {
        System.out.println("CookieCommand v" + this.getDescription().getVersion() + " ausgeschaltet! Ich komme wieder! Muhahaha!");
    }
    
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        
        if(cmd.getName().equalsIgnoreCase("heilen")) {
            
            if(sender instanceof Player) {
                Player p = (Player) sender;
                if(args.length == 0) {
                    p.setHealth(20);
                    p.sendMessage(ChatColor.GREEN + "[CookieCommand] Du wurdest geheilt.");
                }
                else if(args.length == 1) {
                    if(this.getServer().getPlayer(args[0]).isOnline()) {
                        Player target = this.getServer().getPlayer(args[0]);
                        target.setHealth(20);
                        target.sendMessage(ChatColor.GREEN + "[CookieCommand] Du wurdest geheilt!");
                        p.sendMessage(ChatColor.GREEN + "[CookieCommand] Du hast " + target.getName() + " erfolgreich geheilt!");        
                    }
                    
                }
            }
            else {
                if(args.length == 1) {
                    if(this.getServer().getPlayer(args[0]).isOnline()) {
                        Player target = this.getServer().getPlayer(args[0]);
                        target.setHealth(20);
                        target.sendMessage(ChatColor.GREEN + "[CookieCommand] Du wurdest geheilt!");
                        System.out.println(ChatColor.GREEN + "[CookieCommand] Du hast " + target.getName() + " erfolgreich geheilt!");        
                    }
                }
                else {
                    System.out.println("[CookieCommand] Fehler! Die Konsole kann nicht geheilt werden!");
                    
                }
                
                
            }
            
        }
        
        return true;
    }
}


PS: Ich bitte euch nicht mit Kommentaren wie "Lern Java" oder soetwas zu kommen .. ihr müsst mir ja nicht helfen :p .... danke :)
 

rBxGame

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
16 Februar 2012
Beiträge
1.074
Diamanten
0
Hab ich dir doch mal per PN geschrieben... ^^


Schau, wo der erste Befehl zu ende ist, danach kommt ein 'else if(cmd.getName().equalsIgnoreCase("oprBxxx")) {

//Code

}

MFG
rBxxx



_____


else {
System.out.println("[CookieCommand] Fehler! Die Konsole kann nicht geheilt werden!");

}


}

}

else if(cmd.getName().equalsIgnoreCase("BlaBlaBla")) {

// Code

}

return true;
}
}



 
Zuletzt bearbeitet:

Mrcookie008

Braumeister
Registriert
15 Dezember 2011
Beiträge
380
Diamanten
0
Minecraft
xCookieZz oder Mrcookie008 (Beides Premium)
Hab ich dir doch mal per PN geschrieben... ^^


Schau, wo der erste Befehl zu ende ist, danach kommt ein 'else if(cmd.getName().equalsIgnoreCase("oprBxxx")) {

//Code

}

MFG
rBxxx



_____






Ich glaube ich hab nen Knoten im Kopf... irgentwas verstehe ich nicht.. schau mal so vestehe ich dass:

Code:
package main;

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 CookieCommand extends JavaPlugin {
	
	public void onEnable() {
		System.out.println("CookieCommand v" + this.getDescription().getVersion() + " eingeschaltet PS: Cookies werden die Welt erobern! Muahaha!");
	}
	
	public void onDisable() {
		System.out.println("CookieCommand v" + this.getDescription().getVersion() + " ausgeschaltet! Ich komme wieder! Muhahaha!");
	}
	
	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		
		if(cmd.getName().equalsIgnoreCase("heilen")) {
			
			if(sender instanceof Player) {
				Player p = (Player) sender;
				if(args.length == 0) {
					p.setHealth(20);
					p.sendMessage(ChatColor.GREEN + "[CookieCommand] Du wurdest geheilt.");
				}
				else if(args.length == 1) {
					if(this.getServer().getPlayer(args[0]).isOnline()) {
						Player target = this.getServer().getPlayer(args[0]);
						target.setHealth(20);
						target.sendMessage(ChatColor.GREEN + "[CookieCommand] Du wurdest geheilt!");
						p.sendMessage(ChatColor.GREEN + "[CookieCommand] Du hast " + target.getName() + " erfolgreich geheilt!");		
					}
					
				}
			}
			else {
				if(args.length == 1) {
					if(this.getServer().getPlayer(args[0]).isOnline()) {
						Player target = this.getServer().getPlayer(args[0]);
						target.setHealth(20);
						target.sendMessage(ChatColor.GREEN + "[CookieCommand] Du wurdest geheilt!");
						System.out.println(ChatColor.GREEN + "[CookieCommand] Du hast " + target.getName() + " erfolgreich geheilt!");		
					}
				}
				else {
					System.out.println("[CookieCommand] Fehler! Die Konsole kann nicht geheilt werden!");
					
				}
				
				
[B]else if(cmd.getName().equalsIgnoreCase("BlaBlaBla")) {

// Code

}

Und jetzt? Was muss ich jetzt machen? Was kann ich von oben hierhin kopieren damit ich nicht alles nochmal schreiben muss :/ ?[/B]
			}
			
		}
		
		return true;
	}
}
 
Zuletzt bearbeitet:

MrFlieder

Braumeister
Registriert
30 Dezember 2011
Beiträge
332
Diamanten
0
Minecraft
MrFlieder
Hey,

vorweg muss ich sagen, dass der Code meines Erachtens unübersichtlich gestaltet ist - und bei größeren Programmen behält man die Übersicht meiner Meinung nach viel einfacher, wenn man nach bei sämtlichen Abfragen, Schleifen, etc. das Konstrukt erst in der nächsten Zeile beginnt.

Zu deiner Frage:
Code:
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
{
    if(cmd.getName().equalsIgnoreCase("command1")
    {

    }
    if(cmd.getName().equalsIgnoreCase("command2")
    {

    }
}
Wenn das Konstrukt der ersten 'Command-Abfrage' beendet ist, kannst du eine Neue machen - natürlich innerhalb der onCommand-Methode. ;)
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
Hey,

vorweg muss ich sagen, dass der Code meines Erachtens unübersichtlich gestaltet ist - und bei größeren Programmen behält man die Übersicht meiner Meinung nach viel einfacher, wenn man nach bei sämtlichen Abfragen, Schleifen, etc. das Konstrukt erst in der nächsten Zeile beginnt.

Zu deiner Frage:
Code:
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
{
    if(cmd.getName().equalsIgnoreCase("command1")
    {

    }
    if(cmd.getName().equalsIgnoreCase("command2")
    {

    }
}
Wenn das Konstrukt der ersten 'Command-Abfrage' beendet ist, kannst du eine Neue machen - natürlich innerhalb der onCommand-Methode. ;)

Das ist aber nur Geschmackssache, bei vielen großen Projekten wird es genau andersrum gemacht.
Netbeans formatiert auch automatisch mit der klammer in der gleichen Zeile.
Ich pers. finde deine Methode auch einfach nur hässlich, darüber kann man sich aber auch streiten.
Zusammengefasst: Mache das was dir gefällt oder wenn du in einem Projekt arbeitest, was dort standart ist.
 
Status
Für weitere Antworten geschlossen.
Oben