diff --git a/src/main/java/kamkeel/npcs/network/PacketHandler.java b/src/main/java/kamkeel/npcs/network/PacketHandler.java index a7774c739..d40e44b19 100644 --- a/src/main/java/kamkeel/npcs/network/PacketHandler.java +++ b/src/main/java/kamkeel/npcs/network/PacketHandler.java @@ -7,6 +7,7 @@ import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.internal.FMLProxyPacket; import io.netty.buffer.ByteBuf; import kamkeel.npcs.network.enums.EnumChannelType; +import kamkeel.npcs.network.enums.EnumRequestPacket; import kamkeel.npcs.network.packets.data.*; import kamkeel.npcs.network.packets.data.gui.*; import kamkeel.npcs.network.packets.data.large.*; @@ -27,15 +28,20 @@ public final class PacketHandler { // Channels public Map channels = new Hashtable<>(); - public static final PacketChannel PERMISSION_PACKET = new PacketChannel("CNPC+|Perm", EnumChannelType.PERMISSION); + // Client to Server + public static final PacketChannel REQUEST_PACKET = new PacketChannel("CNPC+|Req", EnumChannelType.REQUEST); + + // Client to Server - Typically information public static final PacketChannel PLAYER_PACKET = new PacketChannel("CNPC+|Player", EnumChannelType.PLAYER); + + // Server to Client public static final PacketChannel DATA_PACKET = new PacketChannel("CNPC+|Data", EnumChannelType.DATA); private static final List packetChannels = new ArrayList<>(); public PacketHandler() { // Register Channels - packetChannels.add(PERMISSION_PACKET); + packetChannels.add(REQUEST_PACKET); packetChannels.add(PLAYER_PACKET); packetChannels.add(DATA_PACKET); @@ -132,7 +138,6 @@ public final class PacketHandler { private void handlePacket(FMLProxyPacket packet, EntityPlayer player) { ByteBuf buf = packet.payload(); try { - // First two ints are channelTypeOrdinal and packetTypeOrdinal int packetTypeOrdinal = buf.readInt(); EnumChannelType packetType = EnumChannelType.values()[packetTypeOrdinal]; @@ -149,6 +154,11 @@ public final class PacketHandler { return; } + if(packetType == EnumChannelType.REQUEST){ + EnumRequestPacket requestPacket = EnumRequestPacket.values()[packetId]; + if() + } + // Let the packet parse the rest abstractPacket.receiveData(buf, player); diff --git a/src/main/java/kamkeel/npcs/network/enums/EnumChannelType.java b/src/main/java/kamkeel/npcs/network/enums/EnumChannelType.java index b9ff6a5ac..87015e1c8 100644 --- a/src/main/java/kamkeel/npcs/network/enums/EnumChannelType.java +++ b/src/main/java/kamkeel/npcs/network/enums/EnumChannelType.java @@ -1,7 +1,7 @@ package kamkeel.npcs.network.enums; public enum EnumChannelType { - PERMISSION, + REQUEST, PLAYER, DATA, INFO diff --git a/src/main/java/kamkeel/npcs/network/enums/EnumPlayerPacket.java b/src/main/java/kamkeel/npcs/network/enums/EnumPlayerPacket.java index 58b7e72fc..5df856525 100644 --- a/src/main/java/kamkeel/npcs/network/enums/EnumPlayerPacket.java +++ b/src/main/java/kamkeel/npcs/network/enums/EnumPlayerPacket.java @@ -1,5 +1,4 @@ package kamkeel.npcs.network.enums; public enum EnumPlayerPacket { - LOGIN, } diff --git a/src/main/java/kamkeel/npcs/network/enums/EnumRequestPacket.java b/src/main/java/kamkeel/npcs/network/enums/EnumRequestPacket.java new file mode 100644 index 000000000..49d225869 --- /dev/null +++ b/src/main/java/kamkeel/npcs/network/enums/EnumRequestPacket.java @@ -0,0 +1,26 @@ +package kamkeel.npcs.network.enums; + +import noppes.npcs.CustomNpcsPermissions; + +public enum EnumRequestPacket { + + ok; + + public CustomNpcsPermissions.Permission permission = null; + public boolean needsNpc = false; + + EnumRequestPacket() {} + EnumRequestPacket(noppes.npcs.CustomNpcsPermissions.Permission permission, boolean npc) { + this(permission); + } + EnumRequestPacket(boolean npc) { + needsNpc = npc; + } + EnumRequestPacket(CustomNpcsPermissions.Permission permission) { + this.permission = permission; + } + public boolean hasPermission() { + return permission != null; + } + +}