Skip to content

chore(deps): bump io.github.revxrsal:lamp.common from 4.0.0-rc.18 to 4.0.0 - #369

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/io.github.revxrsal-lamp.common-4.0.0
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/io.github.revxrsal-lamp.common-4.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 23, 2026

Copy link
Copy Markdown
Contributor

Bumps io.github.revxrsal:lamp.common from 4.0.0-rc.18 to 4.0.0.

Release notes

Sourced from io.github.revxrsal:lamp.common's releases.

Lamp v4.0.0

Lamp v4 is stable! 🎉

This release reworks how Lamp picks the command to run, making it more accurate and much faster, and adds a Geyser module.

⚠️ Breaking changes

  • @CommandPriority and @CommandPriority.Low are removed, along with ExecutableCommand#commandPriority(). Lamp now ranks overlapping commands by their structure. If two of your parameter types accept the same input, declare a PrioritySpec on the types instead.
  • DispatcherSettings#maximumFailedAttempts is removed, along with DEFAULT_MAXIMUM_FAILED_ATTEMPTS. Lamp no longer needs to stop testing commands early.
  • Reflections#getAllMethods(Class, boolean) is removed. Use getAllMethods(Class).
  • Commands are ranked by their first difference. When several commands accept the same input, a literal now beats an argument at the first position where they differ: /foo baz <b> beats /foo <a> bar for /foo baz bar. Ambiguous setups may run a different command than before, and help listings may be ordered differently.
  • Command conditions run on the chosen command only. A cooldown on one overload no longer silently falls through to another overload. Permissions still take part in choosing a command.
  • Brigadier: registering fails when two commands have an argument at the same place with the same name but different types. Brigadier would merge them into one argument. Rename one of them, for example with @Named.
  • Potential has two new methods, failurePosition() and consumedAllInput().

New

  • Geyser module (lamp.geyser) for Geyser extensions, with Bedrock-aware actors, GeyserConnection and GeyserPlayerEntity types, and @CommandPermission, @BedrockOnly and @PlayerOnly. See the docs.
  • "Did you mean" suggestions for mistyped commands and subcommands, ranked by how close they are to the input. Secret commands and commands the actor cannot run are never suggested.
  • DispatcherSettings#rejectTrailingInput: when enabled, input left after a command's last argument is an error instead of being ignored.

Improvements

  • Faster dispatching. Commands are indexed by their literals, so Lamp only tests the commands that can match the input:

    Scenario Before After
    500 root commands 9.6 µs 0.33 µs
    200 subcommands 607 µs 0.38 µs
    6 overloads, only the last one accepts the input 33 µs 1.6 µs
  • Faster auto-completion, using the same index: completing a root command went from 14 µs to 0.15 µs.

  • Cheaper failed parsing. Invalid input no longer builds stack traces, and number types skip the JDK parser for words.

  • Better errors. Lamp reports the error of the attempt that got furthest into the input.

Fixes

  • A command that matches all the input is no longer skipped in favor of one that ignores part of it.
  • Auto-completion is case-insensitive, like dispatching.
  • Auto-completion no longer suggests values for an argument the user has moved past (e.g. /give f 5 no longer suggests fast).
  • Auto-completion no longer parses the argument being typed. OfflinePlayer used to look up every partial name from Mojang (#146).
  • Negative numbers like -1 are no longer rejected as unknown flags (#165).
  • @Delimiter with a non-space character now splits collections (#166).
  • Suggestion providers on Brigadier platforms can see earlier arguments (#147).
  • Brigadier platforms let Lamp decide which overload runs, instead of running whichever command was registered last.
  • Minestom shows a root command if the actor can see any command under it, and hides secret and restricted subcommands from clients.
  • A tab right after a literal no longer throws an exception.
  • DispatcherSettings#toBuilder() keeps the stack trace sanitizer.
  • CommandActor#lamp() is annotated @NotNull on all platforms.

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [io.github.revxrsal:lamp.common](https://github.com/Revxrsal/Lamp) from 4.0.0-rc.18 to 4.0.0.
- [Release notes](https://github.com/Revxrsal/Lamp/releases)
- [Commits](Revxrsal/Lamp@4.0.0-rc.18...4.0.0)

---
updated-dependencies:
- dependency-name: io.github.revxrsal:lamp.common
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants