aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hype/bbsentials/packets/PacketManager.java
diff options
context:
space:
mode:
authorHacktheTime <l4bg0jb7@duck.com>2023-09-03 11:09:38 +0200
committerHacktheTime <l4bg0jb7@duck.com>2023-09-03 11:09:38 +0200
commitcdd951d912e172ea42fc9707a786db6e69ba2901 (patch)
tree006302c766d9e09e141a9ee03e73c0626750191b /src/main/java/de/hype/bbsentials/packets/PacketManager.java
parent7d9f695e2603c2349ce0693bb0e1e6dbbd274fbc (diff)
downloadBBsentials-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.java48
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;
+ }
+}