mirror of
https://github.com/TheDeus-Group/TFM-4.3-Reloaded.git
synced 2024-05-29 11:21:17 +00:00
f4aa0c324c
TF-WorldEdit doesn't depend on TFM anymore. It's event-based now. Moved TFM_TelnetListener to the Bridge subpackage
83 lines
2.8 KiB
Java
83 lines
2.8 KiB
Java
package me.StevenLawson.TotalFreedomMod.Bridge;
|
|
|
|
import java.util.Iterator;
|
|
import java.util.Map;
|
|
import me.StevenLawson.BukkitTelnet.api.TelnetCommandEvent;
|
|
import me.StevenLawson.BukkitTelnet.api.TelnetPreLoginEvent;
|
|
import me.StevenLawson.BukkitTelnet.api.TelnetRequestDataTagsEvent;
|
|
import me.StevenLawson.TotalFreedomMod.TFM_Admin;
|
|
import me.StevenLawson.TotalFreedomMod.TFM_AdminList;
|
|
import me.StevenLawson.TotalFreedomMod.TFM_CommandBlocker;
|
|
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;
|
|
|
|
public class TFM_BukkitTelnetListener implements Listener
|
|
{
|
|
@EventHandler(priority = EventPriority.NORMAL)
|
|
public void onTelnetPreLogin(TelnetPreLoginEvent event)
|
|
{
|
|
|
|
final String ip = event.getIp();
|
|
if (ip == null || ip.isEmpty())
|
|
{
|
|
return;
|
|
}
|
|
|
|
final TFM_Admin admin = TFM_AdminList.getEntryByIp(ip, true);
|
|
|
|
if (admin == null || !admin.isActivated() || !admin.isTelnetAdmin())
|
|
{
|
|
return;
|
|
}
|
|
|
|
event.setBypassPassword(true);
|
|
event.setName(admin.getLastLoginName());
|
|
}
|
|
|
|
@EventHandler(priority = EventPriority.NORMAL)
|
|
public void onTelnetCommand(TelnetCommandEvent event)
|
|
{
|
|
if (TFM_CommandBlocker.isCommandBlocked(event.getCommand(), event.getSender()))
|
|
{
|
|
event.setCancelled(true);
|
|
}
|
|
}
|
|
|
|
@EventHandler(priority = EventPriority.NORMAL)
|
|
public void onTelnetRequestDataTags(TelnetRequestDataTagsEvent event)
|
|
{
|
|
final Iterator<Map.Entry<Player, Map<String, Object>>> it = event.getDataTags().entrySet().iterator();
|
|
while (it.hasNext())
|
|
{
|
|
final Map.Entry<Player, Map<String, Object>> entry = it.next();
|
|
final Player player = entry.getKey();
|
|
final Map<String, Object> 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()));
|
|
}
|
|
}
|
|
}
|