Создание модов для Minecraft
Гайд о подготовке модификаций, блоков и текстур. С чего начать и как действовать дальше
Пользовательские дополнения делают любую игру лучше, и эта песочница – не исключение. Мы научим вас создавать собственные моды. Это намного проще, чем кажется на первый взгляд.
Неофициальный контент для трехмерной песочницы появляется регулярно: сторонние разработчики выпускают для Minecraft новые карты и рецепты крафта, изобретают модификации с новыми предметами и состязательными механиками, дополняют виртуальную вселенную биомами и шахтами с ресурсами. Несмотря на разнообразие предлагаемого контента, выбора порой все равно недостаточно, а потому многие энтузиасты мечтают воплотить собственные идеи в жизнь. Но как сделать мод для Майнкрафт без знания языков программирования? Истина на поверхности: достаточно воспользоваться специальным набором инструментов MCreator.
Как установить MCreator
Распространяется набор инструментов для разработки модификаций в виде стороннего программного обеспечения, устанавливаемого не в каталог Minecraft, а в отдельную директорию, откуда в дальнейшем запускается для разработки нового контента. Переносить новые предметы, текстуры или декоративные элементы предстоит уже после, через специальное меню и раздел Build & Run. Сначала же предстоит разобраться непосредственно с установкой:
Скачать программу для создания модов для Майнкрафт
Функции MCreator
Интерфейс MCreator перегружен кнопками, контекстными меню и панелями быстрого доступа, а еще представлен лишь на английском языке. Мгновенно освоиться у новичков не выйдет (даже с учетом всплывающих подсказок и рекомендаций), но 3-4 часа проведенные за экспериментами принесут долгожданные плоды. А какими станут результаты – зависит непосредственно от выбранных функций :
Как создать блок в Майнкрафте
Хотя инструмент переполнен функциями и возможностями, начинать творческий путь стоит с малых достижений. Вот инструкция по MCreator, призванная облегчить процесс подготовки нового блока:
MCreator – не единственный представитель жанра: схожие по замыслу инструменты периодически появляются в сети. Но где-то необходимо знать языки программирования или подбирать подходящую версию под Minecraft, а где-то не обойтись без дополнительной подготовки. MCreator призван помочь каждому реализовать задуманное в полуавтоматическом режиме: справятся даже новички.
Надеемся, что вы разобрались с тем, как делать моды для Майнкрафт. Если вам нравится играть с пользовательским контентом, но вы еще не готовы создавать их самостоятельно, тогда попробуйте скачать готовый контент. Оцените нашу подборку модов на реализм. Если же вам больше нравится играть в ваниле, тогда карты для выживания или карты-дропперы идеально разнообразят ваш геймплей.
Блокировка интернет-ресурсов на территории Украины
Стала доступна предзагрузка обновления 1.10.1.1 WOT
Инвайт-код для WOT на сентябрь 2018 [7 дней према, 500 голды и премиум танк Т-127]
Создание модификаций с помощью Forge/1.7+
Здесь находятся инструкции по созданию модификаций, работающие для версии 1.7+
Содержание
Подготовка среды и настройка [ ]
Сначала подготовим среду для работы с кодом Minecraft.
Forge [ ]
Собственно, для создания модификаций нужен Forge. Скачать его можно здесь с пометкой Mdk или с пометкой Src (для версий 1.8/1.7). Теперь создайте любую папку там, где вам удобно (в примере это D:\MCModding ), в ней будет находиться Forge и модификация. В эту папку распакуйте содержимое архива с Forge. Вы увидите следующее:
С 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.
Пример результата выполнения команды: [1]
gradlew.bat setupDecompWorkspace eclipse
Если же появляется какая-либо ошибка:
Настройка Eclipse [ ]
Нужно настроить Eclipse для работы с Minecraft. Первым делом зайдите в него. Он предложит выбрать рабочую директорию (Workspace). Введите туда путь к папке «eclipse» в папке (Путь к папке должен содержать только английские буквы), куда вы распаковали содержимое Forge и поставьте галочку для того чтоб окно больше не появлялось. В примере это «D:\MCModding\eclipse». Если всё прошло успешно, то слева в Eclipse вы увидите раскрывающееся меню Minecraft, а снизу не увидите красных ошибок.
Интерфейс Eclipse после правильной установки.
Настройка IntelliJ IDEA [ ]
Если вместо Eclipse Вы решили использовать IntelliJ IDEA, то после того как вы установите ее, в стартовом окне в правом нижнем углу нажмите на кнопку «Configure», откройте вкладку «Project Defaults» и выберите пункт «Project Structure».
Стартовая страница IntelliJ IDEA
В открывшемся окне нажмите на красную надпись «No SDK», для контекстного меню и выберите пункт с вашей версией JDK. (Если же в меню нет вашей версии JDK нажмите «Add SDK» и укажите путь. В нашем случае это C:\Program Files\Java\jdk1.8.0_241 )
После этого можно воспользоваться двумя способами:
Первый способ: [ ]
После того, как 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.
Готово. Мы проделали все то же самое, что и в первом способе, только без использования консоли, а это может быть большим плюсом для новичков.
Запуск [ ]
После выполнения выше перечисленных действий, в верхней части экрана перейдите в раздел «Run» и выберите пункт «Run configurations». По очереди выберите «Minecraft Client» и «Minecraft Server» и уже в правой части окна, в раскрывающемся списке «Use classpath of module» выберите тот пункт, который заканчивается на _main. Теперь вы можете запустить клиент или сервер и удостовериться, что все работает.
Поздравляем! Вы успешно настроили среду для того, чтобы начать писать модификации при помощи нее.
Создание модификаций с помощью Forge
В этой статье описывается процесс создания модификаций для Minecraft с использованием API Forge и Eclipse. Для создания даже простых модификаций требуется знание основ Java. Если во время создания модификаций возникнут вопросы или проблемы, не описанные здесь, опишите их на странице обсуждения.
Таблица готовности | ||||||
---|---|---|---|---|---|---|
Урок | 1.6+ | 1.7+ | 1.9+ | 1.10+ | 1.12+ | 1.14+ |
Блок | Готов | Готов | Готов | Готов | Готов | Не планируется |
Предмет | Готов | Готов | Готов | Готов | Приостановлено | Не планируется |
Крафт | Готов | Готов | Готов | Готов | Приостановлено | Не планируется |
Компиляция | Готов | Готов | Готов | Готов | Приостановлено | Не планируется |
Генерация | Возможно | Готов | Готов | Не планируется | Приостановлено | Не планируется |
Прокси и инстанция | Не планируется | Готов | Не планируется | Не планируется | Приостановлено | Не планируется |
Моб | Возможно | Готов | Не планируется | Не планируется | Не планируется | Не планируется |
Блоки с моделью | Возможно | Возможно | Не планируется | Не планируется | Приостановлено | Не планируется |
Доп. Уроки | Всего: 3 | Всего: 12 | Всего: 10 | Всего: 0 | Всего:0 | Всего:0 |
Общие сведения [ ]
Для создания модификаций в любом случае нужны JDK и Eclipse. Первая — это комплект разработчика Java и отличается от обычной Java тем, что имеет средства для компиляции/декомпиляции, несколько дополнительных библиотек и документацию. С 2019-го года ввиду изменений в лицензировании для загрузки JDK потребуется учётная запись Oracle. Также важно то, что Minecraft 1.12 не поддерживает Java ниже 7-й и выше 9-й включительно, тогда как 1.14 поддерживает практически все версии Java выше 8-го выпуска. Eclipse — это среда разработки, которая имеет поддержку синтаксиса нужного языка программирования, а также в ней был написан сам 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. Крафт [ ]
Собственно, у нас есть блок и предмет. Мы можем их держать в руках, а блок даже ставить. Но а если мы хотим достать их, играя в режиме Выживания? Тогда блок или предмет можно только найти или скрафтить. Добавить крафт очень просто. Предположим, рецепт блока должен быть следующим:
Ингредиенты | Рецепты крафта | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Гравий + Железный слиток + Обсидиан |
Параметр | Описание |
---|---|
MyBestEntity.class | Класс моба. |
«myBestEntity» | ID моба |
0x00FFFF | Цвет фона яйца |
0x00008B | Цвет пупырышек яйца. |
Теперь создайте класс моба и добавьте туда следующий код:
В примере суперклассом класса моба является класс «EntityMob», предназначенный для враждебных мобов. Также существуют классы «EntityCreature», «EntityAnimal», «EntityLiving» и другие.
Теперь модель, текстура и рендер. В класс CommonProxy добавьте следующий код:
Далее в класс ClientProxy добавьте следующий код:
Теперь надо вызвать созданный метод в главном файле модификации. Просто добавьте этот код:
Далее создайте класс RenderВашМоб. В нашем случае это «RenderMyBestEntity». Его суперклассом должен быть класс «RenderBiped». В класс добавьте следующий код:
Для локализации яйца моба добавьте в файл локализации следующий код:
Теперь зайдите в игру. Во вкладке «Разное» будет яйцо.
Теперь вы знаете какие однокоренные слова подходят к слову Как написать мод в майнкрафте, а так же какой у него корень, приставка, суффикс и окончание. Вы можете дополнить список однокоренных слов к слову "Как написать мод в майнкрафте", предложив свой вариант в комментариях ниже, а также выразить свое несогласие проведенным с морфемным разбором.