Skip to content

Commit 5d0b068

Browse files
authored
Add handle methods to clientbound packets (#9)
1 parent 5e13d22 commit 5d0b068

7 files changed

+46
-28
lines changed

src/main/java/net/hypixel/modapi/handler/ClientboundPacketHandler.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,12 @@
11
package net.hypixel.modapi.handler;
22

3-
import net.hypixel.modapi.packet.HypixelPacket;
43
import net.hypixel.modapi.packet.impl.clientbound.ClientboundLocationPacket;
54
import net.hypixel.modapi.packet.impl.clientbound.ClientboundPartyInfoPacket;
65
import net.hypixel.modapi.packet.impl.clientbound.ClientboundPingPacket;
76
import net.hypixel.modapi.packet.impl.clientbound.ClientboundPlayerInfoPacket;
87

98
public interface ClientboundPacketHandler extends PacketHandler {
109

11-
default void handle(HypixelPacket packet) {
12-
if (packet instanceof ClientboundPingPacket) {
13-
onPingPacket((ClientboundPingPacket) packet);
14-
}
15-
16-
if (packet instanceof ClientboundLocationPacket) {
17-
onLocationPacket((ClientboundLocationPacket) packet);
18-
}
19-
20-
if (packet instanceof ClientboundPartyInfoPacket) {
21-
onPartyInfoPacket((ClientboundPartyInfoPacket) packet);
22-
}
23-
24-
if (packet instanceof ClientboundPlayerInfoPacket) {
25-
onPlayerInfoPacket((ClientboundPlayerInfoPacket) packet);
26-
}
27-
}
28-
2910
default void onPingPacket(ClientboundPingPacket packet) {
3011
}
3112

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package net.hypixel.modapi.packet;
2+
3+
import net.hypixel.modapi.handler.ClientboundPacketHandler;
4+
5+
public interface ClientboundHypixelPacket extends HypixelPacket {
6+
7+
void handle(ClientboundPacketHandler handler);
8+
9+
}

src/main/java/net/hypixel/modapi/packet/PacketRegistry.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class PacketRegistry {
1414
private final Map<Class<? extends HypixelPacket>, String> classToIdentifier = new ConcurrentHashMap<>();
1515

1616
public void registerPacketType(String identifier,
17-
Class<? extends HypixelPacket> clientboundClazz, Function<PacketSerializer, HypixelPacket> clientPacketFactory,
17+
Class<? extends ClientboundHypixelPacket> clientboundClazz, Function<PacketSerializer, ClientboundHypixelPacket> clientPacketFactory,
1818
Class<? extends HypixelPacket> serverboundClazz, Function<PacketSerializer, HypixelPacket> serverPacketFactory) {
1919
registrations.put(identifier, new RegisteredType(clientboundClazz, clientPacketFactory, serverboundClazz, serverPacketFactory));
2020
classToIdentifier.put(clientboundClazz, identifier);
@@ -33,7 +33,7 @@ public boolean isRegistered(String identifier) {
3333
return registrations.containsKey(identifier);
3434
}
3535

36-
public HypixelPacket createClientboundPacket(String identifier, PacketSerializer serializer) {
36+
public ClientboundHypixelPacket createClientboundPacket(String identifier, PacketSerializer serializer) {
3737
return getRegisteredType(identifier).clientPacketFactory.apply(serializer);
3838
}
3939

@@ -51,12 +51,12 @@ public Set<String> getIdentifiers() {
5151

5252
private static final class RegisteredType {
5353

54-
private final Class<? extends HypixelPacket> clientboundClazz;
55-
private final Function<PacketSerializer, HypixelPacket> clientPacketFactory;
54+
private final Class<? extends ClientboundHypixelPacket> clientboundClazz;
55+
private final Function<PacketSerializer, ClientboundHypixelPacket> clientPacketFactory;
5656
private final Class<? extends HypixelPacket> serverboundClazz;
5757
private final Function<PacketSerializer, HypixelPacket> serverPacketFactory;
5858

59-
public RegisteredType(Class<? extends HypixelPacket> clientboundClazz, Function<PacketSerializer, HypixelPacket> clientPacketFactory,
59+
public RegisteredType(Class<? extends ClientboundHypixelPacket> clientboundClazz, Function<PacketSerializer, ClientboundHypixelPacket> clientPacketFactory,
6060
Class<? extends HypixelPacket> serverboundClazz, Function<PacketSerializer, HypixelPacket> serverPacketFactory) {
6161
this.clientboundClazz = clientboundClazz;
6262
this.clientPacketFactory = clientPacketFactory;

src/main/java/net/hypixel/modapi/packet/impl/clientbound/ClientboundLocationPacket.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22

33
import net.hypixel.data.region.Environment;
44
import net.hypixel.data.type.ServerType;
5+
import net.hypixel.modapi.handler.ClientboundPacketHandler;
6+
import net.hypixel.modapi.packet.ClientboundHypixelPacket;
57
import net.hypixel.modapi.packet.impl.VersionedPacket;
68
import net.hypixel.modapi.serializer.PacketSerializer;
79
import org.jetbrains.annotations.Nullable;
810

911
import java.util.Optional;
1012

11-
public class ClientboundLocationPacket extends VersionedPacket {
13+
public class ClientboundLocationPacket extends VersionedPacket implements ClientboundHypixelPacket {
1214
private static final int CURRENT_VERSION = 1;
1315

1416
private final Environment environment;
@@ -73,6 +75,11 @@ public void write(PacketSerializer serializer) {
7375
}
7476
}
7577

78+
@Override
79+
public void handle(ClientboundPacketHandler handler) {
80+
handler.handle(this);
81+
}
82+
7683
public Environment getEnvironment() {
7784
return environment;
7885
}

src/main/java/net/hypixel/modapi/packet/impl/clientbound/ClientboundPartyInfoPacket.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package net.hypixel.modapi.packet.impl.clientbound;
22

3+
import net.hypixel.modapi.handler.ClientboundPacketHandler;
4+
import net.hypixel.modapi.packet.ClientboundHypixelPacket;
35
import net.hypixel.modapi.packet.impl.VersionedPacket;
46
import net.hypixel.modapi.serializer.PacketSerializer;
57
import org.jetbrains.annotations.Nullable;
68

79
import java.util.*;
810

9-
public class ClientboundPartyInfoPacket extends VersionedPacket {
11+
public class ClientboundPartyInfoPacket extends VersionedPacket implements ClientboundHypixelPacket {
1012
private static final int CURRENT_VERSION = 1;
1113

1214
private final boolean inParty;
@@ -54,6 +56,11 @@ public void write(PacketSerializer serializer) {
5456
}
5557
}
5658

59+
@Override
60+
public void handle(ClientboundPacketHandler handler) {
61+
handler.handle(this);
62+
}
63+
5764
public boolean isInParty() {
5865
return inParty;
5966
}

src/main/java/net/hypixel/modapi/packet/impl/clientbound/ClientboundPingPacket.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package net.hypixel.modapi.packet.impl.clientbound;
22

3+
import net.hypixel.modapi.handler.ClientboundPacketHandler;
4+
import net.hypixel.modapi.packet.ClientboundHypixelPacket;
35
import net.hypixel.modapi.packet.impl.VersionedPacket;
46
import net.hypixel.modapi.serializer.PacketSerializer;
57

6-
public class ClientboundPingPacket extends VersionedPacket {
8+
public class ClientboundPingPacket extends VersionedPacket implements ClientboundHypixelPacket {
79
private static final int CURRENT_VERSION = 1;
810

911
private final String response;
@@ -24,6 +26,11 @@ public void write(PacketSerializer serializer) {
2426
serializer.writeString(response);
2527
}
2628

29+
@Override
30+
public void handle(ClientboundPacketHandler handler) {
31+
handler.handle(this);
32+
}
33+
2734
public String getResponse() {
2835
return response;
2936
}

src/main/java/net/hypixel/modapi/packet/impl/clientbound/ClientboundPlayerInfoPacket.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
import net.hypixel.data.rank.MonthlyPackageRank;
44
import net.hypixel.data.rank.PackageRank;
55
import net.hypixel.data.rank.PlayerRank;
6+
import net.hypixel.modapi.handler.ClientboundPacketHandler;
7+
import net.hypixel.modapi.packet.ClientboundHypixelPacket;
68
import net.hypixel.modapi.packet.impl.VersionedPacket;
79
import net.hypixel.modapi.serializer.PacketSerializer;
810
import org.jetbrains.annotations.Nullable;
911

1012
import java.util.Optional;
1113

12-
public class ClientboundPlayerInfoPacket extends VersionedPacket {
14+
public class ClientboundPlayerInfoPacket extends VersionedPacket implements ClientboundHypixelPacket {
1315
private static final int CURRENT_VERSION = 1;
1416

1517
private final PlayerRank playerRank;
@@ -46,6 +48,11 @@ public void write(PacketSerializer serializer) {
4648
}
4749
}
4850

51+
@Override
52+
public void handle(ClientboundPacketHandler handler) {
53+
handler.handle(this);
54+
}
55+
4956
public PlayerRank getPlayerRank() {
5057
return playerRank;
5158
}

0 commit comments

Comments
 (0)