Module-BukkitTelnet/src/main/java/dev/plex/listener/BukkitTelnetListener.java

48 lines
1.5 KiB
Java
Raw Normal View History

2022-03-31 06:35:22 +00:00
package dev.plex.listener;
import dev.plex.BukkitTelnetModule;
import dev.plex.cache.DataUtils;
import dev.plex.player.PlexPlayer;
import dev.plex.rank.enums.Rank;
import dev.plex.util.PlexLog;
2022-03-31 07:06:34 +00:00
import java.util.UUID;
2022-03-31 06:35:22 +00:00
import me.totalfreedom.bukkittelnet.api.TelnetPreLoginEvent;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.event.EventHandler;
2022-03-31 07:06:34 +00:00
public class BukkitTelnetListener extends PlexListener
{
2022-03-31 06:35:22 +00:00
@EventHandler
2022-03-31 07:06:34 +00:00
public void onPreLogin(TelnetPreLoginEvent event)
{
2022-03-31 06:35:22 +00:00
final String ip = event.getIp();
final PlexPlayer player = DataUtils.getPlayerByIP(ip);
2022-03-31 07:06:34 +00:00
if (player == null)
{
return;
}
2022-03-31 06:35:22 +00:00
if (plugin.getSystem().equalsIgnoreCase("ranks"))
{
PlexLog.debug("Plex-BukkitTelnet using ranks check");
2022-03-31 07:06:34 +00:00
if (player.getRankFromString().isAtLeast(Rank.ADMIN))
{
2022-03-31 06:35:22 +00:00
event.setBypassPassword(true);
event.setName(player.getName());
}
2022-03-31 07:06:34 +00:00
}
else if (plugin.getSystem().equalsIgnoreCase("permissions"))
2022-03-31 06:35:22 +00:00
{
PlexLog.debug("Plex-BukkitTelnet using permissions check");
final OfflinePlayer offlinePlayer = Bukkit.getOfflinePlayer(UUID.fromString(player.getUuid()));
2022-03-31 07:06:34 +00:00
if (BukkitTelnetModule.getModule().getPermissions().playerHas(null, offlinePlayer, "plex.telnet.autoconnect"))
{
2022-03-31 06:35:22 +00:00
event.setBypassPassword(true);
event.setName(player.getName());
}
}
}
}