Jump to content

Recommended Posts

Posted (edited)

Hey, bei folgendem Code bekomme ich immer einen internen Fehler. Was passt ihm nicht?


package testplugin;


import org.bukkit.command.Command;

import org.bukkit.command.CommandSender;

import org.bukkit.entity.Player;

import org.bukkit.plugin.java.JavaPlugin;


public class testpluginprogrammierung extends JavaPlugin{

	public void onEnable () {

		System.out.println("[Heilung] Das Heilungs-Plugin wurde gestartet!");

	}


		public void onDisable () {

			System.out.println("[Heilung] Das Heilungs-Plugin wurde gestoppt!");

		}

		@SuppressWarnings("deprecation")

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


			Player p = (Player)sender;

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

				if (args.length == 0) {

					p.sendMessage("?aDu wurdest geheilt!");

					p.setHealth(20.0);

			}

			return true;

		}

		else {

			return false;

		}

		}

}

Immer ein interner Fehler, beim Fett gemachten und unterstrichenen zeigt Eclipse einen Fehler dann, lässt mich aber nix importeren. Der Code ist aus nem Video, das ich gerade nicht finde :D(Edit: Dashier, alles gleich gemacht.;http://www.youtube.com/watch?v=q0feJI6oQFM)

Edit2: Beim getName ist ne Glühbirne mit X, der Videoersteller sagte aber in den Kommentaren, dass das kein Problem sei.

Bitte, ist mein erster Versuch, nicht auslachen XD

MfG

Edited by Biber
Posted

1. Wo ist da ein getName() ?

1+.Wo ist da was fett? :)

1++.Wann tritt der Fehler auf? Wenn erst zur Laufzeit, dann schick mal den Fehler ;)

2. Füg mal direkt über der onComman ein @Override ein :)

3. Deine plugin.yml korrrekt?

4. Wenn du den Befehl in der Konsole eingibst, wird es nen Fehler geben, weil es sich nicht um ein Player-Objekt handelt.

Füg mich einfach in Skype hinzu. Ist vllt einfacher ;)

Posted

Mach ich morgen, einfach nach cmd, mit der Suchfunktion vom FF/Chrome suchen, da is das.

Ich füg dich dann morgen halt hinzu.

+× by Phone ×+

Posted

Also das cmd.getName().equalsIgnoreCase("") dürfte schon klappen.

Ich frage mich aber auch, warum du deprecation-Probleme hast. setHealth() ist glaube ich noch voll im Trend!?

Ich denke es liegt an der plugin.yml, liegt meistens dran ;D

Den Error aus der Konsole bitte mal herkopieren.

Für die Zukunft: Mach nen Check, ob der sender die Konsole ist, sonst gibt's große böse Fehler.


	public boolean isConsole (CommandSender sender) {		

		if (sender instanceof ConsoleCommandSender) return true;

		else return false;

	}

Wäre eine schöne Methode, die genau das checkt und dir bei einer Konsole true und bei allem anderen false zurückgibt. Danach kannst du getrost einen Player casten, beim Nachdenken bin ich mir aber doch nicht so ganz sicher, wie das Ganze dann mit CMD-Blöcken aussieht.

Liebe Grüße,

Baustein

EDIT: Die Methode dürfte sogar Arcalio gefallen, kleiner Insider. ;)

Posted

EDIT: Die Methode dürfte sogar Arcalio gefallen, kleiner Insider. ;)

Endlich mal Zeichen sparen :D

Allerdings ist es meiner Ansicht nach Quatsch, zu testen, ob der sender Konsole ist, wenn man eh zu Player casten will. Warum dann nicht auf instance of Player überprüfen? Da gäbe es auch die Überlegung mit den Cmd-Blöcken nicht.

@Baustein:

1.Warum sollte sich das nicht compilen lassen?

2. Wieso habe ich das Gefühl, dass du quasi meinen Beitrag genommen hast und daraus Sätze gemacht hast? :D

Posted

@Arcalio:

1. idk war es, der sagte, das ließe sich compilen. Ich habe das nie bezweifelt ^^

2. Öhm... höhö, ich hab ihm Code gegeben! Ha!

Liebe Grüße,

Baustein

Posted (edited)

@Baustein:

1. Verdammt, mein Fehler ;)

2. ...,der jetzt nicht so mega toll war :D

Noch liebere Grüße,

Arcalio

Edited by Arcalio
  • 3 weeks later...
Posted (edited)

	public boolean isConsole (CommandSender sender) {				if (sender instanceof ConsoleCommandSender) return true;		else return false;	}

Danke Baustein für diese Methode ^^

Probiere ich mal aus.. Ich schreibe es eigentlich

immer anders! :D Danke :)

Edited by _CrazyLuke_
Posted

Schon, aber ich hab mittlerweile beschlossen, mich dem VBScript zu widmen und das Bukkit-Development zu lassen ;)

LG

Gesendet von meinem GT-I9505 mit Tapatalk

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
×
×
  • Create New...
B
B