/** Called when the block is clicked by a player. Args: x, y, z, entityPlayer */ public void onBlockClicked( World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer) { if (!par1World.isRemote) { TileEntityNote tileentitynote = (TileEntityNote) par1World.getBlockTileEntity(par2, par3, par4); if (tileentitynote != null) { tileentitynote.triggerNote(par1World, par2, par3, par4); } } }
/** * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed * (coordinates passed are their own) Args: x, y, z, neighbor blockID */ public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { boolean flag = par1World.isBlockIndirectlyGettingPowered(par2, par3, par4); TileEntityNote tileentitynote = (TileEntityNote) par1World.getBlockTileEntity(par2, par3, par4); if (tileentitynote != null && tileentitynote.previousRedstoneState != flag) { if (flag) { tileentitynote.triggerNote(par1World, par2, par3, par4); } tileentitynote.previousRedstoneState = flag; } }
/** Called upon block activation (right click on the block.) */ public boolean onBlockActivated( World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) { if (par1World.isRemote) { return true; } else { TileEntityNote tileentitynote = (TileEntityNote) par1World.getBlockTileEntity(par2, par3, par4); if (tileentitynote != null) { tileentitynote.changePitch(); tileentitynote.triggerNote(par1World, par2, par3, par4); } return true; } }