- Support for custom Java types and conversion for database storage
- Enums are considered custom types
- SQLField.name is now encapsulated as encouraged by OOP principles
- SQLField.name is now auto deducted from the Java field's name in the SQLElement subclass (no more field name in the constructor)
- No need to precise the SQLType of an SQLFKField (auto deducted from the target SQLField's type) via static method SQLFKField.customFK()
- Support of Java type UUID (stored as CHAR(36) in database. No need to use custom getter and setters for SQLElements using UUID fields
La classe javafx.util.Pair n'aurait pas dû être utilisé dans le projet
(Utilisation réservée en interne à l'API JavaFX).
Utilisation de org.javatuples:javatuples comme librairie pour la classe Pair.
- Support de callback pour le retour de réponse de la part de
l'application interlocuteur (client -> serveur ou serveur -> client)
- ByteBuffer : un String peut être null
- ByteBuffer : une liste de ByteSerializable peut être null
- ByteBuffer : support des liste de String (peut être null aussi)
- TCPServer : on peut obtenir une liste des clients connectés
- Correction d'une cause probable d'un bug : l'arrêt des serveurs spigot se bloque après la sauvegarde des maps (donc logiquement après l'arrêt des plugins). La cause probable est qu'un thread non "daemon" ne s'arrête pas et bloque la fermeture du processus de Spigot. Le retrait de cette cause probable implique que chaque thread créé par le plugin doit être défini en daemon. (Thread#setDaemon())
- SQLElement et SQLElementList incluent une méthode permettant la
conversion en JsonEement
- Meilleure gestion des exceptions dans TCPServer lors du traitement
d'un packet reçu
- tous les appels à printStackTrace() sont supprimés et remplacés par Log.severe()
- Ajout de de l'historiqe de ping et de login kick
- AbstractConfig et AbstractConfigManager maintenant dans PandacubeUtil pour être utilisé par tous les plugins (évite code en double)
- Connexion MySQL supporte UTF-8 (mb4)
- Correction de Quelques erreurs lorsqu'une table SQL n'est pas initialisée avant son utilisation
- Correction de bugs lors de le gestion des clé étrangères dans l'ORM.
- Ajout d'un mode debuggage utilisé par l'ORM pour afficher les requêtes envoyés au serveur BDD
- Corrections de nombreux bugs présent dans le nouvel ORM et dans son utilisation
- Meilleure affichage des distances : unité m et km choisi selon distance
- Ajout d'une classe Log qui permet de simplifier l'utilisation du logger
- PandacubeUtil est maintenant intégré dans le packetage .jar des
plugins Bungee et Spigot.
- Les librairies importés sont réorganisés. PandacubeUtil ne dépend plus
de BungeeCord et de Spigot
- L'API chat de Bungee (couleur, mise en forme chat) est intégré à
PandacubeUtil (code décompilé)
- remplacera NetworkAPI dans le futur
- permet une connexion persistante entre les applications/processus :
évite ouverture/fermeture répétitif des connexions TCP
- basé sur la librairie réseau de
https://github.com/marcbal/SpaceInvaderTP
- Transfert de la librairie com.luckycatlabs.sunrisesunset vers un autre module Pandacube.
- Ajout de l'utilitaire OfflineUUID développé précédemment hors projet.
- Ajout de Minecraft 1.10 dans l'enum des versions de Minecraft
- Ajout d'une libraire d'accès aux anciens pseudos des joueurs
- L'historique de login enregistre des informations supplémentaires
(pseudo actuel, version de MC)
- ORM : retrait des SuppressWarnings("rawtypes") et ajout des <?> pour
retirer proprement ces warnings
- Le MOTD sur le menu multijoueur affiche mieux certains messages
spécifique (pas la bonne version, pas de lobby, ...)
- Lors de l'arrêt d'un serveur, on tente les deux façon d'envoyer la
commande /stop (stdout et networkAPI)
- Changement du calcul du malus en survie
- MoneyUtil affiche mieux l'argent (séparateur de millier en
l'occurrence)