Пример #1
0
 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);
     }
 }