关于将洛奇的地下城系统在minecraft中实现的相关数据包流程(粗略)


上图为我所构想的洛奇地牢,其中每个方形房间都支持minecraft拼图方块,因此可以实现在有限范围内地牢的自动多样化。接下来我将根据不同的房间编号来依次介绍可能的构筑方式:
一、基础设定:
1)房间中心处(蓝色、暗红色、橙色等)为房间总控,用途是检测玩家是否完整进入该房间以及启动房间机制
2)地牢房间进入后门自动上锁,玩家死亡会回到初始房间(前提是玩家必须在初始房间绑定复活点,复活次数可以固定),而在房间内的玩家将无法自足从房间中出来,即单向通行机制——上图中的黄色跟橙色方块为可自行切换关闭/开启的门,同时橙色方块为boss门,可以设定玩家使用特定道具(钥匙等)来开启
二、单向通行机制
#房间门机制——检测盔甲架(朝向房间外)【房间门为一格厚】
#玩家设置检测盔甲架时需要站在门的中央位置,而玩家的视角朝向就是检测盔甲架的头部视角的反方向
#朝北【玩家视角朝南】
summon armor_stand ~ ~ ~ {CustomName:'"门Door"',CustomNameVisible:false,Invulnerable:true,Invisible:true,Marker:true,Rotation:[-180.0f,0.0f]}
#朝南【玩家视角朝北】
summon armor_stand ~ ~ ~ {CustomName:'"门Door"',CustomNameVisible:false,Invulnerable:true,Invisible:true,Marker:true,Rotation:[0.0f,0.0f]}
#朝西【玩家视角朝东】
summon armor_stand ~ ~ ~ {CustomName:'"门Door"',CustomNameVisible:false,Invulnerable:true,Invisible:true,Marker:true,Rotation:[90.0f,0.0f]}
#朝东【玩家视角朝西】
summon armor_stand ~ ~ ~ {CustomName:'"门Door"',CustomNameVisible:false,Invulnerable:true,Invisible:true,Marker:true,Rotation:[-90.0f,0.0f]}
#关门【玩家触发房间中心检测点后触发】
execute as @e[type=armor_stand,name="门Door"] at @s anchored eyes run fill ^-1 ^1 ^ ^1 ^-1 ^ minecraft:barrier replace minecraft:air
#开门【玩家触发房间中心检测点后触发】
execute as @e[type=armor_stand,name="门Door"] at @s anchored eyes run fill ^-1 ^1 ^ ^1 ^-1 ^ minecraft:air replace minecraft:barrier
#只有玩家从外面靠近时,自动向前传送进房间【当玩家朝向检测盔甲移动并间隔2格内自动传送】
execute as @a at @s anchored feet if entity @e[type=armor_stand,name="门Door",distance=..2] facing entity @s eyes run tp @s ^3 ^ ^
三、房间简介
房间①:四角浅绿色方块为检测点,玩家靠近触发时有一定几率生成怪物,也有几率直接给予玩家《通过标签》——表现为直接打开房间门;触发方式可以选择1)盔甲架上空位,玩家可以向盔甲架上放置道具来触发;2)压力板,下方放置红石灯,当玩家站在压力板上,检测红石灯的blockstate【亮灯】进行几率计算——如果触发生成怪物就使用/setblock ~ ~ ~ minecraft:redstone_block replace来使用红石块替换压力板;如果未触发未生成怪物就使用/setblock ~ ~ ~ minecraft:lapis_block replace来使用青金石块替换压力板;3)配合kubejs的block.right_click事件来使用右键触发也是可以的
房间②:中心四角暗绿色方块为检测点,不同于房间①,玩家需要依次触发四个检测点,并完成特定任务【1)击杀生成的所有生物;2)特殊任务,例如跑酷等;3)消耗之前击杀生物获得的道具等;】后才能完成此房间
房间③:类似于刷怪笼,多次伤害或者生成一个休息区或者商业区,供玩家休整
房间④:生成多个锁住的战利品箱,需要玩家使用之前房间所获得的相关道具才能开启,开启时有几率触发1)生物召唤2)生成掉落物3)效果给予(无论好坏)等;此房间可以跟Lootr模组联动,此模组对于模组箱子有特殊的成就系统,可以降低触发难度;当然房间①所提及的kubejs事件也是可以使用的
房间⑤:类似于房间③,但必生成一个商业区或者祭坛区,玩家可以献祭某些物品来提升自己或降低难度
房间⑥:类似于房间②,但更为强力——特定攻击方式才能进行有效攻击【锁定近战或锁定远程等】
房间⑦:boss房间,房间门一开始就是锁着的,需要玩家使用道具才能开启;启动boss后可以设定此房间门关闭或保持开启等;
房间⑧:奖励房跟脱离点——类似于房间④,但开启道具为击杀boss后的初步奖励;可以设定玩家自行脱离或检测点【当玩家靠近就被传送】
房间⑨:初始房间,必有一个复活锁定点,锁定后将绑定玩家的复活点以及提供一定次数的复活或者无限复活,也可以设置一些商人来贩卖初始补充道具【或要求玩家自行携带】
房间⑩:迷宫,可以选择单路也可以选择多路,其中放置一些检测点,当玩家接近时,触发生成怪物或生成墙来干扰玩家移动,可以跟kubejs联动,设置一些可以右键打开的门【类似于暮色森林的高塔】