summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2016-03-03 19:12:48 +1100
committermd_5 <git@md-5.net>2016-03-04 15:24:57 +1100
commit6742811d6973512302f4ff77e9e004d7478c566c (patch)
treeb8011cacc52f55fe5f720c14b1b00941131d2850 /src
parent5a3813d7fe49a683eee4a9fdea1ad0725591eec5 (diff)
downloadcraftbukkit-6742811d6973512302f4ff77e9e004d7478c566c.tar
craftbukkit-6742811d6973512302f4ff77e9e004d7478c566c.tar.gz
craftbukkit-6742811d6973512302f4ff77e9e004d7478c566c.tar.lz
craftbukkit-6742811d6973512302f4ff77e9e004d7478c566c.tar.xz
craftbukkit-6742811d6973512302f4ff77e9e004d7478c566c.zip
SPIGOT-1666: Expand Team option API
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java
index f5ff0f71..160d34a0 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java
@@ -12,6 +12,7 @@ import org.bukkit.scoreboard.Team;
import com.google.common.collect.ImmutableSet;
import net.minecraft.server.ScoreboardTeam;
+import net.minecraft.server.ScoreboardTeamBase;
final class CraftTeam extends CraftScoreboardComponent implements Team {
private final ScoreboardTeam team;
@@ -181,6 +182,41 @@ final class CraftTeam extends CraftScoreboardComponent implements Team {
scoreboard.board.removeTeam(team);
}
+ @Override
+ public OptionStatus getOption(Option option) throws IllegalStateException {
+ checkState();
+
+ switch (option) {
+ case NAME_TAG_VISIBILITY:
+ return OptionStatus.values()[team.getNameTagVisibility().ordinal()];
+ case DEATH_MESSAGE_VISIBILITY:
+ return OptionStatus.values()[team.j().ordinal()]; // PAIL: rename
+ case COLLISION_RULE:
+ return OptionStatus.values()[team.k().ordinal()]; // PAIL: rename
+ default:
+ throw new IllegalArgumentException("Unrecognised option " + option);
+ }
+ }
+
+ @Override
+ public void setOption(Option option, OptionStatus status) throws IllegalStateException {
+ checkState();
+
+ switch (option) {
+ case NAME_TAG_VISIBILITY:
+ team.setNameTagVisibility(EnumNameTagVisibility.values()[status.ordinal()]);
+ break;
+ case DEATH_MESSAGE_VISIBILITY:
+ team.b(EnumNameTagVisibility.values()[status.ordinal()]); // PAIL: rename
+ break;
+ case COLLISION_RULE:
+ team.a(ScoreboardTeamBase.EnumTeamPush.values()[status.ordinal()]); // PAIL: rename
+ break;
+ default:
+ throw new IllegalArgumentException("Unrecognised option " + option);
+ }
+ }
+
public static EnumNameTagVisibility bukkitToNotch(NameTagVisibility visibility) {
switch (visibility) {
case ALWAYS: