【我的世界】一個適用于正式跑酷地圖的數(shù)據(jù)包
||?前言 ||
????????在制作《蜂巢跑酷》的時候,為了方便制作跑酷地圖所需的基本指令,我制作了一個適用于絕大多數(shù)跑酷地圖的數(shù)據(jù)包。該數(shù)據(jù)包和之前發(fā)布的Speedrunning Helper不同的是,它更適用于一張正式的跑酷地圖,例如它可以提供良好的多人聯(lián)機支持,并且一定程度上更加穩(wěn)定,而后者主要面向短程速通。
????????該數(shù)據(jù)包主要面向Java版本跑酷地圖作者,它的安裝和使用比Speedrunner Helper要略麻煩一些,但在一張正式的跑酷地圖中能得到比Speedrunner Helper更好的效果。

||?功能 ||
· 內(nèi)置計時器
????????數(shù)據(jù)包加載后即顯示在右側(cè)計分板處。練習模式下會顯示在物品欄上方。
????????在開始時和結(jié)束時自動開始計時和停止計時。
· 最佳紀錄(PB)
????????完成地圖時會比較玩家的完成時間,并記錄玩家最快的完成時間。
????????競賽模式下不會記錄玩家的完成時間。
????????包含指令:/trigger reset_pb(重置最佳紀錄)和 /trigger show_pb(顯示最佳紀錄)。
· 評級
????????完成地圖時根據(jù)玩家的完成時間給出5?到1?的評級
????????各評級的分界時間需要在數(shù)據(jù)包中設置(詳見下“使用說明”)
· 練習模式
????????提供便于練習速通的實用功能。
????????包含:可供玩家操作的計時器,切換飛行,保存當前位置,傳送到保存的位置。
????????練習模式下玩家在計分板中的名字會顯示為灰色,且無法觸發(fā)地圖完成的事件。
????????包含指令:/trigger training_mode(切換練習模式開啟/關(guān)閉)
· 競賽模式
????????多人游戲時可以由任意玩家創(chuàng)建競賽或加入已有的競賽。
????????創(chuàng)建競賽的玩家決定開始競賽、結(jié)束競賽、公布競賽結(jié)果。
????????競賽模式下加入競賽的玩家無法使用練習模式,無法使用/trigger lobby 和 /trigger restart,且不會被記錄最佳紀錄。
????????包含指令:/trigger new_race(創(chuàng)建競賽)和 /trigger join_race set [競賽ID](加入競賽,其中競賽ID會在玩家創(chuàng)建競賽時顯示)
· 存檔點
????????包含用于開始游戲的存檔點和一般的存檔點。(詳見“使用說明”)
· 快速重新開始的指令
????????用于快速返回大廳/重新開始。
????????包含指令:/trigger lobby(返回大廳) 和 /trigger restart(重新開始)
· 其他跑酷地圖基本功能
????(1)存檔點。
????(2)火焰保護。當玩家不在巖漿或火焰中又正在燃燒時會被給予火焰保護效果,以防止受到燃燒傷害。
????(3)耕地保護。玩家不會通過跳躍破壞耕地(小概率下有可能會破壞)。實現(xiàn)原理是在玩家接近耕地且下落速度大于某定值時給予短暫的緩降效果,并在落地后移除。因此玩家不會在耕地上受到摔落傷害。
????(4)在結(jié)束位置生成一個可供完成跑酷的玩家飛行的鞘翅。(詳見“使用說明”)
????(5)所有掉落物會被清除。
????(6)所有玩家會被給予無限時長的飽和效果。

||?使用說明?||
1.?將壓縮包解壓至目標存檔的datapacks文件夾下
2.?修改數(shù)據(jù)包中的一些參數(shù)。所有需要修改的內(nèi)容在數(shù)據(jù)包文件內(nèi)均有注解。
????(1) main/data/common/functions/race/processing.mcfunction中,第4行,第9行,第18行。
? ? (2)? main/data/common/functions/back_to_lobby.mcfunction中,第7行。
? ? (3)? main/data/common/functions/const.mcfunction中,第6~9行。此處的參數(shù)代表不同評級的最大時間,單位為tick,其中20 ticks = 1 second。
? ? (4)? main/data/common/functions/ingame/tick.mcfunction中第7行。此處用于設定結(jié)束時鞘翅的位置。
? ? (5)? main/data/common/functions/join.mcfunction中第1行。
? ? (6)?main/data/common/functions/trigger.mcfunction中第15行。
3.?輸入/reload,然后輸入/function common:init 創(chuàng)建計分板。
4.?設置其他內(nèi)容。
????(1)存檔點
????????在輕質(zhì)測重壓力板下方2格的位置放置一個循環(huán)命令方塊。如果是開始游戲的存檔點就輸入 /function?common:ingame/checkpoint/start_game/active,如果是一般的存檔點就輸入/function common:ingame/checkpoint/checkpoint/active。如果輕質(zhì)測重壓力板下方2格的位置被占用,請在一個循環(huán)命令方塊或數(shù)據(jù)包的循環(huán)執(zhí)行的函數(shù)文件中執(zhí)行目標指令,并通過execute positioned將執(zhí)行位置設置為輕質(zhì)測重壓力板下方2格的位置。
????(2)地圖完成判定
????????判定地圖完成的實質(zhì)是給予玩家一個“end”標簽,若玩家符合完成地圖的條件(例如未啟用練習模式)則會觸發(fā)地圖完成的時間。配合目標選擇器可以實現(xiàn)當玩家進入指定區(qū)域時完成地圖的效果。
????(3)其他地圖指令
????? ??地圖的自定義指令。建議使用數(shù)據(jù)包制作,并將所有函數(shù)文件放在./main/data/game/functions里,該目錄下的tick.mcfunctions文件被設定為每tick執(zhí)行一次,可以作為根循環(huán)函數(shù)文件使用。

||? 下載鏈接? ||
https://klue.lanzout.com/b03ekxd7g????密碼:7xf9
所有后續(xù)更新會將文件上傳至該鏈接處。

||? Bug反饋??||
????????自《蜂巢跑酷》以來,該數(shù)據(jù)包已經(jīng)過數(shù)張地圖和實際使用的打磨,通過多次修復已成為相對完善的跑酷地圖數(shù)據(jù)包,但不排除仍有潛在的問題。
????????如果你發(fā)現(xiàn)了該數(shù)據(jù)包的bug,例如多人聯(lián)機、練習模式、競賽功能等方面,請將bug反饋在這里或者私信告訴我,我會盡可能修復。