Bukkit Plugin Programmierung: 2 Befehle

07/13/2013 22:51 themrdomi#1
Hallo,
ich habe ein Plugin programmiert, welches einfach einen Text ausgeben soll.
Ich habe zwei Befehle eingebaut, allerdings funktioniert nur der eine. In der plugin.yml ist alles korrekt.
Hier ist der link zu Pastebin: [Only registered and activated users can see links. Click Here To Register...]
Vielleicht findet ihr ja den Fehler und könnt mir helfen.


LG
Dominik
07/13/2013 22:58 ComputerBaer#2
Überleg dir mal, ob das Sinn macht:
Code:
if(x == "permissions")
{
    if(x = "restart")
    {
    }
}
07/13/2013 23:05 themrdomi#3
Ja, stimmt, aber wie denn sonst ?
Kannst du es mir bitte verbessern und dann erklären? Das wäre nett :)

LG
Dominik
07/13/2013 23:30 ComputerBaer#4
Hast du das grade wirklich gefragt ... ?
Weist du, was du da tust? Verstehst du es? Kannst du gut logisch denken?

Wie wäre es denn z.B. so?
Code:
if(x == "permissions")
{
}
if(x = "restart")
{
}
07/13/2013 23:43 themrdomi#5
So habe ich es jetzt auch gemacht, aber irgendwie geht es nicht.
Ich schicke morgen nochmal einen Code, weil jetzt bin ich zu müde :)

LG
Dominik
07/14/2013 02:57 herlex#6
Bei der 2. ifschleife muss ein "==" anstatt "=" hin.
07/14/2013 07:55 Howaner#7
Da du es ja scheinbar nicht hinbekommst ....
Code:
package me.themrdomi.permissioner;

import org.bukkit.Bukkit;
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 permissioner extends JavaPlugin {

	@Override
	public void OnEnable() {
		System.out.println("Permissioner aktiviert!");
	}
	
	@Override
	public void OnDisable() {
		System.out.println("Permissioner deaktiviert!");
	}
	
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		//PERMISSIONS
		if (cmd.getName().equalsIgnoreCase("permissions")) {
			if (!(sender instanceof Player)) {
				
				System.out.println("Dieser Befehl kann leider nicht von der Konsole ausgeführt werden!");
				return false;
			}
			Player p = (Player)sender;
			if (args.length != 0) {
				p.sendMessage(ChatColor.RED + "Benutzung: /permissions");
				return false;
			}
			p.sendMessage(ChatColor.RED + "Folgende Gruppen haben folgende Rechte: \n");
			p.sendMessage(" \n");
			p.sendMessage(ChatColor.AQUA + "VIP:\n");
			p.sendMessage(ChatColor.GOLD + "Flugmodus mit /fly\n");
			p.sendMessage(ChatColor.GOLD + "Teleport Rechte mit /tp <player>\n");
			p.sendMessage(ChatColor.GOLD + "Du kannst bis zu 10 Homes setzen.\n");
			p.sendMessage(ChatColor.GOLD + "Du kannst Kits nutzen. Infos mit /kit");
			return true;
		}
		
		//RESTART
		if (cmd.getName().equalsIgnoreCase("restart")) {
			Bukkit.broadcastMessage(ChatColor.RED + "Der Server wird in Kürze gereloaded...");
		}
	}
}
07/14/2013 08:03 themrdomi#8
danke jetzt funktioniert es
07/14/2013 11:19 ComputerBaer#9
Quote:
Originally Posted by HerleX View Post
Bei der 2. ifschleife muss ein "==" anstatt "=" hin.
... füg die Erste im Code ein und es wird auch nicht funktionieren. Die sollten einfach nur den Ablauf veranschaulichen und nicht perfekt und fehlerfrei sein ...

Und jetzt ignorier mal das fehlende "=" und überleg mal, ob das ausreicht um den Fehlerm von themrdomi zu erkennen. Ja, es sollte im Normalfall ausreichen.