1package com.osroyale.net.packet;
3import com.google.common.base.Preconditions;
4import com.osroyale.game.world.entity.mob.player.Player;
5import org.apache.logging.log4j.LogManager;
6import org.apache.logging.log4j.Logger;
8import javax.annotation.Nullable;
51 private static final Logger logger = LogManager.getLogger(
PacketRepository.class);
56 private static final int MAX_CLIENT_PACKETS = 257;
66 private static final int[] packetTypes =
new int[MAX_CLIENT_PACKETS];
69 final PacketListener listener = packetListeners[packet.getOpcode()];
70 if (listener !=
null) {
71 if (packet.getOpcode() != 0) {
85 Preconditions.checkArgument(opcode >= 0 && opcode < packetListeners.length);
86 packetListeners[opcode] = listener;
98 if (opcode < 0 || opcode >= packetListeners.length) {
101 return packetListeners[opcode];
111 if (opcode < 0 || opcode >= packetTypes.length) {
115 final int size = packetTypes[opcode];
119 }
else if (size == -1) {
121 }
else if (size > 0) {
135 if (opcode < 0 || opcode >= packetTypes.length) {
138 return packetTypes[opcode];
155 Preconditions.checkArgument(opcode >= 0 && opcode < packetListeners.length);
156 packetTypes[opcode] = type;
static PacketListener lookupListener(final int opcode)
static void registerListener(int opcode, PacketListener listener)
static void registerType(int opcode, int type)
static int lookupSize(int opcode)
static PacketType lookupType(int opcode)
void handlePacket(Player player, GamePacket packet)