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.
Плюсы
- Простое создание модов
- Удобный перенос на другие Minecraft версии
- Совместимость (и даже взаимодействие) с другими модами
Минусы
- Необходимость иметь установленное API на клиенте
Писать моды без помощи API#
Это несколько сложнее, так как потребует от вас глубокого понимания внутреннего устройства работы Minecraft. При написании модов без использования API вы напрямую редактируете исходный код игры. Получается, что вы словно пишете свой собственный Minecraft (или новую его версию), и никакие другие моды работать вместе с вашим скорее всего не будут.
Плюсы
- Не нужно ничего предварительно устанавливать
- Полный контроль над происходящим в игре
- Возможность менять исходные файлы игры
Минусы
- Почти абсолютная несовместимость с другими модами
- Относительная сложность написания
- Сложный перевод мода под другие Minecraft версии
Что выбрать?#
В большинстве случаев рекомендуется писать моды при помощи Forge API. Он сейчас наиболее популярен и является практически стандартом.
Большинство модов и уроков по их созданию написано с помощью этого API. Forge настолько распространен, что частенько под созданием модов для Minecraft понимается именно их создание с помощью Forge API.
У меня вопрос/проблема!#
Если что-то не работает, но должно, или (что еще хуже), что-то работает, но не должно, смело обращайтесь на форум за помощью.
Кстати, там можно не только просить о помощи, но еще и общаться с другими создателями модов, обмениваться опытом и рекламировать свои моды!
Как поделиться с другом?#
Вы можете просто скинуть ссылку на статью. Однако, статьи на данном сайте порой достигают внушительных размеров. В таком случае, можно поделиться ссылкой на конкретный раздел статьи.
Разделы статьи разделяются заголовками. Наведите на заголовок курсор мышки. Справа от него появится значок ссылки. Нажмите на него правой кнопкой и выберите пункт «Копировать адрес ссылки».
Вклад в учебник#
Вы можете вносить правки в существующие статьи, добавлять свои собственные, а также предлагать идеи для новых статей. Сделать это очень просто. Весь процесс полностью автоматизирован. Подробные инструкции вы можете найти на вики по работе с сайтом.
О сайте#
На просторах интернета достаточно много штучных учебников под какие-то конкретные Minecraft версии. Получается, что нет единого источника информации, который поддерживается сообществом, а не единственным автором.
Здесь мы реализуем другой подход.
Сайт работает на статическом генераторе MkDocs с темой Material. Такой подход позволяет не возиться с исходниками сайта, а писать статьи в удобной markdown разметке, которая автоматически собирается в готовый и красивый сайт.
Настройка Visual Studio Code для Fabric
Эти плагины рекомендуются для получения наилучшего опыта. Их надо устанавливать один раз.
Внимание, плагину “Поддержка языка Java(TM) by Red Hat” необходима Java 11 или выше. Для большей информации смотрите JDK Requirements.
Импорт проекта
Клонируйте проект в папку, а затем откройте её с помощью Visual Studio Code. Она должна начать импортировать проект Gradle (если это не началось за 30 секунд, откройте файл build.gradle).
Когда это завершится, появится дополнение кода для игрового движка, что будет полезно для разработки модов.
Создание конфигураций запуска
Чтобы запустить игру с включённой поддержкой отладки, вам нужно создать конфигурации запуска. Для этого запустите задачу Gradle vscode . Один из способов открыть терминал — перейти в View → Terminal. Это откроет Терминал в папке проекта. Введите в терминале ./gradlew vscode и нажмите Enter. Это автоматически создаст необходимый launch.json файл, содержащий когфигурации запуска.
Теперь, чтобы запустить игру, выберите меню отладки слева и нажмите начало отладки. Это соберёт Ваш мод и запустит игру с ним.
Создание исходного кода Minecraft
Если Вы хотите изучить исходный код Minecraft, вы можете использовать задачу Gradle genSources . Введите в терминал ./gradlew genSources и нажмите Enter.
Далее, Вам понадобится обновить Ваш Java проект, это может быть сделано путём нажатия Shift + Alt + U пока открыт файл build.gradle.
Чтобы найти классы Minecraft, вы можете открыть панель поиска, нажав Ctrl + P , начните поиск с # чтобы выбрать классы Minecraft.
ru/tutorial/vscode_setup.txt · Last modified: 2021/08/10 17:21 by vlad_cool
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Настройка среды разработки модов
Java Development Kit (JDK) для Java 17 (рекомендуется) или новее. Чтобы установить его, зайдите на https://adoptium.net/releases.html.
Если вы профессионал, вы можете получить JDK здесь, который необходимо извлечь и настроить системные переменные вручную.
Любая Java IDE, например Intellij IDEA или Eclipse. Вы также можете использовать любые другие редакторы кода, такие как Visual Studio Code.
Если вы не знакомы ни с одним из них, мы рекомендуем использовать Intellij IDEA, поскольку это то, что большинство людей выбирают для моддинга.
Плагин MinecraftDev IntelliJ IDEA
Если вы используете IntelliJ IDEA, вы можете использовать плагин MinecraftDev. Этот плагин добавляет поддержку автоматического создания проектов Fabric, а также некоторых функций, связанных с mixin, таких как проверки, генерация accessors/shadow полей и копирование целевых ссылок Mixin (дескрипторов JVM). Плагин можно найти в репозитории плагинов IntelliJ, таким образом, вы можете установить его с помощью внутреннего браузера плагинов IntelliJ, перейдя в File → Settings → Plugins, затем перейдите на вкладку Marketplace и выполните поиск по слову Minecraft.
Ручное управление
Скопируйте начальные файлы fabric-example-mod (или версию для Kotlin, если вы хотите использовать Kotlin), за исключением файлов LICENSE и README.md , так как они нужны только для самого шаблона и не обязательны для Вашего мода.
Отредактируйте gradle.properties :
Установите полям archives_base_name и maven_group ваши предпочтительные значения.
Не забудьте обновить версию Minecraft, маппингов, Loom и Loader, — все это может быть запрошено через https://fabricmc.net/develop/ — чтобы соответствовать версиям, на которые вы настроены.
Добавьте в build.gradle иные зависимости, которые Вы планируете использовать.
Импортируйте файл build.gradle в вашу среду разработки. Вы можете обратиться к следующему разделу для получения информации о конкретных IDE.
Счастливой разработки!
Если вы не можете использовать плагин MinecraftDev или fabric-example-mod, вы также можете использовать GeneratorFabricMod от ExtraCrafTX, удобный инструмент для автоматического создания новых модов Fabric из шаблона. Выполните следующие действия:
Скачайте последнюю версию GeneratorFabricMod здесь и извлеките его.
Создайте новый каталог, затем запустите там командную строку и введите path/to/GeneratorFabricMod/bin/GeneratorFabricMod .
После того как он получит свои зависимости, следуйте инструкциям и введите необходимую информацию.
Теперь все готово, просто откройте папку проекта в вашей IDE.
IntelliJ IDEA
Если вы используете IntelliJ IDEA от JetBrains, пожалуйста, выполните следующие действия:
В главном меню IDEA, выберите ‘Import Project’ (или File → Open… если у вас уже есть открытый проект).
Выберите файл build.gradle проекта, чтобы импортировать его.
После того как Gradle закончит настройку, закройте проект (File → Close Project) и снова откройте, чтобы исправить неверное отображение конфигураций запуска.
(Если конфигурации запуска по-прежнему не отображаются, попробуйте повторно импортировать проект Gradle с вкладки Gradle в IDEA.)
Необязательно, но рекомендуется: По умолчанию IntelliJ делегирует Gradle для создания проекта. Это не требуется для Fabric и, помимо прочих проблем, приводит к увеличению времени сборки и странностям, связанным с горячей заменой. Чтобы сделать это, используйте встроенный компилятор:
Откройте диалоговое окно ‘Gradle Settings’ на вкладке Gradle.
Измените поля ‘Build and run using’ и ‘Run tests using’ на ‘IntelliJ IDEA’.
Перейдите в File → Project Structure → Project и установите ‘Project compiler output’ на $PROJECT_DIR$/out .
К сожалению, в настоящее время невозможно установить значение IDE по умолчанию для параметров ‘Build and run using’ и ‘Run tests using’, поэтому эти шаги должны повторяться для каждого нового проекта.
ПРИМЕЧАНИЕ: Не запускайте задачу gradle ./gradlew idea , так как это портит gradle и нарушает среду разработки.
Eclipse
Если вы используете Eclipse и хотите, чтобы IDE запускала конфигурации, вы можете запустить gradlew eclipse . Затем проект можно импортировать как обычный (не gradle) проект Eclipse в вашу рабочую область, используя меню ‘File’ — ‘Import…’, затем ‘General’ → ‘Existing Projects into Workspace’.
Visual Studio Code
Если вы используете VSCode, следуйте этим инструкциям
Генерация Minecraft исходников
Чтение исходного кода Minecraft является неотъемлемой частью моддинга. К сожалению, мы не можем опубликовать исходный код Minecraft, потому что это нарушает лицензионное соглашение Minecraft. Вам нужно самостоятельно сгенерировать исходный код Minecraft.
Чтобы сгенерировать исходный код Minecraft. запустите задачу gradle genSources . Если ваша IDE не имеет интеграции с gradle, выполните следующую команду в терминале: gradlew genSources (или ./gradlew genSources в Linux/macOS). Это может занять некоторое время, в зависимости от мощности вашего компьютера. Возможно, вам потребуется обновить gradle после выполнения задачи.
Смотрите Чтение исходного кода Minecraft о том, как прочитать исходный код.
Приступаем к работе
Совет
Хотя Fabric API не является строго необходимым для разработки модов, его основная цель обеспечить кросс-совместимость, где этого не делает игровой движок, и поэтому он настоятельно рекомендуется! Даже некоторые учебники в вики неявно требуют Fabric API .
Иногда при разработке fabric-loom (нашего плагина Gradle build) могут возникать проблемы, требующие сброса файлов кэша. Это можно сделать, запустив gradlew cleanloom . Запуск gradlew —stop также может помочь с несколькими редкими проблемами.
Не стесняйтесь задавать вопросы! Мы здесь, чтобы помочь вам и работать с вами, чтобы сделать ваш мод мечты реальностью.
Диагностика
Отсутствующие звуки
Иногда при импорте проекта Gradle в IDE ресурсы могут загружаться неправильно. В этом случае запустите задачу downloadAssets вручную — либо с помощью встроенного меню IDE, либо просто запустив gradlew downloadAssets .
ru/tutorial/setup.txt · Last modified: 2022/02/25 21:10 by furnygo
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Помогите, хочу научиться делать собственные моды и плагины! :З
Привет всем,хочу научиться делать собственные моды и плагины.
Но все говорят что надо учить Java
Если не трудно то объясните что именно надо для того чтобы делать собственные моды и плагины(IC2 — Buildcraft, плагин WorldGuard — итд) что именно учить и если есть силки буду благодарен если оставите.
Помогите кто чем сможет, очень нравится это дело моды, плагины уже несколько месяцев мечаю начать, но не знаю с чего именно.Все когда-то с чего-то начинали. Большими людьми не рождаются — ими становятся.
Придет время и все узнают обо мне :З
GloomyFolken
Oskar написал(а):
учить Java
Liahim
4,034 63 639
Ну, или можешь пойти кривым моим путём.Я жаву не учил, «всё» пришло по ходу дела.
Я просто попробовал сделать первый блок. По туторам и учебникам.
Потом попробовал задать ему свойства.
Потом постепенно изучал структуру майна.
Зато какое было озарение, когда я понял основные принципы ООП =)
Не из учебников понял, а из кода и его поведения.
Так что, начни с чего-нибудь, а дальше посмотрим, что будет.
svk2140
Для начала овладей поиском, а потом для тебя не будет преград.
[font=Georgia,]В общепринятом понятии я поехал с катушек. Подробнее: https://vk.com/club147044002[/font]
Heitem
Liahim написал(а):
Ну, или можешь пойти кривым моим путём.Я жаву не учил, «всё» пришло по ходу дела.
Я просто попробовал сделать первый блок. По туторам и учебникам.
Потом попробовал задать ему свойства.
Потом постепенно изучал структуру майна.
Зато какое было озарение, когда я понял основные принципы ООП =)
Не из учебников понял, а из кода и его поведения.
Так что, начни с чего-нибудь, а дальше посмотрим, что будет.
Просто зубрил код? И за какое время научился кодить?
[font=Tahoma, Verdana, Arial, sans-serif]Кто сказал, что он ушёл, нет он готовил шоу.[/font]
Liahim
4,034 63 639
Ну, за годик был готов первый мод, у которого уже под 30К скачек )
Хотя, озарение пришло раньше.
Дальше я тупо шлифовал и добавлял различные детали )
И я не просто зубрил код, а делал конкретные вещи, специально для мода. Не распыляясь.
Постепенно стал ясен и общий принцип.
[merge_posts_bbcode]Добавлено: 21.07.2016 14:30:09[/merge_posts_bbcode]
Ну и, спасибо форуму, конечно )))
XuPuPG
когда я пошел в моддинг,я знал только о методах и переменных
wilah
svk2140 написал(а):
Для начала овладей поиском, а потом для тебя не будет преград.
Божеский совет, рекомендую всем.
Heitem
Liahim написал(а):
Ну, за годик был готов первый мод, у которого уже под 30К скачек )
Хотя, озарение пришло раньше.
Дальше я тупо шлифовал и добавлял различные детали )
И я не просто зубрил код, а делал конкретные вещи, специально для мода. Не распыляясь.
Постепенно стал ясен и общий принцип.
[merge_posts_bbcode]Добавлено: 21.07.2016 14:30:09[/merge_posts_bbcode]
Ну и, спасибо форуму, конечно )))
Как мод называется?)))
[merge_posts_bbcode]Добавлено: 21.07.2016 14:22:27[/merge_posts_bbcode]
Я буду 30 001 скачавшим)
[font=Tahoma, Verdana, Arial, sans-serif]Кто сказал, что он ушёл, нет он готовил шоу.[/font]
wilah
Dahaka
2,505 81 397
Код зубрить не нужно в любом случае. Нужно знать синтаксис Java и принципы ООП. Ну а потом просто постепенно разбираешься в архитектуре майна и пишешь, что угодно.
Дайте тазик, кровь из глаз
Fereter
Если с моддингом и созданием плагинов также как и с C#, то ничего полностью учить не нужно.
Только через любой поисковик найти урок по установке среды разработки и созданию самой первой, самой простой программы — Hello world (в модах это наверное добавление своего рецепта крафта или предмета, не знаю, что проще). А дальше гуглить то, что интересует. Например, «C# вывести message box» или, в случае с плагинами, «создание блока site:forum.mcmodding.ru». Пробовать создать, мучить Visual studio (eclipse) и ужасать своим говнокодом шпионов microsoft. В конце концов научишься.
Но, еще раз повторю, это сработает только если моддинг и плагины, как изучение C#.
