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

Как выполнять команду когда у игрока в инвентаре предмет


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

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

Как выполнять команду когда у игрока в инвентаре предмет

  1. Ставим [Цикличный] [Нужен сигнал] командный блок и вставляем команду:
    /execute if entity @p[nbt=!{Inventory:[{id:"minecraft:stone"}]}] run tellraw @p[nbt=!{Inventory:[{id:"minecraft:stone"}]}] {"text":"Нужен камень, чтобы открыть дверь","color":"yellow"}
  2. Подключить [Цепной] [Всегда активен] командный блок и написать команду,
    которая будет выполняться когда у игрока будет нужный предмет (например: 
    /say Тест)
     
  • Механизм начинает искать предмет у ближайшего игрока при нажатии на кнопку

Разбор команды:

  • minecraft:stone - предмет, который должен быть у игрока в инвентаре
  • Нужен камень, чтобы открыть дверь - это сообщение будет выводиться игроку если у него нет указанного предмета
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
10.04.2020 в 03:08, ZverTNT сказал:

Как выполнять команду когда у игрока в инвентаре предмет

  1. Ставим [Цикличный] [Нужен сигнал] командный блок и вставляем команду:
    /execute if entity @p[nbt=!{Inventory:[{id:"minecraft:stone"}]}] run tellraw @p[nbt=!{Inventory:[{id:"minecraft:stone"}]}] {"text":"Нужен камень, чтобы открыть дверь","color":"yellow"}
  2. Подключить [Цепной] [Всегда активен] командный блок и написать команду,
    которая будет выполняться когда у игрока будет нужный предмет (например: 
    /say Тест)
     
  • Механизм начинает искать предмет у ближайшего игрока при нажатии на кнопку

Разбор команды:

  • minecraft:stone - предмет, который должен быть у игрока в инвентаре
  • Нужен камень, чтобы открыть дверь - это сообщение будет выводиться игроку если у него нет указанного предмета

а с командой setblock как?

 

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

49 минут назад, ilya606505 сказал:

а с командой setblock как?

 

Нужную тебе команду ставь вместо /say Тест

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

  • 4 недели спустя...
31.05.2020 в 12:40, Itallium38rus сказал:

А как проверить предмет что в руке у игрока в не в инвентаре

Сори, я не помню какой Слот у руки(где-то в инете есть), но можно написать

{Inventory:[{Slot:0b,id:"minecraft:diamond"}]}
проверка на 1 Слот- алмаза

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

31.05.2020 в 16:40, Itallium38rus сказал:

А как проверить предмет что в руке у игрока в не в инвентаре

/execute if entity @p[nbt=!{SelectedItem:{id:"minecraft:stone"]}] run tellraw @p[nbt=!{SelectedItem:{id:"minecraft:stone"]}] {"text":"Нужен камень, чтобы открыть дверь","color":"yellow"} Вместо Inventory тут SelectedItem (Я просто отредактировал команду выше)

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

  • 2 недели спустя...
10.04.2020 в 03:08, ZverTNT сказал:

Как выполнять команду когда у игрока в инвентаре предмет

  1. Ставим [Цикличный] [Нужен сигнал] командный блок и вставляем команду:
    /execute if entity @p[nbt=!{Inventory:[{id:"minecraft:stone"}]}] run tellraw @p[nbt=!{Inventory:[{id:"minecraft:stone"}]}] {"text":"Нужен камень, чтобы открыть дверь","color":"yellow"}
  2. Подключить [Цепной] [Всегда активен] командный блок и написать команду,
    которая будет выполняться когда у игрока будет нужный предмет (например: 
    /say Тест)
     
  • Механизм начинает искать предмет у ближайшего игрока при нажатии на кнопку

Разбор команды:

  • minecraft:stone - предмет, который должен быть у игрока в инвентаре
  • Нужен камень, чтобы открыть дверь - это сообщение будет выводиться игроку если у него нет указанного предмета

Слушай, а как проверить на количество блоков в инвентаре.
К примеру, чтобы он открыл дверь, если у тебя есть 10 блоков камня?

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

 

20 часов назад, Rusli_kru сказал:

Слушай, а как проверить на количество блоков в инвентаре.
К примеру, чтобы он открыл дверь, если у тебя есть 10 блоков камня?

execute as @a if entity @s[nbt={Inventory:[{id:"minecraft:stone",Count:10b}]}] run say 10 камня

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

10.04.2020 в 03:08, ZverTNT сказал:

Как выполнять команду когда у игрока в инвентаре предмет

  1. Ставим [Цикличный] [Нужен сигнал] командный блок и вставляем команду:
    /execute if entity @p[nbt=!{Inventory:[{id:"minecraft:stone"}]}] run tellraw @p[nbt=!{Inventory:[{id:"minecraft:stone"}]}] {"text":"Нужен камень, чтобы открыть дверь","color":"yellow"}
  2. Подключить [Цепной] [Всегда активен] командный блок и написать команду,
    которая будет выполняться когда у игрока будет нужный предмет (например: 
    /say Тест)
     
  • Механизм начинает искать предмет у ближайшего игрока при нажатии на кнопку

Разбор команды:

  • minecraft:stone - предмет, который должен быть у игрока в инвентаре
  • Нужен камень, чтобы открыть дверь - это сообщение будет выводиться игроку если у него нет указанного предмета

С этой командой кстати две проблемы есть:
1. Она работает только на ближайшего игрока.
2. Она два раза использует одинаковый селектор.
3. Первая команда работает только на игроков БЕЗ камня, а вторая тупо будет работать, пока работает первый КБ

Вот лучше версия:

execute as @a if entity @s[nbt={Inventory:[{id:"minecraft:stone"}]}] run say Тут твоя команда

 

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

  • 1 месяц спустя...
15.06.2020 в 11:58, shurik204 сказал:

А на каких версиях это работает? Я с кб только недавно столкнулся, делаю все на версии 1.12.2, у меня цикличный кб вообще пропускает команду и выполняет "/say Тест" при любом раскладе, неважно есть ли у меня в инвентаре камень или нетС этой командой кстати две проблемы есть:
1. Она работает только на ближайшего игрока.
2. Она два раза использует одинаковый селектор.
3. Первая команда работает только на игроков БЕЗ камня, а вторая тупо будет работать, пока работает первый КБ

Вот лучше версия:


execute as @a if entity @s[nbt={Inventory:[{id:"minecraft:stone"}]}] run say Тут твоя команда

 

А на каких версиях это работает? Я с кб только недавно столкнулся, делаю все на версии 1.12.2, у меня цикличный кб вообще пропускает команду и выполняет "/say Тест" при любом раскладе, неважно есть ли у меня в инвентаре камень или нет

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

4 часа назад, Fevork сказал:

А на каких версиях это работает? Я с кб только недавно столкнулся, делаю все на версии 1.12.2, у меня цикличный кб вообще пропускает команду и выполняет "/say Тест" при любом раскладе, неважно есть ли у меня в инвентаре камень или нет

1.12.2 кривая версия.

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

  • 6 месяцев спустя...
15.06.2020 в 08:58, shurik204 сказал:

С этой командой кстати две проблемы есть:
1. Она работает только на ближайшего игрока.
2. Она два раза использует одинаковый селектор.
3. Первая команда работает только на игроков БЕЗ камня, а вторая тупо будет работать, пока работает первый КБ

Вот лучше версия:


execute as @a if entity @s[nbt={Inventory:[{id:"minecraft:stone"}]}] run say Тут твоя команда

 

а как по названию предмета?

 

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

9 часов назад, TheNanoVirus сказал:

а как по названию предмета?

 

после stone",Count:1b,tag:{dispay и чё-то там дальше.

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

  • 2 месяца спустя...
14.04.2021 в 19:06, Drakon1505 сказал:

а как сделать так что би команда делала что если она нашла нужний предмет то писал текст

/execute if entity @a[nbt={SelectedItem:{id:"нужный предмет"}}] run твоя команда

Думаю, так

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

  • 1 месяц спустя...

Как сделать, чтобы команда выполнялась в случае, если у игрока больше или равно определённого количества предметов в инвентаре? Например больше или равно 10

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

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

Как сделать, чтобы команда выполнялась в случае, если у игрока больше или равно определённого количества предметов в инвентаре? Например больше или равно 10

можно через execute store либо через предикаты

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

20.05.2021 в 14:05, Mysterious_Human сказал:

можно через execute store либо через предикаты

А можно пожалуйста пример? А то я не совсем понимаю как это сделать

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

Либо же как выглядит команда, которая удаляет определенное количество предметов из инвентаря? (/clear не подходит, т.к. она удаляет принудительно к примеру 10 предметов, даже если в инвентаре 1-9 предметов, а нужно, чтобы удалялось 10 предметов, только если в инвентаре 10 и больше этих предметов)

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

20.05.2021 в 13:02, nigihiami сказал:

Как сделать, чтобы команда выполнялась в случае, если у игрока больше или равно определённого количества предметов в инвентаре? Например больше или равно 10

execute as @a[nbt={Inventory={id:"stone",Count:10}}] run команда

Если равно или больше, то не знаю

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

Только что, AGreatScientist сказал:

execute as @a[nbt={Inventory={id:"stone",Count:10}}] run команда

Если равно или больше, то не знаю

Проблема этой команды в том, что условие выполняется, если в инвентаре конкретно лежит 10 предметов. Например если их 64, то команда не сработает. Для работы приходится 10 блоков перекладывать в отдельный слот

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

37 минут назад, nigihiami сказал:

Проблема этой команды в том, что условие выполняется, если в инвентаре конкретно лежит 10 предметов. Например если их 64, то команда не сработает. Для работы приходится 10 блоков перекладывать в отдельный слот

Так Count убираешь и усе

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

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

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

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

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

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

Войти

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

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

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