Quote:
Originally Posted by nawiat100
"The method getServer() is undefined for the type Listen"
|
Ja, das liegt daran das getServer zum JavaPlugin und nicht zum Listener gehört.
Wenn du eine Referenz auf dein Hauptklasse hast könntest du es so machen:
Code:
plugin.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
Hierbei enthält "plugin" die Refenz auf deine Hauptklasse (extends JavaPlugin). Diese solltest du im Konstruktor des Listeners mit übergeben haben.
Wenn du keine Referenz hast könntest du es auch so machen:
Code:
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
Quote:
Originally Posted by nawiat100
@Howaner
dein code ging ^^ danke dir 
|
Der Code von lordsill und mir funktioniert auch, wenn du die letze Korrektur gemacht hast. Diesen "Fehler" kannst du aber weder uns, noch wir dir, zuschreiben.
Es ist nicht ganz klar geworden was du tun willst, daher sind diese zwei unterscheidlichen Lösungen entstanden.
Die Lösung von lordsill und mir respawnt den Block, so wie du es beschrieben hattest, nach einer Sekunde wieder, wobei ich jetzt im nachhinein sagen muss, dass der Code nur ein von vielen Möglichkeiten abdeckt was ein Block alles sein kann. (So wären z.B. Wollefarben, Schildtexte oder Kisteninhalte nicht wiederhergestellt worden)
Die Lösung von Howaner bricht einfach das Event ab und verhindert damit, dass der Block überhaupt abgebaut wird. Das entspricht zwar nicht genau dem was du beschrieben hattest, ist dafür aber auch von den Fehlern der anderen Lösung befreit.