Releases: Revxrsal/Lamp
Releases · Revxrsal/Lamp
Lamp v3.1.3
- Fix a few bugs in
@DefaultFor
annotation - Added
ExecutableCommand#execute
methods - Categories will now throw exceptions if they have more than one default action
- Minor improvements and cleanups
Lamp v3.1.2
- Introduce DefaultFor to better express and control the default action logic
- Optional now takes a
def()
property for the default value, as a full replacement to@Default
. @NotSender
will automatically be inferred on arguments that have certain annotations which explicitly imply that the argument is not a sender (for example,@Optional Player
, or@Switch("p") Player
clearly mean this is a parameter and not a sender).ArgumentParser
has been deprecated, and scheduled for removal in v3.1.4commandHandler#parseArguments()
andcommandHandler#parseArgumentsForCompletion()
have been deprecated, and are scheduled for removal in v3.1.4. As a replacement, useArgumentStack#parse()
andArgumentStack#parseForAutoCompletion()
respectively.- Consecutive spaces will not be ignored, and will be parsed just like normal arguments. This is to get functionality as similar to Brigadier as possible, and adhere to the common standards in command execution frameworks.
- Added functionality to
@GuildOnly
annotation in JDA - Documented annotations in JDA
Flag parameter fixes, player completion fixed, Italian translations
- Fixed flag parameters getting incorrect type in Brigadier
- Fixed player suggestions being half-broken when Brigadier is supported
- Added BukkitBrigadier#disableNativePlayerCompletion() to disable native player completions on Brigadier
- Italian translation by @HornMCPE
- Minor optimizations to Brigadier node parser
Full Changelog: 3.1.0...3.1.1
Full Brigadier implementation on 1.19+, new Either type, bug fixes
This version implements native Brigadier support on Minecraft 1.19+.
- Players can't see commands they don't have access to
- Certain parameter errors (such as ranges) that are handled by Brigadier will receive Brigadier errors, just like normal Minecraft commands
- Commands are handled entirely by brigadier now. So unknown subcommands will receive Brigadier errors.
- ArgumentTypeResolvers are no longer bound to types
- New Either type 🎉
- Code cleanups
- Brigadier cleanup
Brigadier on 1.19.1+, minor fixes
- Adds support to Brigadier on Minecraft 1.19.1+ (Paper only)
- Minor permission fixes with auto-completion
Update category permissions
- Fix a small issue in category permissions
Replace ArgumentTypes with MinecraftArgumentType enum
- Remove
ArgumentTypes
utility for 1.19 support - Added
MinecraftArgumentType
enum for accessing and creating Minecraft's argument types - Replaced brigadier.bind(Class, String) with brigadier.bind(Class, MinecraftArgumentType)
Lamp 3.0.6
- Remove
ktx
module and migrate it tocommon
- Add adventure APIs to Bukkit
BukkitCommandHandler#enableAdventure()
andBukkitCommandHandler#enableAdventure(BukkitAudiences)
BukkitCommandActor#audience()
BukkitCommandActor#reply(ComponentLike)
- Use
Audience
as a sender in commands - Returning
Component
s from methods will be sent to the command actor
- Add Kotlin extensions to Bukkit
bukkitCommandHandler {}
DSLbrigadier {}
DSLCommandActor.sender
:CommandSender
CommandActor.player
:Player
CommandActor.playerOrNull
:Player?
brigadier.bind<Type>(argumentType)
brigadier.bind<Type>(argumentTypeResolver)
brigadier.bind<Type>(String)
Lamp 3.0.6-SNAPSHOT
Lamp 3.0.5
- minor "no-subcommand-specified" translation fix by @alisson0022 in #22
- Lamp is now truly 100% dependency-less
bukkit
's module no longer depends on commodore and instead embeds a stripped-down version of it (to change certain behaviour in it as well)bukkit
's module also no longer depends on thebrigadier
module for Brigadier support- Introduced new Brigadier API for Bukkit, allowing to register custom argument types for parameters
- Fixed Brigadier's usage not displaying
Player
arguments on 1.13.2+ will now be auto-completed by vanilla, allowing selectors to be used on them directlyArgumentStack
can be used as a parameter type to access the command input- Added
SelfHandlingException
interface for exceptions that wish to immediately handle themselves - General code cleanups