package net.minecraft.tileentity;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.BlockPos;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class TileEntityNote extends TileEntity
{
/** Note to play */
public byte note;
/** stores the latest redstone state */
public boolean previousRedstoneState;
private static final String __OBFID = "CL_00000362";
public void writeToNBT(NBTTagCompound compound)
{
super.writeToNBT(compound);
compound.setByte("note", this.note);
}
public void readFromNBT(NBTTagCompound compound)
{
super.readFromNBT(compound);
this.note = compound.getByte("note");
this.note = (byte)MathHelper.clamp_int(this.note, 0, 24);
}
/**
* change pitch by -> (currentPitch + 1) % 25
*/
public void changePitch()
{
this.note = (byte)((this.note + 1) % 25);
this.markDirty();
}
public void func_175108_a(World worldIn, BlockPos p_175108_2_)
{
if (worldIn.getBlockState(p_175108_2_.offsetUp()).getBlock().getMaterial() == Material.air)
{
Material var3 = worldIn.getBlockState(p_175108_2_.offsetDown()).getBlock().getMaterial();
byte var4 = 0;
if (var3 == Material.rock)
{
var4 = 1;
}
if (var3 == Material.sand)
{
var4 = 2;
}
if (var3 == Material.glass)
{
var4 = 3;
}
if (var3 == Material.wood)
{
var4 = 4;
}
worldIn.addBlockEvent(p_175108_2_, Blocks.noteblock, var4, this.note);
}
}
}