59 lines
1.3 KiB
Java
59 lines
1.3 KiB
Java
|
package mekanism.common.network;
|
||
|
|
||
|
import java.io.DataOutputStream;
|
||
|
|
||
|
import mekanism.api.Object3D;
|
||
|
import mekanism.common.ITileNetwork;
|
||
|
import mekanism.common.PacketHandler;
|
||
|
import net.minecraft.entity.player.EntityPlayer;
|
||
|
import net.minecraft.tileentity.TileEntity;
|
||
|
import net.minecraft.world.World;
|
||
|
|
||
|
import com.google.common.io.ByteArrayDataInput;
|
||
|
|
||
|
public class PacketTileEntity implements IMekanismPacket
|
||
|
{
|
||
|
public Object3D object3D;
|
||
|
|
||
|
public Object[] parameters;
|
||
|
|
||
|
public PacketTileEntity(Object3D obj, Object... params)
|
||
|
{
|
||
|
object3D = obj;
|
||
|
parameters = params;
|
||
|
}
|
||
|
|
||
|
public PacketTileEntity() {}
|
||
|
|
||
|
@Override
|
||
|
public String getName()
|
||
|
{
|
||
|
return "TileEntity";
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
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.getBlockTileEntity(x, y, z);
|
||
|
|
||
|
if(tileEntity instanceof ITileNetwork)
|
||
|
{
|
||
|
((ITileNetwork)tileEntity).handlePacketData(dataStream);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void write(DataOutputStream dataStream) throws Exception
|
||
|
{
|
||
|
dataStream.writeInt(object3D.xCoord);
|
||
|
dataStream.writeInt(object3D.yCoord);
|
||
|
dataStream.writeInt(object3D.zCoord);
|
||
|
|
||
|
PacketHandler.encode(parameters, dataStream, 0);
|
||
|
}
|
||
|
}
|