MysticCity / Ancient

http://dev.bukkit.org/bukkit-plugins/ancient-rpg/
4 stars 6 forks source link

Main-Class remake #186

Open Th3Shadowbroker opened 8 years ago

Th3Shadowbroker commented 8 years ago

Die derzeitige Main-Class (Ancient) ist enorm unübersichtlich und beschmückt mit sinnlosen oder inzwischen sinn freien Kommentaren. Daher schlage ich einen kompletten Remake besagter Klasse vor, sowie die Implementierung eines CategoryEvents-Systems (werde ich dann noch genau erklären.)

FroznMine commented 8 years ago

Die Vielzahl seltsamer Kommentare ist meine Schuld ^^ ich hatte mir da Notizen machen wollen zu dem was ich nicht verstanden habe, was mir überflüssig oder unbenutzt vorkam. Ansich kann man die alle rausschmeißen. (Die Kommentare) Was mit categoryevent system gemeint ist weiß ich nicht, klingt aber interessant.

Th3Shadowbroker commented 8 years ago

Also...besagte Category Events hören sich groß an, sind aber recht simpel und helfen bei der Fehlersuche. Alle Listener einer Kategorie beispielsweise. alle Guild-Listener werden von einer sogenannten loader Class geladen, in der mögliche Fehler direkt verarbeitet werden. Hinterher können wir dann implementieren, dass die Sektion des Fehlers in NICHT fach-chinesisch gepostet wird und es somit leichter ist Errorlogs von Ancient deutlich leichter zu Analysieren, da wir bereits genau wissen wo der Fehler liegt. Außerdem sind Category Events meiner Meinung nach übersichtlicher :)

Th3Shadowbroker commented 8 years ago

Aktueller stand: https://github.com/MysticCity/Ancient/blob/rollback/th3shadowbroker/fixes/src/com/ancientshores/Ancient/AncientNew.java

FroznMine commented 8 years ago

Das mit den categoryevents klingt nach wie vor spannend, ich bleibe gespannt. Mach die Brands am besten gleich private und mach nen paar getter, sie müssen ja nicht von jedem änderbar sein ;)

Th3Shadowbroker commented 8 years ago

Gute Idee danke ^^

Th3Shadowbroker commented 8 years ago

Aktueller Stand der Dinge https://github.com/MysticCity/Ancient/commit/b34582ea748a9d2fe1a72bf179637bcff74123e1 Außerdem: Aus Ordnungsgründen sind die Brands statische Variablen ohne get Methode und somit simpel per Ancient.ChatBrand bzw. Ancient.ConsoleBrand zu erreichen, um die MainClass für das nötigste klein zu halten und damit nicht später wieder das derzeitige Durcheinander entsteht.

Außerdem wurde eine Versionsgebundene Loadingsequenz in alle LoaderClasses eingefügt um eine Backwardcompatibility zu gewährleisten. Myst und ich sind zumindest beide der Meinung, das wir veraltete Versionen zwar als BWC (Backward Code) zur Verfügung stellen (als implementierter Bestandteil), jedoch nicht mehr aktualisieren.

Code des CompatibilityTools zum ermitteln der Version: https://github.com/MysticCity/Ancient/blob/rollback/th3shadowbroker/fixes/src/com/ancientreborn/Ancient/CompatibilityTool.java

zuletzt noch ein Beispiel für das Versions-abhängige Laden von beispielsweise Events: https://github.com/MysticCity/Ancient/blob/rollback/th3shadowbroker/fixes/src/com/ancientreborn/Ancient/Loader/Events.java

P.s: Alle Inhalte des "Remakes" befinden sich im Package ancientreborn.