Hey! Ich habe gerade mal grob über dein GitHub-Repo geschaut.
Wenn du magst, hätte ich noch einige Verbesserungsvorschläge
- asynchrone MySQL-Klasse (
https://github.com/Yannici/bedwars-...yannici/bedwars/Database/DatabaseManager.java) so würder der Main-Thread nicht mehr unnötigerweise mit Datenbankabfragen blockiert. Wenn du dich da noch nicht so gut auskennst, wäre es auch schon schön die Updates, also deine cleanResults/Statements asynchron auszuführen
- Lombok-Integration. Wenn du Lombok nicht kennst: Es ist quasi ein Code-Helper. Indem man Lombok in das Projekt reinnimmt, kann man sich so das Programmieren von getter/setter und auch anderen Methoden wie hashCode() und toString() sparen. Man setzt einfach die Lombok Annotation dran und diese Methoden werden dann von Lombok beim Kompillieren automatisch erstellt. (siehe z.B.
https://github.com/Yannici/bedwars-.../github/yannici/bedwars/Database/DBField.java)
Hier ist der Link zu Lombok:
http://projectlombok.org
- Finalisierung von Variablen. Wenn du weißt, dass sich Variablen nach der Initialisierung nicht mehr ändert, definiere diese als final. Dies verbessert immerhin geringfügig die Performance und deckt sich auch gut mit den Java-Konventionen.
Ein Beispiel dafür wäre z.B. ein String aus deiner GameManager Klasse
public static String gamesPath = "games";
würde zu
public static final String GAMES_PATH = "games";
Obwohl ich das Plugin nicht getestet habe, finde ich sonst alles ganz ok.
Viel Erfolg und Spaß weiterhin am Programmieren!
Gruß
Max