buildcraftAdditions.networking.MessagePipeColoringTool.java Source code

Java tutorial

Introduction

Here is the source code for buildcraftAdditions.networking.MessagePipeColoringTool.java

Source

package buildcraftAdditions.networking;

import io.netty.buffer.ByteBuf;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;

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 buildcraftAdditions.items.Tools.ItemPipeColoringTool;

/**
 * Copyright (c) 2014-2015, AEnterprise
 * http://buildcraftadditions.wordpress.com/
 * Buildcraft Additions is distributed under the terms of GNU GPL v3.0
 * Please check the contents of the license located in
 * http://buildcraftadditions.wordpress.com/wiki/licensing-stuff/
 */
public class MessagePipeColoringTool implements IMessage, IMessageHandler<MessagePipeColoringTool, IMessage> {

    public byte color;
    public boolean sortMode;

    public MessagePipeColoringTool() {

    }

    public MessagePipeColoringTool(byte color, boolean sortMode) {
        this.color = color;
        this.sortMode = sortMode;
    }

    @Override
    public void fromBytes(ByteBuf buf) {
        color = buf.readByte();
        sortMode = buf.readBoolean();
    }

    @Override
    public void toBytes(ByteBuf buf) {
        buf.writeByte(color);
        buf.writeBoolean(sortMode);
    }

    @Override
    public IMessage onMessage(MessagePipeColoringTool message, MessageContext ctx) {
        EntityPlayer player = ctx.getServerHandler().playerEntity;

        if (player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ItemPipeColoringTool) {
            ItemStack stack = player.getHeldItem();
            if (message.color >= 0 && message.color <= 15)
                stack.setItemDamage(message.color);
            if (!stack.hasTagCompound())
                stack.stackTagCompound = new NBTTagCompound();
            stack.getTagCompound().setBoolean("SortMode", message.sortMode);
        }

        return null;
    }
}