Contrary to the official priorities in the development team, I've been working on a fork of the TotalFreedomMod with one goal in mind: clean up and improve the plugin by fixing long-standing issues in it and removing useless bloat. Today, I'm creating this thread to share my progress.
I have made a lot of changes so far, but here are some highlights:
-
Multi-version Support
Thanks to the beautiful people from Paper, I've completely removed or rewritten all code that relied on NMS. This means that for the first time, the plugin works on both 1.16 and 1.18 at the same time without needing to be recompiled. -
UUIDs for player and admin data
I've managed to move everything that unnecessarily relied on IP addresses to use UUIDs instead. Because there is no need for verification on a premium server, I have also completely removed the player verification system. -
More control over the command loader
I've changed how the command loader operates to allow the plugin's commands to be completely excluded from being loaded if either a plugin the command depends on isn't present or if the command is in a list in the configuration file. This behavior can be tweaked in the configuration. -
Command indexing and registration improvements
This one comes in two parts. Firstly, I've rewritten a good chunk of the HTTPD server's help module to not only fix the "duplicate entries" bug, but also optimize it quite a bit. Secondly, I've finally figured out and fixed what was causing the plugin to not show up in /help. -
WorldGuard isn't required to run the plugin anymore
For the first time in a very long time, the plugin will now work standalone like it once did. No more needing to download WorldGuard to run the plugin. While the way I did it wasn't very clean, it got the job done quite well and solved other problems afloat.
When I feel that I have made enough changes to be satisfied, I will make a pull request to merge these changes into the official branch. For now, if you want to watch development as it happens, you can go here to see my changes: https://github.com/VideoGameSm…omMod/commits/development