Как сделать lore на предмете майнкрафт

Обновлено: 28.06.2024

Возможные Дата-тэги:

Inventory - Селектор, обозначающий, что мы ищем именно предмет в инвентаре, а не какую-либо сущность
SelectedItemSlot - Проверяем, выбрал ли игрок заданный слот (1-9 хотбар)
Slot - Проверяет слот на наличие предмета

Затем добавляем сам предмет:

tag - Селектор дополнительных тэгов
id - ID предмета
ench - Зачарование
display - Селектор отображения
Name - Имя предмета
Lore - Описание
Damage - Поврежденность предмета

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

Команду не тестил, может не работать! Если это так, пишите в комментарии.

После того как мы прописали команду /testfor в первый командный блок можем прописать в следующие командные блоки все, что захотите. Например, мой Нагрудник Левитации основан на /particle и /effect. Вы можете сделать что-то свое.

Что вышло: Эта команда проверяет, есть ли в первом слоте хотбара каменный меч. Если да, то передает сигнал.

Когда я делал свой Нагрудник Левитации, я использовал команды:

/patricle
/effect

Как это работает?

Если мы в воздухе (Проверяется командой /testforblock) то нам выдается эффект левитации на 1 секунду, и будет он выдаваться до тех пор, пока мы летаем. Чтобы опуститься я сделал систему с Shift'ом. Как это сделать:

Я добавил скорбоард - sneakTime, Допустим A
Затем сделал команду: /execute @p[score_A_min=1]

/effect @p levetation 0
Т.е. убрал эффект левитации.

Примерно так-вот и делаются новые вещи. Если вам что-то интересно либо я что-то не дописал, пишите в комментарии, я исправлю. Новость получилась не очень большой, так-как про новые предметы говорить особо нечего. Еще могу добавить, что ID зачарований предмета лучше ставить больше 100, тогда их не будет видно, и их можно будет использовать при крафте новых предметов.
На этом я закончу свой гайд.

Разносторонняя текстура блока [ ]

Я буду использовать следующие текстуры:

Для этого, добавьте такой код в тело класса:

И такой после конструктора класса:

Теперь в папку assets/ID мода/resources/textures/blocks/ добавьте файлы с таким именем: <То, что вы указали в скобках в конструкторе класса, в методе this.setBlockTextureName()>_<код стороны блока>

И ещё такой код:

В игре блок будет выглядеть так:

Блок с разностороней текстурой в игре.jpg

Блок с Разносторонней текстурой (Вид сзади).jpg

Обновление ForgeGradle [ ]

Forge отделён от ForgeGradle, поэтому если вы попытаетесь обновиться на версию Forge, которая использует более новой ForgeGradle, вы получите ошибки. Вот таблица версия Forge, и какие версии ForgeGradle он использует.

ForgeGradle Forge
- 959<, 965
1.0 960-964
1.1 967-1047
1.2 1048+

Удалите папку .gradle, которая находится в папке, куда вы разархивировали Forge. Теперь, откройте файл build.gradle (который находится там же). Найдите такую строку:

В 1.x-SNAPSHOT, поменяйте 1.x на нужную версию ForgeGradle. Сохраните файл и откройте командную строку. Повторно введите команды, которые вы использовали при установке Forge. ForgeGradle обновит все нужные файлы.

Форматирование

Цветовое форматирование

Текстовое форматирование

Изменить lore предмета в окне результата крафта

У меня есть итем с энергией. Заряжаю я его крафтом со слитками. При крафте перехватываю нбттэг, увеличиваю в нем кол-во энергии на какое-то количество (не полное) и кидаю в итем на выходе.


В классе предмета визуализация кол-ва энергии реализуется так. Но на выходе я вижу такое:


Мне нужно в код выше вставить процедуру, которая будет писать не 1200/1200, а столько, сколько получится. Один слиток добавляет 400. Если у предмета оставалось 200, то в окне выхода должно быть написано 600/1200. Как подсчитать - ежу понятно. Непонятно, как определить в процедуре AddInformation, что мышка наведена именно на слот выхода крафта. Подскажите, пожалуйста.

Пример

Следующий текст можно вставить в книгу с пером, чтобы создать то, что показано на картинке:

Интеллект для моба [ ]

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

Теперь в конструктор класса добавьте следующий код:

Интеллект Описание
Swimming Может ли существо плавать?
AttackOnCollid Базовый тип атаки, который используют зомби и пауки.
Wander Существо будет ходить вокруг, когда никого не атакует.
WatchClosest Ищет назначенное существо на заданном расстоянии.
LookIdle Существо будет осматриваться, просто стоя.
HurtByTarget Сделает целью какого-либо моба, который его ударил.
NearestAttackableTarget Ищет любое существо, которое подходит по второму параметру.

Создание брони [ ]

Создание брони немного отличается от создания обычных предметов, точнее имеет свои особенности. Приступим.

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

Шлем, нагрудник, штаны и ботинки соответственно. Теперь описываем эти переменные с помощью универсального класса. Естественно внутри метода preLoad()

С главным классом работа окончена.

Теперь щелкаем по одной из ошибок и создаём новый класс BestArmor. Теперь «продолжаем» класс ItemArmor, то есть пишем extends ItemArmor после названия класса. Теперь в тело класса вставляем следующее:

Что ж, давайте разбираться.

Первая переменная, просто обозначает начало пути к текстуре брони. Все нужные текстуры можно спокойно извлечь из майнкрафта и отредактировать по желанию. Вот мои отредактированные текстуры:

Давайте дальше разбираться с кодом: следующим идёт метод BestArmor(), в который мы посылаем из главного класса параметры id и armorType. Напомню: от armorType зависит, какая это часть брони. В нём мы посылаем информацию о том, какой материал брони. Я написал, что броня будет аналогична алмазной, но можно создать свой материал для брони и вписать его. Далее мы настраиваем вкладку в креативе. Потом мы ограничиваем максимальное количество данного предмета в одной стопке до одного, чтобы броня не «стакалась». В конце концов мы вызываем созданный нами метод setTextureName()

Последний же метод перезаписывает метод супер-класса и указывает Майнкрафту, что должна грузиться текстура по пути texturePath, который предварительно был отредактирован во втором методе.

Теперь можно запускать игру и убивать мобов в новых блестящих доспехах!

Minecraft Wiki

Из-за новой политики Microsoft в отношении сторонних ресурсов, Minecraft Wiki больше не является официальной. В связи с этим были внесены некоторые изменения, в том числе и обновлён логотип вики-проекта. Подробности на нашем Discord-сервере.

Дроп определённого предмета при разрушении блока [ ]

Всё очень просто. В конец класса созданного вами блока (перед последней фигурной скобкой) вставьте это:

То есть теперь при разрушении вашего блока из него выпадет алмаз. Вы можете написать, чтоб выпадало что угодно. Просто вместо return Items.diamond; напишите « return Item.getItemFromBlock(Blocks.); » (для блоков) или « return Items.; » (для предметов), а после ввода вами точки выпадет список возможных предметов или блоков.

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

Тогда при разрушении выпадет 20 выбранных вами предметов или блоков. Всё очень легко и просто!

Содержание

Форматирование текста

Для форматирования текста в Minecraft используются коды форматирования. Каждый код форматирования начинается с символа § . Для его ввода нужно нажать Alt + 21 .

  • текст в чате;
  • текст в книге с пером;
  • текст в файлах локализации (пример тому название фиолетового цвета у золотого яблока, зачарованного золотого яблока);
  • текст на табличках;
  • описание сервера;
  • название мира;
  • название предметов;
  • описание предметов (Lore);
  • имена сущностей.

По умолчанию в игре форматировать можно только текст в книге с пером. Для этого нужно скопировать символ § , вставить в книгу, ввести нужный символ и написать то, что вы хотите. Некоторые модификации, программы (например, MCEdit) и плагины (например, Essentials) позволяют форматировать текст также в чате, на табличках и в любых других возможных местах.

Генерация предметов в контейнерах натуральных структур [ ]

Итак, вы можете сделать так, чтобы ваш, или любой другой предмет/блок генерировался в сундуках сокровищницы. Для этого в методе preLoad() в главном классе вставьте следующее:

Разберемся в параметрах:

Обновление Forge [ ]

Чтобы обновить версию Forge, на который вы создаёте моды, необязательно всё перекачивать.

Достаточно просто изменить build.gradle Так что если хотите обновить Forge откройте его любым редактором и найдите строчку

Там будет написана версия Forge, которая у вас сейчас, соответственно вам нужно всего лишь изменить значение на новое. Измените его на версию, до которой хотите обновить Forge (например на 1.7.2-10.12.0.1012) и сохраните файл. Далее запустите gradlew.bat с командой eclipse (то есть запустить bat-файл с кодом gradlew.bat eclipse ) и после завершения его работы ваша версия Forge обновлена!

Свой скин при моддинге [ ]

Внимание! Этот способ работает только на лицензионной версии Minecraft.

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

Свой материал для инструмента [ ]

Допустим вы хотите, чтобы ваш инструмент обладал свойствами не железной/алмазной кирок из майнкрафта, а собственными.

Тогда где-нибудь(вы можете где угодно написать эту строку, главное, чтоб можно было вызвать.), например в главном классе вне каких либо методов (то есть можно перед последней фигурной скобкой) напишите:

Не забудьте про импорт. Давайте разберемся: static означает, что переменная NEWMAT типа ToolMaterial доступна из других классов. Затем приравнивается значению, которое и даст вашей кирке определённые свойства. Теперь об аргументах, перечисленных через запятую:

Теперь можно придать какому-нибудь инструменту эти свойства, для этого в инструменте (например в нашей кирке) измените super(ToolMaterial.EMERALD); на super(BaseMyBestMod.NEWMAT); В таком случае вы отправляете в супер-класс инструмента информацию о том, что свойства описаны переменной NEWMAT типа ToolMaterial, которая описана в классе BaseMyBestMod (или любой другой класс, где она написана).

Вот и всё, свойства инструмента изменены.

Создание модификаций с помощью Forge/1.7+/Дополнительные уроки

Здесь представлены основные уроки по созданию модификаций с помощью Forge/1.7+. Остальную информацию по данной теме смотрите в соответствующей статье.

Локализация названий в игре [ ]

Теперь скопируйте файл, и назовите копию ru_RU.lang (собственно русский перевод). Внутри него измените название на русское, например

Теперь оба этих файла можете перетащить в заранее созданную assets.mybestmod.lang При переносе выберите Copy files.

Чтобы локализировать вкладки в режиме творчество добавьте такой код:

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

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

Атрибуты для моба [ ]

Параметр Описание
maxHealth Максимальное здоровье
followRange Дистанция, на которой моб будет преследовать кого-либо
knockbackResistance Сопротивление к отбрасыванию
movementSpeed Скорость движения
attackDamage Сила атаки

Собственная вкладка в Творческом режиме [ ]

Для этого добавьте такой код в тело класса:

«ModID» заменяем на любое число. Рекомендую ID больше 11 (12 ID сразу на следующей странице творческого инвентаря).

Потом создайте класс TutorialTab. Если всё правильно, то ваш класс будет иметь extends CreativeTabs до первой фигурной скобки. Теперь добавьте этот метод в ново-созданный класс:

Для того что бы добавить что либо из вашего мода в собственную вкладку пишем:

Содержание

Свой материал для брони [ ]

Почти не отличается от создания собственного материала для инструмента.

В главном классе в любом месте, но вне каких-либо методов пишем:

Затем импортируем ArmorMaterial. Теперь разберём:

Вот и все. Теперь можно использовать этот материал для брони, например заменив ArmorMaterial.DIAMOND на BaseMyBestMod.BESTMAT

Читайте также: