Package mods.railcraft.common.util.network

Source Code of mods.railcraft.common.util.network.PacketGuiWidget

/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.util.network;

import cpw.mods.fml.client.FMLClientHandler;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import mods.railcraft.common.gui.containers.RailcraftContainer;
import net.minecraft.client.entity.EntityClientPlayerMP;

public class PacketGuiWidget extends RailcraftPacket {

    private byte windowId, widgetId;
    private byte[] payload;

    public PacketGuiWidget() {
        super();
    }

    public PacketGuiWidget(int windowId, int widgetId, byte[] data) {
        this.windowId = (byte) windowId;
        this.widgetId = (byte) widgetId;
        this.payload = data;
    }

    @Override
    public void writeData(DataOutputStream data) throws IOException {
        data.writeByte(windowId);
        data.writeByte(widgetId);
        data.write(payload);
    }

    @Override
    public void readData(DataInputStream data) throws IOException {
        windowId = data.readByte();
        widgetId = data.readByte();

        EntityClientPlayerMP player = FMLClientHandler.instance().getClient().thePlayer;

        if (player.openContainer instanceof RailcraftContainer && player.openContainer.windowId == windowId)
            ((RailcraftContainer) player.openContainer).handleWidgetClientData(widgetId, data);
    }

    @Override
    public int getID() {
        return PacketType.GUI_WIDGET.ordinal();
    }

}
TOP

Related Classes of mods.railcraft.common.util.network.PacketGuiWidget

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.