PocketMine-MP 5.44.4 git-bc94a0da0c87abe7eb99d229a9ec672b3c405d11
Loading...
Searching...
No Matches
RecordSound.php
1<?php
2
3/*
4 *
5 * ____ _ _ __ __ _ __ __ ____
6 * | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
7 * | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
8 * | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
9 * |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
10 *
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * @author PocketMine Team
17 * @link http://www.pocketmine.net/
18 *
19 *
20 */
21
22declare(strict_types=1);
23
24namespace pocketmine\world\sound;
25
26use pocketmine\block\utils\RecordType;
30
31class RecordSound implements Sound{
32 public function __construct(private RecordType $recordType){}
33
34 public function encode(Vector3 $pos) : array{
35 return [LevelSoundEventPacket::nonActorSound(match($this->recordType){
36 RecordType::DISK_13 => LevelSoundEvent::RECORD_13,
37 RecordType::DISK_5 => LevelSoundEvent::RECORD_5,
38 RecordType::DISK_CAT => LevelSoundEvent::RECORD_CAT,
39 RecordType::DISK_BLOCKS => LevelSoundEvent::RECORD_BLOCKS,
40 RecordType::DISK_CHIRP => LevelSoundEvent::RECORD_CHIRP,
41 RecordType::DISK_CREATOR => LevelSoundEvent::RECORD_CREATOR,
42 RecordType::DISK_CREATOR_MUSIC_BOX => LevelSoundEvent::RECORD_CREATOR_MUSIC_BOX,
43 RecordType::DISK_FAR => LevelSoundEvent::RECORD_FAR,
44 RecordType::DISK_LAVA_CHICKEN => LevelSoundEvent::RECORD_LAVA_CHICKEN,
45 RecordType::DISK_MALL => LevelSoundEvent::RECORD_MALL,
46 RecordType::DISK_MELLOHI => LevelSoundEvent::RECORD_MELLOHI,
47 RecordType::DISK_OTHERSIDE => LevelSoundEvent::RECORD_OTHERSIDE,
48 RecordType::DISK_PIGSTEP => LevelSoundEvent::RECORD_PIGSTEP,
49 RecordType::DISK_PRECIPICE => LevelSoundEvent::RECORD_PRECIPICE,
50 RecordType::DISK_RELIC => LevelSoundEvent::RECORD_RELIC,
51 RecordType::DISK_STAL => LevelSoundEvent::RECORD_STAL,
52 RecordType::DISK_STRAD => LevelSoundEvent::RECORD_STRAD,
53 RecordType::DISK_WARD => LevelSoundEvent::RECORD_WARD,
54 RecordType::DISK_11 => LevelSoundEvent::RECORD_11,
55 RecordType::DISK_WAIT => LevelSoundEvent::RECORD_WAIT
56 }, $pos, false)];
57 }
58}