Прочие компьютерные игры

Перевод команд, Механизмы на КБ

Всем привет нужен человек который поможет перевести команды 1.12.2 на новую систему execute.

Команда для создания платформы:
/summon armor_stand ~ ~-2.235 ~ {Tags:[lift],NoGravity:1b,Invisible:1b,Invulnerable:1b,NoBasePlate:1b,Small:1b,DisabledSlots:2039583,Passengers:[{id:"Shulker",Tags:[lift],NoAI:1b,Silent:1,Invulnerable:1,ActiveEffects:[{Id:14,Amplifier:1,Duration:999999999,Ambient:1}]},{id:falling_block,Block:stonebrick,Data:0,Tags:[lift],NoGravity:1b,Time:1,DropItem:0}]}
Вроде все норм но нет блока и шалкер проваливается

Цепочка команд для спуска:
28.execute @a[score_lift_min=1,score_lift=200] ~ ~ ~ tp @e[type=armor_stand,tag=lift] ~ ~-0.05 ~
29.execute @a[score_lift_min=200] ~ ~ ~ /setblock 169 63 277 minecraft:wool
30.scoreboard players set @a[score_lift_min=200] lift 0
33.Цепочка команд для подъёма:
35.execute @a[score_lift_min=1,score_lift=200] ~ ~ ~ tp @e[type=armor_stand,tag=lift] ~ ~0.05 ~
36.execute @e[type=falling_block,tag=lift,c=1] ~ ~ ~ effect @a[score_lift_min=1,score_lift=200,r=3] levitation 1 255 true
37.execute @e[type=falling_block,tag=lift,c=1] ~ ~ ~ tp @a[score_lift_min=1,score_lift=190,r=3] ~ ~0.05 ~
38.execute @e[type=falling_block,tag=lift,c=1] ~ ~ ~ tp @a[score_lift_min=191,score_lift=200,r=3] ~ ~0.052 ~
39.execute @a[score_lift_min=200] ~ ~ ~ /setblock <координаты_блока_активации_2> wool
40.scoreboard players set @a[score_lift_min=200] lift 0
41.execute @e[type=falling_block,tag=lift,c=1] ~ ~ ~ tp @a[score_lift_min=199,r=3] ~ ~0.2 ~

Я строил мех. дом сейчас появилось время начать дальше но тут с 1.13 новая система команд я вроде +/- вник и изменил везде старый testfor and testforblock, а как изменить это я в душе не чаю помогите пожалуйста заранее огромное спасибо!!!
DS
Dmitry Shtyagin
102
Не знаю, почему, но мне захотелось помочь. Решил не просто обновить синтаксис, а улучшить сами команды. Например, вместо тег: 9999999... поставил макс. инты, изменил некоторые теги, обновил устаревшие. Но главное – перевёл счётчик лифта на «облачного» игрока Var., так механизм не будет привязан к какой-то сущности. Хотя, правильней было бы сделать привязку к конкретному лифту. Но это уже сам сделаешь, если захочешь.
Короче, вот команды:

Создание летающего блока:
summon armor_stand ~ ~5 ~ {Tags:[elevator],NoGravity:1b,Invisible:1b,Invulnerable:1b,NoBasePlate:1b,Small:1b,DisabledSlots:2039583,Passengers:[{id:"minecraft:shulker",Tags:[elevator],NoAI:1b,Silent:1b,Invulnerable:1b,ActiveEffects:[{Id:14b,Amplifier:1,Duration:2147483647,ShowParticles:0b}]},{id:"minecraft:falling_block",BlockState:{Name:"minecraft:stone_bricks"},Tags:[elevator],NoGravity:1b,Time:2147483647,DropItem:0b}]}

Спуск (активируется при обнаружении elevator=..-1)
1) Цикл. всегда активный КБ: execute if score Var. elevator matches -199..-1 as @e[type=armor_stand,tag=elevator] at @s run tp @s ~ ~-0.05 ~
2) Цепн. условн. всегда активный КБ: scoreboard players remove Var. elevator 1

Подъём (активируется при обнаружении elevator=1..)
1) Цикл. всегда активный КБ: execute if score Var. elevator matches 1..199 as @e[type=armor_stand,tag=elevator] at @s run tp @s ~ ~0.05 ~
2) Цепн. условн. всегда активный КБ: scoreboard players add Var. elevator 1
3) Цепн. условн. всегда активный КБ: execute as @a at @s align xz positioned ~0.5 ~-0.5 ~0.5 if entity @e[tag=elevator, distance=..0.8] at @s run tp ~ ~0.05 ~
(Тут я не стал париться с подбором уровня левитации, так как в новых версиях воздействие высоких уровней поменялось. Сделал обычную телепортацию, но можешь поменять по усмотрению)

Ах да, заменил «lift» на «elevator», учим английский :)

–––––––––––––––

Ну и напоследок, оставлю эти гайды, пригодятся в изучении нового синтаксиса и команд:

1) /scoreboard. Работа с переменными. Если уже умеешь работать с ней, лучше повторить материал.
https://youtu.be/0GIKJvFoE-g

2) Новая /execute. Самая универсальная команда для всего, что можно придумать.
https://youtu.be/4tzMxqy88gI

3) /data. Работа с данными сущностей и блоков-сущностей.
https://youtu.be/MxTybmnT7LY

4) Сами селекторы, которые используются всегда и везде. Именно с этого ролика желательно начинать изучение команд. Не знаю, почему я поместил ссылку в конце списка.
https://youtu.be/5QXI2G45qGY

Когда этот материал усвоен, уже можно переходить к написанию датапаков. Сейчас все годные механизмы делаются на них, у них в разы больше возможностей, чем у командных блоков.
Это видео расскажет, как подготовить рабочую среду для написания датапаков.
https://youtu.be/YtmD3LJ-WAI
Вова Сафонов
Вова Сафонов
35 383
Лучший ответ
Dmitry Shtyagin Огромное спасибо ????
Dmitry Shtyagin Хотел узнать почему я на платформе рывками двигаюсь когда она стоит на месте
а ты мне что?