Note: This changelog started at Simpler 1.5. For changelog of older versions, see github releases.
Added copyright to every class.
Added proper built-in documentation (JavaDoc Coming Soon).
Added
me.efekos.simpler.items.ItemContent: Serialize an ItemStack to show it in chat WITHOUT NMS.
Added
me.efekos.simpler.config.ListDataManager<T>: Store a list of the datas in '.json' format.
Added
LICENSE.md.
Added
package-info.java files.
Added
me.efekos.simpler.config.Storable: Makes your class compatible for JSONDataManager<T>.
Changed License to MIT.
Changed most of the
ArrayList<...> type to List<...>.
Changed the tutorial 'Creating A Command': Core and sub commands.
Changed
CustomItem#CustomItem: Now it is possible to create a CustomItem using a prepared UUID or a random UUID.
Changed spigot-api to 1.20.1-R0.1-SNAPSHOT (was 1.19-R0.1-SNAPSHOT before).
Fixed
NumberArgument not using the priority given at constructor.
Removed
CustomItem#setUniqueItemId.
Removed
Simpler#onEnable: Useless.
Removed
Simpler#onDisable: Useless.
Moved
me.efekos.simpler.commands.syntax.ListArgument to me.efekos.simpler.commands.syntax.impl.ListArgument.
Moved
me.efekos.simpler.commands.syntax.StringArgument to me.efekos.simpler.commands.syntax.impl.StringArgument.
Moved
me.efekos.simpler.commands.syntax.NumberArgument to me.efekos.simpler.commands.syntax.impl.NumberArgument.
Moved
me.efekos.simpler.commands.syntax.PlayerArgument to me.efekos.simpler.commands.syntax.impl.PlayerArgument.
Moved
me.efekos.simpler.commands.translation.TranslateManager to me.efekos.simpler.translation.TranslateManager.\
Fixed
CoreCommand#getSub not working.
Added Permission checks to tab completion, you will no longer see tab completion for commands that you don't have permission for.
Added JavaDoc for Simpler.
Added
MessageConfiguration: Change the base messages of Simpler.
Added
Simpler#changeMessageConfiguration(MessageConfiguration configuration).
Added
ArgumentHandleResult: Now you can give reasons to players, so they won't mess up arguments again.
Fixed a small issue I forgot about in the time I'm writing this.
Added
MapDataManager: Store JSON data in Map format.
Changed
Storable to be an interface.
Deprecated
JSONDataManager: Use ListDataManager (removal in 1.6).
Renamed
JSONDataManager to ListDataManager
Fixed An issue causing due to optional parameters in
CoreCommand
Fixed The same issue. I won't go further today if it isn't fixed.
Added
JsonConfig: Configuration with JSON files! If you see any bug while using this, please open an issue about it.
Changed
ItemContent: Now it works for only 1.20.2. Also made every subclass of ItemContent different classes. See @.items.compound and @.items.tag package for more information.
Renamed
Config to YamlConfig
Added
CommandTree: Make commands that can go infinite subs.
Added
CommandNode: Main command node that CommandTrees use.
Added
ArgumentNode: Main node for arguments.
Added
LabelNode: Just one label, like a sub command.
Added
IntegerArgumentNode: Number argument for CommandTrees that only accepts Integer.
Added
PlayerArgumentNode: Player argument for CommandTrees.
Added
StringArgumentNode: String argument for CommandTrees.
Added
ListArgumentNode: List argument for CommandTrees.
Added
CommandExecutive: Main interface for classes that contains an executing code for CommandTrees.
Added
CommandExecuteContext: Main context class used by CommandExecutive.
Added
CommandManager#registerCommandTree: Register a command tree you created.
Added
TreeCommand: Actual command that handles a CommandTree.
Added
PaginatedMenu: A menu that shows any amount of ItemStacks using page system.
Renamed
NumberArgument to IntegerArgument.
Removed
JSONDataManager: Please use ListDataManager.
Changed Java version to 16.
Removed a line of code that shouldn't exist in the final build.
Added
CommandExecuteContext#getSenderAsPlayer.
Added
CommandExecuteContext#getSenderAsConsole.
Changed
CommandExecuteContext to be a class.
Changed
CommandExecuteContext#args to CommandExecuteContext#getArgs
Changed
CommandExecuteContext#sender to CommandExecuteContext#getSender
Added
CommandExecutive.consoleExecutive: Executive that only runs when the sender is console. Old executive will
keep running if the sender is a player.
Added
CommandNode.description - Going to be used for auto-generated help menus.
Added
CommandNode.parent - Going to be used for auto-generated help menus.
Changed License year to 2024.
Changed
Simpler class to be a class that doesn't extend JavaPlugin, because it isn't necessary.
Removed
plugin.yml from resources.
Deprecated
ItemContent, and it's needed classes. Everything here will be moved into another repository.
Added
BaseCommand#hasPermission.
Added
CoreCommand#hasPermission.
Added
ArgumentHandleResult#hasReason.
Added
DoubleArgument.
Added
DoubleArgumentNode.
Added
EnumArgument: List argument but for enums.
Added
EnumArgumentNode: List argument but for enums.
Fixed A bug that prevents players from executing any
SubCommand or CoreCommand
Added
HandleEvent: Annotation to put to your custom item event listeners.
Added
HandleType: Determines the type of the handler.
Added
SaveField: Lets you save the value of that field.
Added
FieldType: Type of the field you want to save.
Added
CustomItemRegistry: Register CustomItems using this registry.
Added
ItemManager#isCustom(ItemStack): Returns true if given stack is a custom item.
Added
ItemManager#getItem(ItemStack): Returns the custom item instance of the stack.
Added
SubOf: Add to your sub commands.
Added
Simpler#registerCommands(JavaPlugin): Scans your classes and registers commands.
Added
TreeCommandHandler: Annotate with @CommandTreeHandler.
Added
CommandTreeHandler: Used for classes extending TreeCommandHandler.
Changed
CoreCommand#getSubs to be not abstract because you don't have to manually add sub commands anymore.
Changed
CustomItem's entire behaviour.
Deprecated
CommandManager#registerCoreCommand(JavaPlugin,Class<? extends CoreCommand>): You have to define sub
command classes yourself.
Moved
@.annotations.Command to @.commands.Command.
Removed
@.events package: Event classes now need access to non-public methods.
Removed
@.items.compound: Moved into another repository.
Removed
@.items.tag: Moved into another repository.
Removed
@.items.ItemContent: another repository.
Removed
@.annotations package: Useless
Added icons to changelogs.
Changed
ListDataManager and MapDataManager's #load methods. Now they don't need a parameter.
Fixed a bug that saves files to wrong places in data managers when the plugin is running on an ubuntu server
Removed
@.config.ListDataManager.
Removed
@.config.MapDataManager.
Removed
@.config.Storable.
Updated SpigotMC version to 1.21.
Updated Java version to 21.