Skip to content

Releases: Revxrsal/Lamp

Lamp v3.1.3

06 Feb 16:56
Compare
Choose a tag to compare
  • 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

14 Jan 13:25
Compare
Choose a tag to compare
  1. Introduce DefaultFor to better express and control the default action logic
  2. Optional now takes a def() property for the default value, as a full replacement to @Default.
  3. @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).
  4. ArgumentParser has been deprecated, and scheduled for removal in v3.1.4
  5. commandHandler#parseArguments() and commandHandler#parseArgumentsForCompletion() have been deprecated, and are scheduled for removal in v3.1.4. As a replacement, use ArgumentStack#parse() and ArgumentStack#parseForAutoCompletion() respectively.
  6. 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.
  7. Added functionality to @GuildOnly annotation in JDA
  8. Documented annotations in JDA

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