public function onActivate(Item $item, Player $player = null) { $type = self::PIANO_OR_HARP; $side = $this->getSide(0); switch ($side->getID()) { case Block::STONE: case Block::COBBLESTONE: case Block::COBBLE_STAIRS: case Block::BEDROCK: case Block::GOLD_ORE: case Block::IRON_ORE: case Block::COAL_ORE: case Block::LAPIS_ORE: case Block::DIAMOND_ORE: case Block::REDSTONE_ORE: case Block::EMERALD_ORE: case Block::GLOWING_REDSTONE_ORE: case Block::FURNACE: case Block::BURNING_FURNACE: case Block::BRICKS: case Block::BRICK_STAIRS: case Block::STONE_BRICK: case Block::STONE_BRICK_STAIRS: case Block::NETHERRACK: case Block::COBBLE_WALL: case Block::STONECUTTER: case Block::MOSS_STONE: case Block::OBSIDIAN: case Block::SANDSTONE: case Block::END_STONE: case Block::MONSTER_SPAWNER: case Block::END_PORTAL_FRAME: case Block::QUARTZ_BLOCK: case Block::QUARTZ_STAIRS: case Block::NETHER_BRICKS: case Block::NETHER_BRICKS_STAIRS: case Block::ENCHANT_TABLE: case self::STONE_PRESSURE_PLATE: $type = self::BASS_DRUM; break; case Block::SAND: case Block::GRAVEL: case self::SOULSAND: $type = self::SNARE_DRUM; break; case Block::GLASS: case Block::GLASS_PANEL: case Block::GLOWSTONE: $type = self::CLICKS_AND_STICKS; break; case Block::WOOD: case Block::WOOD2: case Block::PLANK: case Block::SPRUCE_WOOD_STAIRS: case Block::BIRCH_WOOD_STAIRS: case Block::JUNGLE_WOOD_STAIRS: case Block::DOUBLE_WOOD_SLAB: case Block::ACACIA_WOOD_STAIRS: case Block::DARK_OAK_WOOD_STAIRS: case Block::WOOD_STAIRS: case Block::BOOKSHELF: case Block::CHEST: case Block::WORKBENCH: case Block::SIGN_POST: case Block::WALL_SIGN: case Block::WOOD_DOOR_BLOCK: case self::SPRUCE_WOODEN_DOOR_BLOCK: case self::BIRCH_WOODEN_DOOR_BLOCK: case self::JUNGLE_WOODEN_DOOR_BLOCK: case self::ACACIA_WOODEN_DOOR_BLOCK: case self::DARK_OAK_WOODEN_DOOR_BLOCK: case Block::TRAPDOOR: case Block::FENCE: case Block::FENCE_GATE: case Block::FENCE_GATE_SPRUCE: case Block::FENCE_GATE_BIRCH: case Block::FENCE_GATE_JUNGLE: case Block::FENCE_GATE_DARK_OAK: case Block::FENCE_GATE_ACACIA: case Block::WOOD_SLAB: case Block::BROWN_MUSHROOM: case Block::RED_MUSHROOM: case self::NOTEBLOCK: case self::WOODEN_PRESSURE_PLATE: case self::DAYLIHT_SENSOR: case self::INVERTED_DAYLIHT_SENSOR: $type = self::BASS_GUITAR; break; case Block::SLAB: case Block::DOUBLE_SLAB: if ($side->getDamage() == 2) { // Wooden Slab $type = self::BASS_GUITAR; } else { $type = self::BASS_DRUM; } break; } NoteBlock::runNoteBlockSound($this, $this->meta, $type); $this->meta = ($this->meta + 1) % 25; return true; }
public function sendSound($pitch, $type = NoteBlock::PIANO_OR_HARP) { foreach ($this->getServer()->getOnlinePlayers() as $player) { NoteBlock::runNoteBlockSound(new Position($player->x, $player->y + 1, $player->z, $player->level), $pitch, $type, $player); } }