2013-06-13 23:37:30 +02:00
|
|
|
package mekanism.common.network;
|
|
|
|
|
|
|
|
import java.io.DataOutputStream;
|
2013-06-15 00:25:09 +02:00
|
|
|
import java.util.ArrayList;
|
2013-06-13 23:37:30 +02:00
|
|
|
|
2013-12-20 22:09:09 +01:00
|
|
|
import mekanism.api.Coord4D;
|
2013-06-13 23:37:30 +02:00
|
|
|
import mekanism.common.ITileNetwork;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
import net.minecraft.tileentity.TileEntity;
|
|
|
|
import net.minecraft.world.World;
|
|
|
|
|
|
|
|
import com.google.common.io.ByteArrayDataInput;
|
2014-04-20 22:15:44 +02:00
|
|
|
import io.netty.buffer.ByteBuf;
|
|
|
|
import io.netty.channel.ChannelHandlerContext;
|
2013-06-13 23:37:30 +02:00
|
|
|
|
2014-04-20 22:15:44 +02:00
|
|
|
public class PacketTileEntity extends MekanismPacket
|
2013-06-13 23:37:30 +02:00
|
|
|
{
|
2014-04-20 22:15:44 +02:00
|
|
|
public Coord4D coord4D;
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-06-15 00:25:09 +02:00
|
|
|
public ArrayList parameters;
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2014-04-20 22:15:44 +02:00
|
|
|
public PacketTileEntity(Coord4D coord, ArrayList params)
|
2013-06-13 23:37:30 +02:00
|
|
|
{
|
2014-04-20 22:15:44 +02:00
|
|
|
coord4D = coord;
|
|
|
|
parameters = params;
|
2013-06-13 23:37:30 +02:00
|
|
|
}
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-06-13 23:37:30 +02:00
|
|
|
public void read(ByteArrayDataInput dataStream, EntityPlayer player, World world) throws Exception
|
|
|
|
{
|
|
|
|
int x = dataStream.readInt();
|
|
|
|
int y = dataStream.readInt();
|
|
|
|
int z = dataStream.readInt();
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2014-04-20 05:34:19 +02:00
|
|
|
TileEntity tileEntity = world.getTileEntity(x, y, z);
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-06-13 23:37:30 +02:00
|
|
|
if(tileEntity instanceof ITileNetwork)
|
|
|
|
{
|
|
|
|
((ITileNetwork)tileEntity).handlePacketData(dataStream);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public void write(DataOutputStream dataStream) throws Exception
|
|
|
|
{
|
2014-04-20 22:15:44 +02:00
|
|
|
dataStream.writeInt(coord4D.xCoord);
|
|
|
|
dataStream.writeInt(coord4D.yCoord);
|
|
|
|
dataStream.writeInt(coord4D.zCoord);
|
2014-03-08 02:00:25 +01:00
|
|
|
|
2013-06-15 00:25:09 +02:00
|
|
|
PacketHandler.encode(new Object[] {parameters}, dataStream);
|
2013-06-13 23:37:30 +02:00
|
|
|
}
|
2014-04-20 22:15:44 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public void encodeInto(ChannelHandlerContext ctx, ByteBuf buffer)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void decodeInto(ChannelHandlerContext ctx, ByteBuf buffer)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void handleClientSide(EntityPlayer player)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void handleServerSide(EntityPlayer player)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
2013-06-13 23:37:30 +02:00
|
|
|
}
|