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

Как отследить выполнение команды для исполнителя (Java) ?


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

В теме 2 сообщения

/execute if block (x y z) minecarft:(block) run give @p minecraft:(item)

Довольно поверхностный пример, но на нем можно объяснить. Грубо говоря, если соблюдается выполнение условия, то выполняется команда. Как мне отследить и вознаградить ИМЕННО ТУ СУЩНОСТЬ, которая выполнила условия? Например, если игрок убьет моба с тегом, то именно ему дадут алмаз, а не кому-то другому. В одиночном режиме понятно - @p, а что касается сетевой? Он ведь может оказаться не ближайшим игроком.

Как мне прописать, чтобы при выполнении условий конкретным игроком (Фильтровать по нику тоже слабо подходит, ведь там нужно будет указывать далее селекторы, которые не всегда можно заменить ником) именно для него, и только для него выполнялась команда? Надеюсь, понятно сформулировал.

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

Для данного случая нужно использовать дата паки, а в них уже достижение с условием:
 

{
  "criteria": {
    "player_killed_entity": {
      "trigger": "minecraft:player_killed_entity",
      "conditions": {
        "entity": {
          "type": "minecraft:zombie",
          "nbt": "{Tags:[\"TAG\"]}"
        }
      }
    }
  },
  "rewards": {
    "function": "minecraft:player_killed_zombie"
  }
}

Если достижение достигнуто, то выполняется функция minecraft:player_killed_zombie
https://misode.github.io/advancement/

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

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

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

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

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

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

Войти

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

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

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