Skip to content

Latest commit

 

History

History
163 lines (128 loc) · 15.6 KB

CHANGELOG.md

File metadata and controls

163 lines (128 loc) · 15.6 KB

Note: This changelog started at Simpler 1.5. For changelog of older versions, see github releases.

1.5

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.\

1.5.1

Fixed CoreCommand#getSub not working.

1.5.2

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.

1.5.3

Fixed a small issue I forgot about in the time I'm writing this.

1.5.4

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

1.5.5

Fixed An issue causing due to optional parameters in CoreCommand

1.5.6

Fixed The same issue, I hope.

1.5.7

Fixed The same issue. I won't go further today if it isn't fixed.

1.5.8

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

1.6

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.

1.6.1

Changed Java version to 17.

1.6.2

Removed a line of code that shouldn't exist in the final build.

1.6.3

Added CommandExecuteContext#getSenderAsPlayer.
Added CommandExecuteContext#getSenderAsConsole.
Changed CommandExecuteContext to be a class.
Changed CommandExecuteContext#args to CommandExecuteContext#getArgs
Changed CommandExecuteContext#sender to CommandExecuteContext#getSender

1.6.4

Added CommandExecutive.consoleExecutive: Executive that only runs when the sender is console. Old executive will keep running if the sender is a player.

1.6.5

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.

1.6.6

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.

1.6.7

Fixed A bug that prevents players from executing any SubCommand or CoreCommand

1.7

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

1.7.1

Added icons to changelogs.
Changed ListDataManager and MapDataManager's #load methods. Now they don't need a parameter.

1.7.2

Fixed a bug that saves files to wrong places in data managers when the plugin is running on an ubuntu server

1.8

Removed @.config.ListDataManager.
Removed @.config.MapDataManager.
Removed @.config.Storable.
Updated SpigotMC version to 1.21.
Updated Java version to 21.