From bcce74a0507d8181ca963e4a4926a7b0dc86083c Mon Sep 17 00:00:00 2001 From: kento2 Date: Thu, 16 Apr 2026 10:32:51 +0200 Subject: [PATCH] . --- kencommandapi-bukkit/build.gradle.kts | 4 ++-- .../kencommandapi/type/OfflinePlayerArgumentType.java | 1 - kencommandapi-core/build.gradle.kts | 2 +- .../src/main/java/de/kentoj/kencommandapi/Main.java | 2 +- .../kencommandapi/api/processing/CommandContext.java | 10 ++++++++++ .../structure/argument/types/IntegerArgumentType.java | 8 ++++---- 6 files changed, 18 insertions(+), 9 deletions(-) diff --git a/kencommandapi-bukkit/build.gradle.kts b/kencommandapi-bukkit/build.gradle.kts index 722ada8..b79124e 100644 --- a/kencommandapi-bukkit/build.gradle.kts +++ b/kencommandapi-bukkit/build.gradle.kts @@ -9,7 +9,7 @@ plugins { } group = "de.kentoj" -version = "1.0.0" +version = "1.2.0" fun scrowRepo(handler: RepositoryHandler) = handler.maven { name = "scrow" @@ -38,7 +38,7 @@ dependencies { // https://mvnrepository.com/artifact/org.jetbrains/annotations implementation("org.jetbrains:annotations:26.0.2-1") - api("de.kentoj:kencommandapi-core:1.0.0") + api("de.kentoj:kencommandapi-core:1.2.0") api("org.spigotmc:spigot-api:1.21.11-R0.1-SNAPSHOT") implementation("org.spigotmc:spigot-api:1.21.11-R0.1-SNAPSHOT") diff --git a/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/type/OfflinePlayerArgumentType.java b/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/type/OfflinePlayerArgumentType.java index e871f64..27832fa 100644 --- a/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/type/OfflinePlayerArgumentType.java +++ b/kencommandapi-bukkit/src/main/java/de/kentoj/kencommandapi/type/OfflinePlayerArgumentType.java @@ -12,7 +12,6 @@ import org.bukkit.OfflinePlayer; import java.util.Set; import java.util.UUID; -// TODO @NoArgsConstructor(access = AccessLevel.PRIVATE) public class OfflinePlayerArgumentType implements ArgumentType { diff --git a/kencommandapi-core/build.gradle.kts b/kencommandapi-core/build.gradle.kts index d267ea6..ac4d4a9 100644 --- a/kencommandapi-core/build.gradle.kts +++ b/kencommandapi-core/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } group = "de.kentoj" -version = "1.0.0" +version = "1.2.0" repositories { mavenCentral() diff --git a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/Main.java b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/Main.java index 097ac58..dbd729d 100644 --- a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/Main.java +++ b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/Main.java @@ -28,7 +28,7 @@ public class Main { ctx.getSender().println("adding " + amount + "$ to your balance"); }); - addNode.addArgument(api.createArgument("amount", IntegerArgumentType.create())); + addNode.addArgument(api.createArgument("amount", IntegerArgumentType.getInstance())); root.addLiteral(addNode); api.invoke(root, System.out, new String[]{"add", "100"}); } diff --git a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/processing/CommandContext.java b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/processing/CommandContext.java index a11125e..7ed9095 100644 --- a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/processing/CommandContext.java +++ b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/processing/CommandContext.java @@ -1,5 +1,7 @@ package de.kentoj.kencommandapi.api.processing; +import de.kentoj.kencommandapi.api.structure.argument.CommandArgument; + public interface CommandContext { T getSender(); @@ -14,4 +16,12 @@ public interface CommandContext { default V getArg(String name) { return (V) getParsedArgument(name).getValue(); } + + default V getArg(CommandArgument, V> arg) { + return getArg(arg.getId()); + } + + default ParsedArgument, V> getParsedArgument(CommandArgument, V> arg) { + return getParsedArgument(arg.getId()); + } } diff --git a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/structure/argument/types/IntegerArgumentType.java b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/structure/argument/types/IntegerArgumentType.java index 33830b5..806a70e 100644 --- a/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/structure/argument/types/IntegerArgumentType.java +++ b/kencommandapi-core/src/main/java/de/kentoj/kencommandapi/api/structure/argument/types/IntegerArgumentType.java @@ -4,11 +4,15 @@ import de.kentoj.kencommandapi.api.structure.argument.ArgumentType; import de.kentoj.kencommandapi.api.structure.argument.SuggestionProvider; import de.kentoj.kencommandapi.api.structure.argument.suggestion.NoSuggestionProvider; import lombok.AccessLevel; +import lombok.Getter; import lombok.NoArgsConstructor; @NoArgsConstructor(access = AccessLevel.PRIVATE) public class IntegerArgumentType implements ArgumentType { + @Getter(lazy = true) + private static final IntegerArgumentType instance = new IntegerArgumentType(); + @Override public Integer parseInput(String string) { return Integer.parseInt(string); @@ -18,8 +22,4 @@ public class IntegerArgumentType implements ArgumentType { public SuggestionProvider defaultSuggestionProvider() { return NoSuggestionProvider.create(); } - - public static IntegerArgumentType create() { - return new IntegerArgumentType(); - } }