Package tconstruct.util.network

Source Code of tconstruct.util.network.SignDataPacket

package tconstruct.util.network;

import cpw.mods.fml.common.network.ByteBufUtils;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import mantle.common.network.AbstractPacket;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import tconstruct.TConstruct;
import tconstruct.tools.logic.BattlesignLogic;

public class SignDataPacket extends AbstractPacket
{
    private int dimension, x, y, z, length;
    private String[] text;

    public SignDataPacket()
    {
    }

    public SignDataPacket(int dimension, int x, int y, int z, String[] text)
    {
        this.text = text;
        this.dimension = dimension;
        this.x = x;
        this.y = y;
        this.z = z;
        this.length = text.length;
    }

    @Override
    public void encodeInto (ChannelHandlerContext ctx, ByteBuf buffer)
    {
        buffer.writeInt(dimension);
        buffer.writeInt(x);
        buffer.writeInt(y);
        buffer.writeInt(z);
        buffer.writeInt(length);
        for (int i = 0; i < length; i++)
        {
            ByteBufUtils.writeUTF8String(buffer, text[i]);
        }
    }

    @Override
    public void decodeInto (ChannelHandlerContext ctx, ByteBuf buffer)
    {
        dimension = buffer.readInt();
        x = buffer.readInt();
        y = buffer.readInt();
        z = buffer.readInt();
        length = buffer.readInt();
        text = new String[length];
        for (int i = 0; i < length; i++)
        {
            text[i] = ByteBufUtils.readUTF8String(buffer);
        }
    }

    @Override
    public void handleClientSide (EntityPlayer player)
    {
        TileEntity te = player.worldObj.getTileEntity(x, y, z);

        if (te != null && te instanceof BattlesignLogic)
        {
            BattlesignLogic logic = (BattlesignLogic) te;

            logic.setText(text);
        }
    }

    @Override
    public void handleServerSide (EntityPlayer player)
    {
        TileEntity te = player.worldObj.getTileEntity(x, y, z);

        if (te != null && te instanceof BattlesignLogic)
        {
            BattlesignLogic logic = (BattlesignLogic) te;

            logic.setText(text);
        }

        TConstruct.packetPipeline.sendToDimension(new SignDataPacket(dimension, x, y, z, text), dimension);
    }
}
TOP

Related Classes of tconstruct.util.network.SignDataPacket

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.