Wieso funktioniert das Plugin nicht?

yako85  28.04.2022, 20:08

für was ist das Plugin denn?

Jonas465 
Fragesteller
 28.04.2022, 20:08

für ein bootrennen

2 Antworten

Ich bin zwar kein Profi aber du musst glaube ich programmieren, dass man selber zu dieser Position teleportierst und danach noch, dass der andere auch hin teleportiert wird.

Ich denke, es wäre an dieser Stelle sinnvoll, mit Logausgaben o.ä. einmal zu prüfen, an welche Position die Spieler teleportiert werden und welche Bedingungen zutreffen oder nicht.

Zusätzlich würde ich empfehlen, die Codestruktur (start-Methode) zu überdenken. An verschiedenen Stellen könntest du Code kürzen und somit entwirren / deutlich lesbarer gestalten.

Beispiel:

Configuration configuration = plugin.getConfig();
Location start1 = configuration.getLocation("location.start1");
Location start2 = configuration.getLocation("location.start2");

Wobei start1 und start2 auch innerhalb der Schleife weiterverwendet werden sollten. Wieso du die Werte aber wieder neu holst, ist für mich nicht nachvollziehbar. Die Variable playerLocation nutzt du gar nicht, dabei könnte sie sicherlich deinen Vergleich kürzen:

if (location != playerLocation) {

Da die Argumente von teleport zudem wohl nicht null sein dürfen, deckst du bereits beim ersten teleport-Aufruf einen möglichen Fehlerfall nicht ab. Gerade wenn es doch mehr als zwei Onlinespieler gibt, hättest du wohl das Problem, dass Schlüsselwertpaare in der Konfiguration fehlen (das ist für mich eh die Frage: Wie viele Einträge gibt es in der Konfigurationsdatei, sind mindestens 1, 2 und 3 abgedeckt?).

Diese beiden Zeilen:

Boat bt = (Boat) current.getWorld().spawnEntity(location, EntityType.BOAT);
bt.addPassenger(current);

müsstest du sicherlich nicht zweimal wiederholen und was du mit der Variable i anstellst, ist etwas rätselhaft.