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

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


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

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

В 16.01.2023 в 15:33, pashasik228 сказал:
В 21.05.2021 в 20:15, AGreatScientist сказал:

execute as @a[nbt={Inventory={id:"stone",Count:10}}] run

 

17 часов назад, GhostoFBU сказал:

execute as @a[nbt={Inventory=[{id:"minecraft:stone",Count:10b}]}] run ...

жоска пон

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

мне очень нужна команда тип когда я держу именно в руке перо мне даётся еффект скорости 149 уровня а когда убираю перо из руки еффект пропадает! на 1 19 2!!!

 

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

В 20.01.2023 в 18:56, PARSIFALLL сказал:

мне очень нужна команда тип когда я держу именно в руке перо мне даётся еффект скорости 149 уровня а когда убираю перо из руки еффект пропадает! на 1 19 2!!!

 

effect give @a[nbt={SelectedItem:{id:"minecraft:feather"}}] minecraft:speed 1 149
effect clear @a[nbt=!{SelectedItem:{id:"minecraft:feather"}}] minecraft:speed
Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Здравствуйте, подскажите пожалуйста, как сделать так, чтобы когда у игрока, например, в инвентаре есть рычаг с названием "Ключ", то определëнные блоки превращаются в воздух (командой fill), а если этого рычага в инвентаре нет, то пишет: "Нужен ключ". Кстати, на версию 1.19.

Всë, не надо, сам всë сделал. 

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

  • 2 месяца спустя...

Йоу. Можно попросить помощи? Я тут пишу даттапак, и мне нужно, чтобы при получении предмета в инвентарь игроку выдавался тег, без разницы, оставался ли бы он в инвентаре или переходил в какие-либо модовые слоты фабрика, а также не убирался в случае косяков.

Я пока что делаю примерно следующим образом, но не выходит

 

/tag @a[gamemode=adventure,nbt={Inventory:[{id:"artifacts_2:backpack",tag:{CustomModelData:2},tag:{display:{Name:'{"text":"Ошейник"}'}}}]}] add ng-link

Так тоже не работает, хотя предмет с этими тегами имеется

/execute as @a[gamemode=adventure,nbt={Inventory:[{id:"artifacts_2:backpack",tag:{CustomModelData:2},tag:{display:{Name:'{"text":"Ошейник"}'}}}]}] run tag @s add ng-link

 

Разобрался. Проблема была в самом даттапаке, а также нужно было указать всё же Tag. Спасибо

 

Изменено пользователем HolyAir
Проблема решена
Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, HolyAir сказал:

Йоу. Можно попросить помощи? Я тут пишу даттапак, и мне нужно, чтобы при получении предмета в инвентарь игроку выдавался тег, без разницы, оставался ли бы он в инвентаре или переходил в какие-либо модовые слоты фабрика, а также не убирался в случае косяков.

Я пока что делаю примерно следующим образом, но не выходит
 

/tag @a[gamemode=adventure,nbt={Inventory:[{id:"artifacts_2:backpack",tag:{CustomModelData:2},tag:{display:{Name:'{"text":"Ошейник"}'}}}]}] add ng-link

 

записывать в скорборд возвращаемое значение выполнения команды /clear

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

20 минут назад, Shomen сказал:

записывать в скорборд возвращаемое значение выполнения команды /clear

У меня сейчас главная проблема даже не в этом. Предмет просто напросто не учитывается и ничего не происходит. Пишет просто - Сущность не найдена, даже когда я держу предмет artifacts_2:backpack{CustomModelData:2,display:{Name:'{"text":"Ошейник","italic":"false"}'}}

по идее же он должен быть виден селектором?

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

8 минут назад, HolyAir сказал:

У меня сейчас главная проблема даже не в этом. Предмет просто напросто не учитывается и ничего не происходит. Пишет просто - Сущность не найдена, даже когда я держу предмет artifacts_2:backpack{CustomModelData:2,display:{Name:'{"text":"Ошейник","italic":"false"}'}}

по идее же он должен быть виден селектором?

дай тег предмету и проверяй его через этот тег

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

3 минуты назад, Shomen сказал:

дай тег предмету и проверяй его через этот тег

всё также пишет, что сущность не обнаружена(

 

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

4 минуты назад, Shomen сказал:

/clear @s <предмет> 0 ?

Оно сработало и удалило все предметы, но при этом селектор не выдаёт тег... ват...

 

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

У меня проблема, как выполнить команду, когда на игрока надеты железные ботинки, потому что у меня не получается это правильно написать, через команду execute, на версию 1.19.4, можно подробно написать, чтобы я мох это скопировать, потому что я в этом не разбираюсь. Заранее спасибо    

Без имени.png

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

2 часа назад, Serhiy сказал:

Без имени.png

Спойлер

 

Ну судя по последнему выводу, вы не закрыли кавычки в Айди предмета и поставили лишнюю закрывающию фигурную скобку

 

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

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

Можно написать в виде команды, чтобы я мох эго скопировать, потому что я тупой и в этом не разбираюсь. Заранее спасибо

execute if entity @a[nbt={Inventory:[{Slot:100b,id:"minecraft:iron_boots"}]}]

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

  • 4 недели спустя...
В 14.04.2021 в 19:06, Drakon1505 сказал:

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

В этой команде можно заметить ! вот тут: @p[nbt=   !   {Inventory:. этот ! в коде играет роль " не ". то-есть в команде это звучит так: если у игрока в инвенторе НЕ есть камень то сделать что-то там. Чтобы убрать этот НЕ достаточно убрать этот ! и готово. если ты не понял что я сказала, то просто скопируй это, поидеи должно помочь:

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

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

7 часов назад, 1024Cats сказал:

В этой команде можно заметить ! вот тут: @p[nbt=   !   {Inventory:. этот ! в коде играет роль " не ". то-есть в команде это звучит так: если у игрока в инвенторе НЕ есть камень то сделать что-то там. Чтобы убрать этот НЕ достаточно убрать этот ! и готово. если ты не понял что я сказала, то просто скопируй это, поидеи должно помочь:

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

Если нету камня:
tellraw @a[nbt=!{Inventory:[{id:"minecraft:stone"}]}] {"text":"Нужен камень, чтобы открыть дверь","color":"yellow"}

Если есть камень:
execute if entity @a[nbt={Inventory:[{id:"minecraft:stone"}]}] run <открытие двери>

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

  • 1 месяц спустя...
В 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 - предмет, который должен быть у игрока в инвентаре
  • Нужен камень, чтобы открыть дверь - это сообщение будет выводиться игроку если у него нет указанного предмета

Я хочу что б команда работала только когда предмет в другой руке(типо,там где щит ставлят и тотем);что мне делать

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

Кто знает как сделать проверку на наличие предмета с тегом и при этом, чтобы он находился в определенном слоте в инвентаре игрока? 
типа, что то такого, но чтобы работало))) - execute as @p if data entity @p[{nbt={Inventory:{Slot:0b,tag:{strengthitem}}}] run scoreboard players add @s Strength 2

еще желательно сделать так, чтобы кол-во добавляемого к скорборду был равен NBT тегу, тоесть если тег предмета 1, то и к скорборду добавился бы 1.
(кстати я вообще не уверен, "tag" и  "NBT number tag" это одно и тоже?)

версия 1.19.4 

заранее - сильно благодарен! 

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

  • 2 месяца спустя...
В 06.02.2023 в 18:34, GGreenBoyy сказал:

Здравствуйте, подскажите пожалуйста, как сделать так, чтобы когда у игрока, например, в инвентаре есть рычаг с названием "Ключ", то определëнные блоки превращаются в воздух (командой fill), а если этого рычага в инвентаре нет, то пишет: "Нужен ключ". Кстати, на версию 1.19.

Всë, не надо, сам всë сделал. 

КАК???

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

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

Я хочу тем самым сделать ограничение по кол-ву доступных слотов в инвентаре

/execute if entity @p[nbt=!{Inventory:[{Slot:9b,id:"minecraft:barrier"}]}] run give @p[nbt=!{Inventory:[{Slot:9b,id:"minecraft:barrier"}]}] barrier 1

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

44 минуты назад, Mr.Wilons сказал:

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

Я хочу тем самым сделать ограничение по кол-ву доступных слотов в инвентаре

/execute if entity @p[nbt=!{Inventory:[{Slot:9b,id:"minecraft:barrier"}]}] run give @p[nbt=!{Inventory:[{Slot:9b,id:"minecraft:barrier"}]}] barrier 1

item replace @a[nbt=!{Inventory:[{Slot:9b,id:"minecraft:barrier"}]}] hotbar.8 with minecraft:barrier 1

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

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

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

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

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

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

Войти

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

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

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