From 1b941536d0ad4f2c77da2d3fa520a37e17364e28 Mon Sep 17 00:00:00 2001 From: CocoTheOwner Date: Fri, 13 Aug 2021 21:32:41 +0200 Subject: [PATCH] Required = !hasDefault && constant --- .../java/com/volmit/iris/core/decrees/DecIrisStudio.java | 2 +- .../java/com/volmit/iris/util/decree/DecreeParameter.java | 6 +++--- .../java/com/volmit/iris/util/decree/annotations/Param.java | 6 +++--- .../iris/util/decree/virtual/VirtualDecreeCommand.java | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/volmit/iris/core/decrees/DecIrisStudio.java b/src/main/java/com/volmit/iris/core/decrees/DecIrisStudio.java index 4ed6f2baa..8ade2ffb0 100644 --- a/src/main/java/com/volmit/iris/core/decrees/DecIrisStudio.java +++ b/src/main/java/com/volmit/iris/core/decrees/DecIrisStudio.java @@ -30,7 +30,7 @@ public class DecIrisStudio implements DecreeExecutor { @Decree(description = "Open a new studio world", aliases = "o", sync = true) public void open( - @Param(name = "dimension", defaultValue = "overworld", aliases = "dim", required = true) + @Param(name = "dimension", defaultValue = "overworld", aliases = "dim") IrisDimension dimension, @Param(name = "seed", defaultValue = "1337", aliases = "s") long seed) diff --git a/src/main/java/com/volmit/iris/util/decree/DecreeParameter.java b/src/main/java/com/volmit/iris/util/decree/DecreeParameter.java index 85376f295..0ec241f1b 100644 --- a/src/main/java/com/volmit/iris/util/decree/DecreeParameter.java +++ b/src/main/java/com/volmit/iris/util/decree/DecreeParameter.java @@ -57,7 +57,7 @@ public class DecreeParameter { } public boolean isRequired() { - return param.required(); + return !hasDefault(); } public KList getNames() { @@ -80,11 +80,11 @@ public class DecreeParameter { } public Object getDefaultValue() throws DecreeParsingException, DecreeWhichException { - return param.defaultValue().isEmpty() ? null : getHandler().parse(param.defaultValue()); + return param.defaultValue().equals(Param.REQUIRED) ? null : getHandler().parse(param.defaultValue()); } public boolean hasDefault() { - return !param.defaultValue().isEmpty(); + return !param.defaultValue().equals(Param.REQUIRED); } public String example() { diff --git a/src/main/java/com/volmit/iris/util/decree/annotations/Param.java b/src/main/java/com/volmit/iris/util/decree/annotations/Param.java index dab1c9c83..529eb7266 100644 --- a/src/main/java/com/volmit/iris/util/decree/annotations/Param.java +++ b/src/main/java/com/volmit/iris/util/decree/annotations/Param.java @@ -28,6 +28,8 @@ import java.lang.annotation.Target; public @interface Param { String DEFAULT_DESCRIPTION = "No Description Provided"; + String REQUIRED = "Required"; + /** * The main name of this command.
* Required parameter.
@@ -35,8 +37,6 @@ public @interface Param { */ String name(); - boolean required() default false; - /** * The description of this parameter, used in help-popups in game.
* The default value is {@link #DEFAULT_DESCRIPTION} @@ -49,7 +49,7 @@ public @interface Param { * Which indicates the variable MUST be defined by the person running the command.
* If you define this, the variable automatically becomes non-required, but can still be set. */ - String defaultValue() default ""; + String defaultValue() default REQUIRED; /** * The aliases of this parameter (instead of just the {@link #name() name} (if specified) or Method Name (name of method))
diff --git a/src/main/java/com/volmit/iris/util/decree/virtual/VirtualDecreeCommand.java b/src/main/java/com/volmit/iris/util/decree/virtual/VirtualDecreeCommand.java index 37b93c194..1e1a88211 100644 --- a/src/main/java/com/volmit/iris/util/decree/virtual/VirtualDecreeCommand.java +++ b/src/main/java/com/volmit/iris/util/decree/virtual/VirtualDecreeCommand.java @@ -327,7 +327,7 @@ public class VirtualDecreeCommand { try { - if(value == null && !i.getParam().defaultValue().trim().isEmpty()) + if(value == null && i.hasDefault()) { value = i.getDefaultValue(); }