minecraft bukkit plugin

01/28/2014 19:15 babw5000#1
hay hab nur eine kleine frage unzwar hab ich mein eigenes plugin geschrieben für meinen server ein skill info plugin aber schon fang ich an und mache irgendwo einen fehler dabei hab ich mich schon gefreut als ich sah das er das plugin erkennt und das man /help skills machen kann

naja das eigentliche problem ist das ich einfach keinen befehl schreiben kann wenn ich /ninja mache steht da an internal error occured while attempting to perform this command
[Only registered and activated users can see links. Click Here To Register...]

der code vom plugin
Code:
package me.koalamanda.info;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Info extends JavaPlugin {
	
	public void onenable() {
		System.out.println("Plugin wurde geladen");		
	}
	
	public void ondisable() {
		System.out.println("Plugin wurde gestoppt");
	}
	
	public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args) {
	 Player p = (Player) sender;
	 if (p.hasPermission("skills.info"))
	 if (args[0].equalsIgnoreCase("Samurai"))
	cmd.getName().equalsIgnoreCase("Samurai"); {
		p.sendMessage("§b§lDer Samurai kostet 25€ Paysafecard.");
		p.sendMessage("§b§lDer Samurai bekommt sein eigenes kit.");
		p.sendMessage("§b§lund er hat eigene skills z.b.");
		p.sendMessage("§b§lein skill von ihm er macht viel schaden aber greift langsam an!.");
		p.sendMessage("§b§lin seinem kit gibt es eine Samurai Rüstung(eisen mit schutz 3) .");
		p.sendMessage("§b§lund eine Katana (Eisenschwert mit schärfe 3.");
		p.sendMessage("§b§lund noch 10 pilzsuppen.");
		p.sendMessage("§b§ldas kit kann man alle 20 min benutzen!.");
		}
	
	 if (args[0].equalsIgnoreCase("Assasine"))
	cmd.getName().equalsIgnoreCase("Assasine"); {
		p.sendMessage("§b§lDer Assasine kostet 25€ Paysafecard.");
		p.sendMessage("§b§lDer Assasine bekommt sein eigenes kit.");
		p.sendMessage("§b§lund er hat eigene skills z.b.");
		p.sendMessage("§b§lein skill von ihm er springt 3 blöcke hoch!.");
		p.sendMessage("§b§lin seinem kit gibt es eine Assasine Kleidung(leder mit schutz 4 und mehr) .");
		p.sendMessage("§b§lund eine Verstecke klinge (Eisenschwert mit schärfe 5.");
		p.sendMessage("§b§lund noch 10 pilzsuppen.");
		p.sendMessage("§b§ldas kit kann man alle 20 min benutzen!.");
		
	 if (args[0].equalsIgnoreCase("ninja"))
	 cmd.getName().equalsIgnoreCase("Ninja"); {
		p.sendMessage("§b§lDer Ninja kostet 10€ Paysafecard.");
		p.sendMessage("§b§lDer Ninja bekommt sein eigenes kit.");
		p.sendMessage("§b§lund er hat eigene skills z.b.");
		p.sendMessage("§b§lein skill von ihm er hat speed 1!.");
		p.sendMessage("§b§lin seinem kit gibt es eine Ninja Kleidung(leder mit schutz 3 und mehr) .");
		p.sendMessage("§b§lund einen Dolch (Eisenschwert mit schärfe 3.");
		p.sendMessage("§b§lund noch 5 pilzsuppen.");
		p.sendMessage("§b§ldas kit kann man alle 20 min benutzen!.");		}
		return true;}
	}
}
und von der plugin.yml
Code:
name: Skills und infos
version: 1.0
author: koalamanda
main: me.koalamanda.info.Info
commands:
     samurai:
          description: zeigt alles vom samurai an!
          usage: </command>
     assasine:
          description: zeigt alles vom assasine an!
          usage: </command>
     ninja:
          description: zeigt alles vom ninja an!
          usage: </command>
01/28/2014 19:18 Spongebozz'#2
ich kann meinen coder fragen wenn du willst. :)
01/28/2014 19:22 babw5000#3
ja bitte :)
01/28/2014 19:23 lordsill#4
Wo hast denn den Code aufgetrieben? Da sind ja recht harte Fehler drinne...

Versuch mal lieber das hier:

Code:
package me.koalamanda.info;

import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class Info extends JavaPlugin {
	
	public void onEnable() {
		System.out.println("Plugin wurde geladen");		
	}
	
	public void onDisable() {
		System.out.println("Plugin wurde gestoppt");
	}
	
	public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args) {
	if(sender instanceof Player)
	{
		Player p = (Player) sender;
		if (p.hasPermission("skills.info"))
		{
			if (cmd.getName().equalsIgnoreCase("Samurai"))
			{
				p.sendMessage("§b§lDer Samurai kostet 25€ Paysafecard.");
				p.sendMessage("§b§lDer Samurai bekommt sein eigenes kit.");
				p.sendMessage("§b§lund er hat eigene skills z.b.");
				p.sendMessage("§b§lein skill von ihm er macht viel schaden aber greift langsam an!.");
				p.sendMessage("§b§lin seinem kit gibt es eine Samurai Rüstung(eisen mit schutz 3) .");
				p.sendMessage("§b§lund eine Katana (Eisenschwert mit schärfe 3.");
				p.sendMessage("§b§lund noch 10 pilzsuppen.");
				p.sendMessage("§b§ldas kit kann man alle 20 min benutzen!.");
			}
			
			if (cmd.getName().equalsIgnoreCase("Assasine"))
			{
				p.sendMessage("§b§lDer Assasine kostet 25€ Paysafecard.");
				p.sendMessage("§b§lDer Assasine bekommt sein eigenes kit.");
				p.sendMessage("§b§lund er hat eigene skills z.b.");
				p.sendMessage("§b§lein skill von ihm er springt 3 blöcke hoch!.");
				p.sendMessage("§b§lin seinem kit gibt es eine Assasine Kleidung(leder mit schutz 4 und mehr) .");
				p.sendMessage("§b§lund eine Verstecke klinge (Eisenschwert mit schärfe 5.");
				p.sendMessage("§b§lund noch 10 pilzsuppen.");
				p.sendMessage("§b§ldas kit kann man alle 20 min benutzen!.");
			}
				
			if (cmd.getName().equalsIgnoreCase("ninja"))
			{
				p.sendMessage("§b§lDer Ninja kostet 10€ Paysafecard.");
				p.sendMessage("§b§lDer Ninja bekommt sein eigenes kit.");
				p.sendMessage("§b§lund er hat eigene skills z.b.");
				p.sendMessage("§b§lein skill von ihm er hat speed 1!.");
				p.sendMessage("§b§lin seinem kit gibt es eine Ninja Kleidung(leder mit schutz 3 und mehr) .");
				p.sendMessage("§b§lund einen Dolch (Eisenschwert mit schärfe 3.");
				p.sendMessage("§b§lund noch 5 pilzsuppen.");
				p.sendMessage("§b§ldas kit kann man alle 20 min benutzen!.");
		    }
		}
    }
	return true;
    }
}
01/28/2014 19:32 ComputerBaer#5
Ich hätte auch noch ein paar Fehler und kleinere Änderungen.
Code:
	@Override
	public void onEnable() {
		getLogger().info("Plugin wurde geladen");		
	}
	
	@Override
	public void onDisable() {
		getLogger().info("Plugin wurde gestoppt");
	}
	
	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String cmdlabel, String[] args)
	{
		[...]
Außerdem könnte man die Abfragen so ändern, weil wenn ein Fall zutrifft können die anderen nicht mehr zutreffen.
Code:
			if (cmd.getName().equalsIgnoreCase("Samurai"))
			{
				[...]
			}
			
			else if (cmd.getName().equalsIgnoreCase("Assasine"))
			{
				[...]
			}
				
			else if (cmd.getName().equalsIgnoreCase("ninja"))
			{
				[...]
			}
01/28/2014 19:37 babw5000#6
danke danke danke lordsill alles geht ich weiss ich bin noch bissl dumm beim programmieren aber naja :D danke noch ma