diff --git a/core/src/main/java/fr/traqueur/commands/api/CommandManager.java b/core/src/main/java/fr/traqueur/commands/api/CommandManager.java index a3782e2..73d9560 100644 --- a/core/src/main/java/fr/traqueur/commands/api/CommandManager.java +++ b/core/src/main/java/fr/traqueur/commands/api/CommandManager.java @@ -465,9 +465,18 @@ public CommandInvoker getInvoker() { */ private void registerInternalConverters() { this.registerConverter(String.class, (s) -> s); + + // Register both primitive and wrapper types for DefaultArgumentParser (Spigot/Velocity). + // JDA's ArgumentParser handles primitives internally, but text-based platforms need explicit registration. + // Wrapper types (Integer.class, Long.class, etc.) are registered for compatibility with wrapper usage. + // Primitive types (int.class, long.class, etc.) are registered to support primitive method parameters. this.registerConverter(Boolean.class, new BooleanArgument<>()); + this.registerConverter(boolean.class, new BooleanArgument<>()); this.registerConverter(Integer.class, new IntegerArgument()); + this.registerConverter(int.class, new IntegerArgument()); this.registerConverter(Double.class, new DoubleArgument()); + this.registerConverter(double.class, new DoubleArgument()); this.registerConverter(Long.class, new LongArgument()); + this.registerConverter(long.class, new LongArgument()); } } diff --git a/gradle.properties b/gradle.properties index f81469e..8656a1e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -version=5.0.0 \ No newline at end of file +version=5.0.1 \ No newline at end of file