aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/GT_Network.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/common/GT_Network.java')
-rw-r--r--src/main/java/gregtech/common/GT_Network.java46
1 files changed, 29 insertions, 17 deletions
diff --git a/src/main/java/gregtech/common/GT_Network.java b/src/main/java/gregtech/common/GT_Network.java
index b0e6f5d35e..840416d9eb 100644
--- a/src/main/java/gregtech/common/GT_Network.java
+++ b/src/main/java/gregtech/common/GT_Network.java
@@ -12,6 +12,7 @@ import gregtech.api.net.*;
import gregtech.common.blocks.GT_Packet_Ores;
import gregtech.common.net.MessageSetFlaskCapacity;
import gregtech.common.net.MessageUpdateFluidDisplayItem;
+import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext;
@@ -28,6 +29,7 @@ import java.util.List;
import static gregtech.GT_Mod.GT_FML_LOGGER;
@ChannelHandler.Sharable
+@SuppressWarnings("deprecation")
public class GT_Network extends MessageToMessageCodec<FMLProxyPacket, GT_Packet> implements IGT_NetworkHandler {
private final EnumMap<Side, FMLEmbeddedChannel> mChannel;
private final GT_Packet[] mSubChannels;
@@ -37,40 +39,50 @@ public class GT_Network extends MessageToMessageCodec<FMLProxyPacket, GT_Packet>
this.mSubChannels = new GT_Packet[]{new GT_Packet_TileEntity(), new GT_Packet_Sound(), new GT_Packet_Block_Event(), new GT_Packet_Ores(), new GT_Packet_Pollution(), new MessageSetFlaskCapacity(), new GT_Packet_TileEntityCover(), new GT_Packet_TileEntityCoverGUI(), new MessageUpdateFluidDisplayItem()};
}
+ @Override
protected void encode(ChannelHandlerContext aContext, GT_Packet aPacket, List<Object> aOutput)
throws Exception {
- aOutput.add(new FMLProxyPacket(Unpooled.buffer().writeByte(aPacket.getPacketID()).writeBytes(aPacket.encode()).copy(), (String) aContext.channel().attr(NetworkRegistry.FML_CHANNEL).get()));
+ ByteBuf tBuf = Unpooled.buffer().writeByte(aPacket.getPacketID());
+ aPacket.encode(tBuf);
+ aOutput.add(new FMLProxyPacket(tBuf, aContext.channel().attr(NetworkRegistry.FML_CHANNEL).get()));
}
+ @Override
protected void decode(ChannelHandlerContext aContext, FMLProxyPacket aPacket, List<Object> aOutput)
throws Exception {
ByteArrayDataInput aData = ByteStreams.newDataInput(aPacket.payload().array());
aOutput.add(this.mSubChannels[aData.readByte()].decode(aData));
}
+ @Override
public void sendToPlayer(GT_Packet aPacket, EntityPlayerMP aPlayer) {
- if(aPacket==null){
- GT_FML_LOGGER.info("packet null");return;
- }
- if(aPlayer==null){
- GT_FML_LOGGER.info("player null");return;
- }
- ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER);
- ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(aPlayer);
- ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).writeAndFlush(aPacket);
+ if (aPacket == null) {
+ GT_FML_LOGGER.info("packet null");
+ return;
+ }
+ if (aPlayer == null) {
+ GT_FML_LOGGER.info("player null");
+ return;
+ }
+ this.mChannel.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.PLAYER);
+ this.mChannel.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(aPlayer);
+ this.mChannel.get(Side.SERVER).writeAndFlush(aPacket);
}
+ @Override
public void sendToAllAround(GT_Packet aPacket, NetworkRegistry.TargetPoint aPosition) {
- ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT);
- ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(aPosition);
- ((FMLEmbeddedChannel) this.mChannel.get(Side.SERVER)).writeAndFlush(aPacket);
+ this.mChannel.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.ALLAROUNDPOINT);
+ this.mChannel.get(Side.SERVER).attr(FMLOutboundHandler.FML_MESSAGETARGETARGS).set(aPosition);
+ this.mChannel.get(Side.SERVER).writeAndFlush(aPacket);
}
+ @Override
public void sendToServer(GT_Packet aPacket) {
- ((FMLEmbeddedChannel) this.mChannel.get(Side.CLIENT)).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER);
- ((FMLEmbeddedChannel) this.mChannel.get(Side.CLIENT)).writeAndFlush(aPacket);
+ this.mChannel.get(Side.CLIENT).attr(FMLOutboundHandler.FML_MESSAGETARGET).set(FMLOutboundHandler.OutboundTarget.TOSERVER);
+ this.mChannel.get(Side.CLIENT).writeAndFlush(aPacket);
}
+ @Override
public void sendPacketToAllPlayersInRange(World aWorld, GT_Packet aPacket, int aX, int aZ) {
if (!aWorld.isRemote) {
for (Object tObject : aWorld.playerEntities) {
@@ -89,8 +101,8 @@ public class GT_Network extends MessageToMessageCodec<FMLProxyPacket, GT_Packet>
@ChannelHandler.Sharable
static final class HandlerShared
extends SimpleChannelInboundHandler<GT_Packet> {
- protected void channelRead0(ChannelHandlerContext ctx, GT_Packet aPacket)
- throws Exception {
+ @Override
+ protected void channelRead0(ChannelHandlerContext ctx, GT_Packet aPacket) {
EntityPlayer aPlayer = GT_Values.GT.getThePlayer();
aPacket.process(aPlayer == null ? null : GT_Values.GT.getThePlayer().worldObj);
}