分数储存在marker的scb里
命令:
scoreboard players set marker scb -2147483648
execute 所有要比较分数的实体 ~ ~ ~ scoreboard players operation marker scb > @e[c=1] scb
分数储存在marker的scb里
命令:
scoreboard players set marker scb 2147483647
execute 所有要比较分数的实体 ~ ~ ~ scoreboard players operation marker scb < @e[c=1] scb
execute部分,是用来确保每个分数都会获得比较
而operation部分,就是当前最高/低分数和实体分数比较,如果实体分数更高/低,替换掉当前marker的分数
至于那初始分数, 求最大的时候就设置为记分板下限, 求最小的时候就设置为记分板上限,是为了保证会替换为第一个实体的分数。不替换的可能性只有一个: 等于当前marker的分数。
伪代码
max_score = -2147483648
for score in scores:
if score > max_score:
max_score = score