Jump to content

[Problem]: Testbefehl kann nicht in der Console ausgeführt werden.


_CrazyLuke_
 Share

Recommended Posts

Hallo liebe Forumgemeinde! ^^

Habe seit neuestem ein Problem mit Java (Bukkit)

Ich habe ein kleines Testplugin erstellt, mit dem Befehl "/test" der eine

kleine Nachricht an den Spieler senden soll (Bzw. an den "sender")

Ich habe zwei Klassen erstellt: (Draufklicken um den Code zu sehen)

(Hauptklasse) Main.java

(Commandklasse) cmdTest.java

Meine Frage ist jetzt warum diese Fehlermeldug kommt :/

[21:40:30] [Server thread/WARN]: Unexpected exception while parsing console command "test"org.bukkit.command.CommandException: Unhandled exception executing command 'test' in plugin DevPlugin v1	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:198) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]	at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchCommand(CraftServer.java:544) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]	at org.bukkit.craftbukkit.v1_7_R1.CraftServer.dispatchServerCommand(CraftServer.java:531) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]	at net.minecraft.server.v1_7_R1.DedicatedServer.aw(DedicatedServer.java:286) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]	at net.minecraft.server.v1_7_R1.DedicatedServer.u(DedicatedServer.java:251) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]	at net.minecraft.server.v1_7_R1.MinecraftServer.t(MinecraftServer.java:545) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]	at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:457) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]	at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R1.command.ColouredConsoleSender cannot be cast to org.bukkit.entity.Player	at me.cakenation.rumbasteln.cmdTest.onCommand(cmdTest.java:14) ~[?:?]	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-7-g169af45-b2985jnks]	... 8 more

Bin neu beim Bukkit-Plugin programmieren und ich verstehe die Fehlermeldung

nicht so ganz. Weiß jemand was es damit auf sich hat?

Greetz, Luke :)

Link to comment
Share on other sites

Hei

Das liegt daran, dass du nur den Kommando definiert hast, wenn einSpielerdiesen auslöst. Du musst abfragen, ob der CommandSenderein Spieler ist - ist er es nicht, kannst du dort die aus zu führende Funktion definieren, die ausgelöst wird, wenn der Command von der Konsoleausgeführt wird.

PS: Wenn du den Command ohne Rücksicht auf Großschreibung ausführen möchtest, benutze

if(cmd.getName().equalsIgnoreCase("test")){ 

...

}
Edited by René Uchiha
Link to comment
Share on other sites

Okay Danke René! :D Hier mal der richtige Code falls es einige suchen...

@Override

	public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {


		if(cmd.getName().equalsIgnoreCase("test")){

			if(sender instanceof Player);

		sender.sendMessage("Dies ist eine Test-Nachricht");

		} else {

		sender.sendMessage("Dies ist eine Test-Nachricht");

			return true;

		}

:arrow: Wenn der sender eine Instanz vom Typ Player ist, dann sendet er "Dies ist eine Testnachricht"

:arrow: Wenn das nicht so ist (else) Dann sendet er dem Sender die gleiche Nachricht ^^

Wieso ich da nicht früher darufgekommen bin, weiß ich selber nicht XD

Greetz, Luke

Edited by _CrazyLuke_
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...
B