Package pneumaticCraft.common.network

Source Code of pneumaticCraft.common.network.PacketSpawnRing

package pneumaticCraft.common.network;

import io.netty.buffer.ByteBuf;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import pneumaticCraft.common.entity.EntityRing;

public class PacketSpawnRing extends LocationDoublePacket<PacketSpawnRing>{

    private int[] colors;
    private int targetEntityId;

    public PacketSpawnRing(){}

    public PacketSpawnRing(double x, double y, double z, Entity targetEntity, int... colors){
        super(x, y, z);
        targetEntityId = targetEntity.getEntityId();
        this.colors = colors;
    }

    @Override
    public void toBytes(ByteBuf buffer){
        super.toBytes(buffer);
        buffer.writeInt(targetEntityId);
        buffer.writeInt(colors.length);
        for(int i : colors) {
            buffer.writeInt(i);
        }
    }

    @Override
    public void fromBytes(ByteBuf buffer){
        super.fromBytes(buffer);
        targetEntityId = buffer.readInt();
        colors = new int[buffer.readInt()];
        for(int i = 0; i < colors.length; i++) {
            colors[i] = buffer.readInt();
        }
    }

    @Override
    public void handleClientSide(PacketSpawnRing message, EntityPlayer player){
        Entity entity = player.worldObj.getEntityByID(message.targetEntityId);
        if(entity != null) {
            for(int color : message.colors) {
                player.worldObj.spawnEntityInWorld(new EntityRing(player.worldObj, message.x, message.y, message.z, entity, color));
            }
        }
    }

    @Override
    public void handleServerSide(PacketSpawnRing message, EntityPlayer player){}

}
TOP

Related Classes of pneumaticCraft.common.network.PacketSpawnRing

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.