Minecraft Spigot plugin warten auf?
Hey ich bin dabei zu lernen wie man Minecraft Plugins programmiert. wie man in dem Code Ausschnitt sieht will ich alle paar sekunden über einem gesetzten Kohle erz block gold spawnen. Wie ich es gemacht ist es nur ein bisschen suboptimal, da der server abstürzt wenn ich einen block setze weil er diese while schleife 100000 mal pro sekunde durchgeht^^ Weiß jemand wie ich das besser mache? Wo wir schonmal dabei sind: was gibt es für Alternativen zu .getTypeId() scheint ja nicht ganz richtig zu sein das zu verwenden.^^
1 Antwort
Nimm erst einmal die erste von dir gesetzte Annotation über der Methode raus. Deprecated Code unterdrückt man nicht, sondern man schaut, wie man ihn ersetzen kann, um das Programm sicher und stabil zu gestalten. Dies gilt dann also für alle Elemente, die in deinem Code bereits rot und durchgestrichen sind.
- getTypeId: https://bukkit.org/threads/gettypeid-deprecated.174536/
- ItemStack-Konstruktor: https://github.com/SpigotMC/Spigot-API/blob/master/src/main/java/org/bukkit/inventory/ItemStack.java
Zu deiner Schleife: Wann bricht sie denn ab? Auf mich wirkt es wie eine Endlosschleife. Schau des Weiteren einmal, ob du nicht stattdessen einen Timer/Scheduler verwenden kannst.
Die schleife soll erst enden, wenn der block wieder abgebaut wird (...)
Von wem denn, vom Spieler? Die Schleife blockiert den Prozess, möchte ich meinen. Wie gesagt eignet sich da ein Scheduler eher, denn der wird in einem eigenen Thread ausgeführt, der den aktuellen Thread nicht blockiert.
Danke schonmal für deine antwort.
werde die genannten punkte gleich mal umsetzen.
Die schleife soll erst enden, wenn der block wieder abgebaut wird, und ich denke das ist dann so richtig oder?