69 lines
1.7 KiB
Java
69 lines
1.7 KiB
Java
package net.minecraft.tileentity;
|
|
|
|
import net.minecraft.block.BlockBed;
|
|
import net.minecraft.init.Items;
|
|
import net.minecraft.item.EnumDyeColor;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.nbt.NBTTagCompound;
|
|
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
|
|
import net.minecraftforge.fml.relauncher.Side;
|
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
|
|
|
public class TileEntityBed extends TileEntity
|
|
{
|
|
private EnumDyeColor color = EnumDyeColor.RED;
|
|
|
|
public void setItemValues(ItemStack p_193051_1_)
|
|
{
|
|
this.setColor(EnumDyeColor.byMetadata(p_193051_1_.getMetadata()));
|
|
}
|
|
|
|
public void readFromNBT(NBTTagCompound compound)
|
|
{
|
|
super.readFromNBT(compound);
|
|
|
|
if (compound.hasKey("color"))
|
|
{
|
|
this.color = EnumDyeColor.byMetadata(compound.getInteger("color"));
|
|
}
|
|
}
|
|
|
|
public NBTTagCompound writeToNBT(NBTTagCompound compound)
|
|
{
|
|
super.writeToNBT(compound);
|
|
compound.setInteger("color", this.color.getMetadata());
|
|
return compound;
|
|
}
|
|
|
|
public NBTTagCompound getUpdateTag()
|
|
{
|
|
return this.writeToNBT(new NBTTagCompound());
|
|
}
|
|
|
|
public SPacketUpdateTileEntity getUpdatePacket()
|
|
{
|
|
return new SPacketUpdateTileEntity(this.pos, 11, this.getUpdateTag());
|
|
}
|
|
|
|
public EnumDyeColor getColor()
|
|
{
|
|
return this.color;
|
|
}
|
|
|
|
public void setColor(EnumDyeColor color)
|
|
{
|
|
this.color = color;
|
|
this.markDirty();
|
|
}
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public boolean isHeadPiece()
|
|
{
|
|
return BlockBed.isHeadPiece(this.getBlockMetadata());
|
|
}
|
|
|
|
public ItemStack getItemStack()
|
|
{
|
|
return new ItemStack(Items.BED, 1, this.color.getMetadata());
|
|
}
|
|
} |