22declare(strict_types=1);
24namespace pocketmine\block\utils;
29use pocketmine\utils\LegacyEnumShimTrait;
30use
function spl_object_id;
55 use LegacyEnumShimTrait;
76 private function getMetadata() : array{
80 return $cache[spl_object_id($this)] ??= match($this){
81 self::DISK_13 => [
"C418 - 13", LevelSoundEvent::RECORD_13, KnownTranslationFactory::item_record_13_desc()],
82 self::DISK_5 => [
"Samuel Ã…berg - 5", LevelSoundEvent::RECORD_5, KnownTranslationFactory::item_record_5_desc()],
83 self::DISK_CAT => [
"C418 - cat", LevelSoundEvent::RECORD_CAT, KnownTranslationFactory::item_record_cat_desc()],
84 self::DISK_BLOCKS => [
"C418 - blocks", LevelSoundEvent::RECORD_BLOCKS, KnownTranslationFactory::item_record_blocks_desc()],
85 self::DISK_CHIRP => [
"C418 - chirp", LevelSoundEvent::RECORD_CHIRP, KnownTranslationFactory::item_record_chirp_desc()],
86 self::DISK_FAR => [
"C418 - far", LevelSoundEvent::RECORD_FAR, KnownTranslationFactory::item_record_far_desc()],
87 self::DISK_MALL => [
"C418 - mall", LevelSoundEvent::RECORD_MALL, KnownTranslationFactory::item_record_mall_desc()],
88 self::DISK_MELLOHI => [
"C418 - mellohi", LevelSoundEvent::RECORD_MELLOHI, KnownTranslationFactory::item_record_mellohi_desc()],
89 self::DISK_OTHERSIDE => [
"Lena Raine - otherside", LevelSoundEvent::RECORD_OTHERSIDE, KnownTranslationFactory::item_record_otherside_desc()],
90 self::DISK_PIGSTEP => [
"Lena Raine - Pigstep", LevelSoundEvent::RECORD_PIGSTEP, KnownTranslationFactory::item_record_pigstep_desc()],
91 self::DISK_STAL => [
"C418 - stal", LevelSoundEvent::RECORD_STAL, KnownTranslationFactory::item_record_stal_desc()],
92 self::DISK_STRAD => [
"C418 - strad", LevelSoundEvent::RECORD_STRAD, KnownTranslationFactory::item_record_strad_desc()],
93 self::DISK_WARD => [
"C418 - ward", LevelSoundEvent::RECORD_WARD, KnownTranslationFactory::item_record_ward_desc()],
94 self::DISK_11 => [
"C418 - 11", LevelSoundEvent::RECORD_11, KnownTranslationFactory::item_record_11_desc()],
95 self::DISK_WAIT => [
"C418 - wait", LevelSoundEvent::RECORD_WAIT, KnownTranslationFactory::item_record_wait_desc()]
99 public function getSoundName() : string{
100 return $this->getMetadata()[0];
103 public function getSoundId() : int{
104 return $this->getMetadata()[1];
107 public function getTranslatableName() : Translatable{
108 return $this->getMetadata()[2];