Added soft dependency on Towny to add town tags as chat prefixes.

master
James T. Martin 2019-09-09 17:22:04 -07:00
parent e3a46529cf
commit fdab8a4eae
3 changed files with 32 additions and 4 deletions

View File

@ -0,0 +1,22 @@
package me.jtmar.wasteland;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import com.palmergames.bukkit.towny.exceptions.NotRegisteredException;
import com.palmergames.bukkit.towny.object.Resident;
import com.palmergames.bukkit.towny.object.TownyUniverse;
public class TownyDependency {
public static String getTownTagPrefix(Player player) {
try {
Resident resident = TownyUniverse.getDataSource().getResident(player.getName());
String tag = resident.getTown().getTag();
if (tag != null && !tag.equals("")) {
return "[" + ChatColor.BLUE + tag + ChatColor.RESET + "] ";
}
} catch (NotRegisteredException e) {
}
return "";
}
}

View File

@ -5,14 +5,20 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import me.jtmar.wasteland.TownyDependency;
import me.jtmar.wasteland.Wasteland;
import me.jtmar.wasteland.ranks.EnlistedRank;
public class ChatListener implements Listener {
@EventHandler(priority = EventPriority.HIGHEST)
public void onPlayerChat(AsyncPlayerChatEvent event) {
String townyPrefix = "";
if (Wasteland.getInstance().getServer().getPluginManager().isPluginEnabled("Towny")) {
townyPrefix = TownyDependency.getTownTagPrefix(event.getPlayer());
}
event.setFormat(
"[" + EnlistedRank.getRank(event.getPlayer()).format() + ChatColor.RESET + "] " + " "
+ "%s" + ChatColor.WHITE + ": %s");
townyPrefix
+ "[" + EnlistedRank.getRank(event.getPlayer()).format() + ChatColor.RESET + "] " + " "
+ "%s" + ChatColor.WHITE + ": %s");
}
}

View File

@ -86,7 +86,7 @@ permissions:
# Staff ranks
wasteland.official:
default: ops
default: op
wasteland.rank.2ndlt:
default: false
children: