создание модов для minecraft fabric

Minecraft Modding#

Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

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

Вы думаете это сложно? На самом деле нет (с помощью этого учебника 🙂

С чего начать?#

Первый и абсолютно необходимый навык для создания модов — знание основ программирование и Java.

Переменная, объект, класс, метод — все эти слова должны быть вам достаточно хорошо знакомы. Если вы не знаете, что это, то вам необходимо пройти самые основы языка Java. Сделать это можно, например, по этим урокам.

Теперь поговорим об API.

API — набор инструментов для упрощения работы с программой (в нашем случае, с Minecraft).

К сожалению, никакого встроенного API для создания модов у Minecraft нет.

Minecraft не поддерживает моды!

Однако, исходный код игры можно получить, и многие разработчики стали разрабатывать свои неофициальные API: Forge, Sponge и так далее. О Forge вы наверняка не раз слышали. Это самое популярное на сегодня API для создания модов.

Поэтому у вас есть выбор.

Писать моды с помощью API#

Это будет проще. Но запускаться ваши моды смогут только на клиенте с заранее установленным API. Моды, написанные с помощью Forge пойдут только на Minecraft, где предварительно установлен Forge.

Большинство всех Minecraft модов написаны при помощи Forge API.

Плюсы

Минусы

Писать моды без помощи API#

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

Плюсы

Минусы

Что выбрать?#

В большинстве случаев рекомендуется писать моды при помощи Forge API. Он сейчас наиболее популярен и является практически стандартом.

Большинство модов и уроков по их созданию написанно с помощью этого API. Forge настолько распространен, что частенько под созданием модов для Minecraft понимается именно их создание с помощью Forge API.

У меня вопрос/проблема!#

Если что-то не работает, но должно, или (что еще хуже), что-то работает, но не должно, смело обращайтесь на форум за помощью.

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

Как поделиться с другом?#

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

Разделы статьи разделяются заголовками. Наведите на заголовок курсор мышки. Справа от него появится значок ссылки. Нажмите на него правой кнопкой и выберите пункт «Копировать адрес ссылки».

создание модов для minecraft fabric. header link. создание модов для minecraft fabric фото. создание модов для minecraft fabric-header link. картинка создание модов для minecraft fabric. картинка header link. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

Вклад в учебник#

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

О сайте#

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

Здесь мы реализуем другой подход.

Сайт является работает на статическом генераторе MkDocs с темой Material. Такой подход позволяет не возиться с исходниками сайта, а писать статьи в удобной markdown разметке, которая автоматически собирается в готовый и красивый сайт.

Источник

[Fabric 1.17] Создаём и настраиваем новый проект

Привет. Я жду, и жду, и жду форжа на 1.17, а его всё нет. Так что давайте разберемся наконец, кто же этот ваш Fabric. Ведь только он и доступен для версии 1.17.

Качаем пример проекта отсюда. Через гит или архивом, тут уж как удобнее. Чистим лишние, а именно LICENSE и README. И мы готовы! Начинать готовы.

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

Начинаем настройку Fabric!

В первую очередь нам нужна Java 16, так как Minecraft с 1.17 перешел именно на эту версию и некогда вечная Java 8 больше не прокатит. Устанавливаем. Проверяем в File — Project Structure, что проект использует 16 версию СДК.

создание модов для minecraft fabric. image. создание модов для minecraft fabric фото. создание модов для minecraft fabric-image. картинка создание модов для minecraft fabric. картинка image. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

Если всё сделано верно, то начнется процесс конфигурации, импорта необходимого и т.д. Ждём пока завершит.

Теперь открываем терминал и пишем это:

создание модов для minecraft fabric. 1 1. создание модов для minecraft fabric фото. создание модов для minecraft fabric-1 1. картинка создание модов для minecraft fabric. картинка 1 1. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

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

Продолжаем настройку

На очереди gradle.properties. А именно часть после # Mod Properties. Это вроде настройки проекта в целом.

mod_version = 1.0.0 это версия нашего мода, maven_group – имя пакета проекта, своего рода идентификатор. Все слова пишем через точки, у меня это dev.gs.first.

archives_base_name это имя проекта. Все слова должны быть написаны через дефиз. Пусть будет: gs-first-mod.

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

Теперь удалим всё из папки java и добавим туда соответствующие указанному ранее имени пакета: maven_group. Т.е. создаём папки: dev, в ней gs, а в ней first. В последнюю папку добавляем файл ModMain.java (или ваше имя, не принципиально). И пишем там такой текст:

Этот главный класс мода, который и будет отвечать за инициализацию компонентов. Мы уже добавили свою реализацию функции onInitiliaze, которая пока ничего не делает. Но это временно. Родителем нашего ModMain класса указан ModInitiliazer. Это класс из API Fabric.

В результате вы должны были получить что-то вроде этого:

Название, описание и другие данные мода

Теперь открываем файл в папке ресурсов: fabric.mod.json. В нём текста будет побольше. Это Json, так что надеюсь, что хоть базовое понимание его структуры у вас есть. Следите за запятыми и кавычками.

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

Путь к иконке в примере указан в таком формате: «assets/modid/icon.png». Но вместо modid вы должны указать id мода, которое был выше (у меня это first_gs_mod), а саму иконку разместить тогда в папке resources/assets/ first_gs_mod/icon.png.

Замечания по id. Они будут использованы при загрузке модов, а это значит, что должны быть уникальными. Мы ведь не хотим конфликтов в будущем?

Ещё тут есть зависимости для мода (будь то сама игра или версия java) и ссылки для обратной связи, которые лучше оставить пустыми, если у вас нет сайта/странички мода на github.

А ещё внимание нужно уделить полю entrypoints, своего рода точки входа, загрузки мода. Там нужно указать путь к нашему ново созданному классу ModMain:

Источник

Создание модификаций с помощью Forge/1.7+

Здесь находятся инструкции по созданию модификаций, работающие для версии 1.7+

Содержание

Подготовка среды и настройка [ ]

Сначала подготовим среду для работы с кодом Minecraft.

Forge [ ]

Собственно, для создания модификаций нужен Forge. Скачать его можно здесь с пометкой Mdk или с пометкой Src (для версий 1.8/1.7). Теперь создайте любую папку там, где вам удобно (в примере это D:\MCModding ), в ней будет находиться Forge и модификация. В эту папку распакуйте содержимое архива с Forge. Вы увидите следующее:

создание модов для minecraft fabric. %D0%A0%D0%B0%D1%81%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5 %D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 Forge. создание модов для minecraft fabric фото. создание модов для minecraft fabric-%D0%A0%D0%B0%D1%81%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5 %D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 Forge. картинка создание модов для minecraft fabric. картинка %D0%A0%D0%B0%D1%81%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5 %D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B0%D0%BD%D0%B8%D0%B5 Forge. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

С 15 января 2020 года Maven больше не поддерживает протокол HTTP и требует использовать HTTPS, поэтому для создание модификаций под версию 1.7.10 необходимо в файле gradle/wrapper/gradle-wrapper.properties изменить значение параметра distributionUrl :

Среда разработки [ ]

Теперь нам нужно установить Forge, который при установке также произведёт декомпиляцию и деобфускацию кода Minecraft, чтобы сразу можно было начать создание модификации. Для этого необходимо установить Java Development Kit (JDK), скачав с официального сайта Oracle. При этом JDK должен быть одной версии с Java(JRE)

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

Если вы являетесь пользователем операционной системы Linux, нужно прописать следующие строки в терминале:

Выполнение команды займёт какое-то время, после чего должно появиться сообщение рода Build Successful.

создание модов для minecraft fabric. %D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0 setupDecompWorkspace eclipse. создание модов для minecraft fabric фото. создание модов для minecraft fabric-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0 setupDecompWorkspace eclipse. картинка создание модов для minecraft fabric. картинка %D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0 setupDecompWorkspace eclipse. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

Пример результата выполнения команды: [1]
gradlew.bat setupDecompWorkspace eclipse

Если же появляется какая-либо ошибка:

Настройка Eclipse [ ]

Нужно настроить Eclipse для работы с Minecraft. Первым делом зайдите в него. Он предложит выбрать рабочую директорию (Workspace). Введите туда путь к папке «eclipse» в папке (Путь к папке должен содержать только английские буквы), куда вы распаковали содержимое Forge и поставьте галочку для того чтоб окно больше не появлялось. В примере это «D:\MCModding\eclipse». Если всё прошло успешно, то слева в Eclipse вы увидите раскрывающееся меню Minecraft, а снизу не увидите красных ошибок.

создание модов для minecraft fabric. Eclipse %D0%BF%D0%BE%D1%81%D0%BB%D0%B5 %D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8. создание модов для minecraft fabric фото. создание модов для minecraft fabric-Eclipse %D0%BF%D0%BE%D1%81%D0%BB%D0%B5 %D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8. картинка создание модов для minecraft fabric. картинка Eclipse %D0%BF%D0%BE%D1%81%D0%BB%D0%B5 %D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B8. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

Интерфейс Eclipse после правильной установки.

Настройка IntelliJ IDEA [ ]

Если вместо Eclipse Вы решили использовать IntelliJ IDEA, то после того как вы установите ее, в стартовом окне в правом нижнем углу нажмите на кнопку «Configure», откройте вкладку «Project Defaults» и выберите пункт «Project Structure».

создание модов для minecraft fabric. %D0%A1%D1%82%D0%B0%D1%80%D1%82%D0%BE%D0%B2%D0%B0%D1%8F %D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 IntelliJ IDEA. создание модов для minecraft fabric фото. создание модов для minecraft fabric-%D0%A1%D1%82%D0%B0%D1%80%D1%82%D0%BE%D0%B2%D0%B0%D1%8F %D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 IntelliJ IDEA. картинка создание модов для minecraft fabric. картинка %D0%A1%D1%82%D0%B0%D1%80%D1%82%D0%BE%D0%B2%D0%B0%D1%8F %D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 IntelliJ IDEA. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

Стартовая страница IntelliJ IDEA

В открывшемся окне нажмите на красную надпись «No SDK», для контекстного меню и выберите пункт с вашей версией JDK. (Если же в меню нет вашей версии JDK нажмите «Add SDK» и укажите путь. В нашем случае это C:\Program Files\Java\jdk1.8.0_241 )

создание модов для minecraft fabric. IntelliJ IDEA. создание модов для minecraft fabric фото. создание модов для minecraft fabric-IntelliJ IDEA. картинка создание модов для minecraft fabric. картинка IntelliJ IDEA. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

После этого можно воспользоваться двумя способами:

Первый способ: [ ]

После того, как Forge скомпилирован и установлен, необходимо запустить IDEA, и в появившемся окне нажать ‘Import Project’. После чего выбираем в папке «D:\MCModding» файл build.gradle. В появившемся окне Вам предложат выбрать способ компиляции (рекомендуется оставить значение Use default gradle wrapper.) В строчке ниже выберите Ваш JAVA_HOME. В пункте «Формат проекта» нужно обязательно выбрать «.ipr (file based)». В противном случае, придётся подключать все библиотеки и настраивать запуск самостоятельно. После всего этого нажмите OK. Ждите, пока сборка скомпилируется.

Второй способ: [ ]

После того, как вы распаковали файлы в «D:\MCModding», сразу запускайте IntelliJ IDEA. В появившемся окне нажать ‘Import Project’. После чего выбираем в папке «D:\MCModding» файл build.gradle.

Если IDEA указывает на старую версию Gradle, нужно обновить ее на более новую. Для этого запустите консоль с директорией к папке с Forge (щелкните ⇧ Shift + ПКМ по папке с Forge > Открыть консоль команд) и выполните следующую команду:

Список всех версий можно посмотреть на официальном сайте.

Потребуется подождать пару минут, пока среда разработки полностью все выполнит и импортирует. После завершения процесса откройте меню «View» в верхней части экрана и выберите пункты «Tools Windows > Gradle». У вас откроется окно с Gradle задачами. Переходим в раздел Tasks > forgegradle.

создание модов для minecraft fabric. Gradle tasks. создание модов для minecraft fabric фото. создание модов для minecraft fabric-Gradle tasks. картинка создание модов для minecraft fabric. картинка Gradle tasks. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

Готово. Мы проделали все то же самое, что и в первом способе, только без использования консоли, а это может быть большим плюсом для новичков.

Запуск [ ]

После выполнения выше перечисленных действий, в верхней части экрана перейдите в раздел «Run» и выберите пункт «Run configurations». По очереди выберите «Minecraft Client» и «Minecraft Server» и уже в правой части окна, в раскрывающемся списке «Use classpath of module» выберите тот пункт, который заканчивается на _main. Теперь вы можете запустить клиент или сервер и удостовериться, что все работает.

создание модов для minecraft fabric. Run config. создание модов для minecraft fabric фото. создание модов для minecraft fabric-Run config. картинка создание модов для minecraft fabric. картинка Run config. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

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

Источник

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

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

Содержание

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

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

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

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

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

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

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

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

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

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

Урок 3. Блок [ ]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Урок 5. Крафт [ ]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Урок 7. Генерация [ ]

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

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

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

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

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

создание модов для minecraft fabric. %D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D1%80%D1%83%D0%B4%D1%8B %D0%B2 %D0%B0%D0%B4%D1%83. создание модов для minecraft fabric фото. создание модов для minecraft fabric-%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D1%80%D1%83%D0%B4%D1%8B %D0%B2 %D0%B0%D0%B4%D1%83. картинка создание модов для minecraft fabric. картинка %D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D1%80%D1%83%D0%B4%D1%8B %D0%B2 %D0%B0%D0%B4%D1%83. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

создание модов для minecraft fabric. %D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%BD%D0%BE%D0%B9 %D1%80%D1%83%D0%B4%D1%8B. создание модов для minecraft fabric фото. создание модов для minecraft fabric-%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%BD%D0%BE%D0%B9 %D1%80%D1%83%D0%B4%D1%8B. картинка создание модов для minecraft fabric. картинка %D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%BD%D0%BE%D0%B9 %D1%80%D1%83%D0%B4%D1%8B. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

создание модов для minecraft fabric. %D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D1%80%D1%83%D0%B4%D1%8B %D0%B2 %D0%BA%D1%80%D0%B0%D0%B5. создание модов для minecraft fabric фото. создание модов для minecraft fabric-%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D1%80%D1%83%D0%B4%D1%8B %D0%B2 %D0%BA%D1%80%D0%B0%D0%B5. картинка создание модов для minecraft fabric. картинка %D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D1%80%D1%83%D0%B4%D1%8B %D0%B2 %D0%BA%D1%80%D0%B0%D0%B5. Хотите создать мод для Minecraft? Добавить в игру что-то свое: блок, моба, целое измерение?

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

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

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

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

Урок 9. Моб [ ]

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *