有4个实体在test记分板内的分数值分别为[1, 9, 3, 2]
请问如何获取4个实体的分数的排列(类似原版sidebar,但是需要将排列后的顺序存储到另一个记分板内)
例如在test2的记分板内,#2的分数为1,#3的分数为2,#4的分数为3,#1的分数为4
(版本 1.17.1
请问如何获取4个实体的分数的排列(类似原版sidebar,但是需要将排列后的顺序存储到另一个记分板内)
例如在test2的记分板内,#2的分数为1,#3的分数为2,#4的分数为3,#1的分数为4
(版本 1.17.1
本帖最后由 晴路卡 于 2021-8-19 19:39 编辑
四个盔甲架开始时都带有test标签,执行:复制代码
test/functions/do:复制代码
四个盔甲架开始时都带有test标签,执行:
- execute as @e[tag=test] run function test:do
test/functions/do:
- tag @s add do
- scoreboard players set @s order 0
- execute as @e[tag=test] if score @s test > @e[tag=do,limit=1] test run scoreboard players add @e[tag=do,limit=1] order 1
- execute as @e[tag=test,tag=!listed] if score @s test = @e[tag=do,limit=1] test run scoreboard players add @e[tag=do,limit=1] order 1
- tag @s remove do
- tag @s add listed
本帖最后由 Chelover_C60 于 2021-8-19 19:56 编辑
复制代码
参考自https://www.mcbbs.net/forum.php?mod=redirect&goto=findpost&ptid=1048886&pid=18298701
- scoreboard players set @e[scores={test=-2147483648..2147483647}] test2 1
- execute at @e[scores={test=-2147483648..2147483647}] as @e[scores={test=-2147483648..2147483647}] if score @s test > @e[limit=1,sort=nearest,scores={test=-2147483648..2147483647}] test run scoreboard players add @e[limit=1,sort=nearest,scores={test=-2147483648..2147483647}] test2 1
参考自https://www.mcbbs.net/forum.php?mod=redirect&goto=findpost&ptid=1048886&pid=18298701