From 45da64e88f7c6b4d36e4613aa74540583b2cacc8 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Sun, 12 May 2019 11:13:39 +0300 Subject: [PATCH] 'showInPlayerTable' parameter for Providers for BooleanProvider, DoubleProvider, PercentageProvider, NumberProvider, StringProvider annotations. When the parameter is set to 'true' the value from the Provider is shown on a table alongside players. Capability DATA_EXTENSION_SHOW_IN_PLAYER_TABLE added --- .../com/djrapitops/plan/capability/Capability.java | 10 ++++++++-- .../plan/extension/annotation/BooleanProvider.java | 9 +++++++++ .../plan/extension/annotation/DoubleProvider.java | 6 ++++++ .../plan/extension/annotation/NumberProvider.java | 6 ++++++ .../plan/extension/annotation/PercentageProvider.java | 6 ++++++ .../plan/extension/annotation/StringProvider.java | 6 ++++++ 6 files changed, 41 insertions(+), 2 deletions(-) diff --git a/Plan/api/src/main/java/com/djrapitops/plan/capability/Capability.java b/Plan/api/src/main/java/com/djrapitops/plan/capability/Capability.java index 2fbb46b2a..fc7e7e5a8 100644 --- a/Plan/api/src/main/java/com/djrapitops/plan/capability/Capability.java +++ b/Plan/api/src/main/java/com/djrapitops/plan/capability/Capability.java @@ -42,9 +42,15 @@ enum Capability { */ DATA_EXTENSION_TABLES, /** - * DataExtension API + * DataExtension API addition, allows throwing {@link com.djrapitops.plan.extension.NotReadyException} inside a Provider method when your API is not ready for a method call. */ - DATA_EXTENSION_NOT_READY_EXCEPTION; + DATA_EXTENSION_NOT_READY_EXCEPTION, + /** + * DataExtension API addition, parameter {@code showInPlayerTable} for BooleanProvider, DoubleProvider, PercentageProvider, NumberProvider, StringProvider annotations. + *

+ * When the parameter is set to {@code true} the value from this Provider is shown on a table alongside players. + */ + DATA_EXTENSION_SHOW_IN_PLAYER_TABLE; static Optional getByName(String name) { if (name == null) { diff --git a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/BooleanProvider.java b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/BooleanProvider.java index 3d7aa83e9..e3fa4c97f 100644 --- a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/BooleanProvider.java +++ b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/BooleanProvider.java @@ -112,4 +112,13 @@ public @interface BooleanProvider { * @return Preferred color. If none are specified defaults are used. */ Color iconColor() default Color.NONE; + + /** + * When the parameter is set to {@code true} the value from this Provider is shown on a table alongside players. + *

+ * If {@link BooleanProvider#hidden()} is {@code true} then this value will not be shown in the table regardless of the value of this parameter. + * + * @return false by default. + */ + boolean showInPlayerTable() default false; } \ No newline at end of file diff --git a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/DoubleProvider.java b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/DoubleProvider.java index 67bf15a19..7f7035e85 100644 --- a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/DoubleProvider.java +++ b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/DoubleProvider.java @@ -91,4 +91,10 @@ public @interface DoubleProvider { */ Color iconColor() default Color.NONE; + /** + * When the parameter is set to {@code true} the value from this Provider is shown on a table alongside players. + * + * @return false by default. + */ + boolean showInPlayerTable() default false; } diff --git a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/NumberProvider.java b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/NumberProvider.java index 1f62026e1..9f682f0f1 100644 --- a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/NumberProvider.java +++ b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/NumberProvider.java @@ -103,4 +103,10 @@ public @interface NumberProvider { */ Color iconColor() default Color.NONE; + /** + * When the parameter is set to {@code true} the value from this Provider is shown on a table alongside players. + * + * @return false by default. + */ + boolean showInPlayerTable() default false; } diff --git a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/PercentageProvider.java b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/PercentageProvider.java index fcf027c27..2f1cd94c3 100644 --- a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/PercentageProvider.java +++ b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/PercentageProvider.java @@ -94,4 +94,10 @@ public @interface PercentageProvider { */ Color iconColor() default Color.NONE; + /** + * When the parameter is set to {@code true} the value from this Provider is shown on a table alongside players. + * + * @return false by default. + */ + boolean showInPlayerTable() default false; } diff --git a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/StringProvider.java b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/StringProvider.java index 13ecc481e..a2fcd980a 100644 --- a/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/StringProvider.java +++ b/Plan/api/src/main/java/com/djrapitops/plan/extension/annotation/StringProvider.java @@ -103,4 +103,10 @@ public @interface StringProvider { */ Color iconColor() default Color.NONE; + /** + * When the parameter is set to {@code true} the value from this Provider is shown on a table alongside players. + * + * @return false by default. + */ + boolean showInPlayerTable() default false; }