diff --git a/war/pom.xml b/war/pom.xml index fabb485..5fb0f50 100644 --- a/war/pom.xml +++ b/war/pom.xml @@ -21,6 +21,10 @@ spout-repo http://repo.spout.org/ + + tagapi-repo + http://repo.kitteh.org/content/repositories/public/ + Github issues @@ -76,6 +80,12 @@ 1.4.5-R1.0 compile + + org.kitteh + tagapi + 2.0 + compile + org.mockito mockito-all diff --git a/war/src/main/java/com/tommytony/war/Team.java b/war/src/main/java/com/tommytony/war/Team.java index 5d39dec..db2f482 100644 --- a/war/src/main/java/com/tommytony/war/Team.java +++ b/war/src/main/java/com/tommytony/war/Team.java @@ -26,6 +26,7 @@ import com.tommytony.war.utility.Direction; import com.tommytony.war.utility.SignHelper; import com.tommytony.war.volume.BlockInfo; import com.tommytony.war.volume.Volume; +import org.kitteh.tag.TagAPI; /** * @@ -376,6 +377,9 @@ public class Team { public void addPlayer(Player player) { this.players.add(player); + if (War.war.isTagServer()) { + TagAPI.refreshPlayer(player); + } } public List getPlayers() { @@ -450,7 +454,9 @@ public class Team { t.teamcast("Cake " + ChatColor.GREEN + cake.getName() + ChatColor.WHITE + " was returned."); } } - + if (War.war.isTagServer()) { + TagAPI.refreshPlayer(thePlayer); + } return true; } diff --git a/war/src/main/java/com/tommytony/war/War.java b/war/src/main/java/com/tommytony/war/War.java index 2fdf508..843e5e6 100644 --- a/war/src/main/java/com/tommytony/war/War.java +++ b/war/src/main/java/com/tommytony/war/War.java @@ -39,6 +39,7 @@ import com.tommytony.war.event.WarBlockListener; import com.tommytony.war.event.WarEntityListener; import com.tommytony.war.event.WarPlayerListener; import com.tommytony.war.event.WarServerListener; +import com.tommytony.war.event.WarTagListener; import com.tommytony.war.job.HelmetProtectionTask; import com.tommytony.war.job.SpoutFadeOutMessageJob; import com.tommytony.war.mapper.WarYmlMapper; @@ -73,6 +74,7 @@ public class War extends JavaPlugin { private PluginDescriptionFile desc = null; private boolean loaded = false; private boolean isSpoutServer = false; + private boolean tagServer = false; // Zones and hub private List warzones = new ArrayList(); @@ -143,6 +145,15 @@ public class War extends JavaPlugin { pm.registerEvents(this.entityListener, this); pm.registerEvents(this.blockListener, this); pm.registerEvents(this.serverListener, this); + if (pm.isPluginEnabled("TagAPI")) { + try { + Class.forName("org.kitteh.tag.TagAPI"); + pm.registerEvents(new WarTagListener(), this); + this.tagServer = true; + } catch (ClassNotFoundException e) { + this.tagServer = false; + } + } // Add defaults warConfig.put(WarConfig.BUILDINZONESONLY, false); @@ -1164,4 +1175,8 @@ public class War extends JavaPlugin { public HubLobbyMaterials getWarhubMaterials() { return this.warhubMaterials; } + + public boolean isTagServer() { + return tagServer; + } } diff --git a/war/src/main/java/com/tommytony/war/event/WarTagListener.java b/war/src/main/java/com/tommytony/war/event/WarTagListener.java new file mode 100644 index 0000000..c02d976 --- /dev/null +++ b/war/src/main/java/com/tommytony/war/event/WarTagListener.java @@ -0,0 +1,19 @@ +package com.tommytony.war.event; + +import com.tommytony.war.Team; +import org.bukkit.ChatColor; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.Listener; +import org.kitteh.tag.PlayerReceiveNameTagEvent; + +public class WarTagListener implements Listener { + @EventHandler(priority = EventPriority.HIGHEST) + public void onNameTag(PlayerReceiveNameTagEvent event) { + Team team = Team.getTeamByPlayerName(event.getNamedPlayer().getName()); + if (team != null) { + ChatColor teamColor = team.getKind().getColor(); + event.setTag(teamColor + event.getNamedPlayer().getName()); + } + } +} diff --git a/war/src/main/resources/plugin.yml b/war/src/main/resources/plugin.yml index 73205ae..edebadf 100644 --- a/war/src/main/resources/plugin.yml +++ b/war/src/main/resources/plugin.yml @@ -4,7 +4,7 @@ description: Minecraft PVP arenas (called warzones) for a fast-paced and structu author: tommytony website: http://war.tommytony.com main: com.tommytony.war.War -softdepend: [Spout] +softdepend: [Spout, TagAPI] permissions: war.*: description: Full War permissions. Create and destroy warzones. Change War configuration.