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

нужна команда для экипировки брон


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

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

короче у меня есть мод и мне нужно сделать так чтобы при одевании шлема одевалась сразу вся бронька типо поножи нагрудник и ботинки но как это реализовать?

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

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

смотря какая броня и откуда. сформулируй правильно просьбу.

броня из мода Fallout Inspired Power Armor версия 1.18.2 forge мне нужна такая команда чтобы при надевании шлема из этого мода надевалась сразу вся броня 

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

крч я сделал на 90%, но всплыли подводные камни:

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

upload_2025_02_03_22_51_57_127.jpg

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

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

смотря какая броня и откуда. сформулируй правильно просьбу.

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

6 минут назад, PhoenixTechu сказал:

крч я сделал на 90%, но всплыли подводные камни:

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

upload_2025_02_03_22_51_57_127.jpg

 

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

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

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

/setblock 0 -64 0 chest

цикл:

execute as @a[nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"}] run data modify storage inv Inventory set from entity @s Inventory

цепь:

item replace block 0 -64 0 container.0 with stone

execute as @a[nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"}] run clear @s iron_chestplate 1

data modify storage inv Inventory[{id:"minecraft:iron_chestplate"}].Slot set value 0b

data modify block 0 -64 0 Items[{Slot:0b}] set from storage inv Inventory[{Slot:0b}]

execute as @a[nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"}]},nbt=!{Inventory:[{Slot:102b}]}] run item replace entity @s armor.chest from block 0 -64 0 container.0

схема

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

 

ДЛЯ КАЖДОГО НОВОГО ПРЕДМЕТА:

зелёный – измени на полное айди шлема из мода

F3 + H

 

оранжевый – измени на полное айди необходимого предмета из мода, в зависимости от слота:

102b – нагрудник

101b – поножи

100b – ботинки

 

розовый – измени название слота на надеваемый предмет:

armor.chest 102b – нагрудник

armor.legs 101b – поножи

armor.feet 100b – ботинки

 

жёлтый – отдельно для каждого нового предмета, должен быть свой уникальный слот, прибавляй +1 (Slot:1b,Slot:2b,Slot:3b,Slot:4b,Slot:5b...)

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

/setblock 0 -64 1 chest

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

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

/setblock 0 -64 0 chest

цикл:

execute as @a[tag=equipment,nbt=!{Inventory:[{Slot:103b}]}] run tag @s remove equipment

execute as @a[tag=!equipment,nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"},{id:"minecraft:iron_chestplate"}]},nbt=!{Inventory:[{Slot:102b}]}] run data modify storage inv Inventory set from entity @s Inventory

цикл:

execute as @a[tag=!equipment,nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"},{id:"minecraft:iron_chestplate"}]},nbt=!{Inventory:[{Slot:102b}]}] run clear @s iron_chestplate

цепь:

data modify storage inv Inventory[{id:"minecraft:iron_chestplate"}].Slot set value 0b

data modify block 0 -64 0 Items[{Slot:0b}] set from storage inv Inventory[{Slot:0b}]

execute as @a[tag=!equipment,nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"},{id:"minecraft:iron_chestplate"}]},nbt=!{Inventory:[{Slot:102b}]}] run item replace entity @s armor.feet set with block 0 -64 0 container.0

execute as @a[tag=!equipment,nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"},{id:"minecraft:iron_chestplate"}]},nbt=!{Inventory:[{Slot:102b}]}] run tag @s add equipment

data remove storage inv Inventory

бро можешь скинуть подробную схему а то я не понимаю в каком порядке сувать блоки

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

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

бро можешь скинуть подробную схему а то я не понимаю в каком порядке сувать блоки

смотри, тебе нужно 3 таких колбасы на 1 комплект брони, для каждого нового предмета прописывай на месте "minecraft:iron_helmet", "minecraft:iron_chestplate" полное айди нужных комплектов брони, чтобы узнать айди нажми f3 + h и наведи на предмет, в описантт будет полный айди. не забудь так же для каждой новой колбасы изменять Slot:0 на новый, допустим Slot:1

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

Slot:102b – это нагрудник

Slot:101b – поножи

Slot:100b – ботинки

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

38 минут назад, PhoenixTechu сказал:

execute as @a[tag=!equipment,nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"},{id:"minecraft:iron_chestplate"}]},nbt=!{Inventory:[{Slot:102b}]}] run item replace entity @s armor.chest set with block 0 -64 0 container.0

напутал с этой командой, исправь её, если уже успел вписать 

42 минуты назад, PhoenixTechu сказал:

execute as @a[tag=!equipment,nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"},{id:"minecraft:iron_chestplate"}]},nbt=!{Inventory:[{Slot:102b}]}] run clear @s iron_chestplate 1

вот тут ещё забыл 1 написать

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

 

47 минут назад, LemonFresh сказал:

бро можешь скинуть подробную схему а то я не понимаю в каком порядке сувать блоки

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

Screenshot_20250125-031555.jpg.cd059306675c37514c80c3f5815be681.jpg

вот как здесь

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

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

смотри, тебе нужно 3 таких колбасы на 1 комплект брони, для каждого нового предмета прописывай на месте "minecraft:iron_helmet", "minecraft:iron_chestplate" полное айди нужных комплектов брони, чтобы узнать айди нажми f3 + h и наведи на предмет, в описантт будет полный айди. не забудь так же для каждой новой колбасы изменять Slot:0 на новый, допустим Slot:1

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

Slot:102b – это нагрудник

Slot:101b – поножи

Slot:100b – ботинки

все работает спасибо

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

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

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

52 минуты назад, PhoenixTechu сказал:

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

ты куда это скинул?

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

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

ты куда это скинул?

 

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

цикл:

execute as @a[nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"}] run data modify storage inv Inventory set from entity @s Inventory

цепь:

item replace block 0 -64 0 container.0 with stone

execute as @a[nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"}] run clear @s iron_chestplate 1

data modify storage inv Inventory[{id:"minecraft:iron_chestplate"}].Slot set value 0b

data modify block 0 -64 0 Items[{Slot:0b}] set from storage inv Inventory[{Slot:0b}]

execute as @a[nbt={Inventory:[{Slot:103b,id:"minecraft:iron_helmet"}]},nbt=!{Inventory:[{Slot:102b}]}] run item replace entity @s armor.chest from block 0 -64 0 container.0

 

upload_2025_02_04_21_12_53_401.jpg

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

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

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

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

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

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

Войти

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

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

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