Files
CustomNPC-Plus/src/main/java/kamkeel/network/PacketHandler.java
T

76 lines
2.6 KiB
Java
Raw Normal View History

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
}
}