-
Notifications
You must be signed in to change notification settings - Fork 1
Fix/fix broken commands #27
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
Changes from all commits
847b72e
9f6669f
a39b57a
25cf7fc
fabe84b
3385a4a
7d3ff02
b9c800a
58172e0
600ef74
1f5c6fe
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| kotlin.code.style=official | ||
| kotlin.stdlib.default.dependency=false | ||
| org.gradle.parallel=true | ||
| version=1.21.11-2.0.11-SNAPSHOT | ||
| version=1.21.11-2.0.12-SNAPSHOT |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,39 +5,54 @@ import dev.jorel.commandapi.arguments.Argument | |
| import dev.jorel.commandapi.arguments.ArgumentSuggestions | ||
| import dev.jorel.commandapi.arguments.CustomArgument | ||
| import dev.jorel.commandapi.arguments.StringArgument | ||
| import dev.slne.surf.essentials.util.permission.EssentialsPermissionRegistry | ||
| import dev.slne.surf.surfapi.core.api.messages.adventure.buildText | ||
| import org.bukkit.GameMode | ||
| import org.bukkit.command.CommandSender | ||
|
|
||
| class GameModeArgument(nodeName: String) : | ||
| CustomArgument<GameMode, String>(StringArgument(nodeName), { info -> | ||
| val gameMode = getGameMode(info.input.lowercase()) | ||
| val input = info.input.lowercase() | ||
| val gameMode = getGameMode(input) | ||
| ?: throw CustomArgumentException.fromAdventureComponent { | ||
| buildText { | ||
| appendErrorPrefix() | ||
| error("Der Spielmodus wurde nicht gefunden.") | ||
| } | ||
| } | ||
|
|
||
| val permission = "surf.essentials.gameMode.${gameMode.name.lowercase()}" | ||
| val sender = info.sender | ||
| if (sender != null) { | ||
| val base = EssentialsPermissionRegistry.GAME_MODE_COMMAND | ||
| val specific = "$base.${gameMode.name.lowercase()}" | ||
| val wildcard = "$base.*" | ||
|
|
||
| if (!sender.hasPermission(permission)) { | ||
| throw CustomArgumentException.fromAdventureComponent { | ||
| buildText { | ||
| appendErrorPrefix() | ||
| error("Dazu hast du keine Berechtigung.") | ||
| if (!sender.hasPermission(specific) && | ||
| !sender.hasPermission(wildcard) | ||
| ) { | ||
|
Comment on lines
+26
to
+32
|
||
| throw CustomArgumentException.fromAdventureComponent { | ||
| buildText { | ||
| appendErrorPrefix() | ||
| error("Du hast keine Berechtigung für diesen Spielmodus.") | ||
| } | ||
| } | ||
| } | ||
| } | ||
|
|
||
| gameMode | ||
| }) { | ||
|
|
||
| init { | ||
| this.replaceSuggestions( | ||
| replaceSuggestions( | ||
| ArgumentSuggestions.stringCollection<CommandSender> { sender -> | ||
| val base = EssentialsPermissionRegistry.GAME_MODE_COMMAND | ||
| val wildcard = "$base.*" | ||
|
|
||
| GameMode.entries | ||
| .filter { sender.sender.hasPermission("surf.essentials.gameMode.${it.name.lowercase()}") } | ||
| .filter { | ||
| sender.sender.hasPermission(wildcard) || | ||
| sender.sender.hasPermission("$base.${it.name.lowercase()}") | ||
| } | ||
|
Comment on lines
+46
to
+55
|
||
| .map { it.name.lowercase() } | ||
| } | ||
| ) | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.