Skip to content

Releases: Revxrsal/Lamp

Flag parameter fixes, player completion fixed, Italian translations

14 Dec 19:03
3cb2dd0
Compare
Choose a tag to compare
  • 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

17 Oct 18:56
Compare
Choose a tag to compare

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
    image
  • 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

14 Aug 14:58
Compare
Choose a tag to compare
  • Adds support to Brigadier on Minecraft 1.19.1+ (Paper only)
  • Minor permission fixes with auto-completion

Update category permissions

14 Jul 09:58
Compare
Choose a tag to compare
  • Fix a small issue in category permissions

Replace ArgumentTypes with MinecraftArgumentType enum

16 Jun 10:02
Compare
Choose a tag to compare
  • 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

11 Jun 09:18
Compare
Choose a tag to compare
  • Remove ktx module and migrate it to common
  • Add adventure APIs to Bukkit
    • BukkitCommandHandler#enableAdventure() and BukkitCommandHandler#enableAdventure(BukkitAudiences)
    • BukkitCommandActor#audience()
    • BukkitCommandActor#reply(ComponentLike)
    • Use Audience as a sender in commands
    • Returning Components from methods will be sent to the command actor
  • Add Kotlin extensions to Bukkit
    • bukkitCommandHandler {} DSL
    • brigadier {} DSL
    • CommandActor.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

09 Jun 07:00
Compare
Choose a tag to compare
  • fix CommodoreBukkitBrigadier#getArgumentType by @Grabsky in #25

Lamp 3.0.5

08 Jun 19:51
Compare
Choose a tag to compare
  • 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 the brigadier 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 directly
  • ArgumentStack 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

27 Apr 17:25
Compare
Choose a tag to compare
  • 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

18 Apr 11:29
Compare
Choose a tag to compare

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...) and CommandHandler.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...)