-
-
Notifications
You must be signed in to change notification settings - Fork 660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cloud for commands #3808
Merged
Merged
Cloud for commands #3808
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
at least right now lol
Camotoy
reviewed
Jun 2, 2023
bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotPlugin.java
Outdated
Show resolved
Hide resolved
...ocity/src/main/java/org/geysermc/geyser/platform/velocity/command/VelocityCommandSource.java
Show resolved
Hide resolved
any GeyserCommandSource should be valid to use in any CommandManager as long as one of the following is satisfied 1. it is a platform implementation 2. isConsole() returns true 2. playerUuid() returns a valid uuid and the player lookup succeeds
# Conflicts: # bootstrap/bungeecord/build.gradle.kts # bootstrap/spigot/build.gradle.kts # core/src/main/java/org/geysermc/geyser/command/GeyserCommandManager.java # core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockCommandRequestTranslator.java
# Conflicts: # bootstrap/standalone/src/main/java/org/geysermc/geyser/platform/standalone/gui/GeyserStandaloneGUI.java
# Conflicts: # bootstrap/fabric/src/main/java/org/geysermc/geyser/platform/fabric/GeyserFabricMod.java # bootstrap/fabric/src/main/java/org/geysermc/geyser/platform/fabric/command/FabricCommandSource.java # bootstrap/fabric/src/main/java/org/geysermc/geyser/platform/fabric/command/GeyserFabricCommandExecutor.java # bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotPlugin.java # core/src/main/java/org/geysermc/geyser/command/defaults/HelpCommand.java # core/src/main/java/org/geysermc/geyser/command/defaults/VersionCommand.java # core/src/main/resources/languages # gradle/libs.versions.toml
Camotoy
reviewed
Aug 31, 2023
api/src/main/java/org/geysermc/geyser/api/permission/PermissionChecker.java
Show resolved
Hide resolved
Camotoy
reviewed
Aug 31, 2023
core/src/main/java/org/geysermc/geyser/command/defaults/AdvancedTooltipsCommand.java
Outdated
Show resolved
Hide resolved
feeling kinda icky but idk
- create cloud earlier - trigger resource reload after geyser registers commands to cloud so that cloud registers them to the server
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nitpick; also the @NonNull
nature of the permission/permission default on the permission registration event doesn't seem to be enforced at the moment
core/src/main/java/org/geysermc/geyser/command/CommandRegistry.java
Outdated
Show resolved
Hide resolved
Konicai
commented
Jun 10, 2024
bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotPlugin.java
Outdated
Show resolved
Hide resolved
bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/GeyserModUpdateListener.java
Show resolved
Hide resolved
bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/command/ModCommandSource.java
Outdated
Show resolved
Hide resolved
bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/command/ModCommandSource.java
Show resolved
Hide resolved
Konicai
commented
Jun 10, 2024
core/src/main/java/org/geysermc/geyser/command/CommandSourceConverter.java
Outdated
Show resolved
Hide resolved
onebeastchris
approved these changes
Jun 10, 2024
bootstrap/spigot/src/main/java/org/geysermc/geyser/platform/spigot/GeyserSpigotPlugin.java
Outdated
Show resolved
Hide resolved
bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/command/ModCommandSource.java
Show resolved
Hide resolved
core/src/main/java/org/geysermc/geyser/command/CommandRegistry.java
Outdated
Show resolved
Hide resolved
Camotoy
reviewed
Jun 10, 2024
core/src/main/java/org/geysermc/geyser/command/GeyserCommand.java
Outdated
Show resolved
Hide resolved
core/src/main/java/org/geysermc/geyser/command/defaults/HelpCommand.java
Outdated
Show resolved
Hide resolved
Improve javadoc and HelpCommand.
…ure/cloud # Conflicts: # bootstrap/mod/src/main/java/org/geysermc/geyser/platform/mod/world/GeyserModWorldManager.java # core/src/main/java/org/geysermc/geyser/translator/protocol/java/JavaCommandsTranslator.java # gradle/libs.versions.toml
…ure/cloud # Conflicts: # core/src/main/java/org/geysermc/geyser/Constants.java # core/src/main/java/org/geysermc/geyser/command/defaults/VersionCommand.java
3 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
PR: Under Review
When a PR (particularly a large one) is currently being reviewed to see if it can be merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
changes
GeyserCommandManager
has been renamed toCommandRegistry
GeyserCommandExecutor
and all subclasses have been removed in favour of Cloud.WorldManager#hasPermission
has been removed in favour of Cloud.permission node for the root command of Geyser and extensions, that is required to use any child commands
Spigot
GeyserBrigadierSupport
has been removed in favour of Cloud.Standalone/ViaProxy:
permissions.yml
has been added, a list of default permissions available to all players.Velocity/BungeeCord/Fabric/Standalone: commands are now registered before
GeyserPostInitializeEvent
, for consistency with Spigot, and to allow valid registration on Fabric.api changes:
deprecations
Command#isSuggestedOpOnly
and the relevant builder method have been deprecated for removalCommand#subCommands
has been deprecated for removal and will always returnCollections.emptyList()
Command#isExecutableOnConsole()
has been deprecated & replaced with#isPlayerOnly()
changes
Command#aliases()
now always returns an immutable listadditions
Command.Builder#permission(String, Tristate)
- register the permission and its default value to the server implementation if possible.CommandSource#playerUuid
- return a uuid if the source represents a player.CommandSource#connection
- return a Connection if the source represents a bedrock player managed by the current Geyser instance.GeyserRegisterPermissionCheckersEvent
- only used by Geyser-Standalone/ViaProxy. Fired when the command manager is created. Allows registeringPermissionChecker
s to the manager. Event listeners with a higher listener priority will register PermissionCheckers as having a higher priority.PermissionChecker
- api interface that is responsible for resolving a CommandSource and a permission node to a Tristate.GeyserRegisterPermissionsEvent
- fired by a server platform, or extension, or anything, when it is the proper time for permissions to be registered to the event caller. This event will be called by Geyser-Spigot/Standalone/Forge. An extension may also fire the event in order to register permissions to LuckPerms for Geyser-Velocity/BungeeCord/Fabric. Geyser's CommandRegistry will listen for this event, but api users may as well.future and separate PRs
geyser.command.exthelp.<id>
can be changed to something better during The Mergetodo:
permissions.yml
file for standalone/viaproxyisSuggestedOpOnly
is kind of problematic imo, in regards to its wording and the way it is used. it can probably just be deprecated in favour of optional permission registrationisExecutableOnConsole
orisBedrockOnly
with descriptive messages/geyser
is suppose to send help?handleNoPermission
command.failed
lang might be broken