BungeeMaintenanceSystem/src/main/java/de/TntTastisch/Spigot/listener/ServerPingListener.java

47 lines
1.5 KiB
Java
Raw Normal View History

2021-01-02 07:50:10 +01:00
package de.TntTastisch.Spigot.listener;
import de.TntTastisch.Spigot.Maintenance;
import net.md_5.bungee.api.ServerPing;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.event.*;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
2023-10-08 13:06:22 +02:00
import static de.TntTastisch.Spigot.Maintenance.*;
2021-01-02 07:50:10 +01:00
public class ServerPingListener implements Listener {
@SuppressWarnings("deprecation")
@EventHandler
public void onPing(ProxyPingEvent e) {
ServerPing ping = e.getResponse();
ServerPing.Players players = ping.getPlayers();
ServerPing.Protocol protocol = ping.getVersion();
2023-10-08 13:06:22 +02:00
if (maintenance) {
2021-01-02 07:50:10 +01:00
protocol.setProtocol(2);
2023-10-08 13:06:22 +02:00
if(motdEnabled) {
ping.setDescription(MaintenanceFirstMOTD + "\n" + MaintenanceSecondMOTD);
}
protocol.setName(version);
2021-01-02 07:50:10 +01:00
ping.setVersion(protocol);
ping.setPlayers(players);
2023-10-08 13:06:22 +02:00
return;
}
if(motdEnabled) {
ping.setDescription(FirstMOTD + "\n" + SecondMOTD);
2021-01-02 07:50:10 +01:00
}
}
@EventHandler
public void onLogin(PostLoginEvent event) {
ProxiedPlayer player = event.getPlayer();
2023-10-08 13:06:22 +02:00
if (maintenance) {
if (!(player.hasPermission(permissions) || player.hasPermission(maintenancejoin))) {
player.disconnect(new TextComponent(MaintenanceMessage.replace("%reason%", reason)));
2021-01-02 07:50:10 +01:00
}
}
}
}