Моды для майнкрафт руководство


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

1. Установка Майнкрафт

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

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

2. Установка загрузчика (Minecraft Forge)

По умолчанию майнкрафт не поддерживает модификации, поэтому существуют различные лоадеры, которые устанавливаются поверх майнкрафт и позволяют запускать игру уже вместе с модами. Существуем много лоадеров (forge, fabric, rift, liteloader), но самый популярный на данный момент Forge, его мы и будем устанавливать.

У большинства неофициальных лаунчеров (например, TL Launcher) есть уже готовый профиль Forge, возможно вы используете именно такой лаунчер, чтобы убедиться в этом поищите профиль с названием «Forge <версия игры>», если он есть, то вы можете пропустить установку и перейти к следующему разделу.

И так, в вашем лаунчере не оказалось профиля forge, для его установки вам потребуется установить java, а затем перейти на эту страницу и скачать установочный файл forge для выбранной вами версии игры. Сам процесс установки forge довольно прост, вам необходимо запустить установочный файл с помощью java, нажать «Ok» (install) и немного подождать, после чего установщик оповестит вас об успешной установке, нажмите «Ok» еще раз и на этом установка закончена.

3. Установка мода

Каждый мод создан для своего лоадера, поэтому у вас не получится запустить на forge, мод созданный для fabric и наоборот (бывают и исключения, но довольно редко).

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

Почти все моды устанавливаются в папку .minecraft/mods, инструкцию как найти папку на разные операционные системы вы можете прочесть здесь. Данная папка создается при первом запуске minecraft forge, если у вас нет такой папки, то можете просто создать её.

Некоторые моды состоят из нескольких файлов и запакованы в архив (это всегда указано в инструкции), для установки необходимо распаковать все файлы и скопировать их в папку .minecraft/mods. Как распаковать:

Показать

Скачайте выбранный мод для своей версии игры и скопируйте в папку .minecraft/mods, затем запустите в лаунчере профиль «Forge <версия игры>», если вы все сделали правильно, у вас запустится майнкрафт, а в левом нижнем углу будет написана версия forge и количество загруженных модов.

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

crafter

100+ публикаций

4 января 2020, 18:34

697.6т

11


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

Содержание:

— Установка модов через Мод-паки (Более быстрый и удобный способ)

— Установка модов вручную (Традиционный способ)

— Решение ошибок/крашей у модов

— Обсуждение пользователей


0) Проверяем, что у вас последняя версия нашего лаунчера. Скачать актуальной версии TLauncher можно с главной страницы. Инструкции представлены для версий Майнкрафт выше 1.5. Не рекомендуем вообще использовать версию меньше.

Установка модов через Мод-паки

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

1) Открываем TLauncher и находим в нижнем правом углу находим иконку «TL MODS«, кликаем на неё, дабы открыть окно Мод-пак системы.

Иконка TL MODS в TLauncher

2) Теперь необходимо создать ваш собственный Мод-пак (сборку модов), данная система предполагает создание множества сборок и их управление, находим сверху и кликаем на «Создать» (1), вводим любое название Мод-пака (2) и кликаем на «Создать» (3) в данном окне.

Создание мод-пака в TLauncher

3) У вас в списке сборок теперь появился новый, можете наполнять его модами из специальной вкладки «Моды«. Для добавления мода, нужно нажать на кнопку «Установить» (4), как только модов будет достаточное количество, проверяем, что у вас выбрана в списке версий ваша сборка (мод-пак) (5) и нажимаем на большую жёлтую кнопку «Войти в игру» (6).

Установка модов через Мод-пак систему TLauncher

4) После загрузки всех необходимых файлов, произойдёт запуск игры. Во вкладке «Моды«, сможете подтвердить успешную установку ваших модификаций! Можно играть!

Установленные моды в Minecraft 1.15.2 через Мод-паки

Установка модов таким способом гораздо удобнее, так как большую часть действий выполняет наш лаунчер — вывод каталога, установка дополнительных зависимостей и скачивание модов. Вы всегда можете вручную установить из интернета моды в вашу сборку, через специальную функцию «Ручная установка«. Плюс, в других вкладках, в один клик, сможете установить — другие сборки (мод-паки), Ресурс-паки, Шейдеры и Карты. Моды доступны от разных версий Minecraft, от 1.5 до новых 1.15.2! Подробнее про нашу Мод-пак систему, можно узнать из статьи «TLauncher — Лаунчер с модами».

Установка модов вручную

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

1) Находим в интернете мод который вам нужен (Моды на Minecraft 1.15.2), и смотрим под какую версию игры он разработан. У нас в примере будет «TL SKIN CAPE» для версии 1.15.2. Скачиваем файл мода и сохраняем пока в любое место на компьютере.

2) Открываем лаунчер, и находим в списке версий Forge (Именно он отвечает за работу большинства модов), версии такой же как и мод, в нашем случае 1.15.2. Нажимаем на кнопку «Установить«, дожидаемся установки и первого запуска.

Установка Forge 1.15.2 TLauncher

3) Теперь нужно открыть папку с самой игрой, если не меняли в настройках лаунчера путь, то стандартный будет таков:

Windows 7, 8, 10: c:UsersИМЯ ПОЛЬЗОВАТЕЛЯAppDataRoaming.minecraft

Windows XP: c:Documents and SettingsИМЯ ПОЛЬЗОВАТЕЛЯApplication Data.minecraft

MacOS: /Users/ИМЯ ПОЛЬЗОВАТЕЛЯ/Library/Application Support/minecraft/

Автовход: В нашем лаунчере нажать на иконку «Папки» в нижнем правом углу, откроется окно с нужной директорией!

Меню с кнопками в TLauncher

4) В ней находим папку «mods» (которая создаётся автоматически после установки любой версии Forge) и заходим в неё. Берём скачанный мод (который с расширением .jar или .zip) и копируем в открытую папку mods.

Открытая папка mods

5) Запускаем лаунчер и входим в версию Майнкрафт Forge, в меню нажимаем на кнопку «Mods«, там находим установленный мод. Это значит то, что теперь мод должен работать. Играем и радуемся! Действительно наш способ установки модов в Minecraft простой? Мы так и думали: Да!

Установленные моды в Minecraft 1.15.2

Решение ошибок/крашей у модов

При вылете игры (краше), наш лаунчер показывает «Консоль разработчика«, дабы упростить нахождение проблемы и поиска решения.

1) Ошибка в «общих» классах игры или Java, пример:

Caused by: java.lang.SecurityException: class «javax.vecmath.Matrix4f»‘s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(Unknown Source) ~[?:1.8.0_45]

Решение: Полная переустановка версии игры, самым простым способом является — «Полный сброс«, через настройки TLauncher.

2) Ошибка «java.lang.ClassNotFoundException может указывать на две возможные причины:

2.1) Отсутствие дополнительной библиотеки. Если в данной строчке есть упоминание какого мода с «Lib», то это указывает на необходимость установить данный дополнительный мод.

2.2) «Испорченный» мод. Если всё же в строчке фигурирует название полноценного мода, то есть резон попробовать установить мод актуальной версии или другую версию Forge (Не версию игры, а именно версию Мода и Forge!).

Caused by: java.lang.ClassNotFoundException: net.minecraft.client.gui.inventory.GuiInventory
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]

Читайте также:
— Как установить Fabric в TLauncher
— Как установить карты в Minecraft
— Как установить скин в TLauncher

Обсуждение

В этом разделе можно почитать или посмотреть на редкость подробные гайды по разными модам для Майнкрафт на ПК.

Immersive Portal Gun [1.19.4] [1.12.2] [1.10.2] [1.8.9] [1.7.10]

23.04.2023В новинки

Этот мод добавляет Portal Gun, а также некоторые другие аспекты, связанные с порталом, в Minecraft!

Подробнее

Advent of Ascension (Nevermine) [1.19.4] [1.18.2] [1.16.5] [1.15.2] [1.12.2] [1.7.10]

03.04.2023В новинки

Advent of Ascension — это масштабный мод на разведку и RPG, разработанный с целью максимально детализировать…

Подробнее

Deep Resonance [1.19.4] [1.18.2] [1.16.5] [1.12.2]

29.03.2023В новинки1 комментарий

Deep Resonance — мод производства электроэнергии для Minecraft

Подробнее

Mystical Agriculture [1.19.4] [1.18.2] [1.16.5] [1.15.2]

28.03.2023В новинки

Расти все свои ресурсы на грядках! Духовный преемник мода Magical Crops от Марка719!

Подробнее

Bewitchment [1.19.2] [1.18.2] [1.17.1] [1.16.5]

21.08.2022В новинки

Исследуй мир оккультизма — духовный преемник Ведьмака

Подробнее

MineColonies [1.19.2] [1.18.2] [1.17.1] [1.16.5]

06.08.2022В новинки

Ниже можно скачать мод на колонии MineColonies на Майнкрафт 1.19.2 и прочие версии.

Подробнее

Bonsai Trees 3 [1.18.2] [1.15.2] [1.14.4]

16.03.2022В новинки

Расти маленькие деревья! Модификация Minecraft добавляет блок, в котором растут небольшие деревья в двух блочных пространствах….

Подробнее

WorldEdit Все команды

03.10.2021В новинки

Страница в разработке.

Подробнее

Advanced Solar Panels [1.12.2] [1.11.2] [1.10.2] [1.7.10]

03.10.2021В новинки

Солнечные панели уровня 1 в IC ужасно неэффективны из-за материалов низкого качества, используемых в строительстве. Они…

Подробнее

Not Enough Items (NEI) [1.12.2] [1.11.2] [1.10.2] [1.9.4] [1.8.9] [1.7.10] [1.6.4]

03.10.2021В новинки1 комментарий

Мод на Майнкрафт Not Enough Items (или NEI) позволяет смотреть рецепты, брать вещи в выживании как…

Подробнее

dirt_block_wallpaper_by_thimo94-d3h76s9

Вам стало скучно в Майнкрафт и вы решили установить модами, но не знаете как. Данный гайд поможет вам в этом. Также если у вас возникли трудности и у не знаете как действовать дальше, здесь вы скорее всего найдете ответ.

Где взять моды?

  • Моды для Майнкрафт
  • Моды для Майнкрафт ПЕ / Бедрок

В данных разделах вы найдете все необходимое и даже больше для любого устройства. Чтобы избежать багов внимательно читайте описание, скачивайте моды только для своей версии игры. На данный момент актуальные версии с большим количество модов для пак: 1.16.4, 1.15.2, 1.12.2, 1.7.10. А для телефонов на андроид или Ios: 1.16, 1.14.

Как установить моды Майнкрафт? (Windows)

  1. Установите Minecraft Forge (необходим для 99% модов)
    1. Скачайте подходящую версию для своего Майнкрафт
    2. Запустите файл при помощи JAVA (кликните правой кнопкой мыши по файлу, открыть с помощью > Java)
    3. Следуйте инструкциям установщика
  2. Нажмите сочетание клавиш на клавиатуре Win+R (кнопка «Win» находиться между «Ctrl» и «Alt»)
  3. Откроется окно «Выполнить», в поле «открыть» напишите %appdata% и нажмите «ок»
  4. Откроется папка «Roaming», в ней найдите папку «.minecraft»
  5. Откройте папку «.minecraft» и найди папку «mods» (если нету папки «mods», то создайте, нажмите правую кнопку мыши, создать > папку)
  6. Перетащите заранее скачанный мод «название.jar» (для старых версий .zip) в папку «mods»

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

Fabric

Начиная с версии Майнкрафт 1.14.4 появилась альтернатива Forge под названием Fabric. Они несовместимы между собой, поэтому вы можете использовать только что-то одно. Некоторые моды поддерживают только Fabric или Forge, а часть сразу оба. Поэтому перед скачиванием модификации, прочитайте инструкцию по установке на странице мода, там будут написано что требуется для запуска.

Optifne

Optifne это популярный мод для оптимизации Майнкрафт. И требуется для нормально работы сторонних текстур паков и ресурс паков. С последние версии мода с Forge работают без проблем. А с Fabric вам понадобиться установить дополнительный мод OptiFabric, который можно найти на странице Fabric.

Как установить моды Майнкрафт? (Андроид / Ios)

Если вы играете на телефоне, то данная инструкция вам пригодиться, так как она актуально для всех модификаций Майнкрафт ПЕ.

  1. Скачайте мод
  2. Откройте его с помощью майнкрафт
  3. Активируйте набор в настройках мира
  4. Готово

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

Что необходимо для установки модов на Minecraft?

Игра Майнкрафт одной из версий.
Руки.

99% современных модов устанавливаются путем копирования файла мода в папку Mods, но давайте все по порядку:
На данный момент 98% модов используют специальный загрузчик модов под названием Minecraft Forge, а около 2% — Liteloader.
Потому в этой статье будет показано на примере Minecraft Forge, лайтлоадер устанавливается полностью аналогично.

Приступим к установке мода:
Шаг 1.
Узнаем какая у вас версия игры, запустите игру и в меню игры вы увидите версию:

 

Шаг 2.
Отлично, допустим у нас Майнкрафт 1.12.2, теперь нам необходимо установить майнкрафт фордж (ссылка), скачиваем его для майнкрафт 1.12.2.
Существует 2 вида автоматического установщика, файл установщик как программа .exe и файл установщик .jar, разницы между ними нет вообще, но у многих игроков .jar файл открывается как архив, или тупо не запускается, потому просто качайте .exe установщик и запускайте его.
Пример установки:

Шаг 3.
Теперь откройте ваш лаунчер майнкрафт (программа которая запускает игру). В ней должна появиться новая версия Minecraft с припиской forge:
Вот пример из двух лаунчеров:

Выбираем версию Minecraft с припиской Forge, запускаем, если запустилось, отлично, сразу закрываем игру.
Если не запустилось, вероятно у вас в папке с игрой уже могут находиться моды или файлы модов которые не дают запуститься игре, необходимо смотреть ошибку. О причинах не запуска игры читайте внизу новости.

Шаг 4.
Теперь нам необходимо выбрать желаемый мод для майнкрафт, версия мода должна совпадать с версией игры, т.е моды для 1.12.2 походят только для 1.12.2, редко (или если это указано) моды от 1.12 могут подходить к версии 1.12.1 или 1.12.2, пробуйте.
Скачали желаемый мод, так же прочитайте краткую установку для каждого мода, в некоторых случаях могут быть какие то дополнительные действия.

Шаг 5.
Установка мода в игру, для начала нам необходимо попасть в папку с игрой, она находится по адресу:
C:UsersВаш_ПользовательAppDataRoaming.minecraft
Если вы не можете найти папку 
Appdаta:

Внутри папки .minecraft вы найдете папку mods, если ее нет, создайте ее.
Скопируйте скачанный файл мода в папку mods, запускайте игру — версия игры с припиской Forge.

Готово, вы прекрасны.

Возможные проблемы и их решения:

Не могу открыть установщик Forge, например forge-1.12.2-14.23.1.2556-installer.jar
Ответ: скачайте exe версию установщика и установите.
После установки некоторых модов игра не запускается, вылетает при старте без ошибки:
Ответ:
Такое бывает, есть проблемный мод, либо один мод не совместим с другим модом, либо какой то мод требует дополнительный для работы мод. Ищите не совместимые моды удаляя файлы модов, обновите моды на более свежие версии. (версии мода, а не версии игры).
Возможно мод требует дополнительные библиотеки, обычно авторы и те кто постит новости указывают о необходимости установки дополнительных модов, читайте новость с модом более подробно.
Крайне редко, но бывает, что версия мода не совместима с новой версией Forge, если мод старый, вероятно придется найти и установить более старую версию Forge.
Вероятно вам придется отказаться от использования проблемного мода.
Игра запускается, но высвечивается сообщение, нет меню игры.
Ответ: Как правило если критической ошибки не произошло, то Minecraft Forge пытается сообщить о возможной причине, например:
1) Какой то мод требует более свежую версию Minecraft Forge. (например forge-1.12.2-14.23.1.2556-installer.jar — где 1.12.2 — версия игры, 14.23.1.1.2556 — версия самого загрузчика), вероятно придется установить более свежий загрузчик майнкрафт фордж.
2) Какой то мод требует дополнительный мод, там так и будет написано, мод название требует: название, необходимо найти данный мод и скинуть в модс.
3) Вы скопировали в Mods мод для другой версии игры, тогда обычно пишет, что данный мод требует игру версии такой то.
Что делать, если после установки Forge игры не запускается, или вообще не запускается.
Ответ:
Сохраните ваш мир майнкрафт, удалите все содержимое в папке .minecraft, заново скачайте версию игры, и пройдите установку Forge снова.
Либо найдите другой лаунчер для майнкрафт, аналогично удалите все из папки .minecraft, установите игру другим лаунчером, установите Forge.

Рано или поздно любая, даже самая бездонная игра, приедается. В таких ситуациях хочется попробовать что-нибудь новое, и часто решением выступают моды. В случае с Minecraft установка модов — не самое простое занятие, однако благодаря нашему руководству у вас получится быстро с этим разобраться.

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

Как устанавливать моды на Minecraft

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

1.16.4, 1.15.2, 1.12.2, 1.7.10 для ПК и 1.14, 1.16 для смартфонов.

Как устанавливать моды на Minecraft

После этого стоит установить или обновить Java на компьютере. Сделать это несложно: достаточно перейти на сайт java.com, нажать на кнопку «Загрузить Java бесплатно», скачать дистрибутив и следовать инструкции по установке.

Установка Forge

После выяснения собственной версии Minecraft и установки / обновления Java следует поставить Forge. Это специальная модификация, которую требует 99% современных модов для Minecraft. Чтобы скачать модификацию Forge, нужно перейти на официальный сайт files.minecraftforge.net и в меню слева выбрать вашу версию Minecraft.

Как устанавливать моды на Minecraft

Загрузив Forge, запускайте установщик и выбирайте пункт «Install client». После этого утилита будет установлена и можно переходить непосредственно к модам.

Как устанавливать моды на Minecraft

Установка модов

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

C:Users*имя пользователя*AppDataRoaming.minecraft 

Стоит учитывать, что папка AppData скрытая, если у вас не включено отображение скрытых папок, придется проделать некоторые действия:

  • В Windows 8.1, 10 и 11 это делается через «Проводник».
  • Откройте любую папку в «Проводнике» и в меню «Вид» найдите пункт «Показать или скрыть».
  • Разверните этот пункт и поставьте галочку рядом со «Скрытые элементы».
  • После этого скрытые файлы и папки будут отображаться наравне с остальными.

Далее найдите (или создайте, если ее еще нет) папку mods. В эту папку вам и нужно загружать моды, которые вы хотите попробовать. Моды должны быть с расширением .jar или .jip. Если мод представлен в виде архива .rar, то его нужно распаковать.

Далее скачиваем моды, подходящие вашей версии Minecraft, а также обращаем внимание, что в названии должен быть указан установщик Forge.

После этого запустите лаунчер и выбирайте ваш мод с припиской Forge, а затем начинайте играть.

Как устанавливать моды на Minecraft

Где брать моды на Minecraft

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

Вот пять ресурсов c модами для Minecraft:

  • Nexus Mods
  • CurseForge
  • TechnicPlatform
  • GameModding
  • ModDB

Как устанавливать моды на Minecraft

Топ-5 модов для Minecraft

Представляем пять лучших модов для Minecraft, которые вы должны попробовать.

Millenaire

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

Как устанавливать моды на Minecraft

Smart Moving

Этот мод добавляет в Minecraft элементы паркура и делает движения персонажей более реалистичными. Теперь вы можете с разбега прыгать в воду, цепляться за объекты и так далее. Только стоит учесть, что даже за эту безобидную модификацию на «ванильных» серверах может прилететь бан.

Как устанавливать моды на Minecraft

BuildCraft

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

Как устанавливать моды на Minecraft

Pixelmon

Модификация, которая добавляет в Minecraft покемонов. Причем делает это настолько успешно, что сама The Pokemon Company уже больше пяти лет назад потребовала закрыть проект — настолько хорошо мод копирует механику знаменитых игр.

Как устанавливать моды на Minecraft

MrCrayfish’s Vehicle Mod

Для тех, кто устал перемещаться по миру Майнкрафта на своих двоих, существует этот мод — он добавляет в игру больше двух десятков самых разных транспортных средств, а бонусом еще и систему топлива.

Как устанавливать моды на Minecraft

Другие статьи по Minecraft

  • История создания Minecraft
  • Как построить замок в Minecraft
  • На какой высоте появляются алмазы в Minecraft
  • Как создать липкий поршень в Minecraft
  • Как приручить ламу в Minecraft

Заглавное фото: wall.alphacoders.com

Статьи по теме

Тэги

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

Урок 1. Директория Eclipse (Установка среды)

Теперь вы можете приступать к созданию своей первой модификации.

Заранее придумайте название своей модификации (например, MyBestMod). Перейдём к тому, где должна быть модификация в структуре классов Minecraft. Существует некоторый этикет, как оформлять код и всё, что с ним связано. Раскройте проект Minecraft, далее src/main/java. В src/main/java лежит всё, что относится к коду Minecraft. Как вы видите, там есть подпапки (или пакеты) типа net.minecraft.client[1] и так далее. В Java пакетах принято структурировать пакеты так: domain.product или domain.company.product, то есть первое — домен (com, net, ru), далее название компании (если вы единственный разработчик — ваш ник) и название продукта (модификации), или же название компании опускается.[2][3] Minecraft, Minecraft Forge и FML имеют первый вариант структурирования пакета. То есть, если ваш никнейм, например, platon, а название вашей модификации — My Best Mod, то нажмите на src/main/java ПКМ и выберите New → package. В поле «Name» наберите «com.platon.mybestmod» с учётом регистра. Это создаст директорию, в которой вы и будете работать с модификацией. Всё, далее можете приступать непосредственно к его созданию.

Урок 2. Главный класс

Итак, можно приступить к созданию модификации. Создадим его основу.

Нажмите ПКМ на директории модификации (com.platon.mybestmod) и выберите New → Class, и в поле Name введите название класса. Это главный класс модификации, поэтому пусть это будет указано. Например, одно из возможных названий — «BaseMyBestMod». Обратите внимание, что каждое слово написано с большой буквы (естественно, именно так делать необязательно, но общепринятым считается именно этот вариант). Далее просто нажмите Finish. Всё, у вас теперь есть главный класс модификации.

Приступим к написанию кода. Запишем ВНЕ тела, то есть над строчкой public class... [4] класса следующую строчку:

@Mod (modid = "mybestmod", name="My Best Mod", version = "1.0")

Вы написали, что ваша модификация называется «My Best Mod» и имеет версию 1.0. Но Eclipse сообщает об ошибке, так как ему неизвестно, что значит @Mod. Нужно импортировать соответствующий класс, для этого после строчки с указанием пакета (package platon.mods.mybestmod;) напишите следующую строчку:

import cpw.mods.fml.common.Mod;

После этого сообщение об ошибке должно исчезнуть.

Далее уже в теле (в фигурных скобках) пишем:

@EventHandler
public void preLoad(FMLPreInitializationEvent event)
{

}

Опять ошибка. Как вы поняли, ему опять не хватает импортированных классов. Почти всегда можно автоматически их импортировать, если Eclipse знает или догадывается, где их искать[5].

Вот и всё. Основа модификации готова. Можете запустить Minecraft (Зеленая кнопка сверху → Client) и увидеть в списке модификаций свою модификацию. По крайней мере для того, чтобы приступить к созданию первого блока.

Урок 3. Блок

Приступим к созданию своего первого собственного блока.

В самом начале тела Класса (После первой фигурной скобки если вы ещё не поняли) пишем:

public static Block bestblockever;

Public значит, что объект bestblockever (такое кодовое имя мы дали блоку) может быть вызван откуда угодно. Static, что он статичный, а Block значит тип объекта. А вот описание объекта Block надо импортировать, так как в нашем классе этого не указано. Для этого нажмем по ошибке и выберите импорт из net.minecraft.block, а не откуда либо ещё. В случаях с множественными вариантами импорта Ctrl-Shift-O лучше не нажимать. Всё, ошибка исчезла.

Теперь укажем, где про блок будет написано более подробно. В теле метода preLoad() напишем строчку:

bestblockever = new BlockBestBlockEver();

Эта строка говорит, что про объект bestblockever будет написано в классе BlockBestBlockEver. И он выдаёт ошибку. Естественно, ведь никакого класса BlockBestBlockEver не существует. Его легко создать, нажав по ошибке и выбрав Create Class… Далее нажмите Finish.

Вы перейдете сразу в созданный вами класс. Сразу после названия класса перед фигурной скобкой допишите extends Block. Первую ошибку исправьте, импортировав недостающий класс Block (net.minecraft.block). Вторую ошибку вы видите, потому что созданный класс — наследник класса Block в котором написано что такое блок. И не хватает аргументов которые нужно дать тому классу, чтобы ваш блок был особенным. материал, прочность и т. д. Поэтому просто исправьте ошибку первым способом, он сам её исправит, дописав немного. Строку с двумя слешами, комментарий, можно стереть[6].

В скобках у объекта, где написаны аргументы, которые должны быть посланы снаружи уберите аргумент Material par1Material. Мы пошлем его отсюда, а не снаружи класса. Теперь в следующей строчке в скобках у super() замените «par1Material» на «Material.rock», или после точки сами выберите нужный вам материал.(Не забудьте про импорт) То есть мы посылаем в суперкласс Block что материал блока камень. То есть блок как камень: на звук как камень, ломается с тем же звуком и т. д. Список доступных материалов можно посмотреть через точку после Material.

Итак, давайте поработаем над характеристиками блока. Это можно сделать из главного класса, указывая их через точку после bestblockever = new BlockBestBlockEver(); (до точки с запятой). Но можно и отсюда. Для этого пишите их в теле этого объекта после «this.» также можно не писать.

Основные характеристики:

this.setBlockName("bestblockever");
// Без этой строчки у блока не будет внутриигрового (нелокализированного) имени, он просто будет называться «null».

this.setCreativeTab(CreativeTabs.tabBlock);//
// Указывает в какой вкладке будет находиться блок в креативе (доступные также можно посмотреть через точку от CreativeTabs). Не забудьте про импорт.

this.setHardness(15F);
// Устанавливает прочность, то есть как долго блок будет ломаться.

this.setResistance(10F);
// Устанавливает взрывоустойчивость блока.

this.setHarvestLevel("pickaxe", 3);
// Устанавливает, киркой какого уровня можно сломать. Например, алмазная = 3.

Также можно установить будет ли блок светиться. Чем больше число, тем светлее. Вместо 0 пишете уровень света, создаваемого блоком, умноженное на 10. Таким образом нужно вставить туда значение от 0 до 150 (150 означает уровень света 15, максимальное значение).

Теперь давайте добавим текстуру блоку. Она может быть любой, но размером 16×16 или 32х32 пикселей. Например можно создать картинку, написать в ней «Б» и уменьшить до 16×16 пикселей и чуть-чуть подредактировать. Можете скачать эту: Пример текстуры(Туториал Forge) Желательно, чтоб название было как у блока, а расширение обязательно .png

Так, текстура есть, теперь пропишем её в код. Следующее пропишите всё в том же методе блока.

this.setBlockTextureName("mybestmod:BlockBestBlockEver");

Давайте немного разберемся насчёт «mybestmod:BlockBestBlockEver». Должно быть написано «краткое название модификации: название файла», но название без .png. ВАЖНО! Для пользователей IntelliJ IDEA — ide автоматически склеивает названия папок как ей вздумается, но чтобы работало подключение ресурсов физическая структура папок должна быть строго такой: assets/mymod/textures/blocks — то есть это отдельные папки! Если создавать через New -> Directory и указать «assets.mymod» — она НЕ создаст отдельные подпапки и работать не будет!

Теперь поместим текстуру в проект. Слева в окне директорий проекта выберите src/main/resources и нажмите правой кнопкой и создайте директорию.(New → package) Назовите так: assets.краткое название модификации.textures.blocks (assets.mybestmod.textures.blocks). Теперь мышкой перетяните текстуру из windows в эту директорию. В окне выберите «Copy files».

Теперь нужно зарегистрировать блок. Перейдите в главный класс и в самом конце метода preLoad допишите

GameRegistry.registerBlock(bestblockever, "bestblockever");

Это должно зарегистрировать блок в Forge.

Начиная с версии 1.9, блоки регистрируются в два этапа. О том, как это сделать, можно посмотреть здесь

И последнее: мы не указали, как будет называться блок в игре.
Локализация описана в этом доп. уроке.

Ну вот и всё, блок создан. Теперь необходимо проверить его работоспособность. Запускайте Minecraft с вашей модификацией! Но сначала сохраните оба класса (Ctrl-S). Для запуска нужно нажать сверху зелёный круг с треугольником (или Ctrl-F11). После запуска посмотрите, есть ли ваша модификация в списке модификаций (в главном меню), создайте новый мир в режиме креатив и найдите свой блок в креатив-инвентаре во вкладке блоки. Если он там есть, берется, ставится и ломается, то поздравляю: модификация, добавляющая блок, создана!

Урок 4. Предмет

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

Перейдем в главный класс модификации. До метода preLoad() сразу после public static Block bestblockever; допишите:

public static Item bestpickaxe;

Тем самым мы создадим переменную типа Item с кодовым названием кирки.

В методе preLoad() для удобства отступите одну строку от того что уже написано, и пишите туда следующее: (Я сразу напишу всё, что нужно, многие элементы описания предмета совпадают с описанием блока, особой разницы нет)

bestpickaxe = new BestPickAxe().setUnlocalizedName("bestpickaxe");
GameRegistry.registerItem(bestpickaxe, "bestpickaxe");

Итак, мы создали кирку, дали ей нелокализированное имя[7] и зарегистрировали в Forge. Щелкнув по ошибке создадим класс этой кирки. Класс создан, но Eclipse не знает, что мы хотим создать — еду или инструмент, поэтому сделаем этот класс наследником класса, где написано про инструмент или еду или что хотите, главное, что про предмет, а не блок. В строчке public class BestPickAxe{ после BestPickAxe допишите extends ItemPickaxe и импортируйте этот самый ItemPickaxe.

Немного об ItemPickaxe: pickaxe — это кирка по-английски, и, соответственно, extends ItemPickaxe говорит о том, что мы «продолжаем» или дополняем класс ItemPickaxe, в котором указаны все базовые характеристики и функции, такого Item’а или предмета, как кирка. Таким образом можно продолжать любой класс, в зависимости от того, какой предмет нужен. То есть, если нужна еда, то мы продолжаем класс ItemFood, если броня, то ItemArmor, а если свой особенный предмет, то просто Item. Не забывайте: вы всегда можете посмотреть список возможных продолжений того, что вы пишете.[8]

Теперь, не обращая внимания на появившуюся ошибку вставьте в тело это:

protected BestPickAxe() {
  super(ToolMaterial.EMERALD);
}

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

this.setCreativeTab(CreativeTabs.tabTools);

тем самым добавив кирку в раздел инструменты в режиме «Творчество».

Почти готово. осталось только добавить текстуру, давайте модифицируем текстуру из Minecraft. Зайдите в папку c Minecraftversions1.7.2, там откройте jar-файл c помощью архиватора, в архиве перейдите в assetsitems и там найдите какую-нибудь текстуру кирки, извлеките на рабочий стол. Файлы текстур НЕЛЬЗЯ редактировать обычным Paint’ом, так как текстура должна быть кое-где прозрачной, если вы не хотите конечно идеально квадратную кирку. В общем отредактируйте текстуру как угодно, главное чтоб была 16×16. Назовите текстуру BestPickAxe.png Теперь создайте в проекте директорию с текстурами предметов. Для этого ПКМ по src → New → package а в названии напишите assets.mybestmod.textures.items и туда мышью с раб. стола перенесите готовую текстуру и нажмите ОК. Теперь скажем предмету где его текстура. Пропишите следующее всё в том же методе кирки.

this.setTextureName("mybestmod:BestPickAxe");

И можно запускать для проверки.

Собственно вот мы и создали первый предмет — инструмент — кирку, которая по свойствам, как алмазная. В этом доп. уроке вы можете посмотреть, как создать инструмент с особыми свойствами.

Урок 5. Крафт

Если Вы создаёте модификацию исключительно для добавления/удаления рецептов уже существующих вещей, то следует также рассмотреть вариант использования MineTweaker.

Собственно, у нас есть блок и предмет. Мы можем их держать в руках, а блок даже ставить. Но а если мы хотим достать их, играя в режиме Выживания? Тогда блок или предмет можно только найти или скрафтить. Добавить крафт очень просто. Предположим, рецепт блока должен быть следующим:

Ингредиенты Рецепты крафта
Гравий +
Железный слиток +
Обсидиан

Тогда я запишу вот это в тело метода preLoad главного класса после строки регистрации блока в Forge:

GameRegistry.addRecipe(new ItemStack(BaseMyBestMod.bestblockever, 1),

  new Object[]{

    "###", "XYX", "###",

    ('X'), Blocks.gravel,
    ('#'), Items.iron_ingot,
    ('Y'), Blocks.obsidian

  }

);

Давайте разберем, что тут написано: Итак с помощью GameRegistry мы добавляем новый рецепт, new itemStack значит, что создастся новая стопка с предметом bestblockever который объявлен в классе BaseMyBestMod в количестве одной штуки (вместо 1 можно вписать любое число до 64). А далее уже записана сетка крафта. Как мы помним в верстаке мы видим всего 9 клеток, здесь первая строка верстака это «###», вторая строка — это «XYX», ну и последняя — «###». Понятней будет, если посмотреть вот так:

"###"
"XYX"
"###"

Каждый предмет в крафте обозначается своим личным знаком (любым). Далее это записано как ('X'), Blocks.gravel То есть это означает, что X — это гравий, который является блоком. Соответственно знак # — это слиток железа (который является предметом, а не блоком), а Y — это блок обсидиана. Если нужно, чтоб в ячейке крафта ничего не лежало, то вместо знака пишется пробел (Например » # » значит что посередине будет слиток железа, а по бокам ничего).

Добавить рецепт крафта можно не только вашему блоку или предмету. Можно вписывать вместо BaseMyBestMod.bestblockever или Blocks.obsidian что угодно, главное что бы после точки была указана зарегистрированная переменная типа Block или Item. А до точки — это просто путь к этой переменной.

Если хотите создать крафт, который можно произвести в инвентаре, вместо «###», «XYX», «###» используйте «AA», «BC» соответственно.

Бесформенный крафт (то есть крафт, в котором можно располагать ингредиенты как угодно) опишите так:

GameRegistry.addShapelessRecipe(new ItemStack(Blocks.grass, 4), new Object[] {Blocks.gravel, Blocks.gravel, Items.arrow});

То есть если вы положите в верстак/инвентарь 2 блока гравия и стрелу, то получите 4 блока Земли, покрытой травой.

Если у блока/предмета есть несколько видов (например: дубовые, еловые, березовые доски и т. д.), то указав просто например: Blocks.Planks в крафте можно будет использовать любые доски! Что бы это исправить вместо Block.Planks напишем new ItemStack(Blocks.planks, 1, 0)

Первое число всегда 1. Изменяем только второе число. 0 — это дубовые доски, 1 — еловые доски и т. д. (см. ID)

GameRegistry.addRecipe(new ItemStack(MuchBlocks.MyBlockS, 1),
  new Object[]{ " I ", "IPI", " I ",
    ('I'), Items.iron_ingot, ('P'), new ItemStack(Blocks.planks, 1, 0)}
);

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

GameRegistry.addSmelting(bestblockever, new ItemStack(Blocks.diamond_block, 2), 1.0F);

Но теперь разберём. Итак, первой в скобках указана переменная типа Block (также можно Item), в данном случае это наш блок, затем идет переменная типа ItemStack, которая создаётся сразу же. У этой переменной уточняется, что создастся стак с блоком или предметом, в данном случае алмазным блоком, в количестве 2. Ну и последняя переменная отвечает за количество опыта, получаемого при переплавке.

Собственно, всё.

Урок 6. Компиляция

Что же, вы написали модификацию, она работает, но вы хотите чтобы он работал и просто на Minecraft. Давайте наконец его скомпилируем!

Компилировать модификацию очень просто, запустите файл gradlew.bat с командой build. Или другими словами создайте bat-файл (или измените оставшийся) с кодом:

gradlew.bat build

и запустите его. После автоматического закрытия консоли модификация скомпилирована и находится в папке build/libs.
Если для компиляции модификации требуется подключение дополнительных jar библиотек, то необходимо в корневой папке проекта (MCModding) создать папку libs и поместить все необходимые файлы в неё.

Теперь немного о том, что получилось. У нас есть файл с расширением jar, а в нём наша модификация, и собственно, можно кидать его в папку mods и пользоваться, но нужно отметить что в этом jar-архиве есть папка META-INF, которая запрещает что-либо из него удалять (Если что .jar можно открывать любым архиватором). Так же следует обратить внимание на то что компилятор автоматически вставит в архив всё, что вы «напрограммировали» и там будут весь код и все ресурсы от модификаций над которыми вы работаете. Если для вас это неприемлемо, просто удалите лишние пути из архива (например platon.mods.megamod, если работаете с mybestmod и т. п.). Так же можно со спокойной совестью удалить META-INF и вообще всё разрахивировать и упаковать в zip-архив, он также будет работать.

Так же немного о build.gradle Вы можете его модифицировать так, чтобы jar-файл автоматически назывался как надо. Откройте его любым текстовым редактором. Вы можете изменить следующие строки, как захотите, например так:

version = "1.0"
group= "com.platon.mybestmod"
archivesBaseName = "My Best Mod"

Сохраните файл. Таким образом вы получите при компиляции файл My Best Mod-1.0.jar

Теперь мы сделаем так, чтобы теперь какой-либо блок, аналогично рудам, генерировался в обычном мире, в Нижнем мире или в краю. Теперь в главном классе (BaseMyBestMod) после регистрации блока в Forge регистрируем новую переменную:

public static BestBlockGenerator bestblockgenerator = new BestBlockGenerator();

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

GameRegistry.registerWorldGenerator(bestblockgenerator, 0);

Тем самым вы зарегистрируете ваш генератор. Число «0» обозначает каким по счёту будет загружаться генератор (0 — первым, 1 — вторым и т. д.).

Теперь в созданном классе после public class BestBlockGenerator добавьте implements IWorldGenerator и в тело класса добавьте это:

Скрытый текст

@Override
public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) {

    generateOverworld(rand, chunkX, chunkZ, world);
    generateNether(rand, chunkX, chunkZ, world);
    generateEnd(rand, chunkX, chunkZ, world);

}

private void generateOverworld(Random rand, int chunkX, int chunkZ, World world) {

  generateOverworld(world, rand, chunkX * 16, chunkZ * 16);

}

private void generateNether(Random rand, int chunkX, int chunkZ, World world) {

  generateNether(world, rand, chunkX * 16, chunkZ * 16);

}

private void generateEnd(Random rand, int chunkX, int chunkZ, World world) {

  generateEnd(world, rand, chunkX * 16, chunkZ * 16);

}

public void generateOverworld(World world, Random rand, int blockXPos, int blockZPos) {

  addOreSpawn(BaseMyBestMod.bestblockever, Blocks.stone, world, rand, blockXPos, blockZPos, 16, 16, 1, 2, 1, 1, 10, 5, 6);

}

public void generateNether(World world, Random rand, int blockXPos, int blockZPos) {

  addOreSpawn(BaseMyBestMod.bestblockever, Blocks.netherrack, world, rand, blockXPos, blockZPos, 16, 16, 1, 2, 1, 1, 10, 5, 6);

}

public void generateEnd(World world, Random rand, int blockXPos, int blockZPos) {

  addOreSpawn(BaseMyBestMod.bestblockever, Blocks.end_stone, world, rand, blockXPos, blockZPos, 16, 16, 1, 2, 1, 1, 10, 5, 6);

}

/**
  * Добавляет генерацию руды в Minecraft. Просто воспользуйтесь этим методом для регистрации генерируемых руд.

  * @param block              Блок, который хотите генерировать
  * @param block replace      Блок, рядом с которым хотите генерировать
  * @param world              Мир (не измерение), в котором этот блок должен генерироваться
  * @param random             Случайное число для получения координат генерации блока
  * @param blockXPos          Число для того, чтобы было пустое место по координатам X для метода генерации (использует кварцевая руда)
  * @param blockZPos          Число для того, чтобы было пустое место по координатам Z для метода генерации (использует кварцевая руда)
  * @param maxX               Число, которое настроит максимальную X координату для генерации руды на оси X на чанк
  * @param maxZ               Число, которое настроит максимальную Z координату для генерации руды на оси Z на чанк
  * @param minVeinSize        Минимальное число блоков руды в одной жиле
  * @param maxVeinSize        Максимальное число блоков руды в одной жиле
  * @param minVeinsPerChunk   Минимальное число жил в чанке
  * @param maxVeinsPerChunk   Максимальное число жил в чанке
  * @param chancesToSpawn     Шанс генерации блоков на чанк в процентах
  * @param minY               Минимальная координата Y на которой руда может сгенерироваться
  * @param maxY               Максимальная координата Y на которой руда может сгенерироваться
**/

public static void addOreSpawn(Block ore, Block replace, World world, Random rand, int blockXPos, int blockZPos, int maxX, int maxZ,
int minVeinSize, int maxVeinSize, int minVeinsPerChunk, int maxVeinsPerChunk, int chanceToSpawn, int minY, int maxY) {
  if (rand.nextInt(101) < (100 - chanceToSpawn)) return;
  int veins = rand.nextInt(maxVeinsPerChunk - minVeinsPerChunk + 1) + minVeinsPerChunk;
  for (int i = 0; i < veins; i++) {
    int posX = blockXPos + rand.nextInt(maxX);
    int posY = minY + rand.nextInt(maxY - minY);
    int posZ = blockZPos + rand.nextInt(maxZ);
    (new WorldGenMinable(ore, minVeinSize + rand.nextInt(maxVeinSize - minVeinSize + 1),
      replace)).generate(world, rand, posX, posY, posZ);
  }
}

Описание параметров метода addOreSpawn() можно увидеть (чтобы разобраться в них), наведя курсор на его название. Эту информацию мы привязали к методу, благодаря javadoc-комментарию[9].

Теперь можно запускать и смотреть результаты.

  • Генерация руды в аду.png

  • Генерация собственносозданной руды.png

  • Генерация руды в крае.png

Урок 8. Прокси и инстанция

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

@Instance("mybestmod")
public static MyBestMod instance;

Также, если вы хотите сократить число импортов, то вместо @Instance сделайте @Mod.Instance, от этого ничего не изменится. Инстанция — или экземпляр — это ссылка на вашу модификацию, которую использует Forge. Если вы не создали её сами, то Forge создаёт её для вас, но в этом случае вы не сможете взаимодействовать с ней, поэтому рекомендовано создать её самому.

Теперь следует сделать прокси. Прокси фильтрует контент на то, что должно быть для сервера, а что для клиента. Сервер хранит данные о мире, в то время как клиент рендерит мир. Для создания прокси создайте два класса: ClientProxy для клиента и CommonProxy для сервера. Суперклассом ClientProxy должен быть CommonProxy. Теперь регистрация прокси. Просто добавьте следующий код в главный класс модификации:

@SidedProxy(clientSide = "ваш.пакет.ClientProxy", serverSide = "ваш.пакет.CommonProxy")
public static CommonProxy proxy;

Прокси и инстанция готовы.

Урок 9. Моб

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

public static void registerEntity(Class entityClass, String name, int primaryColor, int secondaryColor)
{
  int entityID = EntityRegistry.findGlobalUniqueEntityId();
  long seed = name.hashCode();

  EntityRegistry.registerGlobalEntityID(entityClass, name, entityID);
  EntityRegistry.registerModEntity(entityClass, name, entityID, instance, 64, 1, true); //эта строка не нужна(зачем она?)
  EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, primaryColor, secondaryColor));
}

Цвета для яиц призывания вы можете посмотреть здесь, только когда выберете цвет, замените «#» на «0x». Переменная primaryColor назначает цвет фона яйца, а переменная secondaryColor за цвет пупырышек.

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

registerEntity(MyBestEntity.class, "myBestEntity", 0x00FFFF, 0x00008B);

Разбор:

Параметр Описание
MyBestEntity.class Класс моба.
«myBestEntity» ID моба
0x00FFFF Цвет фона яйца
0x00008B Цвет пупырышек яйца.

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

public class MyBestEntity extends EntityMob
{
  public EntityTest(World par1World)
  {
  super(par1World);
  }
}

В примере суперклассом класса моба является класс «EntityMob», предназначенный для враждебных мобов. Также существуют классы «EntityCreature», «EntityAnimal», «EntityLiving» и другие.

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

public void registerRenderers()
{
  // Здесь ничего, так как сервер не рендерит графику или существ!
}

Далее в класс ClientProxy добавьте следующий код:

@Override
public void registerRenderers()
{
  RenderingRegistry.registerEntityRenderingHandler(MyBestEntity.class, new RenderMyBestEntity(new ModelBiped(), 0.5F));
}
  • Метод registerEntityRenderingHandler говорит Minecraft, как рендерить существо.
  • MyBestEntity.class — класс моба.
  • RenderMyBestEntity — класс рендера моба, который использует модель ModelBiped.
  • ModelBiped — базовая модель игрока.
  • 0.5F — размер тени.

Теперь надо вызвать созданный метод в главном файле модификации. Просто добавьте этот код:

proxy.registerRenderers();

Далее создайте класс RenderВашМоб. В нашем случае это «RenderMyBestEntity». Его суперклассом должен быть класс «RenderBiped». В класс добавьте следующий код:

private static final ResourceLocation textureLocation = new ResourceLocation("textures/entity/steve.png");

public RenderTest(ModelBiped model, float shadowSize)
{
  super(model, shadowSize);
}

@Override
protected ResourceLocation getEntityTexture(Entity par1Entity)
{
  return textureLocation;
}

Вместо textures/entity/steve.png поставьте "IDмодификации:textures/entity/вашМоб.png", то есть в примере будет "MyBestMod:textures/entity/myBestEntity.png". После этого в папке assests/idмода/textures создайте папку entity и туда скопируйте текстуру моба.

Для локализации яйца моба добавьте в файл локализации следующий код:

entity.myBestEntity.name=My Best Entity

Теперь зайдите в игру. Во вкладке «Разное» будет яйцо.

Моб закончен.

Примечания

  1. В Java директории указываются не слешами, как в Windows, а точками. То есть «net.minecraft.client» — это когда папка «client» лежит в папке «minecraft», которая лежит в папке «net».
  2. Документация Oracle
  3. Статья «Java package» на английской Википедии
  4. Любое тело в Java обозначается фигурными скобками и обозначает внутренности некоторой подпрограммы. Например, public class BaseMyBestMod {} указывает, что это класс, а в скобках написано, что он делает.
  5. В Eclipse встроена функция автоматической организации импортируемых классов (Ctrl + ⇧ Shift + O).
  6. В Java если строчка написана после двух слешей, то она воспринимается не как код, а как комментарий. Также можно заключить несколько строк в комментарий, закрыв их в конструкцию /*Закомментированный текст*/
  7. С помощью .setUnlocalizedName("bestpickaxe") мы сразу передали методу BestPickAxe информацию, вместо того чтоб в нём писать this.setUnlocalizedName("bestpickaxe") По сути можно все такие аргументы послать через точку.
  8. Когда вы вводите какой-то путь к методу, переменной и т. п. через точку, после ввода точки вы всегда видите возможные продолжения, пользуйтесь этим, чтобы сократить время написания кода, или если не знаете точно, что вам нужно (ориентируйтесь по тому, что посылается в метод и что он возвращает). Если список исчез, всегда, даже когда нет точки, вы можете посмотреть список доступных продолжений, нажав Ctrl + Пробел
  9. Javadoc-комментарии оставляются над методом, классом, переменной и т. д. для того, чтобы описать назначения класса, метода и т. д. Обособляется конструкцией /**Javadoc-комментарий*/

На чтение 10 мин. Просмотров 3.2k. Опубликовано 15.02.2021

Эта статья посвящена созданию модов для Java Edition . Информацию о надстройках Bedrock Edition см. В разделе Надстройка.

Эта функция является эксклюзивной для Java Edition .

Содержание

  1. Обзор
  2. Чего делать не следует
  3. Первые шаги с Forge
  4. Замечание о заполнителях
  5. 1. Создайте папку для своего проекта
  6. 2. Получите «исходный дистрибутив»
  7. 3. Скопируйте ключевые файлы в папку вашего проекта
  8. 4. Импортируйте проект gradle
  9. 5. Назначьте JDK
  10. 6. Настроить рабочее пространство
  11. 7. Настройте параметры запуска
  12. Создание мода для Forge
  13. Идентификация вашего мода
  14. Создание настраиваемого инструмента
  15. Пользовательские слои поверх ванильных текстур
  16. Текстуры с нуля
  17. Создание собственного моба
  18. Модели с нуля
  19. Создание файла конфигурации
  20. Дополнительная литература

Обзор

Моды (сокращение от «модификации») могут изменять или добавлять элементы, блоки, объекты и многое другое. Предположительно, вы уже есть идея для мода, который вы хотите создать. Если вы просто хотите добавить в свою игру собственные улучшения, функции, таблицы добычи, структуры, рецепты или теги, узнайте, как создать пакет данных, который не требует программирования. Или посмотрите, как создать пакет ресурсов, если вы просто хотите настроить текстуры (цвета и дизайн), модели, музыку, звуки, языки, всплески, шрифты или финальное стихотворение. Или, возможно, вы хотите «разветвить» любимый мод. для обновления до более новых версий Minecraft. В любом случае, это руководство будет охватывать ( в конечном итоге ) только самые основные элементы создания объекта и создания объекта (движущегося объекта, такого как сельский житель, овца, зомби и т. Д.), И распространение полученного пакета модов.

Моды Minecraft состоят из файлов jar (например, yournewmod.jar), которые содержат файлы классов, файлы JSON и файлы изображений, и это лишь некоторые из наиболее распространенных.

  • Class файлы специфичны для языка программирования Java. Несколько учебных пособий по Java, которые стоит попробовать, включают w3schools (веб и мобильные устройства), SoloLearn (веб и мобильные устройства) и kodevelopment (веб). Для чтения или создания файлов классов вам понадобится IDE (интегрированная среда разработки), например IntelliJ или Eclipse. В этом руководстве основное внимание уделяется IntelliJ IDEA Community Edition 2019.
  • JSON файлы — это средство детализации характеристик объектов, используемых файлами классов Java. JSON намного проще, чем Java. Вам понадобится текстовый редактор, такой как Notepad ++, Vim или Emacs, чтобы читать или создавать файлы JSON. У вас, вероятно, уже есть базовый текстовый редактор на вашем компьютере, но есть много преимуществ использования вместо него других.
  • Файлы изображений, с которыми вы, возможно, знакомы, включают форматы .bmp и .jpg, но для Minecraft требуется .png (пример: yournewlogo.png) в квадрате, кратном 16 пикселям (пример: 16×16, 32×32, 64×64). Вам понадобится редактор изображений, такой как Paint.NET или GIMP, для редактирования или создания файлов .png. Вероятно, у вас уже есть MS Paint на вашем компьютере, но GIMP имеет гораздо больше функций, а Paint.NET довольно удобен для пользователя. Есть также несколько веб-сайтов с инструментами для создания пиксельной графики.

Если вы играли в Minecraft Java Edition , у вас, вероятно, уже есть JRE (среда выполнения Java). Чтобы разработать мод, вам нужно будет найти JDK (Java Development Kit), который включает JRE и эмулятор.. Создайте бесплатную учетную запись на oracle.com и загрузите JDK Standard Edition версии 8. Затем следуйте инструкциям по его установке и запишите место, в которое он устанавливается. Обратите особое внимание на раздел Обновление переменной среды PATH .

Установив Java Development Kit и интегрированную среду разработки IntelliJ для управления Java, вы теперь есть инструменты для разработки специального программного обеспечения, которое можно использовать в различных приложениях. Во время работы над модом продолжайте работать с руководствами по Java false. Уроки позволят вам претворить свои идеи в жизнь, а идеи сделают уроки более интересными и запоминающимися.

Еще один инструмент, который вы должны настроить перед запуском мода, — это Forge MDK (комплект для разработки модов). Forge — это набор полезных ресурсов и загрузчик модов, разработанный специально для упрощения совместимости между Minecraft Java Edition и несколькими модами, созданными сообществом. В этом руководстве основное внимание уделяется MDK версии 1.12.2 Minecraft Java Edition , хотя Forge для версии 1.14.4 существует уже некоторое время. Альтернативой Forge является Fabric, но Java все еще используется для кодирования модов в любом случае.

Чего делать не следует

Есть некоторые вещи, с которыми вам следует быть осторожными не делать при создании мода. Запомните этот список:

  • Не делайте ничего, что нарушает условия использования Mojang Studios для Minecraft .
  • Не выпускайте версии или модификации Minecraft , которые позволяют вам играть, не купив Minecraft в Mojang Studios.
  • Ни в коем случае не выпускайте декомпилированный исходный код Minecraft .
  • Не изменяйте существующие моды без разрешения автора (авторов) этого мода. ). Проверьте их лицензию, обычно доступную в репозитории автора на GitHub. Если вы не можете найти лицензию, значит, у вас нет разрешения на передачу измененной версии кому-либо. Вы можете повозиться с файлами только для личного использования .

Первые шаги с Forge

Эта статья вики направлена ​​на чтобы обеспечить надежный обзор нескольких ключевых элементов учебника Forge: https://mcforge.readthedocs.io. Добавьте их страницу в закладки, так как она решает многие вопросы в этой статье. Более того, существует более одного действительного способа достичь желаемого результата; эта статья в вики будет сосредоточена на самом простом, который, вероятно, не самый эффективный или элегантный. Если вы будете точно следовать шагам, изложенным здесь, у вас скоро должен быть функциональный мод, с которым вы затем сможете повозиться сколько душе угодно. Если вы используете Linux, руководство Forge, вероятно, будет для вас более полезным. Если вы используете Windows, читайте дальше.

Замечание о заполнителях

В этом руководстве для обозначения профиля пользователя, с которым вы вошли в систему, будет использоваться слово «вы»; если вы копируете и вставляете пути из этого руководства, не забудьте заменить «You» своим собственным именем пользователя Windows.. В этом руководстве для обозначения разделов, которые следует заменить именем мода, выбранным для вашего проекта, будет использоваться «yournewmod».

1. Создайте папку для своего проекта

Перейдите в C:/Users/ You /Documents и создайте новую папку. Имя этой папки может быть легко изменено позже.

2. Получите «исходный дистрибутив»

Посетите https://files.minecraftforge.net и убедитесь, что выбранная версия является той версией, для которой вы хотите создать мод. В большом поле «Рекомендуемая загрузка» щелкните маленькое поле MDK. Появится диалоговое окно с вопросом, где вы хотите сохранить файл и как назвать его. Выберите любое удобное место, но оставьте название без изменений.

3. Скопируйте ключевые файлы в папку вашего проекта

Откройте папку forge-1.12.2 -…- mdk (с распаковкой или без нее сначала) и скопируйте- вставьте следующие 5 файлов из этой папки в папку проекта, которую вы создали на первом шаге:

  • папку src
  • папка gradle
  • gradlew
  • gradlew .bat
  • build.gradle

4. Импортируйте проект gradle

Откройте/запустите программу IntelliJ IDEA. На целевом экране нажмите «Импортировать проект». Появится диалоговое окно с вопросом, какой файл импортировать. Перейдите в папку своего проекта и выберите build.Gradle, затем нажмите OK.

5. Назначьте JDK

В следующем окне щелкните поле «Gradle JVM» и перейдите к файлам JDK, которые вы установили ранее. Если вы получили обновление 212 версии 8, выберите папку с именем «jdk1.8.0_212». Нажмите OK и дождитесь завершения сборки, отобразив результаты в нижнем поле.

6. Настроить рабочее пространство

Установка зависимостей не требуется. Перейдите к следующему шагу, поскольку новое обновление в Forge команда setupDecompWorkspace не требуется

7. Настройте параметры запуска

После обновления дважды щелкните запись «genIntellijRuns». Откройте окно «Изменить конфигурации» параметров запуска и посмотрите примерно на полпути вниз, чтобы найти «Использовать путь к классам модуля». Щелкните его раскрывающееся поле и выберите вариант, заканчивающийся на .main , затем нажмите Применить. Если настройки, которые вы только что закончили редактировать, относились к Minecraft Client, нажмите Minecraft Server и повторите шаги, чтобы установить путь к классам.

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

Создание мода для Forge

Идентификация вашего мода

Создание настраиваемого инструмента

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

Итак, для начала нам нужно сделать новый каталог tools в вашем пакете com.com. Затем создайте новый класс Java с именем ModItemTier. в этом классе java вам нужно ввести один из следующих вариантов:

/* */package com.com.tools;/* *//* *//* * //* *//* */public enum ModItemTier реализует IItemTier {/* 10 */CUSTOMNAMEHERE (1, 131, 4.0F, 3.0F, 5, () -> Ingredient.fromItems (RegistryHandler.YourItem.get ())  );/* *//* */private final Supplier  repairmaterial;/* *//* */private final int enchantability;/* *//* */private final float attackDamage;/* *//*  */private final float efficiency;/* *//* */private final int maxUses;/* *//* */private final int gatherLevel;/* *//* */ModItemTier (int gatherLevel, int maxUses, float  эффективность, float attackDamage, int enchantability, Supplier  repairmaterial) {/* 25 */this.harvestLevel = gatherLevel;/* 26 */this.maxUses = maxUses;/* 27 */this.efficiency = efficiency;/*  28 */this.attackDamage = attackDamage;/* 29 */this.enchantability = enchantability;/* 30 */this.repairmaterial = repairmaterial;/* */}/* *//* *//* *//*  *//* */ public int func_200926_a () {/* 37 */return this.maxUses;/* */}/* *//* *//* */public float func_200928_b () {/* 42 */return this.efficiency;/ * */}/* *//* *//* */public float func_200929_c () {/* 47 */return this.attackDamage;/* */}/* *//* *//* */public  int func_200925_d () {/* 52 */return this.harvestLevel;/* */}/* *//* *//* */public int func_200927_e () {/* 57 */return this.enchantability;/*  */}/* *//* *//* */public Ingredient func_200924_f () {/* 62 */return this.repairmaterial.get ();/* */} @Override public int getMaxUses () {return this  .maxUses;  } @Override public float getEfficiency () {return this.efficiency;  } @Override public float getAttackDamage () {return this.attackDamage;  } @Override public int getHarvestLevel () {return this.harvestLevel;  } @Override public int getEnchantability () {return this.enchantability;  } @Override public Ingredient getRepairMaterial () {return (Ingredient) this.repairmaterial;  }/* */} 

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

 public static final RegistryObject  NAME_SPEAR = ITEMS.register ("name_spear", () -  > новый SwordItem (ModItemTier.ITEMTIERTHATYOUPUTEARLIER, DAMAGE, COOLDOWN (float), (new Item.Properties ()). group (ItemGroup.COMBAT))); 

. После этого вам нужно создать файл JSON в resources/assets/mod/models/item с именем, которое вы установили ранее, например:

 {"parent": "item /handheld "," textures ": {" layer0 ":" mod: items/name_spear "}} 

Затем перейдите в папку текстур и введите текстуру, которую вы создадите. следующий шаг. Если вы хотите узнать больше о долговечности, рекомендую эту страницу.

Пользовательские слои поверх ванильных текстур

Текстуры с нуля

Откройте редактор изображений, предпочтительно тот, который поддерживает прозрачность, и создайте новый изображение, размер которого кратен 16 x 16 (например, 32 x 32, 64 x 64 и т. д.)

Создание холста 32×32 пикселя в GIMP

В этом примере используется 32×32 пиксельное изображение и выполнено в GIMP.

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

Создайте новый слой и удалите исходный холст. Если вы этого не сделаете, ваше изображение будет иметь белый фон.

Используя кисть размером 1×1 пиксель, начните рисовать свой предмет. Обязательно используйте отдельные слои для отдельных частей элемента, чтобы упростить внесение изменений.

Когда вы закончите создавать свое искусство, нажмите файл для сохранения. Если вы используете GIMP или другой расширенный редактор, он не будет сохранен в формате .png. Для GIMP он сохраняется как .xcf.

С копье сделано, нажмите файл и затем сохраните. Обратите внимание на отсутствие белого цвета фона и вместо него пустой фон .png.

Перейдите в раскрывающийся список экспорта или нажмите ctrl + e в Windows или ⌘ + E для macOS. Это для экспорта файла. Убедитесь, что вы экспортируете файл в формате PNG, а не в формате JPG или с любым другим расширением. Если он не сохранен как .png, у него будет белый фон и он будет выглядеть некорректно.

Экспорт искусство каменного копья на рабочий стол. Обратите внимание, что он экспортируется как .png. Некоторые части подвергаются цензуре из соображений конфиденциальности.

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

Создание собственного моба

Модели с нуля

Создание файла конфигурации

Чтобы собрать свой мод, запустите gradlew build или ./gradlew build для macOS. Это выведет файл в build/libs с именем [archivesBaseName] — [version] .jar. Этот файл можно поместить в папку модов установки Minecraft с включенной кузницей и распространить.

Дополнительная литература

https://mcforge.readthedocs.io/en /latest/gettingstarted/

Рекомендуется:

  • создать учетную запись GitHub для управления версиями вашего мода и сотрудничать с другими разработчиками.
  • дополнительные руководства (в виде видео, для версии 1.15.2)
  • Учебники/Загрузка пакета ресурсов
  • Учебники/Создание пакета ресурсов
  • Учебники/ Установка пакета данных
  • Учебники/Создание пакета данных

Понравилась статья? Поделить с друзьями:
  • Ганасупервит инструкция по применению в ветеринарии
  • Руководство на водонагреватель superlux
  • Hyundai ix35 мануалы по ремонту
  • Как самому построить хозблок на даче пошаговая инструкция
  • Руководство как мыть руки