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

Нужна помощь с очень специфической командой


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

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

(1.16.5-1.21.4)

хочу составить всего 1 команду, которая позволит выдать предмет с любой длинной nbt.

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

у  меня было несколько идей – вся суть была в призыве предмета через execute summon, а после вставка нужного nbt для предмета, из nbt книги, которую игрок держит в руках, через data modify. но не один не сработал.

вся проблема в том, что предмет нельзя создать, не указав ему необходимый nbt, чего нельзя сделать через execute summon item run data modify – сущность не создаётся в принципе.

так же была мысль призвать предмет, или сущность, после вставки nbt в который, сущность умрёт или пропадёт, мгновенно дропнув предмет, чтобы через 1 тик команда, создавшая сущность, могла его сразу изменить. здесь проблема заключается в том, что изменить я могу только 1 значение – Item, чего недостаточно, для работы способа.

Если использовать сущности, такие как облако эффекта, зелье, око эндера, жемчуг энера и прочие, не дропают предмет после исчезновения. предмет выпадет только после смерти сущности.

моя основная цель – получение предмета посредством клика на строчку в книге, при этом не используя большого количества сторонних команд. если есть способ, уместить сетап для правильной работы книги, в 1-2 команды в книги, то есть не используя командные блоки/датапаки/серверные моды, прошу поделиться идеями, насколько бы способы реализации не были сомнительными или костыльными.

вот как в теории я это представлял:

/execute summon item as @e[type=item,limit=1,sort=nearest] run data modify entity @s Item set from entity @p SelectedItem.nbt.items[1]

при помощи этой команде в книге, должен создаваться предмет, а после в его nbt тег Item дожна переноситься информация, из кастомного тега-массива, находящегося в книге, которую держит в руке исполнитель команды. на практике всё работает правильно, за исключением призыва непосредственно предмета.

вот пример массива инфорации, необходимых для копирования в пркдмет:

written_book{pages:['{"text":"display"}'],title:"Command-book",author:"nn",items:[{id:diamond_sword,Count:1b,nbt:{Enchantments:[{id:sharpness,lvl:3}]}},{id:diamond_pickaxe,Count:1b,nbt:{Enchantments:[{id:luck,lvl:3}]}},{id:diamond_shovel,Count:1b,nbt:{Enchantments:[{id:efficiency,lvl:3}]}}]}

здесь я прописал информацию о 3 предметах, в кастомный тег для книги, для его переноса в сущность предмета.

надеюсь кто-то найдёт время помочь!

писать можно сюда и в телеграмм

@PhoenixAlt

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

summon minecraft:item ~ ~ ~ {Item:{id:"minecraft:stone"},Tags:["new"]}
data modify entity @e[type=minecraft:item,tag=new,limit=1,sort=nearest] Item set from entity @p SelectedItem.nbt.items[1]
tag @e[type=minecraft:item,tag=new,limit=1,sort=nearest] remove new
Ссылка на комментарий
Поделиться на другие сайты

благодарю за внимание, что решился прочитать мой пост!

к сожалению, твоё решение не поможет получить предмет всего одной командой, хотя в этом основная суть.

я сразу написал, что команда специфичная, потому что скорее всего оптимального решения здесь нет. В любом случае, рад что ты обратил внимание!

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

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

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

Можно и лучше использовать функции

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

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

Можно и лучше использовать функции

суть уместить весь функционал в предмете, а не в мире или в файлах.

сам предмет легко получить через клиентский мод, в режиме гм, или через сохраненные предметы.

 

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

  • 1 месяц спустя...
15 часов назад, PhoenixTechu сказал:

up..?

что насчет трезубца?

/execute summon minecraft:trident store success entity @s pickup byte 1 run data modify entity @s item.id set from entity @p SelectedItem.id

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

В 06.01.2025 в 13:58, Shomen сказал:

что насчет трезубца?

/execute summon minecraft:trident store success entity @s pickup byte 1 run data modify entity @s item.id set from entity @p SelectedItem.id

чел, ты гений?? сколько лет у тебя опыта в команадах 😳🫣

спасибо большое за помощь!!!

я уже давно забыл, что через execute можно менять значения nbt/components

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

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

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