Expand team API to allow arbitrary strings.
This commit is contained in:
parent
05b9fd72af
commit
b2c227e89c
|
@ -0,0 +1,75 @@
|
|||
From 8bfe38430d6e27b6d5d7343162c47f9bb9636566 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Thu, 17 Apr 2014 19:22:26 +1000
|
||||
Subject: [PATCH] Expand team API to allow arbitrary strings.
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
|
||||
index 50c6f76..b90b9c3 100644
|
||||
--- a/src/main/java/org/bukkit/scoreboard/Team.java
|
||||
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
|
||||
@@ -118,6 +118,15 @@ public interface Team {
|
||||
*/
|
||||
Set<OfflinePlayer> getPlayers() throws IllegalStateException;
|
||||
|
||||
+ // Spigot start
|
||||
+ /**
|
||||
+ * Same as the player method, but with an arbitrary string.
|
||||
+ *
|
||||
+ * @see #getPlayers()
|
||||
+ */
|
||||
+ Set<String> getEntries() throws IllegalStateException;
|
||||
+ // Spigot End
|
||||
+
|
||||
/**
|
||||
* Gets the size of the team
|
||||
*
|
||||
@@ -145,6 +154,15 @@ public interface Team {
|
||||
*/
|
||||
void addPlayer(OfflinePlayer player) throws IllegalStateException, IllegalArgumentException;
|
||||
|
||||
+ // Spigot start
|
||||
+ /**
|
||||
+ * Same as the player method, but with an arbitrary string.
|
||||
+ *
|
||||
+ * @see #addPlayer(org.bukkit.OfflinePlayer)
|
||||
+ */
|
||||
+ void addEntry(String entry) throws IllegalStateException, IllegalArgumentException;
|
||||
+ // Spigot end
|
||||
+
|
||||
/**
|
||||
* Removes the player from this team.
|
||||
*
|
||||
@@ -155,6 +173,15 @@ public interface Team {
|
||||
*/
|
||||
boolean removePlayer(OfflinePlayer player) throws IllegalStateException, IllegalArgumentException;
|
||||
|
||||
+ // Spigot start
|
||||
+ /**
|
||||
+ * Same as the player method, but with an arbitrary string.
|
||||
+ *
|
||||
+ * @see #removePlayer(org.bukkit.OfflinePlayer)
|
||||
+ */
|
||||
+ boolean removeEntry(String entry) throws IllegalStateException, IllegalArgumentException;
|
||||
+ // Spigot end
|
||||
+
|
||||
/**
|
||||
* Unregisters this team from the Scoreboard
|
||||
*
|
||||
@@ -171,4 +198,13 @@ public interface Team {
|
||||
* @throws IllegalStateException if this team has been unregistered
|
||||
*/
|
||||
boolean hasPlayer(OfflinePlayer player) throws IllegalArgumentException, IllegalStateException;
|
||||
+
|
||||
+ // Spigot start
|
||||
+ /**
|
||||
+ * Same as the player method, but with an arbitrary string.
|
||||
+ *
|
||||
+ * @see #hasPlayer(org.bukkit.OfflinePlayer)
|
||||
+ */
|
||||
+ boolean hasEntry(String entry) throws IllegalArgumentException,IllegalStateException;
|
||||
+ // Spigot end
|
||||
}
|
||||
--
|
||||
1.8.3.2
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
From 3444f11224082b3bafcb91dfa3327946dd128a19 Mon Sep 17 00:00:00 2001
|
||||
From: md_5 <git@md-5.net>
|
||||
Date: Thu, 17 Apr 2014 19:22:22 +1000
|
||||
Subject: [PATCH] Expand team API to allow arbitrary strings.
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java
|
||||
index 8a640d3..a1864a5 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java
|
||||
@@ -102,6 +102,19 @@ final class CraftTeam extends CraftScoreboardComponent implements Team {
|
||||
return players.build();
|
||||
}
|
||||
|
||||
+ // Spigot start
|
||||
+ @Override
|
||||
+ public Set<String> getEntries() throws IllegalStateException {
|
||||
+ CraftScoreboard scoreboard = checkState();
|
||||
+
|
||||
+ ImmutableSet.Builder<String> entries = ImmutableSet.builder();
|
||||
+ for (Object o : team.getPlayerNameSet()){
|
||||
+ entries.add(o.toString());
|
||||
+ }
|
||||
+ return entries.build();
|
||||
+ }
|
||||
+ // Spigot end
|
||||
+
|
||||
public int getSize() throws IllegalStateException {
|
||||
CraftScoreboard scoreboard = checkState();
|
||||
|
||||
@@ -110,28 +123,50 @@ final class CraftTeam extends CraftScoreboardComponent implements Team {
|
||||
|
||||
public void addPlayer(OfflinePlayer player) throws IllegalStateException, IllegalArgumentException {
|
||||
Validate.notNull(player, "OfflinePlayer cannot be null");
|
||||
+ // Spigot Start
|
||||
+ addEntry(player.getName());
|
||||
+ }
|
||||
+
|
||||
+ public void addEntry(String entry) throws IllegalStateException, IllegalArgumentException {
|
||||
+ Validate.notNull(entry, "Entry cannot be null");
|
||||
CraftScoreboard scoreboard = checkState();
|
||||
|
||||
- scoreboard.board.addPlayerToTeam(player.getName(), team.getName());
|
||||
+ scoreboard.board.addPlayerToTeam(entry, team.getName());
|
||||
+ // Spigot end
|
||||
}
|
||||
|
||||
public boolean removePlayer(OfflinePlayer player) throws IllegalStateException, IllegalArgumentException {
|
||||
Validate.notNull(player, "OfflinePlayer cannot be null");
|
||||
+ // Spigot start
|
||||
+ return removeEntry(player.getName());
|
||||
+ }
|
||||
+
|
||||
+ public boolean removeEntry(String entry) throws IllegalStateException, IllegalArgumentException {
|
||||
+ Validate.notNull(entry, "Entry cannot be null");
|
||||
CraftScoreboard scoreboard = checkState();
|
||||
|
||||
- if (!team.getPlayerNameSet().contains(player.getName())) {
|
||||
+ if (!team.getPlayerNameSet().contains(entry)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
- scoreboard.board.removePlayerFromTeam(player.getName(), team);
|
||||
+ scoreboard.board.removePlayerFromTeam(entry, team);
|
||||
+ // Spigot end
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean hasPlayer(OfflinePlayer player) throws IllegalArgumentException, IllegalStateException {
|
||||
Validate.notNull(player, "OfflinePlayer cannot be null");
|
||||
+ // Spigot start
|
||||
+ return hasEntry(player.getName());
|
||||
+ }
|
||||
+
|
||||
+ public boolean hasEntry(String entry) throws IllegalArgumentException, IllegalStateException {
|
||||
+ Validate.notNull("Entry cannot be null");
|
||||
+
|
||||
CraftScoreboard scoreboard = checkState();
|
||||
|
||||
- return team.getPlayerNameSet().contains(player.getName());
|
||||
+ return team.getPlayerNameSet().contains(entry);
|
||||
+ // Spigot end
|
||||
}
|
||||
|
||||
@Override
|
||||
--
|
||||
1.8.3.2
|
||||
|
Loading…
Reference in a new issue