ivyy Опубликовано 29 января, 2025 Поделиться Опубликовано 29 января, 2025 У меня есть некая сущность от которой должны идти партиклы блока, находящегося под ней, тоесть если сущность на земляном блоке то minecraft:block grass_block, а если на другом блоке чтобы партиклы соотвественно тоже менялись. Это можно как то сделать? Ссылка на комментарий Поделиться на другие сайты Поделиться
Вашан Опубликовано 13 марта, 2025 Поделиться Опубликовано 13 марта, 2025 Одним из способов было бы проверить, например, находится ли прямо рядом или, как в этом примере, ниже игрока дубовая доска. /execute as @a at @s run execute if block ~ ~-0.1 ~ oak_planks at @s run say Hello, oak! Поэтому вам придется выполнять отдельные команды для каждого возможного блока, который находится рядом с игроком. Я не удивлюсь, если есть гораздо более простое решение, но это то, что пришло мне в голову. Ссылка на комментарий Поделиться на другие сайты Поделиться
Вашан Опубликовано 13 марта, 2025 Поделиться Опубликовано 13 марта, 2025 # В чате scoreboard objectives add block dummy # Командный блок execute as @a at @s store success score oak_planks block run clone ~-7 ~-7 ~-7 ~7 ~7 ~7 ~-7 ~-7 ~-7 filtered oak_planks force execute if score oak_planks block matches 1 run say Hello, oak! Ссылка на комментарий Поделиться на другие сайты Поделиться
garmxd Опубликовано 17 марта, 2025 Поделиться Опубликовано 17 марта, 2025 Тебе стоило хотя бы проверить что тебе нейросеть дает.. В 13.03.2025 в 15:01, Вашан сказал: # В чате scoreboard objectives add block dummy # Командный блок execute as @a at @s store success score oak_planks block run clone ~-7 ~-7 ~-7 ~7 ~7 ~7 ~-7 ~-7 ~-7 filtered oak_planks force execute if score oak_planks block matches 1 run say Hello, oak! Ссылка на комментарий Поделиться на другие сайты Поделиться
Вашан Опубликовано 21 марта, 2025 Поделиться Опубликовано 21 марта, 2025 В 17.03.2025 в 11:52, garmxd сказал: Тебе стоило хотя бы проверить что тебе нейросеть дает.. Это не нейросеть. Ссылка на комментарий Поделиться на другие сайты Поделиться
ivyy Опубликовано 27 марта, 2025 Автор Поделиться Опубликовано 27 марта, 2025 В 13.03.2025 в 17:16, Вашан сказал: Одним из способов было бы проверить, например, находится ли прямо рядом или, как в этом примере, ниже игрока дубовая доска. /execute as @a at @s run execute if block ~ ~-0.1 ~ oak_planks at @s run say Hello, oak! Поэтому вам придется выполнять отдельные команды для каждого возможного блока, который находится рядом с игроком. Я не удивлюсь, если есть гораздо более простое решение, но это то, что пришло мне в голову. к сожалению проверять КАЖДЫЙ возможный блок не вариант Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 4 апреля, 2025 Поделиться Опубликовано 4 апреля, 2025 В 27.03.2025 в 23:15, gasihup сказал: к сожалению проверять КАЖДЫЙ возможный блок не вариант а другого варианта вроде и нет Ссылка на комментарий Поделиться на другие сайты Поделиться
quark-gluon plasma Опубликовано 4 апреля, 2025 Поделиться Опубликовано 4 апреля, 2025 On 3/27/2025 at 9:15 PM, gasihup said: к сожалению проверять КАЖДЫЙ возможный блок не вариант 1 hour ago, NecRoZ said: а другого варианта вроде и нет Теги Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 4 апреля, 2025 Поделиться Опубликовано 4 апреля, 2025 11 минут назад, DasGortyCH сказал: Теги ну в любом случае тебе придётся перебирать эти теги в чтобы определить какой конкретно это блок, это конечно может быть эффективней чем простая последовательная проверка. но всё же не настолько эффективно, хотя тут надо посчитать Ссылка на комментарий Поделиться на другие сайты Поделиться
GhostoFBU Опубликовано 6 апреля, 2025 Поделиться Опубликовано 6 апреля, 2025 Делаю на 1.21.5+ Есть один способ: /loot + макросы Функция #minecraft:load: # Делаем чанк невыгружаемым forceload add 0 0 # Создаём шалкер setblock 0 -64 0 minecraft:yellow_shulker_box #minecraft:tick: # Если игрок на земле и под ним есть блок (потому что может быть на краю блока), то выполняем функцию "p:player/particle" execute as @a[nbt={OnGround:1b}] at @s positioned over motion_blocking if entity @s[dx=0] run function p:player/particle p:player/particle: # Переносим полученный блок в шалкер execute align y run loot replace block 0 -64 0 container.0 mine ~ ~-0.5 ~ minecraft:netherite_pickaxe[minecraft:enchantments={"minecraft:silk_touch":1}] # Запускаем макро-функцию, где уже будем спавнить партикл с полученным блоком function p:player/particle/macro with block 0 -64 0 Items[0] p:player/particle/macro: $particle minecraft:block{block_state:"$(id)"} Rozy 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 6 апреля, 2025 Поделиться Опубликовано 6 апреля, 2025 6 часов назад, GhostoFBU сказал: Делаю на 1.21.5+ Есть один способ: /loot + макросы Функция #minecraft:load: # Делаем чанк невыгружаемым forceload add 0 0 # Создаём шалкер setblock 0 -64 0 minecraft:yellow_shulker_box #minecraft:tick: # Если игрок на земле и под ним есть блок (потому что может быть на краю блока), то выполняем функцию "p:player/particle" execute as @a[nbt={OnGround:1b}] at @s positioned over motion_blocking if entity @s[dx=0] run function p:player/particle p:player/particle: # Переносим полученный блок в шалкер execute align y run loot replace block 0 -64 0 container.0 mine ~ ~-0.5 ~ minecraft:netherite_pickaxe[minecraft:enchantments={"minecraft:silk_touch":1}] # Запускаем макро-функцию, где уже будем спавнить партикл с полученным блоком function p:player/particle/macro with block 0 -64 0 Items[0] p:player/particle/macro: $particle minecraft:block{block_state:"$(id)"} пипяо, это гениально а вот такой момент, что будет эффективней, подобие двоичного поиска с помощью тега блоков или вот этот способ? Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 11 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти