Code Modification

Added some caching into the mod to give it more proformance.

Changed methods to use/rely on whats in CommandBase.

Added new annotation field called "disableInProduction". This will make it so when we are pushing the mod out for production/release, we can disable buggy commands by default, but otherwise have it enabled in debug mode.

Created a new inner class called CommandStructure. This will store the annotation information (eg command name, permission node, etc) to be able to use later with how we have commands setup.

Added 3 methods in the Player class to check to see if the player is muted, banned, or jailed. Will be used for future commands and hooks.

Rewritten how the player is checked during chat, login, and logout. Also added a cleanup to remove the player from memory when they logout to prevent possible memory leakages.

Change loadFile to use String instead of BufferedReader to fix an IOException when reading json file dur to the reader being closed before it is returned. Also added writeToFile to make it possible to write to a file in a simple manner.

Added (but will likely remove) KitInventory and KitTemplate class. This will be used for managing kits.

Purged Profile.java

Added forgotten class CommonCommands to the cmdList. Will find a better method of loading commands without loading the class manually into the arraylist.

Added method "doesPermissionExExist" to check and see if it does when the mod is not in debug mode.
Cleanup and added a check
Did some minor changes to code

Remove CommandStructure to look for a better solution

Added placeholder for "reply"

Clean up annotations

Added methods to FileUtils for creating directory.
Cleanup annotations

Merge from upstream/master

Created and moved smite, entitycannon (previously was kittycannon but now with several entities and mainly for testing), summon (indev), fly, and god mode into FunCommands (may rename to ExtraCommands)

Changed code from upstream to now support Player.sendSuccessMessage() and Player.sendErrorMessage() which will send the message when there is an error or an successful task.

Added placeholders for tpa, tpall, tpaccept, tpreject, and warpall

Cleanup and partially finished lag command to show global information as well as per world (arguments must be the dimension numbers).

Move the check so when it is not in debug mode, it would detect the client in the preInit and if Pex/PermissionForge exist in serverStarting

Removed unused arraylist

Added placeholder for OfflinePlayer

Fix casting in Player.exec() to use ePlayer instead of "this" which caused a crash when using sudo (my mistake because i forgot to change it back)

Cleanup and added full support for fly and god mode (so far it works perfectly)

From upstream, added support for powertools (still in-dev)

In Scheduler, removed unused/empty methods, and added exec.shutdown to cancelTask

Added EntityBombTask for entitycannon

Clean up DataUtils and renamed DateUtils adding a few methods inside for supporting time.
Fixed command naming
Removed unneeded variables
Removed unneeded debug information and added a way to generate command information (may change in the future)

Renamed and moved several classes
Removed unneeded debug information and added a way to generate command information (may change in the future)

Renamed and moved several classes
Basic placeholders
Fixed several bugs

Added nick and book command (indev). Fixed vanish command to insure that the player is vanished and not using a splash effect.

Added overrides to OfflinePlayer

Change logic for vanish and god in the Player class.

Implemented onNameFormatEvent to assist in changing nicknames, and applying prefix and suffixes (requires PermissionForge for that)

In the current code, excluding the new additional commands. I did a few changes to how things work. Due to the nature of nicknames and how it impact the player name, we changed it so we are using the entityplayer instead of calling by name. This will make it possible to remove the nickname in the event when the player is to have it removed or want it disabled. This makes it possible for any player using a nickname not to get an error when doing a command. We might remove names in the future and stick with UUIDs but for caching and references, names will stick in the player json file. In the future, work on a caching system to map out player names to the nicknames to make it easier to find and remove (or restore) the names of the player.
Average Commit