Releases: Revxrsal/Lamp
Releases · Revxrsal/Lamp
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
Lamp 3.0.4
- Help entries will now include all sibling commands and children of siblings
- ExecutableCommand and CommandCategory now implement Comparable, to allow them to be sorted according to the alphabetical order
- Help entries will automatically be sorted in alphabetical order
Lamp 3.0.3
Warning: This release introduces breaking changes to ArgumentStack
.
- French translation by @SkytAsul
- Fix MissingArgumentException was not thrown with a missing flag value (#20)
- Fixed annotation priorities when an annotation is present on both the class and method
- Added
CommandHandler.unregisterAllCommands()
@AutoComplete
annotations can now accept*
for a parameter to reference the default auto-completer- Use a supplier for Bukkit's config to avoid loading it (which would throw an error if the config had any problems)
- Fixed flags not working correctly with Brigadier
- Fixed flag completion being semi-broken
- Introduced the ArgumentParser API
- Added
CommandHandler.getArgumentParser()
,CommandHandler.setArgumentParser(ArgumentParser)
,CommandHandler.parseArguments(String...)
andCommandHandler.parseArgumentsForCompletion(String...)
- Fixed Brigadier commands being registered on the
minecraft:
namespace - Improved Brigadier support
ArgumentStack changes:
- Removed
ArgumentStack#of(String...)
- Removed
ArgumentStack#of(Collection<String>)
- Removed
ArgumentStack#forAutoCompletion(String...)
- Removed
ArgumentStack#fromString(String)
- Renamed
ArgumentStack#exactly(Collection<String>
to#copy(Collection<String>)
- Added
ArgumentStack#copy(String...)