Как написать команду в майнкрафт.
Хочу сделать TNT run на командных блоках. Проблема вот в чём: Моя команда может ставить под игроком воздух, если под ним сейчас камень. Но камень уходит слишком быстро, игрок тупо не сможет уйти с блока. Как сделать задержку перед выполнением команды? Вот как выглядит команда: /execute as @a at @a if block ~ ~-1 ~ stone run setblock ~ ~-1 ~ minecraft:air
ДополненПонял, что "as @a" - не нужная часть.
/execute at @a if block ~ ~-1 ~ stone run setblock ~ ~-1 ~ minecraft:air
Или может можно сделать так, чтоб блок менялся через секунду после того, как игрок наступил на него?
Придумал как решить проблему, спасибо человеку с ником "a Vitness". Тупо вместо цикл-КБ поставить обычный, и зациклить редстоун сигнал к нему. Каждый цикл под игроком будет уходить блок (меняться на воздух). Но игрок может подгадать цикл и прыгать в нужный момент, поэтому можно тупо поставить от первого КБ ко второму сигнал редстоуна, чтоб ещё ниже блок менялся на воздух. То-есть прыгает игрок или нет, блок под ним уйдёт.
Щас осознал, что вариант с циклами ее пройдёт, ведь блоки будут уходить всё равно из под ног сразу. Нужна то именно команда, шоб блок убирался после того, как игрок встал на дру
Блин с телефона в полусонном состоянии вообще писать невозможно, извините за предыдущее дополнение.
Просто сделай задержку. Через редстоун или счетчик
у меня есть идея сделать что то подобное через стойки для брони но будет слишком большая нагрузка на компьютер. И еще от версии зависит. Например в 1.14 добавили команды /schedule. /schedule function. При помощи них можно сделать так чтобы блоки убирались через некоторое количество тиков, а если 1.12.2 то придется делать через стойки для брони, это сложно объяснить и долго, так что лучше будет в личке объяснить со скриншотами и возможно можно зайти на 1 сервер и я построю что то подобное
Можешь написать мне в дискорде
NOTESSSSSS#7906
(6 букв S)
Как ты и написал в одном из комментариев, schedule действительно было бы оптимально использовать. Однако Schedule не сохраняет точку исполнения, так что в любом случае придётся создавать сущности-маркеры. Лучше прямо minecraft:marker и использовать – сущность нетиковая, нагрузки на клиент 0, да ещё и скорборды обрабатывает корректно. Просто призывай рядом с игроком маркеры, прибавляй каждый тик им одно очко в time (скорборд), а потом убирай блок под маркером с time=10 и убивай этот маркер. Всё элементарно:
1) execute at @a run summon minecraft:marker
2) scoreboard players add @e[type=minecraft:marker] time 1
3) execute at @e[type=minecraft:marker, scores={time=10..}] run fill ~ ~ ~ ~ ~-2 ~ minecraft:air replace minecraft:stone (это получше чем куча if block...)
4) kill @e[type=minecraft:marker, scores={time=10..}]
+ команда на создание счётчика timer с типом dummy.