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