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

Помогите с командным блоком в майнкрафте (1.16.5):


Рекомендуемые сообщения

В теме 7 сообщений

Мне нужно чтобы когда игрока в команде 1 бьёт игрок в команде 2 при помощи палки, игроку в команде 1 выдавался эффект замедления, никак не получается, посмотрел гайды так ничего и не понял, помогите плз

Ссылка на комментарий
Поделиться на другие сайты

33 minutes ago, Dragoh said:

Мне нужно чтобы когда игрока в команде 1 бьёт игрок в команде 2 при помощи палки, игроку в команде 1 выдавался эффект замедления, никак не получается, посмотрел гайды так ничего и не понял, помогите плз

https://ru.minecraft.wiki/w/Система_счёта_игровых_событий
https://ru.minecraft.wiki/w/Статистика#Основная_статистика

Для такого нужна будет цепь командых блоков или, что лучше, функции в датапаках.
Я не нашёл скорборда на нанесение урона определённой команде, поэтому придётся ловить разницу урона в принципе.
Когда произошло обнаружение нанесения (или получения, смотря что удобнее) проверяем команды обоих сущностей, SelectedItem у атакующего и выдаём эффект.

Ссылка на комментарий
Поделиться на другие сайты

Для моего костыльного решения нужна цепочка командных блоков:

Цикличный, безусловный, всегда активен  Цепной, безусловный, всегда активен  Цепной, условный, всегда активен  Цепной, безусловный, всегда активен

image.png.0fca65048cd1ce128d6056fec2e17507.png

А также выполнить команду (Obj можно заменить на другое название):

scoreboard objectives add Obj trigger

Команда для 1-го КБ (где T1 это команда жертвы):

execute as @a[nbt={HurtTime: 10s}, scores={Obj=0}, team=T1] run trigger Obj set 1

Команда для 2-го КБ (где T2 это команда атакующего, а SelectedItem это нужный предмет):

execute as @a[scores={Obj=1}] on attacker run execute if entity @s[team=T2, nbt={SelectedItem: {id: "minecraft:stick"}}]

Команда для 3-го КБ (где ... это дальнейшие аргументы команды effect):

execute as @a[scores={Obj=1}] run effect give @s ...

Команда для 4-го КБ:

execute as @a[scores={Obj=1}] run trigger Obj set 0

Я сказал, что решение костыльное, т. к. команда выдачи эффекта исполняется несколько раз.

Плюс не забудь поставить :)

Ссылка на комментарий
Поделиться на другие сайты

15 часов назад, PhoenixTechu сказал:

execute on

2 часа назад, KlasterK сказал:
on attacker

На 1.16.5 нету /execute on

Решение через командные блоки:

# Создай задачи
scoreboard objectives add damage_dealt minecraft.custom:minecraft.damage_dealt
scoreboard objectives add damage_taken minecraft.custom:minecraft.damage_taken
 
# Цикл
execute as @a[scores={damage_taken=1..}] if entity @a[scores={damage_dealt=1..},nbt={SelectedItem:{id:"minecraft:stick"}}] run effect give @s minecraft:glowing 1
scoreboard players reset @a damage_dealt
scoreboard players reset @a damage_taken

 

Через дата пак (точность поиска больше):
Создай достижение (data/{namespace}/{advancements}/{advancement}):

{
  "criteria": {
    "": {
      "trigger": "minecraft:entity_hurt_player",
      "conditions": {
        "damage": {
          "source_entity": {
            "type": "minecraft:player",
            "equipment": {
              "mainhand": {
                "item": "minecraft:stick"
              }
            }
          }
        }
      }
    }
  },
  "rewards": {
    "function": "{namespace}:{function}"
  }
}

Функция (data/{namespace}/{functions}/{function}):

# Место для команд
effect give @s minecraft:glowing 1
 
# Отзываем достижение, чтобы можно было ещё раз затриггерить
advancement revoke @s from {namespace}:{advancement}
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, GhostoFBU сказал:

На 1.16.5 нету /execute on

да, понимаю, поэтому не смог дать решение. твой способ на кб максимально прост, но не уверен о его точности. в любом случае ты проделал отличную работу 🤩

Ссылка на комментарий
Поделиться на другие сайты

В 24.11.2024 в 22:42, PhoenixTechu сказал:

на самом деле это очень легко сделать через execute on

можно использовать достижение там это всё делается тоже достаточно просто

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...