Add Score.isScoreSet()Z API.

Also fix generics on CraftScore.getScore()I.
This commit is contained in:
md_5 2014-04-17 19:36:09 +10:00
parent b2c227e89c
commit 7c5eaf30f1
2 changed files with 70 additions and 0 deletions

View File

@ -0,0 +1,31 @@
From 42fb4c3837a133f6bbfd221dbe690c5a59e3c561 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Thu, 17 Apr 2014 19:35:13 +1000
Subject: [PATCH] Add Score.isScoreSet()Z API.
diff --git a/src/main/java/org/bukkit/scoreboard/Score.java b/src/main/java/org/bukkit/scoreboard/Score.java
index 4c10346..2410cbd 100644
--- a/src/main/java/org/bukkit/scoreboard/Score.java
+++ b/src/main/java/org/bukkit/scoreboard/Score.java
@@ -51,6 +51,17 @@ public interface Score {
*/
void setScore(int score) throws IllegalStateException;
+ // Spigot start
+ /**
+ * Shows if this score has been set at any point in time.
+ *
+ * @return if this score has been set before
+ * @throws IllegalStateException if the associated objective has been
+ * unregistered
+ */
+ boolean isScoreSet() throws IllegalStateException;
+ // Spigot end
+
/**
* Gets the scoreboard for the associated objective.
*
--
1.8.3.2

View File

@ -0,0 +1,39 @@
From ff88954cd61861bd5bf8a26feeca291491e90fa0 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Thu, 17 Apr 2014 19:35:53 +1000
Subject: [PATCH] Add Score.isScoreSet()Z API.
Also fix generics on CraftScore.getScore()I.
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScore.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScore.java
index 7095f6d..b265616 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScore.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScore.java
@@ -41,7 +41,7 @@ final class CraftScore implements Score {
Scoreboard board = objective.checkState().board;
if (board.getPlayers().contains(entry)) { // Lazy
- Map<String, ScoreboardScore> scores = board.getPlayerObjectives(entry);
+ Map<net.minecraft.server.ScoreboardObjective, ScoreboardScore> scores = board.getPlayerObjectives(entry); // Spigot
ScoreboardScore score = scores.get(objective.getHandle());
if (score != null) { // Lazy
return score.getScore();
@@ -55,6 +55,15 @@ final class CraftScore implements Score {
objective.checkState().board.getPlayerScoreForObjective(entry, objective.getHandle()).setScore(score);
}
+ // Spigot start
+ @Override
+ public boolean isScoreSet() throws IllegalStateException {
+ Scoreboard board = objective.checkState().board;
+
+ return board.getPlayers().contains(entry) && board.getPlayerObjectives(entry).containsKey(objective.getHandle());
+ }
+ // Spigot end
+
public CraftScoreboard getScoreboard() {
return objective.getScoreboard();
}
--
1.8.3.2