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

Ty0wl

Пользователи
  • Постов

    3
  • Зарегистрирован

  • Посещение

Информация

  • Пол
    Мужчина

Контакты

  • Логин на сайте
    Ty0wl

Посетители профиля

212 просмотра профиля

Достижения Ty0wl

  1. Здесь я хочу поделиться тем, как можно реализовать использование предметов по нажатию ПКМ на новых версиях с компонентами. 1) Прописываем команду: /scoreboard objectives add *название счётчика* minecraft.used:carrot_on_a_stick Эта команда будет отсчитывать в специальном счётчике все использования моркови на удочке при нажатии ПКМ. Команда прописывается единожды для мира. 2) Для удобства отслеживания прописываем: /scoreboard objectives setdisplay sidebar *название счётчика* Данная команда будет отображать ваш счётчик в правой стороне экрана. Можно и не прописывать. 3) Выдаём себе удочку: /give @s carrot_on_a_stick[custom_data={foo:*число*}] Указание пользовательской даты позволит отличить в дальнейшем эту удочку от обычной. Можно использовать совместно с custom_model_data. 4) Ставим цикличный командный блок, который будет всегда активен. В нём прописываем: /execute as @a at @s if score @s *название счётчика* matches 1 if entity @s[nbt={SelectedItem:{id:"minecraft:carrot_on_a_stick",components:{"minecraft:custom_data":{foo:*число*}}}}] run ... (вместо троеточия ваша команда, можно, например, give @s diamond) 5) Теперь ставим следом за ним цепной командный блок, тоже всегда активен и прописываем: /scoreboard players set *название счётчика* 0 Название счётчика может быть любое, как и число, главное, чтобы в цепочке команд оно было одно и тоже. Важно! Если вы захотите присвоить новой удочке новую команду, вам нужно выдать себе удочку с другим числом в пользовательской дате и поставить ещё один командный блок, заполнив его также, как в пункте 4, только непосредственно изменив команду и число. При этом важно отследить, чтобы команда сброса счётчика происходила после воспроизведения команд проверок. На этом всё! Теперь каждый раз при нажатии ПКМ, когда у вас в руке будет находится особенная удочка с морковкой вы сможете воспроизводить необходимую команду.
  2. Для интересующихся этой проблемой: на версиях Optifine HD U J3 pre1 - Optifine HD U J3 pre3 CIT не работает, данные версии являются пре-релизами, поэтому есть баги, но думаю к релизу починят. Так что пока лучше пользоваться версией Optifine для 1.21.3 или изучать Custom model textures
  3. Хочу сделать ресурспак на 1.21.4, который менял бы текстуру предмета в зависимости от его имени. Раньше Optifine поддерживал эту функцию через проверку nbt тэгов, но в новых версиях от системы nbt у предметов отказались и заменили их на components, я знаю, что компоненты можно проверять через /data get, но и это сильно не помогает, перерыл документацию Optifine, там предлагают использовать components.custom_name=*компонент*, я пробовал следующие варианты: components.custom_name=raw:'[{"text":"Test","italic":false}]' components.custom_name=ipattern:*Test* components.custom_name=Test components.custom_name="Test" components.custom_name={"text":"Test","italic":false} аналогичные варианты и через components.minecraft\:custom_name (по сути просто другой способ ввода компонента для проверки) Если честно до сих пор не очень понятно что не так, если кто-то разбирается, то буду рад помощи!
×
×
  • Создать...