Skip to content

Releases: Revxrsal/Lamp

Lamp v3.2.1

04 Apr 14:55
Compare
Choose a tag to compare
  • Add a no-arg constructor to SendMessageException and CommandErrorException, to allow users to signal command failing without sending a message. This is useful if users want to use their own way of sending error feedback to the user.
  • (Bukkit) Add @LiteralEnum annotation and BukkitBrigadier#showEnumsAsNativeLiterals to make enums appear as native parameters. This allows commands to have literals between parameters.
  • (Velocity) Add a sender resolver for Audience, and a response handler for ComponentLike

Lamp v3.2.0

21 Mar 19:35
Compare
Choose a tag to compare
  • Use native player completions for OfflinePlayer (#87)

Lamp v3.1.9

30 Jan 22:47
Compare
Choose a tag to compare

What's Changed

  • Add EntitySelector#containsExactly by @iiAhmedYT in #77
  • Fixed bugs in Brigadier Paper with empty commands or commands that contain \
  • Fixed a bug in Kotlin functions that contain no parameters
    Full Changelog: 3.1.8...3.1.9

Lamp v3.1.8

20 Nov 18:03
Compare
Choose a tag to compare
  • Fixed a bug in commands that contain :.
  • OfflinePlayer will automatically get the online players for completions

Full Changelog: 3.1.7...3.1.8

Lamp v3.1.7

02 Oct 09:32
Compare
Choose a tag to compare
  • Support for Kotlin's default arguments 🎉 (they must use @Optional)
  • @DefaultFor now accepts a ~ for parent paths
  • Removed @Optional#def()
  • @Optional is now allowed on primitive types, in which case they will use the default primitive value (zero for numbers, false for booleans, etc.)

Full Changelog: 3.1.6...3.1.7

Lamp v3.1.6

27 Sep 11:10
Compare
Choose a tag to compare
  • Fixed Brigadier numerical and boolean arguments not working
  • Fixed Brigadier commands showing the Unknow command message when they are missing an argument
  • Fixed the EntitySelector not showing suggestions
  • Fixed parameters sometimes getting null when they aren't optional
  • JDA slash commands by @bivashy 🎉
  • Sponge 8 by @creatorfromhell 🎉
  • OfflinePlayer fixes

What's Changed

New Contributors

Full Changelog: 3.1.5...3.1.6

Lamp v3.1.5

12 Mar 12:37
Compare
Choose a tag to compare
  • Allow commands to be defined and customized in the plugin.yml
  • New API: ParameterNamingStrategy
  • Add AutoCompleter#filterToClosestInput(boolean) to customize whether inputs are filtered to match the closest input by default or not
  • Fix a small issue in commodore classloading

Lamp v3.1.4

10 Mar 20:16
Compare
Choose a tag to compare
  • Scheduled removal of the ArgumentParser API
  • Scheduled removal of the ArgumentStack#copy methods
  • @Default functionality has been reduced to default parameters only, and is no longer applicable on methods. Use @DefaultFor instead
  • Added CommandActor#dispatch(...) methods
  • Code cleanups

Migrating

@Default has been replaced by @DefaultFor, which requires explicitly supplying the path to be the default action for. For example:

@Command("foo")
public class FooCommand {

    @Subcommand("help") // The main path is /foo help <page> 
    @DefaultFor("foo")  // <--- We can run /foo <page> and /foo help <page> and 
                        //      get the same result
    public void help(CommandActor actor, @Default("1") int page) {
        ...
    }
}

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