Added login listener to prevent players from joining with an unsupported version
parent
7a18172b0a
commit
d0fb219805
|
@ -12,6 +12,7 @@ import lombok.SneakyThrows;
|
|||
import net.krakatoa.proxy.command.CodeCommand;
|
||||
import net.krakatoa.proxy.command.SendTestMessageCommand;
|
||||
import net.krakatoa.proxy.config.ConfigHandler;
|
||||
import net.krakatoa.proxy.listener.LoginListener;
|
||||
import net.krakatoa.proxy.listener.PlayerDisconnectListener;
|
||||
import net.krakatoa.proxy.listener.PostLoginListener;
|
||||
import net.krakatoa.proxy.listener.SocketClientMessageListener;
|
||||
|
@ -83,7 +84,7 @@ public class ProxySystem extends Plugin {
|
|||
|
||||
public void loadListeners() {
|
||||
PluginManager pluginManager = getProxy().getPluginManager();
|
||||
Arrays.asList(new PostLoginListener(), new PlayerDisconnectListener())
|
||||
Arrays.asList(new PostLoginListener(), new PlayerDisconnectListener(), new LoginListener())
|
||||
.forEach(listener -> {
|
||||
pluginManager.registerListener(this, listener);
|
||||
});
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
package net.krakatoa.proxy.listener;
|
||||
|
||||
import net.krakatoa.proxy.ProxySystem;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import net.md_5.bungee.api.chat.BaseComponent;
|
||||
import net.md_5.bungee.api.chat.ComponentBuilder;
|
||||
import net.md_5.bungee.api.event.LoginEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
|
||||
public class LoginListener implements Listener {
|
||||
|
||||
// https://wiki.vg/Protocol_version_numbers
|
||||
|
||||
private final BaseComponent[] component = new ComponentBuilder(
|
||||
"You must use 1.18.X to play here").color(
|
||||
ChatColor.RED).create();
|
||||
|
||||
@EventHandler
|
||||
public void onLoginEvent(LoginEvent event) {
|
||||
ProxySystem.getInstance().getLogger().info("Version: " + event.getConnection().getVersion());
|
||||
|
||||
if (event.getConnection().getVersion() < 757) {
|
||||
event.setCancelled(true);
|
||||
event.setCancelReason(component);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue