【基岩版命令方块】 后来的玩家也有蛋!(杀龙检测)
minecraft吧
全部回复
仅看楼主
吧务
level 13
1l6mnj 楼主
众所周知,一个世界是只有一个龙蛋的,只有首先到达末地并击杀末影龙的玩家才能获得这一稀世珍宝。
而自从末地被史蒂夫和亚历克斯们发现,抢夺龙蛋的战争就开始了。
无数的亚历克斯失败于这场战争,无数的史蒂夫回到了他们的重生点。
(&#@¥%......)← 此处省略一万字
因此,为了防止世界被破坏,为了保护世界的和平,贯彻爱与真实的邪恶,可爱又迷人的反......正派角色:
腐竹!
管理员!
我们是穿梭在服务器中的***!黑洞,黑色的龙蛋正等着我们!
2022年02月11日 13点02分 1
吧务
level 13
1l6mnj 楼主
流程设计
根据杀龙过程中龙窝的状态,检测可以分为4个阶段:
(1)平常的状态。这一步检测四个末影水晶,检测到了就进入下一阶段;
图注:平平常常
(2)传送门的水晶发出光束的过程。这一步的传送门方块是消失了的,过程可能会失败(打破水晶),不过无论成败都会使四个水晶消失,于是检测不到4个水晶就进入下一阶段
图注:复活中...
(3)一个用来判断有没有召唤成功的阶段。根据成功时传送门方块仍是消失的,失败时传送门方块会重新出现,可设计两个对龙窝表面的检测:
检测空气,成功则回到阶段1;
检测传送门方块,成功则进入下一阶段
图注:阶段3中,召唤成功的龙窝。可以看到传送门方块是消失的
(4)打龙阶段。龙被打死后传送门方块会重新出现,于是检测传送门方块,检测到了就进行屠龙成功的处理,并回到阶段1。
2022年02月11日 13点02分 2
吧务
level 13
1l6mnj 楼主
二、方块实现
1. 提示
a. 装置设在龙窝地下,用tickingarea设置常加载;
b. 连锁方块无说明均为始终开启、有条件;
c. 循环方块的延迟均可以设为0以上,楼主试验时用的是20。
2. 数据项说明
a. 计分项
Dragon
cAmount:当前龙窝上处于召唤位置的水晶数量(crystal amount);
stage:第二部分提到的,挑战龙的阶段。
b. 标签
dragon_killer:杀死龙的玩家会带上这个标签;
egg_gived:已经获得过龙蛋的玩家会带上这个标签;
3. 指令
每段代表一个命令方块链,段与段间用空格分隔,链首的是循环方块,其后的是连锁方块。
a. 水晶计数器
在阶段1、2执行:scoreboard players test stage Dragon 1 2
计数输出清零:scoreboard players set cAmount Dragon 0
位置1:testfor @e[type=ender_crystal,x=0,y=61,z=-3,dx=0,dy=0,dz=0]
位置2:testfor @e[type=ender_crystal,x=0,y=61,z=3,dx=0,dy=0,dz=0]
位置3:testfor @e[type=ender_crystal,x=3,y=61,z=0,dx=0,dy=0,dz=0]
位置4:testfor @e[type=ender_crystal,x=-3,y=61,z=0,dx=0,dy=0,dz=0]
计数输出置4:scoreboard players set cAmount Dragon 4
stage 1
若水晶数量为4,进入下一阶段。连锁方块均为有条件的
在阶段1执行:scoreboard players test stage Dragon 1 1
接收计数器结果:scoreboard players test cAmount Dragon 4 4
进入下一阶段:scoreboard players set stage Dragon 2
stage 2
水晶数量归零后,进入下一阶段。连锁方块均为有条件的
在阶段2执行:scoreboard players test stage Dragon 2 2
接收计数器结果:scoreboard players test cAmount Dragon 0 0
进入下一阶段:scoreboard players set stage Dragon 3
stage 3
检测到传送门方块时,回阶段1,检测到空气时,进入下一阶段。连锁方块均为有条件的
检测到传送门方块
在阶段3执行:scoreboard players test stage Dragon 3 3
检测传送门:testforblock 1 60 0 end_portal
回到stage0:scoreboard players set stage Dragon 0
检测到空气
在阶段3执行:scoreboard players test stage Dragon 3 3
检测空气:testforblock 1 60 0 air
进入下一阶段:scoreboard players set stage Dragon 4
stage 4
检测到传送门方块时,将标签dragon_killer添加到处于末地的所有玩家,回到阶段0
在阶段4执行:scoreboard players test stage Dragon 4 4
检测传送门方块:testforblock 1 60 0 end_portal
回到stage 1:scoreboard players set stage Dragon 1
添加屠龙者标签:tag @a[rm=0] add dragon_killer
(无条件)广播挑战结果:tellraw @a {"rawtext":[{"text":"末影龙被 "},{"selector":"@a[rm=0,tag=dragon_killer]"},{"text":" 击杀"}]}
(无条件)显示屠龙信息:tellraw @a[tag=dragon_killer,rm=0] {"rawtext":[{"text":"你打败了末影龙!"}]}
后续处理:
给龙蛋:give @a[tag=dragon_killer,tag=!egg_gived] dragon_egg
添加给了蛋的标签:tag @a[tag=dragon_killer] add egg_gived
(无条件)删除屠龙者标签:tag @a[tag=dragon_killer] remove dragon_killer
2022年02月11日 13点02分 3
吧务
level 13
1l6mnj 楼主
摆好的样子:
2022年02月11日 14点02分 5
吧务
level 13
1l6mnj 楼主
三、后记
在服务器中,这个装置经历了多次实战考验,进行过多次优化,才成为现在的较为稳定的版本。若以后还有新的改动,将在这里记录。
2022年02月11日 14点02分 7
level 11
第6楼被整个吞咯
2022年02月11日 14点02分 8
@气泡菠萝水 是我自己删的,后记的编号写成四了=w=
2022年02月11日 16点02分
level 8
其实不用命令方块也可以的[小乖]minecraft Wiki有教程,单人多人都有[小乖]
2022年02月12日 04点02分 9
这是链接https://minecraft.fandom.com/zh/wiki/%E6%95%99%E7%A8%8B/%E4%BD%BF%E7%94%A8%E6%9B%B4%E5%B0%91%E7%9A%84%E6%9C%AB%E5%BD%B1%E6%B0%B4%E6%99%B6%E9%87%8D%E7%94%9F%E6%9C%AB%E5%BD%B1%E9%BE%99
2022年02月12日 04点02分
level 8
Wiki原话:4.重复步骤2-3,直到返回传送门中没有剩余的传送门方块。
5.在单人游戏中,重进存档。
6.在多人游戏中,离开主岛(通过末地折跃门)后下线,并确保主岛上没有玩家。当您重新连接时,生命值栏应该是可见的,然后您可以传送回主岛,跳下虚空,通过末地传送门返回末地,或是者不破坏最后一个返回传送门。
2022年02月12日 04点02分 10
有没有一种可能,楼主玩的是BE版[阴险]
2022年02月12日 05点02分
@elf-32 看得出楼主玩的是基岩版,但我以为这个特性基岩版也同步了JAVA版的[阴险]看见你们这么说刚刚试验了一下,发现还真不太一样[喷]创造模式拆完过一会直接自动修复了淦[喷]
2022年02月12日 10点02分
level 7
给到末地的玩家tag,一回到主世界就give并移除tag锁定不就好了(ಡωಡ),仪式感什么的没那么重要,龙蛋拿到了就行()
2022年02月12日 06点02分 11
@老咕噜Gollum 这两种方法设计的时候都想过,execute的方案在末影龙超出加载范围时也会给蛋,于是都没采用[滑稽]
2022年02月12日 13点02分
level 12
[滑稽]
2022年02月12日 08点02分 12
level 15
一个行为包解决问题[滑稽]
2022年02月12日 09点02分 13
改掉落表吗[滑稽]那可做不到一个玩家一个蛋
2022年02月12日 13点02分
level 11
不是,你非门检测个龙不就行了
2022年02月12日 17点02分 14
超出加载范围就检测不到了[滑稽]这时候没法确认它是不是被打死了
2022年02月12日 18点02分
@1l6mnj 大佬,你都13级了,不是有个常加载指令吗...
2022年02月12日 22点02分
@喵水二 那得把整个末地主岛都常加载,显然没有这个只加载一区块的方案好
2022年02月13日 03点02分
@喵水二 将这么大一片区域设为常加载,玩家会把一些自动化设备搬上去,无形增大服务器负担
2022年02月13日 03点02分
level 12
末影龙死亡升空时有没有nbt记录
就像插在地上的箭有inGround:1b一样
如果有就可以利用这一点了
2022年02月13日 04点02分 15
level 11
[滑稽]
2022年02月27日 07点02分 17
2022年03月01日 04点03分
1