diff options
author | HacktheTime <l4bg0jb7@duck.com> | 2023-09-03 11:09:38 +0200 |
---|---|---|
committer | HacktheTime <l4bg0jb7@duck.com> | 2023-09-03 11:09:38 +0200 |
commit | cdd951d912e172ea42fc9707a786db6e69ba2901 (patch) | |
tree | 006302c766d9e09e141a9ee03e73c0626750191b /src/main/java/de/hype/bbsentials/packets/PacketManager.java | |
parent | 7d9f695e2603c2349ce0693bb0e1e6dbbd274fbc (diff) | |
download | BBsentials-cdd951d912e172ea42fc9707a786db6e69ba2901.tar.gz BBsentials-cdd951d912e172ea42fc9707a786db6e69ba2901.tar.bz2 BBsentials-cdd951d912e172ea42fc9707a786db6e69ba2901.zip |
added packet communication to work now at least as base. not all features changed and therefore supported yet. first version working at least partially with the new server.
fixed trapper yes via chat prompt action not working. changed the get getter of the string from messageOriginal in Chat.java to now use just messageOriginal.getString(). previosly removed everything in [] brackets.
Diffstat (limited to 'src/main/java/de/hype/bbsentials/packets/PacketManager.java')
-rw-r--r-- | src/main/java/de/hype/bbsentials/packets/PacketManager.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/main/java/de/hype/bbsentials/packets/PacketManager.java b/src/main/java/de/hype/bbsentials/packets/PacketManager.java new file mode 100644 index 0000000..a6d94d4 --- /dev/null +++ b/src/main/java/de/hype/bbsentials/packets/PacketManager.java @@ -0,0 +1,48 @@ +package de.hype.bbsentials.packets; + +import de.hype.bbsentials.communication.BBsentialConnection; +import de.hype.bbsentials.packets.packets.*; + +import java.util.ArrayList; +import java.util.List; + +public class PacketManager { + private static List<Packet<? extends AbstractPacket>> packets = new ArrayList<>(); + + public List<Packet<? extends AbstractPacket>> getPackets() { + return packets; + } + + // Define a map to store packet classes and their associated actions + BBsentialConnection connection; + + // Method to initialize packet actions + public PacketManager(BBsentialConnection connection) { + this.connection = connection; + initializePacketActions(connection); + } + + public static void initializePacketActions(BBsentialConnection connection) { + packets.add(new Packet<>(SplashNotifyPacket.class, connection::onSplashNotify)); + packets.add(new Packet<>(BingoChatMessagePacket.class, connection::onBingoChatMessagePacket)); + packets.add(new Packet<>(ChChestPackage.class, connection::onChChestPackage)); +// packets.add(new Packet<>(DisconnectPacket.class, connection::dummy)); +// packets.add(new Packet<>(InternalCommandPacket.class, connection::dummy)); + packets.add(new Packet<>(MiningEventPacket.class, connection::onMiningEventPacket)); +// packets.add(new Packet<>(RequestConnectPacket.class, connection::dummy)); + packets.add(new Packet<>(WelcomeClientPacket.class, connection::onWelcomePacket)); + } + + // Method to handle a received packet + + + // method to get a list of all packets + public static List<Class<? extends AbstractPacket>> getAllPacketClasses() { + initializePacketActions(null); + List<Class<? extends AbstractPacket>> allPackets = new ArrayList<>(); + for (int i = 0; i < allPackets.size(); i++) { + allPackets.add(packets.get(i).getClazz()); + } + return allPackets; + } +} |