mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-28 03:48:01 +01:00
91 lines
3.7 KiB
Diff
91 lines
3.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
|
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 d6d52bc9185e8a1581ccfa57df3550bc12d9872a..d8a249bb2dd8ab96962897c2a52f40ea288f7bd6 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 48a1654a2dd8da82cb91bcfa4b3a523f88323568..a3b482e07bb3dceb9b81d66c7208556a0bedd948 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
|
|
}
|