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 CommandTree
s use.
Added ArgumentNode
: Main node for arguments.
Added LabelNode
: Just one label, like a sub command.
Added IntegerArgumentNode
: Number argument for CommandTree
s that only accepts Integer.
Added PlayerArgumentNode
: Player argument for CommandTree
s.
Added StringArgumentNode
: String argument for CommandTree
s.
Added ListArgumentNode
: List argument for CommandTree
s.
Added CommandExecutive
: Main interface for classes that contains an executing code for CommandTree
s.
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 ItemStack
s 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 CustomItem
s 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.