ставишь 1 цикличный всегда активный командный блок, и 11 цепных всегда активных (см. фото). Снизу вверх:
В цикличный пишешь: execute as @a run title @s actionbar ["",{"text":"Энергия: ","color":"green"},{"score":{"name":"@s","objective":"power"},"color":"aqua"},{"text":"%","color":"dark_aqua"}]
В следующий первый цепной: execute as @a at @s align xyz unless entity @e[type=minecraft:marker,dx=0,dy=0,dz=0] run summon minecraft:marker ~.5 ~.5 ~.5
Во второй цепной: execute as @e[type=minecraft:marker,tag=!q] at @s align xyz run scoreboard players add @p speed 1
В третий: tag @e[type=minecraft:marker] add q
В четвёртый: scoreboard players add @a .timer 1
В пятый: execute as @a[scores={.timer=20}] run scoreboard players remove @a speed 1
В шестой: execute as @a[scores={.timer=20}] run kill @e[type=minecraft:marker]
В седьмой: execute as @a[scores={.timer=1}] run scoreboard players set @a speed 0
В восьмой: execute as @a[scores={.timer=20,speed=4..}] run scoreboard players remove @s power 1
В девятый: execute as @a[scores={power=..-1}] run scoreboard players set @a power 0
В десятый: execute as @a[scores={power=0}] run effect give @s minecraft:slowness 1 2 true
В Одиннадцатый: execute as @a[scores={.timer=20}] run scoreboard players reset @a .timer
================================================
Если не работает: пропиши /scoreboard players reset @a
Выдать энергию: /scoreboard players set <ник> power <энергия в единицах>
Команды в чат:
/scoreboard objectives add .timer dummy
/scoreboard objectives add power dummy
/scoreboard objectives add speed dummy
================================================
Как работает: Итак, я немного изменил свой спидометр (кстати статья о нём есть в разделе "гайды")
>>> <ссылка> <<<
и теперь, если скорость игрока будет равна 3 м/с или больше то из скорборда power будет удаляться единица. И когда энергия будет на нуле, выдаётся эффект замедления.