第八十六章 music-音樂
?。ū菊轮貙憰r作者使用的是Minecraft Windows10基巖版1.19.10版本)
?。ū菊鹿?jié)有許多內(nèi)容由作者自己實驗或?qū)ふ业贸?,在Minecraft Wiki上可能并未記載,或是與Minecraft Wiki上的記載有些許出入。如遇問題,請以Minecraft Wiki上的內(nèi)容為準。——2022/7/23 作者注)
我們在第六十三章中,講到了一條控制聲音的指令:/playsound。但在基巖版,還有一條和/playsound很類似的指令,這條指令同樣也是用來控制聲音,只不過具體點說,是控制音樂。這條指令就是:
/music
作用:控制音樂
存在版本:基巖版1.16.100-今
需要權(quán)限等級:基巖版-1
需要作弊:是
格式:
/music play <音樂名稱>[音量][淡入淡出時間:秒][播放模式]
\\播放指定的音樂\\
/music queue <音樂名稱>[音量][淡入淡出時間:秒][播放模式]
\\將指定音樂加入到待播放列表中\(zhòng)\
/music stop [音樂淡出時間:秒]
\\停止播放音樂\\
/music volume <音量>
\\調(diào)整播放音量\\
和/playsound不一樣的是,指令/music僅僅只能控制執(zhí)行者自己的游戲背景音樂。又因為同一時間內(nèi)又不能播放多首游戲背景音樂,所以/music雖然作用和/playsound很像,但兩者的格式卻大不一樣,深層次的效果也不一樣。
Minecraft基巖版的游戲背景音樂播放器簡直就像是一個音樂軟件,擁有『當前正在播放的歌曲』和『播放清單』,你可以指定播放的『音量』大小,還能夠設(shè)置播放的模式是『順序播放』還是『單曲循環(huán)』模式等等。只不過,『Minecraft音樂』這款軟件的控制方法和其他音樂軟件大不一樣,你需要使用Minecraft內(nèi)置的『命令行』應(yīng)用——指令——來控制這款軟件。
先讓我們停止一下游戲自動給我們“推送”的音樂:
/music stop
這將會停止執(zhí)行者自己,也就是我們自己的Minecraft正在播放的背景音樂,并清除『播放清單』內(nèi)的所有音樂。然后我們就可以嘗試讓游戲播放一些指定的歌曲。
問題來了:怎么知道我們可以播放什么音樂呢?
這時候我們就需要請出那個大名鼎鼎的文件:sound_definitions.json
還記得這個文件嗎?我們在第六十三章中,起碼花費了超過四分之一的篇幅來講解如何找到這個文件,相信你應(yīng)該還記得吧?讓我們重新把那個文件找出來,或者上Minecraft Wiki查找也行。
使用文本編輯器打開這個文件(當然如果裝了一些諸如VS Code的軟件更好),你就會再一次看到一大堆的你大概率看不懂的東西。別擔心,對于/music指令來說,這里大多數(shù)都是廢話。/music指令能播放的音樂只認兩種:
?、俾曇裘Q開頭為『music.』的
②聲音名稱開頭為『record.』的
使用Ctrl+F或Command?+F開啟查找模式,搜索『music.』或『record.』,你應(yīng)該能夠找到一些結(jié)果,比如『music.menu』(游戲主界面音樂)或『record.cat』(唱片C418 - cat的音樂)。這些音樂就是可以被/music所播放的音樂。讓我們來試一試:
/music play music.game.nether
這將會先停止當前播放的音樂并清除『播放清單』內(nèi)的所有音樂,然后再播放下界的背景音樂。只不過由于『music.game.nether』這個音樂名稱指定了多個音樂,所以游戲會從中隨機播放一首。不出意外的話,你應(yīng)該會聽到一些很小聲的不同的音樂,這就是下界的背景音樂。
現(xiàn)在,游戲的『播放清單』只有一首我們剛剛添加進去的音樂,讓我們再添加一首:
/music queue music.game.swamp_music
這可能是沼澤生物群系的音樂。如果你對MC音樂比較熟的話可以仔細聽一聽,看看這到底放的是什么音樂。這個音樂并不在sound_definitions.json這個文件內(nèi),而是在它旁邊的music_definitions.json這個文件內(nèi)(你應(yīng)該有看到這個文件)。
music_definitions.json這個文件可能是用于指定生物群系的特定背景音樂,比如你來到森林就播放森林的音樂,來到沼澤就播放沼澤的音樂......但有一點可以肯定的是,/music也可以播放該文件中event_name字段所指定的聲音名稱。
總之,上面這條指令將會把這個音樂添加到游戲的『播放清單』當中,等到下界的音樂播放完,游戲就會自動繼續(xù)播放沼澤生物群系的音樂,直到把『播放清單』內(nèi)所有音樂播放完,游戲才會重新切回默認的背景音樂。
我們還可以添加一些參數(shù)來指定音樂的音量和淡入淡出時間。
『音樂』參數(shù)的值是一個介于0.0~1.0(含)的浮點數(shù),舉個例子:
/music play record.blocks 1.0
這將會以1.0(100%)的音量播放C418 - blocks這個唱片的音樂。當然,這條指令同樣也會切斷當前正在播放的音樂,并清空『播放清單』。
『淡入淡出時間』和『音樂淡出時間』兩個參數(shù)其實都是一樣的,其值是一個介于0~10(含)的整數(shù),單位為秒。舉個例子:
/music play record.wait 1.0 10
這將會以最大的音量播放C418 - wait這個唱片的音樂,并且游戲會在音樂開始播放前以及結(jié)束播放后空出10秒時間不播放任何音樂以實現(xiàn)『淡入淡出』的效果。
(PS:當你使用/music播放record.開頭的音樂時,其實就相當于使用/playsound在指令執(zhí)行地點向你自己播放了個一樣的音樂,因此你跑遠的話照樣會聽不到音樂)
最后,『播放模式』可以指定兩個模式,即:
play_once ——只播放一次,即『順序播放』,這是默認模式
loop ——洗腦循環(huán)模式,即『單曲循環(huán)』
舉個例子:
/music queue record.mall 1.0 0 loop
這將會在『播放清單』上添加C418 - mall唱片的音樂,游戲順序播放到這個音樂時就會不斷重復播放這個音樂,直到你使用stop子命令停止播放或者退出游戲。
最后,讓我們來嘗試改變一下當前正在播放的背景音樂的音量:
/music volume 0.5
這將會把當前正在播放的背景音樂的音量調(diào)整到50%。
本章到此為止。
——附表①:/music可用的聲音清單(作者自己整理,可能不全)
唱片音樂
record.13
record.cat
record.blocks
record.chirp
record.far
record.mall
record.mellohi
record.stal
record.strad
record.ward
record.11
record.wait
record.5*
record.pigstep*
record.otherside*
生物群系音樂
music.game.deep_dark
music.game.swamp_music
music.game_and_wild_equal_chance
music.game_and_wild_favor_game
music.game.lush_caves*
music.game.dripstone_caves*
music.game.grove*
music.game.jagged_peaks*
music.game.lush_caves*
music.game.meadow*
music.game.frozen_peaks*
music.game.snowy_slopes*
music.game.stony_peaks*
music.game.basalt_deltas*
music.game.nether_wastes*
music.game.soul_sand_valley*
music.game.warped_forest*
music.game.soulsand_valley*
music.game.crimson_forest*
普通背景音樂
music.menu
music.game
music.game.creative
music.game.water
music.game.end
music.game.endboss
music.game.nether
music.game.credits
?。≒S:其中標上星號『*』的音樂代表著這個音樂并不是從vanilla目錄下找到的,而是從各版本的vanilla目錄下找到的)
——附表②:/music歷史
基巖版
1.16.100——加入了/music