package zmaster587.advancedRocketry.network;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.Vec3;
import zmaster587.advancedRocketry.AdvancedRocketry;
import zmaster587.libVulpes.network.BasePacket;
import zmaster587.libVulpes.util.Vector3F;
public class PacketLaserGun extends BasePacket {
Entity fromEntity;
Vec3 toPos;
int entityId;
public PacketLaserGun(Entity fireFrom, Vec3 toPos) {
this.fromEntity = fireFrom;
this.toPos = toPos;
}
public PacketLaserGun() {
}
@Override
public void write(ByteBuf out) {
out.writeInt(fromEntity.getEntityId());
out.writeFloat((float)(double)toPos.xCoord);
out.writeFloat((float)(double)toPos.yCoord);
out.writeFloat((float)(double)toPos.zCoord);
}
@Override
public void readClient(ByteBuf in) {
entityId = in.readInt();
toPos = Vec3.createVectorHelper((double)in.readFloat(), (double)in.readFloat(), (double)in.readFloat());
}
@Override
public void read(ByteBuf in) {
}
@Override
public void executeClient(EntityPlayer thePlayer) {
Entity entity = thePlayer.worldObj.getEntityByID(entityId);
if(entity != null) {
AdvancedRocketry.proxy.spawnLaser(entity, toPos);
}
}
@Override
public void executeServer(EntityPlayerMP player) {
}
}