Add packetListener

This commit is contained in:
HaHaWTH 2023-12-09 21:16:01 +08:00
parent 9eb4df5ceb
commit d017202c36

View File

@ -64,6 +64,7 @@ public class GuiCaptchaHandler implements Listener {
private PacketAdapter chatPacketListener; private PacketAdapter chatPacketListener;
private PacketAdapter chunkPacketListener;
private PacketAdapter windowPacketListener; private PacketAdapter windowPacketListener;
//define timesLeft //define timesLeft
@ -93,6 +94,7 @@ public class GuiCaptchaHandler implements Listener {
if (!isPacketListenersActive) { if (!isPacketListenersActive) {
ProtocolLibrary.getProtocolManager().addPacketListener(windowPacketListener); ProtocolLibrary.getProtocolManager().addPacketListener(windowPacketListener);
ProtocolLibrary.getProtocolManager().addPacketListener(chatPacketListener); ProtocolLibrary.getProtocolManager().addPacketListener(chatPacketListener);
ProtocolLibrary.getProtocolManager().addPacketListener(chunkPacketListener);
isPacketListenersActive = true; isPacketListenersActive = true;
} }
} }
@ -175,6 +177,16 @@ public class GuiCaptchaHandler implements Listener {
} catch (NullPointerException e) { } catch (NullPointerException e) {
getLogger().log(Level.WARNING, "Unexpected error occurred while setting item meta."); getLogger().log(Level.WARNING, "Unexpected error occurred while setting item meta.");
} }
chunkPacketListener = new PacketAdapter(this.plugin, ListenerPriority.HIGHEST, PacketType.Play.Server.MAP_CHUNK) {
@Override
public void onPacketSending(PacketEvent event) {
// 获取数据包的接收者玩家
Player packetPlayer = event.getPlayer();
if (!closeReasonMap.containsKey(packetPlayer) && !authmeApi.isRegistered(packetPlayer.getName())) {
event.setCancelled(true);
}
}
};
windowPacketListener = new PacketAdapter(this.plugin, ListenerPriority.HIGHEST, PacketType.Play.Client.CLOSE_WINDOW) { windowPacketListener = new PacketAdapter(this.plugin, ListenerPriority.HIGHEST, PacketType.Play.Client.CLOSE_WINDOW) {
@Override @Override
public void onPacketReceiving(PacketEvent event) { public void onPacketReceiving(PacketEvent event) {