Mekanism-tilera-Edition/src/main/java/mekanism/common/network/PacketTileEntity.java

75 lines
1.5 KiB
Java
Raw Normal View History

package mekanism.common.network;
import java.io.DataOutputStream;
import java.util.ArrayList;
import mekanism.api.Coord4D;
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;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
public class PacketTileEntity extends MekanismPacket
{
public Coord4D coord4D;
public ArrayList parameters;
public PacketTileEntity(Coord4D coord, ArrayList params)
{
coord4D = coord;
parameters = params;
}
public void read(ByteArrayDataInput dataStream, EntityPlayer player, World world) throws Exception
{
int x = dataStream.readInt();
int y = dataStream.readInt();
int z = dataStream.readInt();
TileEntity tileEntity = world.getTileEntity(x, y, z);
if(tileEntity instanceof ITileNetwork)
{
((ITileNetwork)tileEntity).handlePacketData(dataStream);
}
}
public void write(DataOutputStream dataStream) throws Exception
{
dataStream.writeInt(coord4D.xCoord);
dataStream.writeInt(coord4D.yCoord);
dataStream.writeInt(coord4D.zCoord);
PacketHandler.encode(new Object[] {parameters}, dataStream);
}
@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)
{
}
}