關(guān)于將洛奇的地下城系統(tǒng)在minecraft中實(shí)現(xiàn)的相關(guān)數(shù)據(jù)包流程(粗略)


上圖為我所構(gòu)想的洛奇地牢,其中每個(gè)方形房間都支持minecraft拼圖方塊,因此可以實(shí)現(xiàn)在有限范圍內(nèi)地牢的自動(dòng)多樣化。接下來(lái)我將根據(jù)不同的房間編號(hào)來(lái)依次介紹可能的構(gòu)筑方式:
一、基礎(chǔ)設(shè)定:
1)房間中心處(藍(lán)色、暗紅色、橙色等)為房間總控,用途是檢測(cè)玩家是否完整進(jìn)入該房間以及啟動(dòng)房間機(jī)制
2)地牢房間進(jìn)入后門(mén)自動(dòng)上鎖,玩家死亡會(huì)回到初始房間(前提是玩家必須在初始房間綁定復(fù)活點(diǎn),復(fù)活次數(shù)可以固定),而在房間內(nèi)的玩家將無(wú)法自足從房間中出來(lái),即單向通行機(jī)制——上圖中的黃色跟橙色方塊為可自行切換關(guān)閉/開(kāi)啟的門(mén),同時(shí)橙色方塊為boss門(mén),可以設(shè)定玩家使用特定道具(鑰匙等)來(lái)開(kāi)啟
二、單向通行機(jī)制
#房間門(mén)機(jī)制——檢測(cè)盔甲架(朝向房間外)【房間門(mén)為一格厚】
#玩家設(shè)置檢測(cè)盔甲架時(shí)需要站在門(mén)的中央位置,而玩家的視角朝向就是檢測(cè)盔甲架的頭部視角的反方向
#朝北【玩家視角朝南】
summon armor_stand ~ ~ ~ {CustomName:'"門(mén)Door"',CustomNameVisible:false,Invulnerable:true,Invisible:true,Marker:true,Rotation:[-180.0f,0.0f]}
#朝南【玩家視角朝北】
summon armor_stand ~ ~ ~ {CustomName:'"門(mén)Door"',CustomNameVisible:false,Invulnerable:true,Invisible:true,Marker:true,Rotation:[0.0f,0.0f]}
#朝西【玩家視角朝東】
summon armor_stand ~ ~ ~ {CustomName:'"門(mén)Door"',CustomNameVisible:false,Invulnerable:true,Invisible:true,Marker:true,Rotation:[90.0f,0.0f]}
#朝東【玩家視角朝西】
summon armor_stand ~ ~ ~ {CustomName:'"門(mén)Door"',CustomNameVisible:false,Invulnerable:true,Invisible:true,Marker:true,Rotation:[-90.0f,0.0f]}
#關(guān)門(mén)【玩家觸發(fā)房間中心檢測(cè)點(diǎn)后觸發(fā)】
execute as @e[type=armor_stand,name="門(mén)Door"] at @s anchored eyes run fill ^-1 ^1 ^ ^1 ^-1 ^ minecraft:barrier replace minecraft:air
#開(kāi)門(mén)【玩家觸發(fā)房間中心檢測(cè)點(diǎn)后觸發(fā)】
execute as @e[type=armor_stand,name="門(mén)Door"] at @s anchored eyes run fill ^-1 ^1 ^ ^1 ^-1 ^ minecraft:air replace minecraft:barrier
#只有玩家從外面靠近時(shí),自動(dòng)向前傳送進(jìn)房間【當(dāng)玩家朝向檢測(cè)盔甲移動(dòng)并間隔2格內(nèi)自動(dòng)傳送】
execute as @a at @s anchored feet if entity @e[type=armor_stand,name="門(mén)Door",distance=..2] facing entity @s eyes run tp @s ^3 ^ ^
三、房間簡(jiǎn)介
房間①:四角淺綠色方塊為檢測(cè)點(diǎn),玩家靠近觸發(fā)時(shí)有一定幾率生成怪物,也有幾率直接給予玩家《通過(guò)標(biāo)簽》——表現(xiàn)為直接打開(kāi)房間門(mén);觸發(fā)方式可以選擇1)盔甲架上空位,玩家可以向盔甲架上放置道具來(lái)觸發(fā);2)壓力板,下方放置紅石燈,當(dāng)玩家站在壓力板上,檢測(cè)紅石燈的blockstate【亮燈】進(jìn)行幾率計(jì)算——如果觸發(fā)生成怪物就使用/setblock ~ ~ ~ minecraft:redstone_block replace來(lái)使用紅石塊替換壓力板;如果未觸發(fā)未生成怪物就使用/setblock ~ ~ ~ minecraft:lapis_block replace來(lái)使用青金石塊替換壓力板;3)配合kubejs的block.right_click事件來(lái)使用右鍵觸發(fā)也是可以的
房間②:中心四角暗綠色方塊為檢測(cè)點(diǎn),不同于房間①,玩家需要依次觸發(fā)四個(gè)檢測(cè)點(diǎn),并完成特定任務(wù)【1)擊殺生成的所有生物;2)特殊任務(wù),例如跑酷等;3)消耗之前擊殺生物獲得的道具等;】后才能完成此房間
房間③:類(lèi)似于刷怪籠,多次傷害或者生成一個(gè)休息區(qū)或者商業(yè)區(qū),供玩家休整
房間④:生成多個(gè)鎖住的戰(zhàn)利品箱,需要玩家使用之前房間所獲得的相關(guān)道具才能開(kāi)啟,開(kāi)啟時(shí)有幾率觸發(fā)1)生物召喚2)生成掉落物3)效果給予(無(wú)論好壞)等;此房間可以跟Lootr模組聯(lián)動(dòng),此模組對(duì)于模組箱子有特殊的成就系統(tǒng),可以降低觸發(fā)難度;當(dāng)然房間①所提及的kubejs事件也是可以使用的
房間⑤:類(lèi)似于房間③,但必生成一個(gè)商業(yè)區(qū)或者祭壇區(qū),玩家可以獻(xiàn)祭某些物品來(lái)提升自己或降低難度
房間⑥:類(lèi)似于房間②,但更為強(qiáng)力——特定攻擊方式才能進(jìn)行有效攻擊【鎖定近戰(zhàn)或鎖定遠(yuǎn)程等】
房間⑦:boss房間,房間門(mén)一開(kāi)始就是鎖著的,需要玩家使用道具才能開(kāi)啟;啟動(dòng)boss后可以設(shè)定此房間門(mén)關(guān)閉或保持開(kāi)啟等;
房間⑧:獎(jiǎng)勵(lì)房跟脫離點(diǎn)——類(lèi)似于房間④,但開(kāi)啟道具為擊殺boss后的初步獎(jiǎng)勵(lì);可以設(shè)定玩家自行脫離或檢測(cè)點(diǎn)【當(dāng)玩家靠近就被傳送】
房間⑨:初始房間,必有一個(gè)復(fù)活鎖定點(diǎn),鎖定后將綁定玩家的復(fù)活點(diǎn)以及提供一定次數(shù)的復(fù)活或者無(wú)限復(fù)活,也可以設(shè)置一些商人來(lái)販賣(mài)初始補(bǔ)充道具【或要求玩家自行攜帶】
房間⑩:迷宮,可以選擇單路也可以選擇多路,其中放置一些檢測(cè)點(diǎn),當(dāng)玩家接近時(shí),觸發(fā)生成怪物或生成墻來(lái)干擾玩家移動(dòng),可以跟kubejs聯(lián)動(dòng),設(shè)置一些可以右鍵打開(kāi)的門(mén)【類(lèi)似于暮色森林的高塔】