地圖建造記錄001丨Minecraft JE 競(jìng)技地圖更新日志2021.03-2021.05

本文是記錄自己建地圖的過(guò)程?用于幫助自己整理思路 也可能可以幫到正在學(xué)習(xí)的玩家
技術(shù)不足 僅供參考(簡(jiǎn)稱亂寫的)
封面欺詐 放的是我的上一代地圖
咕還是不咕,這是一個(gè)問(wèn)題。

2021-03-10
版本1.15.2 (2021.03.20改為1.16.4)
新建世界
超平坦預(yù)設(shè)選“虛空”

新建數(shù)據(jù)包(datapack)文件夾,規(guī)劃函數(shù)文件夾內(nèi)文件分類
新建用于重新加載游戲時(shí)設(shè)定計(jì)分板和隊(duì)伍的函數(shù)文件
寫設(shè)定計(jì)分板和隊(duì)伍的函數(shù)是由于以前網(wǎng)易總是吃計(jì)分板而不得已養(yǎng)成的習(xí)慣(悲)

寫入設(shè)定世界出生點(diǎn)、難度、游戲規(guī)則的指令(之后還需寫入重置計(jì)分板、隊(duì)伍等)
做法參考
setworldspawn(設(shè)置世界出生點(diǎn))
difficulty(設(shè)置游戲難度)
gamerule

時(shí)間設(shè)置與節(jié)日大廳有關(guān),所以先不寫入

2021-03-13
寫設(shè)定函數(shù)的子文件
先寫一些規(guī)劃中一定會(huì)用到的計(jì)分板
做法參考?
scoreboard objectives add <objective> <criteria> <displayName>
function(在為方便而拆分函數(shù)文件后寫入函數(shù)以嵌套)

規(guī)劃中,擊殺數(shù)和死亡數(shù)是只統(tǒng)計(jì)PVP的,要做成在PVP時(shí)才加分?jǐn)?shù),所以圖中先用dummy類型
寫重置判定是否擁有頭銜的計(jì)分板

還未確定要加入什么頭飾,所以判定是否擁有頭飾的計(jì)分板先不寫
玩家顆粒效果沒有專門寫判定是否有用的計(jì)分板是因?yàn)轭w粒效果解鎖是用VIP等級(jí)(而頭飾頭銜有時(shí)和抽獎(jiǎng)有關(guān)),所以顆粒只需要有判斷VIP等級(jí)的計(jì)分板就可以了
上圖中的particle、title等計(jì)分板是用于判斷玩家已經(jīng)選擇的裝扮,和是否擁有無(wú)關(guān)
你們可能發(fā)現(xiàn)了其中的不合理之處:為什么判斷是否擁有某物的這種只需要儲(chǔ)存0和1兩種狀態(tài)的情況要用計(jì)分板,而不是tag?2019年的時(shí)候我發(fā)現(xiàn)網(wǎng)易租賃服導(dǎo)入地圖,玩家的tag數(shù)據(jù)會(huì)消失。于是之后遇到這種情況就都使用計(jì)分板了(不排除現(xiàn)在網(wǎng)易修好了這個(gè)問(wèn)題的情況)。
寫設(shè)置玩家數(shù)據(jù)的函數(shù)
做法參考
scoreboard players set

設(shè)置玩家數(shù)據(jù)是這次PVP地圖(5代)首次加入的設(shè)定,用于保存貢獻(xiàn)值、議員頭銜、榜首頭銜等手動(dòng)設(shè)定的數(shù)據(jù),防止其丟失
寫重置隊(duì)伍
做法參考
team

扁平化后不需要用NBTExplorer改前后綴了,不需要每次丟計(jì)分板都改team,就很棒
做法參考
scoreboard?players set
scoreboard objectives setdisplay sidebar

顏色隊(duì)伍寫側(cè)邊欄會(huì)用到
想到之后還有用在游戲結(jié)束之后重置的函數(shù),所以把reset文件夾改名load_reset區(qū)分
寫load文件 在地圖加載時(shí)觸發(fā)指定函數(shù)

感覺公告計(jì)分板顯示名稱有點(diǎn)不太好看,于是從“- 公 告 -”改為“公 告”


2021-03-20
網(wǎng)易更1.16了,轉(zhuǎn)進(jìn)1.16.4

2021-03-21
寫顯示PVP職業(yè)介紹的函數(shù)
做法參考
tag(用于選中目標(biāo)便于下文選擇器書寫)
execute as與execute positioned as(用于配合playsound播放音效 可用execute at代替)
playsound
tellraw

修改了上一代PVP地圖的寫法,把原先跟在物品名稱后面的詳細(xì)信息改為鼠標(biāo)懸浮顯示
此處show_item包含的物品結(jié)構(gòu)中,Count:1b不可缺少,否則會(huì)被視為無(wú)效(MC_himcd提供指導(dǎo)意見)

提案將綠色文本改為白色,議員 MC_himcd 與 歲月灬陌 反對(duì),提案未通過(guò)
寫經(jīng)典模式職業(yè)神射手的職業(yè)介紹函數(shù)
在設(shè)定游戲規(guī)則的函數(shù)中加入gamerule?disableRaids?true以禁止襲擊

2021-03-27
隨便建了下大廳
做法參考(使用WorldEdit插件 詳見https://mineplugin.org/WorldEdit)
//hcyl <方塊樣式> <半徑> [高度](用于生成空心圓)
//copy
//rotate?<y角度>
//paste
//setbiome <目標(biāo)>
//setbiome -p <目標(biāo)>(用于微調(diào)生物群系)
time set <時(shí)間值:整數(shù)>
locatebiome <生物群系ID>(用于開另外世界尋找生物群系作為參考)


2021-03-27
建大廳三環(huán)


2021-04-03
建大廳二三環(huán)間四塊生物群系

議員冷酷如冰0發(fā)現(xiàn)專欄日期2021寫成了2020(離譜)

2021-04-04
建大廳二三環(huán)間剩下四塊生物群系


2021-04-05
建大廳三環(huán)和三四環(huán)間階梯

2021-04-10
建大廳剩余三個(gè)三四環(huán)間階梯
建大廳三四環(huán)間玄武巖三角洲與部分詭異森林
做法參考(使用WorldEdit插件 詳見https://mineplugin.org/WorldEdit)
//schematic(用于跨存檔復(fù)制 便于修改選區(qū)內(nèi)建筑)
//copy
//rotate?<y角度>
//set
//replace
//paste -a(黏貼時(shí)忽略空氣方塊 用于在復(fù)制外圈生物群系的情況下不破壞內(nèi)圈生物群系)
//paste -s(黏貼后再次選中?方便再次//schematic save)


2021-04-11
建完三四環(huán)間詭異森林

2021-04-17
建三四環(huán)間末地(不含生物群系修改)


2021-04-19
建三四環(huán)間生物群系緋紅森林

修改三四環(huán)間末地的生物群系


2021-04-20
建四環(huán)

2021-05-01
收到 編號(hào)2403千羽 QQ捐款¥10.00

2021-05-03
建大廳四環(huán)五環(huán)間地面 材質(zhì)未定先用羊毛后替換
編號(hào)2403千羽 與 MyEddie 參與

鋪地板用了偷懶的方法
做法參考
execute as @a[tag=1] at @s if entity @s[y=17,distance=1] if block ~ ~-1 ~ minecraft:air run setblock ~ ~-1 ~ minecraft:white_wool
“as”用于改變命令執(zhí)行者、“tag=1”用于限制僅指定玩家生效、“if entity @s[y=17,distance=1]”用于判斷玩家所在高度、“if block?~ ~-1 ~?minecraft:air”用于檢測(cè)指定玩家的指定相對(duì)位置是否為空氣
(實(shí)際操作中我寫了9條命令達(dá)到一次替換周圍一圈地面的效果,即為修改if block后與setblock后相對(duì)坐標(biāo))

修復(fù)隊(duì)伍重置函數(shù)子函數(shù)執(zhí)行命令路徑錯(cuò)誤的漏洞

2021-05-05
建查看分?jǐn)?shù)排行/查看個(gè)人分?jǐn)?shù)區(qū)域建筑
做法參考
/give @s minecraft:debug_stick
/setblock ~ ~ ~ minecraft:stone_button[face=floor]

使用調(diào)試棒修改了部分方塊(左鍵改變所要修改的方塊數(shù)據(jù)值,右鍵修改所選數(shù)據(jù)值)

2021-05-10
擴(kuò)張議員范圍以求得到建筑建議(原12人現(xiàn)18人) 但是實(shí)際好像完全沒有用處
初步建選擇PVP職業(yè)狂戰(zhàn)士區(qū)域建筑
做法參考
/summon minecraft:armor_stand ~ ~ ~ {Invulnerable:true,ShowArms:true,Pose:{RightArm:[0f,0f,0f]},NoGravity:true}(生成用于做出擺放物品效果的盔甲架)
/data?merge entity @e[limit=1,sort=nearest,type=minecraft:armor_stand]?{Pose:{RightArm:[0f,0f,0f]}}(修改盔甲架姿勢(shì))
/execute as @e[limit=1,sort=nearest,type=minecraft:armor_stand] at @s run tp @s ~ ~ ~(微調(diào)盔甲架位置)
/data merge entity @e[limit=1,sort=nearest,type=minecraft:armor_stand] {Invisible:true,DisabledSlots:16191,Marker:true}(結(jié)束修改 隱藏盔甲架 禁止物品交互 縮小碰撞體積)
/data merge entity @e[limit=1,sort=nearest,type=minecraft:painting] {Invulnerable:true}(設(shè)定畫無(wú)法破壞)
/data merge block ~ ~-1 ~ {Lock:"key"}?(鎖箱子、熔爐等)


初步規(guī)劃循環(huán)函數(shù)

循環(huán)重置花盆 用于玩家取走花盆內(nèi)植物的情況


2021-05-14
在狂戰(zhàn)士選擇區(qū)域增加藥水裝飾


2021-05-15
在狂戰(zhàn)士選擇區(qū)域增加藥水裝飾
將主循環(huán)函數(shù)寫入tick文件

將重置花盆命令移動(dòng)至main>repeat>set_data>main
將側(cè)邊欄計(jì)分板由sidebarSwitch改為sidebar
刪除了load_reset/main中重置情況list計(jì)分板顯示命令
在load_reset/main中加入設(shè)置側(cè)邊欄修改分?jǐn)?shù)命令

在load_reset/main中加入創(chuàng)建與村民交互檢測(cè)計(jì)分板命令(未用于修改計(jì)分板)

將hall/sidebar路徑名稱改為hall/retrieval
冷酷如冰0?修改選擇職業(yè)狂戰(zhàn)士區(qū)域?Runwill(我)?參與


寫側(cè)邊欄切換命令

檢測(cè)側(cè)邊欄切換觸發(fā)與重置村民交互計(jì)數(shù)





寫有關(guān)疾跑時(shí)退出計(jì)分板查看的命令



取消了原右鍵講臺(tái)查看自己分?jǐn)?shù)的計(jì)劃
生成查看計(jì)分板區(qū)域浮空字
做法參考
/summon minecraft:armor_stand ~ ~2 ~ {CustomName:'[{"text":"","color":""}]',CustomNameVisible:true,Invulnerable:true,Invisible:true,DisabledSlots:16191,Marker:true,NoGravity:true}
冷酷如冰0?建選擇經(jīng)典職業(yè)對(duì)戰(zhàn)模式 Runwill(我) 修改

冷酷如冰0 建選擇職業(yè)神射手區(qū)域 Runwill(我)參與



2021-05-16
增加選擇經(jīng)典職業(yè)對(duì)戰(zhàn)模式區(qū)域周圍的草、樹葉
在load_reset/objectives/main中加入創(chuàng)建藥水效果判定計(jì)分板命令

寫重置加入游戲玩家命令

寫循環(huán)給予玩家藥水效果命令

將給予藥水效果與重置加入游戲?qū)懭胙h(huán)


2021-05-22
將選擇經(jīng)典PVP模式區(qū)域旗幟下磨制黑石改為黑曜石
增加選擇職業(yè)區(qū)域的草
將effect移至repeat/testfor目錄下
修復(fù)重置玩家時(shí)重置退出游戲記錄分?jǐn)?shù)導(dǎo)致無(wú)法區(qū)分未加入過(guò)游戲玩家的漏洞

添加虛弱作為大廳藥水效果

冷酷如冰0 開始建造經(jīng)典PVP模式等待區(qū)域
MC_himcd 提供了內(nèi)網(wǎng)映射方法(uTools內(nèi)網(wǎng)穿透插件)
編號(hào)2403千羽 提供了顯示離線皮膚模組
得到了1.16.4forge服務(wù)端與客戶端(鏈接見下方)
Minecraft我的世界1.16.4Forge服務(wù)端整合?作者:?肆零肆E?

2021-05-23
添加飽和作為大廳藥水效果

將重置游戲時(shí)設(shè)定doDaylightCycle為false改為true
重置游戲時(shí)生成儲(chǔ)存標(biāo)簽用盔甲架

寫加入經(jīng)典對(duì)戰(zhàn)模式函數(shù)



增加經(jīng)典對(duì)戰(zhàn)模式加入?yún)^(qū)域浮空字

增加加入經(jīng)典對(duì)戰(zhàn)等待后文本顯示

修改加入游戲顯示文本與播放音效選擇器(規(guī)劃joinedStatus為負(fù)數(shù)表示在游戲中 不接受加入游戲音效與文本)

增加群?jiǎn)T大廳道具羽毛(手持+40%速度 下圖第13行 選擇器錯(cuò)誤 未判斷是否為群?jiǎn)T 2021.05.29更新中修復(fù))
分離回到大廳函數(shù)(節(jié)省語(yǔ)句)


寫退出經(jīng)典對(duì)戰(zhàn)等待函數(shù)

將退出經(jīng)典對(duì)戰(zhàn)等待函數(shù)寫入循環(huán)(因建筑未完成暫未設(shè)置觸發(fā)方式)

2021-05-26
更改players/choose_mode為players/enter_waiting_hall
更改players/exit_waithall改為players/exit_waiting_hall
更改對(duì)應(yīng)函數(shù)名稱
在加入經(jīng)典對(duì)戰(zhàn)模式中增加檢測(cè)人數(shù)足夠則觸發(fā)開始游戲倒計(jì)時(shí)命令

新建mode/start_game_countdown路徑

2021-05-29
修復(fù)了給予群?jiǎn)T大廳道具選擇器錯(cuò)誤的漏洞

寫開始經(jīng)典對(duì)戰(zhàn)開始游戲倒計(jì)時(shí)

修改增加檢測(cè)人數(shù)足夠則觸發(fā)開始游戲倒計(jì)時(shí)命令

將所有使用operationNumber的命令改為使用matches(hall/retrieval、players/enter_waiting_hall)
刪除了創(chuàng)建operationNumber計(jì)分板的命令
寫經(jīng)典對(duì)戰(zhàn)開始游戲倒計(jì)時(shí)



冷酷如冰0?Runwill(我)?繼續(xù)建造經(jīng)典對(duì)戰(zhàn)等待區(qū)域?binyuanqishi?參與

初步寫經(jīng)典對(duì)戰(zhàn)開始游戲倒計(jì)時(shí)結(jié)束命令
修改進(jìn)入經(jīng)典對(duì)戰(zhàn)等待區(qū)域傳送坐標(biāo)
寫經(jīng)典對(duì)戰(zhàn)人數(shù)不足停止倒計(jì)時(shí)命令并加入循環(huán)


2021-05-30
建造經(jīng)典對(duì)戰(zhàn)選擇地圖區(qū)域

2021-05-31
添加選擇職業(yè)區(qū)域的屏障
添加經(jīng)典對(duì)戰(zhàn)選擇地圖區(qū)域的草徑


本篇完達(dá)到專欄100圖片上限了- -;
特別鳴謝
指令顧問(wèn)
MC_himcdMC_himcd
technomuto
參與建筑
冷酷如冰0冷酷如冰0
分享映射軟件
MC_himcdMC_himcd