From d0a435a5d665dc97a0498d56df8b433abbe11eac Mon Sep 17 00:00:00 2001 From: StevenLawson Date: Wed, 20 Aug 2014 21:23:22 -0400 Subject: [PATCH] Added preliminary TFM support for TelnetRequestDataTagsEvent. --- .../Listener/TFM_TelnetListener.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_TelnetListener.java b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_TelnetListener.java index 38d29eac..b50141f6 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_TelnetListener.java +++ b/src/me/StevenLawson/TotalFreedomMod/Listener/TFM_TelnetListener.java @@ -1,10 +1,16 @@ package me.StevenLawson.TotalFreedomMod.Listener; +import java.util.Iterator; +import java.util.Map; import me.StevenLawson.BukkitTelnet.api.TelnetCommandEvent; +import me.StevenLawson.BukkitTelnet.api.TelnetRequestDataTagsEvent; import me.StevenLawson.BukkitTelnet.api.TelnetPreLoginEvent; +import me.StevenLawson.TotalFreedomMod.Bridge.TFM_EssentialsBridge; import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker; import me.StevenLawson.TotalFreedomMod.TFM_Admin; import me.StevenLawson.TotalFreedomMod.TFM_AdminList; +import me.StevenLawson.TotalFreedomMod.TFM_PlayerData; +import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -40,4 +46,38 @@ public class TFM_TelnetListener implements Listener event.setCancelled(true); } } + + @EventHandler(priority = EventPriority.NORMAL) + public void onTelnetRequestDataTags(TelnetRequestDataTagsEvent event) + { + final Iterator>> it = event.getDataTags().entrySet().iterator(); + while (it.hasNext()) + { + final Map.Entry> entry = it.next(); + final Player player = entry.getKey(); + final Map playerTags = entry.getValue(); + + boolean isAdmin = false; + boolean isTelnetAdmin = false; + boolean isSeniorAdmin = false; + + final TFM_Admin admin = TFM_AdminList.getEntry(player); + if (admin != null) + { + boolean isActivated = admin.isActivated(); + + isAdmin = isActivated; + isTelnetAdmin = isActivated && admin.isTelnetAdmin(); + isSeniorAdmin = isActivated && admin.isSeniorAdmin(); + } + + playerTags.put("tfm.admin.isAdmin", isAdmin); + playerTags.put("tfm.admin.isTelnetAdmin", isTelnetAdmin); + playerTags.put("tfm.admin.isSeniorAdmin", isSeniorAdmin); + + playerTags.put("tfm.playerdata.getTag", TFM_PlayerData.getPlayerData(player).getTag()); + + playerTags.put("tfm.essentialsBridge.getNickname", TFM_EssentialsBridge.getNickname(player.getName())); + } + } }