2025-01-28 13:39:46 -05:00
|
|
|
package kamkeel.network;
|
|
|
|
|
|
|
|
|
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
|
|
|
|
import cpw.mods.fml.common.network.FMLEventChannel;
|
|
|
|
|
import cpw.mods.fml.common.network.FMLNetworkEvent;
|
|
|
|
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
|
|
|
|
import cpw.mods.fml.common.network.internal.FMLProxyPacket;
|
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
2025-01-28 14:37:07 -05:00
|
|
|
import io.netty.buffer.ByteBuf;
|
|
|
|
|
import kamkeel.network.enums.EnumPacketType;
|
|
|
|
|
import kamkeel.util.ByteBufUtils;
|
2025-01-28 13:39:46 -05:00
|
|
|
import net.minecraft.entity.Entity;
|
2025-01-28 14:37:07 -05:00
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
2025-01-28 13:39:46 -05:00
|
|
|
import net.minecraft.entity.player.EntityPlayerMP;
|
|
|
|
|
import net.minecraft.network.NetHandlerPlayServer;
|
|
|
|
|
import noppes.npcs.CustomNpcs;
|
|
|
|
|
|
2025-01-28 14:37:07 -05:00
|
|
|
import java.util.*;
|
2025-01-28 13:39:46 -05:00
|
|
|
|
|
|
|
|
public final class PacketHandler {
|
|
|
|
|
public static PacketHandler Instance;
|
|
|
|
|
|
2025-01-28 14:37:07 -05:00
|
|
|
public Map<EnumPacketType, FMLEventChannel> channels = new Hashtable<>();
|
2025-01-28 13:39:46 -05:00
|
|
|
|
2025-01-28 14:37:07 -05:00
|
|
|
public final static PacketChannel INFO_PACKET = new PacketChannel("CNPC+|Info", EnumPacketType.INFO);
|
|
|
|
|
public final static PacketChannel DATA_PACKET = new PacketChannel("CNPC+|Data", EnumPacketType.DATA);
|
|
|
|
|
public final static PacketChannel CLIENT_PACKET = new PacketChannel("CNPC+|Client", EnumPacketType.CLIENT);
|
|
|
|
|
public final static PacketChannel LARGE_PACKET = new PacketChannel("CNPC+|Large", EnumPacketType.LARGE);
|
|
|
|
|
|
|
|
|
|
public final static List<PacketChannel> packetChannels = new ArrayList<>();
|
2025-01-28 13:39:46 -05:00
|
|
|
|
|
|
|
|
public PacketHandler() {
|
|
|
|
|
// Register Channels
|
2025-01-28 14:37:07 -05:00
|
|
|
packetChannels.add(INFO_PACKET);
|
|
|
|
|
packetChannels.add(DATA_PACKET);
|
|
|
|
|
packetChannels.add(CLIENT_PACKET);
|
2025-01-28 13:39:46 -05:00
|
|
|
this.registerChannels();
|
|
|
|
|
|
2025-01-28 14:37:07 -05:00
|
|
|
// Register Info Packets
|
|
|
|
|
|
|
|
|
|
// Register Data Packets
|
|
|
|
|
|
|
|
|
|
// Register Client Packets
|
2025-01-28 13:39:46 -05:00
|
|
|
|
|
|
|
|
// Register Packets
|
|
|
|
|
// map.put(PingPacket.packetName, new PingPacket());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void registerChannels() {
|
|
|
|
|
FMLEventChannel eventChannel;
|
2025-01-28 14:37:07 -05:00
|
|
|
for (PacketChannel channel : packetChannels) {
|
|
|
|
|
eventChannel = NetworkRegistry.INSTANCE.newEventDrivenChannel(channel.getChannelName());
|
2025-01-28 13:39:46 -05:00
|
|
|
eventChannel.register(this);
|
2025-01-28 14:37:07 -05:00
|
|
|
channels.put(channel.getChannelType(), eventChannel);
|
2025-01-28 13:39:46 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-28 14:37:07 -05:00
|
|
|
public PacketChannel getPacketChannel(EnumPacketType type){
|
|
|
|
|
PacketChannel packetChannel;
|
|
|
|
|
switch (type){
|
|
|
|
|
case DATA:
|
|
|
|
|
packetChannel = DATA_PACKET;
|
|
|
|
|
break;
|
|
|
|
|
case INFO:
|
|
|
|
|
packetChannel = INFO_PACKET;
|
|
|
|
|
break;
|
|
|
|
|
case LARGE:
|
|
|
|
|
packetChannel = LARGE_PACKET;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
packetChannel = CLIENT_PACKET;
|
|
|
|
|
break;
|
2025-01-28 13:39:46 -05:00
|
|
|
}
|
2025-01-28 14:37:07 -05:00
|
|
|
return packetChannel;
|
2025-01-28 13:39:46 -05:00
|
|
|
}
|
|
|
|
|
}
|