Перейти к содержанию

PhoenixTechu

Пользователи
  • Постов

    527
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Весь контент PhoenixTechu

  1. тут уже сам додумай, что ты имеешь в виду под рандомной выдачей и реализуй её без команды /random
  2. создай задачу: /scoreboard objectives add click talked_to_villager для включения схемы: /scoreboard players set @a click 0 создай тиму, для отключения коллизии триггера: /team add col /team join col @a /team modify col collisionRule never /team modify col seeFriendlyInvisibles false далее устанавливай командные блоки как на скрине: справа-налево, сверху-вниз (все командные блоки должны быть всегда активны, а все цепные – условные) цикл: execute at @a[scores={click=0},nbt={SelectedItem:{tag:{plrFind:1}}}] run summon villager ~ ~ ~ {ActiveEffects:[{Id:14,Duration:999999999,ShowParticles:0b}],NoAI:1,Invulnerable:1,Silent:1,Tags:["trigger"],Team:col} цепь: scoreboard players set @a[scores={click=0},nbt={SelectedItem:{tag:{plrFind:1}}}] click 1 цикл: execute as @a[scores={click=1..},nbt={SelectedItem:{tag:{plrFind:1}}}] at @s run tp @e[tag=trigger,limit=1,sort=nearest] ^ ^ ^.2 цикл: execute as @a[scores={click=1..},nbt=!{SelectedItem:{tag:{plrFind:1}}}] at @s run tp @e[tag=trigger,sort=nearest,limit=1] 0 -100 0 цепь: scoreboard players set @a[scores={click=1..},nbt=!{SelectedItem:{tag:{plrFind:1}}}] click 0 цикл: execute as @a[scores={click=2},nbt={SelectedItem:{tag:{plrFind:1}}}] at @s run particle dust 1.000 1.000 1.000 2 ~ ~ ~ .7 .7 .7 0 100 цепь: scoreboard players set @a[scores={click=2},nbt={SelectedItem:{tag:{plrFind:1}}}] click 3 execute at @a[scores={click=3},nbt={SelectedItem:{tag:{plrFind:1}}}] run effect give @p[nbt=!{SelectedItem:{tag:{plrFind:1}}}] glowing 15 0 true clear @a[scores={click=1..},nbt={SelectedItem:{tag:{plrFind:1}}}] sugar{plrFind:1} 1 цикл: execute at @a[nbt={ActiveEffects:[{Id:24}]}] facing ^1 ^ ^ run particle angry_villager ^.4 ^-.5 ^ .1 .1 .1 0 1 цикл: scoreboard players set @a[scores={click=4},nbt={SelectedItem:{tag:{plrFind:1}}}] click 2 цикл: execute positioned 0 -100 0 run kill @e[tag=trigger,distance=..3] цикл: execute as @a at @s unless entity @e[tag=trigger,distance=..5] run scoreboard players set @s click 0 выдать сахар: /give @p sugar{plrFind:1,display:{Name:'{"text":"Глаз Бога","italic":false}'}} если допущена ошибка и что-то не работает – напиши
  3. из всего перечисленного, без использования дополнительных функций возможно реализовать только огненный шар: /summon fireball ^ ^1.6 ^.5 или /summon small_fireball ^ ^1.6 ^.5
  4. есть неплохой вариант для 1.21.2+ тебе для какой версии нужно?
  5. установи 2 нажимные плиты рядом, для каждой тимы, после чего впиши по 1 команде в командные блоки, находящиеся под блоком, на котором расположена плита execute if @p[team=(первая тима)] run tp @a[team=(первая тима)] ~ ~2 ~ execute if @p[team=(вторая тима)] run tp @a[team=(вторая тима)] ~ ~2 ~ вместо (первая тима); (вторая тима) впиши названия первой и второй команды
  6. для этого способа необходимо выкрутить непрозрачность фона на 0%, а для реализации нужен таймер на скорбордах. сообщение отправляется с большим количеством отступов над ним, перекрывая предыдущее такое же. создай задачу: /scoreboard objectives add timer dummy цикл: execute if score timer timer matches 2..42 run scoreboard players add timer timer 1 цепь: execute if score timer timer matches 42 run tellraw @a {"text":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nсообщение"} execute if score timer timer matches 42 run scoreboard players set timer timer 2 для того, чтобы скрыть: цикл: execute if score timer timer matches 1 run tellraw @a {"text":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"} цепь: scoreboard players reset timer timer команда для запуска: /scoreboard players set timer timer 2 команда для очистки и остановки: /scoreboard players set timer timer 1
  7. тебя устроит схема из 30 командных блоков?
  8. можно пойти более простым путём, заменив шерсть на удочки: создай задачу /scoreboard objectives add click minecraft.used:minecraft.carrot_on_a_stick введи команду в первый цикличный кб: execute as @a[scores={click=1..},nbt={SelectedItem:{tag:{destroy:1}}}] run fill 10 70 10 15 70 15 air replace grass_block во второй: execute as @a[scores={click=1..},nbt={SelectedItem:{tag:{place:1}}}] run fill 10 70 10 15 70 15 grass_block 10 70 10 15 70 15 – координаты области grass_block – блок заполнения теперь поставь к каждому цикличному кб условный цепной, как на скрине и введи в оба команду: scoreboard players reset @a[scores={click=1..}] click теперь чтобы заполнять и удалять область выбранных блоков, используй 2 удочки: /give @s carrot_on_a_stick{destroy:1,display:{Name:'{"text":"Удалить","color":"red","italic":false}'}} /give @s carrot_on_a_stick{place:1,display:{Name:'{"text":"Восстановить","color":"green","italic":false}'}}
  9. я бы сказал что это первые азы, как 2 + 2
  10. если нужен сложный, но точный способ, используй команды: execute as @a[x=10,y=70,z=10,dx=5,dy=5,dz=5] run setblock 15 70 13 redstone_block для открытия ворот execute unless entity @a[x=10,y=70,z=10,dx=5,dy=5,dz=5] run setblock 15 70 13 air replace redstone_block для закрытия ворот где x y z – координаты угла, крайней точки линии dx dy dz – отклонение от угла одной из линий, для настройки ширины, высоты и длины промежутка между ними unless entity – условие отсутствия игрока в промежутке между линиями, для исчезновения редстоун блока 15 70 13 – координаты установки редстоун блока, при пересечении выбранной линии, для активации механизма или командного блока таким образом, мы создаём кубическую область, при попадании игрока в которую открываются ворота, а при условии, что ни одного игрока нет в зоне, ворота закроются есть так же более простой, но менее точный способ: execute positioned 10 70 12.5 as @a[distance=..5] run setblock 15 70 13 redstone block execute positioned 10 70 12.5 unless entity @a[distance=..5] run setblock 15 70 13 air replace redstone_block где 10 70 12.5 это центр между 2 линиями ..5 – окружный радиус обнаружения игрока, 5 блоков от центра этот способ прост тем, что воддных данных меньше, но область не кубическая, а сферическая
  11. если лежит в сундуке, встань на него и введи команду: /data get block ~ ~-.5 ~ Items если предмет в руке, введи эту команду: /data get entity @s SelectedItem
  12. используй 2 активных цикличных блока, с этими командами: tag @e[type=item,nbt={PickupDelay:40s}] add dropped execute as @e[tag=!dropped,type=item,nbt={Item:{id:"minecraft:sand"}}] at @s if block ~ ~-1 ~ quartz_block run data modify entity @s Item.tag.CanPlaceOn set value ["minecraft:quartz_block"]
  13. custom npc мод можно и без модификации, через bd studio 1.19.4+
  14. по поесли это 1.19.4+ можешь поверх более прочного блока надеть текстуру нужного, используя block l_display, после чего удалить сущность и заменить дроп предмета /execute align xyz run summon block_display ~ ~ ~ {block_state:{Name:grass_block}} /execute as @e[type=block_display] at @s if block ~ ~ ~ air run data modify entity @e[type=item,limit=1,sort=nearest] Item.id set from entity @s block_state.Name /execute as @e[type=block_display] at @s if block ~ ~ ~ air run kill @s если же нужно убрать возможность разрушать определённые блоки, можешь растянуть на них сущность interactive, которая не даст взаимодействовать с покрытой зоной /execute align xyz run summon interactive ~ ~ ~ {width:5,height:5} width – ширина height – высота
  15. проще пареной репы. 1.13 - 1.21+ выброси рядом с собой нужные блоки, как предметы, в любом количестве, а затем заполни территорию песком так, чтобы он упал сверху и у тебя было время прописать следующую команду, до его падения, пример: /fill ~5 ~10 ~5 ~5 ~15 ~5 sand – 10 блоков над землёй затем пропиши эту команду до того, как песок упадёт, находясь рядом с выброшенными блоками: /execute as @e[type=falling_block] run data modify entity @s BlockState.Name set from entity @e[type=item,limit=1,sort=random,distance=..15] Item.id после приземления песка, каждый из его блоков превратится в случайный выброшенный блок. если в выбранных блоках окажется посторонний предмет, не являющийся блоком, то будет считаться как обычный песок
  16. попробуй использовать задачу с 2 игроками, где 1 это таймер промежутка, а 2 это сторона затем можешь закодить простеньки таймер, где по досижению опредённого числа, будет добавлять 1 очко в сторону и обнуляться, а по достижению 3 очков в счёте "Сторона" сбрасываться будет до 1. таким образом можно получить таймер, меняющий стороны для зигзага затем призови невидимую стойку и телепортируй её от координат жителя так, чтобы отрезок преодолённого телепортом пути, являлся промежутком пройденного жителем расстояния за 1 тик (1/20 секунды) телепортация должа происходить поочерёдно в 2 выбранные сотороны, и сменяться от счёта игрока "Сторона" после чего ты можешь использовать команду data чтобы скопировать позицию стойки в позицию жителя, для того, чтобы игра заставляла жителя ходить мне было лениво расписывать каждую команду и давать чёткие примеры, но хотел чем то помочь. задавай вопросы, если что-то не понял
  17. /data merge entity @e[type=text_display,limit=1,sort=nearest] {text:'{"text":"Счёт: ","score":{"objective":" (задача) ","name":" (игрок) "}}'} ("text":"Счёт: ") писать необязательно
×
×
  • Создать...