package sourcecoded.quantum.network;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.Minecraft;
public class MessageVanillaParticle implements IMessage, IMessageHandler<MessageVanillaParticle, IMessage> {
String name;
double x, y, z, velX, velY, velZ;
int amount;
public MessageVanillaParticle() {}
public MessageVanillaParticle(String name, double x, double y, double z, double velX, double velY, double velZ, int amount) {
this.name = name;
this.x = x;
this.y = y;
this.z = z;
this.velX = velX;
this.velY = velY;
this.velZ = velZ;
this.amount = amount;
}
@Override
public void fromBytes(ByteBuf buf) {
name = ByteBufUtils.readUTF8String(buf);
x = buf.readDouble();
y = buf.readDouble();
z = buf.readDouble();
velX = buf.readDouble();
velY = buf.readDouble();
velZ = buf.readDouble();
amount = buf.readInt();
}
@Override
public void toBytes(ByteBuf buf) {
ByteBufUtils.writeUTF8String(buf, name);
buf.writeDouble(x);
buf.writeDouble(y);
buf.writeDouble(z);
buf.writeDouble(velX);
buf.writeDouble(velY);
buf.writeDouble(velZ);
buf.writeInt(amount);
}
@Override
public IMessage onMessage(MessageVanillaParticle message, MessageContext ctx) {
for (int i = 0; i < message.amount; i++)
Minecraft.getMinecraft().theWorld.spawnParticle(message.name, message.x, message.y, message.z, message.velX, message.velY, message.velZ);
return null;
}
}