Как добавить предмет в майнкрафт

Обновлено: 16.05.2024

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

Обновление 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 обновит все нужные файлы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Все Чит коды на Майнкрафт, команды в чат [1.17] [1.16.5] [1.12.2] [1.7.10]

Все читерские коды на Minecraft, здесь перечислены все команды и коды которые позволяют получать в майнкрафте разные преимущества, включить режим креатива, изменить день\ночь, выключить дождь, получить предметы и многое другое.

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

Для ввода команды откройте чат - клавиша T

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

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

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

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

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

Для Minecraft 1.7.10-1.12.2:

  • /gamemode survival или creative или adventure - позволяет включить другой режим игры, survival - Выживание, creative - Креатив, adventure - приключенческий.
    В режиме креатива вы бессмертны, можете летать, а в инвентаре у вас все существующие блоки.
  • /time set day - включить день
  • /time set night - включить ночь
  • /xp 100 - получить 100 опыта (число можно менять).
  • /xp Игрок 100 - дать игроку 100 опыта.
  • /weather clear - выключает дождь\снег.
  • /weather rain - включает дождь\снег.
  • /toggledownfal - переключает погоду с одной на другую, с ясной на дождливую например.
  • /tp [ник игрока 1] [ник игрока 2] - позволяет телепортировать игрока 1 к игроку 2
  • /tp [игрок] [x] [y] [z] - телепортировать игрока по координатам x,y,z
  • /spawnpoint [имя игрока] [x] [y] [z] - позволяет указать точку спавна игрока в мире, если ккординаты x,y,z не указаны, то точкой станет то место где вы стоите.
  • /setworldspawn - установит точку спавна для всех игроков
  • /effect [имя игрока] [эффект] [длительность] [уровень] - позволяет наложить определенный эффект на игрока.
    Пример: /effect Anton 25 100 5 - наложит на игрока Anton эффект левитации на 100 секунд с силой 5.

Некоторые эффекты могут не работать на старых версиях игры.
1 - скорость
2 - замедление
3 - спешка
4 - усталость
5 - сила
6 - исцеление
7 - моментальный урон
8 - прыгучесть
9 - тошнота
10 - регенрация
11 - сопротивление
12 - огнестойкость
13 - подводное дыхание
14 - невидимость
15 - слепота
16 - ночное зрение
17 - голод
18 - слабость
19 - отравление
20 - иссушение
21 - прилив здоровья
22 - поглощение
23 - насыщение
24 - свечение
25 - левитация
26 - удача
27 - невезение
28 - медленное падение (1.13+)
29 - морская сила (1.13+)
30 - дельфинья грация (1.13+)

Для любой брони:
0 - защита
1 - огнеупорность
3 - взрывоустойчивость
4 - защита от снарядов
7 - шипы
70 - починка
34 - прочность
Для ботинок:
2 - невесомость
Для шлема:
5 - подводное дыхание
6 - подводник
7 - подводная ходьба
9 - ледяная поступь

Для оружия:
16 - острота (меч, топор)
17 - небесная кара (меч, топор)
18 - бич членистоногих (меч, топор)
19 - отдача (меч)
20 - заговор огня (меч)
21 - добыча (меч)
22 - разящий клинок (меч)
34 - прочность
48 - сила (лук)
49 - откидывание (лук)
50 - горящая стрела (лук)
51 - бесконечность (лук)

Инструменты:
32 - эффективность
33 - шелковое касание
34 - прочность
35 - удача
61 - везучий рыбак
62 - приманка

Обновление 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 строчки в аргументы запуска.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[Guide][1.9] Как делать новые Item'ы

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

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

Всё! Вот так быстро и просто мы создали основной класс для регистрации предметов. Чтобы использовать наш предмет, где-то в моде, достаточно написать ItemsRegistry.KEY . Больше никаких манипуляций с классом не требуется, его не нужно прописывать в стадии загрузки игры. Хотелось бы ещё отметить то, что блоки всегда будут регистрироваться раньше, чем предметы!

Теперь можете запустить Minecraft и посмотреть свой предмет в живую. Чтобы получить предмет пропишите /give @p tut:key . Вместо tut у вас должен быть modId мода! Вместо key у вас должно быть регистрируемое имя вашего предмета.

Предмет от первого лица

Предмет от третьего лица

После последних обновлений Forge для 1.12.2, произошли некоторые изменения в регистрации моделей для блоков и предметов. Для удобства напишем метод registryModel в нашем классе ItemsRegistry .

Создадим файл key.json и перенесём его в папку по данному пути src/main/resources/assets/tut/models/item .

Пропишем такой код для плоской модели:

tut - modId мода. key - регистрируемое имя нашего предмета.

Если ваша текстура к модели берётся из самого Minecraft, то tut: (modId) прописывать не надо! Текстуру необходимо добавить по пути:

Предмет с моделью от первого лица

Запускаем игру и видим, что у нас получилось(на скриншотах объёмная модель):

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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