吧务
level 13
二、方块实现
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
三、后记
在服务器中,这个装置经历了多次实战考验,进行过多次优化,才成为现在的较为稳定的版本。若以后还有新的改动,将在这里记录。
2022年02月11日 14点02分
7
level 8
Wiki原话:4.重复步骤2-3,直到返回传送门中没有剩余的传送门方块。
5.在单人游戏中,重进存档。
6.在多人游戏中,离开主岛(通过末地折跃门)后下线,并确保主岛上没有玩家。当您重新连接时,生命值栏应该是可见的,然后您可以传送回主岛,跳下虚空,通过末地传送门返回末地,或是者不破坏最后一个返回传送门。
2022年02月12日 04点02分
10
有没有一种可能,楼主玩的是BE版
2022年02月12日 05点02分
@elf-32 看得出楼主玩的是基岩版,但我以为这个特性基岩版也同步了JAVA版的
![[阴险]](/static/emoticons/u9634u9669.png)
看见你们这么说刚刚试验了一下,发现还真不太一样
![[喷]](/static/emoticons/u55b7.png)
创造模式拆完过一会直接自动修复了淦
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
末影龙死亡升空时有没有nbt记录
就像插在地上的箭有inGround:1b一样
如果有就可以利用这一点了
2022年02月13日 04点02分
15