aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0428-Add-more-scoreboard-API.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0428-Add-more-scoreboard-API.patch')
-rw-r--r--patches/api/0428-Add-more-scoreboard-API.patch90
1 files changed, 90 insertions, 0 deletions
diff --git a/patches/api/0428-Add-more-scoreboard-API.patch b/patches/api/0428-Add-more-scoreboard-API.patch
new file mode 100644
index 0000000000..201af36b0c
--- /dev/null
+++ b/patches/api/0428-Add-more-scoreboard-API.patch
@@ -0,0 +1,90 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Jake Potrebic <[email protected]>
+Date: Sat, 16 Dec 2023 14:45:46 -0800
+Subject: [PATCH] Add more scoreboard API
+
+
+diff --git a/src/main/java/org/bukkit/scoreboard/Objective.java b/src/main/java/org/bukkit/scoreboard/Objective.java
+index a193ffabb05160b462dee1ba8f687fdbc84405b6..bd4d84cbf220ab02f09ece97873bbf0bdf7a45ba 100644
+--- a/src/main/java/org/bukkit/scoreboard/Objective.java
++++ b/src/main/java/org/bukkit/scoreboard/Objective.java
+@@ -175,4 +175,24 @@ public interface Objective {
+ */
+ @NotNull Score getScoreFor(@NotNull org.bukkit.entity.Entity entity) throws IllegalArgumentException, IllegalStateException;
+ // Paper end - improve scoreboard entries
++
++ // Paper start - add more score API
++ /**
++ * Gets if this objective will auto update score
++ * displays on changes.
++ *
++ * @return true if auto updating
++ * @throws IllegalStateException if this objective has been unregistered
++ */
++ boolean willAutoUpdateDisplay();
++
++ /**
++ * Sets if this objective will auto update
++ * score displays on changes.
++ *
++ * @param autoUpdateDisplay true to auto update
++ * @throws IllegalStateException if this objective has been unregistered
++ */
++ void setAutoUpdateDisplay(boolean autoUpdateDisplay);
++ // Paper end - add more score API
+ }
+diff --git a/src/main/java/org/bukkit/scoreboard/Score.java b/src/main/java/org/bukkit/scoreboard/Score.java
+index 1eaa9a93f8eff5f18a6cce2d74f21eb19db273c8..5b6f243492d55d2db0d6944dc6daca9b181551d6 100644
+--- a/src/main/java/org/bukkit/scoreboard/Score.java
++++ b/src/main/java/org/bukkit/scoreboard/Score.java
+@@ -83,4 +83,50 @@ public interface Score {
+ */
+ void resetScore() throws IllegalStateException;
+ // Paper end
++
++ // Paper start - add more score API
++ /**
++ * Gets if this score is triggerable and cannot
++ * be used by the {@code /trigger} command executed
++ * by the owner of this score.
++ *
++ * @return true if triggerable, false if not triggerable, score isn't set, or the objective isn't {@link Criteria#TRIGGER}
++ * @throws IllegalStateException if the associated objective has been unregistered
++ */
++ boolean isTriggerable();
++
++ /**
++ * Sets if this score is triggerable and can
++ * be used by the {@code /trigger} command
++ * executed by the owner of this score. Can
++ * only be set on {@link Criteria#TRIGGER} objectives.
++ * <p>
++ * If the score doesn't exist (aka {@link #isScoreSet()} returns false),
++ * this will create the score with a 0 value.
++ *
++ * @param triggerable true to enable trigger, false to disable
++ * @throws IllegalArgumentException if this objective isn't {@link Criteria#TRIGGER}
++ * @throws IllegalStateException if the associated objective has been unregistered
++ */
++ void setTriggerable(boolean triggerable);
++
++ /**
++ * Get the custom name for this entry.
++ *
++ * @return the custom name or null if not set (or score isn't set)
++ * @throws IllegalStateException if the associated objective has been unregistered
++ */
++ @Nullable net.kyori.adventure.text.Component customName();
++
++ /**
++ * Sets the custom name for this entry.
++ * <p>
++ * If the score doesn't exist (aka {@link #isScoreSet()} returns false),
++ * this will create the score with a 0 value.
++ *
++ * @param customName the custom name or null to reset
++ * @throws IllegalStateException if the associated objective has been unregistered
++ */
++ void customName(net.kyori.adventure.text.@Nullable Component customName);
++ // Paper end - add more score API
+ }