Создание модификаций с помощью Forge. Программы для создания мода для майнкрафт Создание модов с помощью API

Мой компьютер

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

Таблица готовности
Урок 1.6+ 1.7+
Блок Готов Готов
Предмет Готов Готов
Крафт Готов Готов
Компиляция Готов Готов
Генерация Не планируется Готов
Прокси и инстанция Не планируется Готов
Моб Не планируется Готов
Блоки с моделью Не планируется Возможно
Доп. Уроки Всего: 2 Всего: 12

Первые шаги

Давайте для начала сделаем самое главное: установим Java и Eclipse. Вне зависимости от версии Minecraft, для которой вы хотите создать модификацию, эти шаги одинаковы.

Java JDK

Самое важное для написания на языке Java чего-либо - это, естественно, сами библиотеки Java.

Скачать их можно на сайте Oracle. Переходим на эту страницу и нажимаем слева на иконку Java. Открывшуюся страницу чуть-чуть проматываем вниз, выбираем, что согласны с лицензионным соглашением (Accept License Agreement), и выбираем внизу первого списка пункт, соответствующий вашей операционной системе, и скачиваем. После скачивания просто устанавливаем, нажимая Далее. После установки нужно занести путь установки в переменные среды Windows. Для этого зайдите в меню Свойства компьютера (⊞ Win + PauseBreak или Мой Компьютер -> Свойства -> Дополнительные параметры системы -> Переменные среды). Найдите системную переменную Path, выделите и нажмите Изменить. В самом конце строки Значение через точку с запятой допишите путь к JDK/bin, например, C:\Program Files\Java\jdk1.7.0_45\bin . После чего три раза нажмите ОК.

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

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

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

Linkseyi`s Mod Maker

Linkseyi`s Mod Maker менее популярная программа, однако предоставляет пользователям значительно больше возможностей, чем предыдущий представитель. Работа в данном софте реализована таким образом, что нужно выбирать определенные параметры из всплывающих меню и загружать собственные изображения — это делает программу только удобнее и проще.

Доступно создание нового персонажа, моба, материала, блока и даже биома. Все это объединяется в один мод, после чего он загружается в саму игру. Кроме этого присутствует встроенный редактор моделей. Linkseyi`s Mod Maker распространяется бесплатно и доступен к скачиванию на официальном сайте разработчиков. Обратите внимание, что в настройках отсутствует русский язык, но даже без знаний английского освоить Mod Maker будет очень просто.

Deathly`s Mod Editor

Deathly`s Mod Editor по своему функционалу очень похож на предыдущего представителя. Здесь также присутствует несколько вкладок, в которых создается персонаж, инструмент, блок, моб или биом. Сам мод формируется в отдельную папку с составляющими каталогами, что вы можете наблюдать слева в главном окне.

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

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

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

Что нам нужно:

  • Java JDK
  • MinecraftCoderPack
  • Minecraft
  • ModLoder
  • NotePad ++
  • Eclipse

*Не волнуйтесь, пусть список и состоит аж из 6 пунктов на деле же все обстоит куда проще чем кажется.

Для начала нужно установить Java и чистый Minecraft (лучше лицензионный), конечно это у вас уже есть, но все же… Во избежание ошибок или, если таковые появятся – обратитесь к видео-уроку “Установка Java JDK”, который доступен внизу страницы. Там же вы сможете найти видео по установке Minecraft Coder Pack (MCP).

Установка MCP

На сегодняшний день актуальной версией является MCP 7.23 . Данная версия подойдет для игры 1.4.5

Загружаем, распаковываем в любою папку (пример : папка “mcp” на рабочем столе).
Нам потребуется чистый Minecraft 1.4.5. Для этого запускаем игру и жмем “Force update”.

Переходим по пути: “C:\Documents and Settings\ВашПользователь\Application Data\.minecraft”

*Перейти по этому пути можно, нажав сочетание клавиш Win+R, а затем вписав в поле: %appdata%

Скачиваем ModLoader последней версии (1.4.5) и устанавливаем его. Урок об установке ‘а вы всегда сможете найти и без моей помощи, я же надеюсь, что вы это умеете.

На всякий случай создадим резервную копию minecraft.jar.

Копируем папки bin и resources в папку “jars” нашего mcp.
Запускаем decompile.bat , по завершению жмем любую клавишу. Если во время декомпиляции компьютер выдал вам пару ошибок, то не стоит волноваться на этот счет.

Установка Eclipse

Где же мы будем работать с кодом, создавать и редактировать наши моды? Конечно же в редакторе Java! Я предпочитаю Eclipse, но вы также можете использовать и NetBeans. Честно говоря, подойдет практически любой текстовый редактор, но удобнее работать в специальных программах.

Установка данной софтины довольно проста. Теперь запускаем и указываем путь:
“C:\Documents and Settings\Пользователь\Рабочий стол\mcp\eclipse”

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

*Внимание не забудьте скопировать именно 2 папки (bin и resources ). В видео это не упомянуто!

Видео

Так же советую ознакомиться с Быстрой установкой Minecraft Coder Pack. Вам нужно только повторять все действия за мной.


Не надо удалять META-INF, в minecraft.jar, и minecraft_server.jar
1. Создаем папку (Например: MCP Forge) и распаковываем туда содержание архива с MCP.
2. Копируем в папку../MCP Forge/jars/ , из клиента папку bin и resources, из сервера нам потребуется только minecraft_server.jar.
3. Распаковываем архив с Forge-src в папку MCP Forge
4. Открываем папку../MCP Forge/forge/ и запускаем файл install.cmd. Ждем окончания декомпиляции..
(P.S Если хотите что бы у вас уже был готовый MCP с Forge, например если вы случайно удалили его или ещё что-то, то: Когда декомпиляция пройдёт запустите игру пусть скачает lib, и потом добавьте в архив этот MCP Forge например так (mcp Forge 1.5.1)
5. "Устанавливаем" и запускаем Eclipse, во время запуска у вас "спросят" папку с проектом, указываем путь: ../MCP Forge/eclipse/
6. Итак, мы открыли проект, теперь (Обычно слева, есть Package explorer) смотрим, какую библиотеку он "ест"(В окне Package explorer, "открываем проект Minecraft" и если будет строка "JRE System Library ", то все нормально, но если строка "JRE System Library ", то нажимаем ПКМ(Правой кнопкой мыши), выбираем пункт Properties, далее открылось окно в нем пункт Execution environment, выбираем в нем JavaSE-1.7 и нажимаем Ok.
7. Итак, приготовления готовы.

Как же все таки начать писать мод?

Для начала, нам нужно создать "основу", то есть основную "папку" в которой будет храниться наша "основа" и все остальное.
1.Заходим в Eclipse видим в Package Explorer папку Minecraft, открываем, и нажимаем ПКМ на папку src, выбираем New->Package. Открытом окне в строке Name, мы указываем название папки в которой будет все храниться (Для примера возьмем: mods.testmod.src) и нажимаем Ok.
2. Нажимаем ПКМ по нашей папке (mods.testmod.src), далее New -> Class. В строке Name указываем название нашего файла (Например: TestModBase) и нажимаем Finish.
3. Меняйте путь, но не уберайте mods, вот так например mods.NewItemMod.src.
4. В новых версиях надо импортировать "Очень много" всего, чтобы сделать это быстрее в Эклипсе нажимайте "ctrl + shift + o", и вам быстро он всё импортирует, а если появиться окно тогда выбирайте нужный вам импорт.
5. Если вы работаете не в эклипсе, тогда вам будет намного труднее, так что лучше перейти на него, он укажет где ошибка, и какие импорты надо, и вы не будете задавать глупых вопросов в комментариях.

package mods.testmod.src;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PostInit;
import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.common.network.NetworkMod.SidedPacketHandler;
import cpw.mods.fml.common.SidedProxy;
@Mod (modid = "TestMod", name = "Test Mod", version = "0.0.1")
@NetworkMod (clientSideRequired = true, serverSideRequired = false, versionBounds = "1.0.0")

public class TestModBase {

@Instance("TestModID")
public static TestModBase instance;

@Init

{
}

@PreInit
public void preLoad(FMLPreInitializationEvent event)
{
}

@PostInit
public void postLoad(FMLPostInitializationEvent event)
{
}
}


В нашем файле TestModBase
После надписи:
public class TestModBase {
Вписываем вот такую строку:
public static final Block testBlock = new TestBlock(2020).setUnlocalizedName("testBlock");
Разбор:
public static final Block "testBlock" - testBlock название нашего блока в коде(не в игре)
new TestBlock(2020) - TestBlock название нашего блока в коде(не в игре), 2020 ID блока
setUnlocalizedName("testBlock") - ("testBlock") название нашего блока в коде(не в игре)
После надписи:
@Init
public void load(FMLInitializationEvent event)
{

Вписываем вот такую строку:
GameRegistry.registerBlock(testBlock);
LanguageRegistry.addName(testBlock, "Test Block");

Разбор:
(testBlock) - название нашего блока в коде(не в игре)
(testBlock, "Test Block") - testBlock название нашего блока в коде(не в игре), "Test Block" название нашего блока в игре.
Создаем файл testBlock и вписываем в него такой код:
package mods.testmod.src;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;

public class TestBlock extends Block {

public TestBlock(int par1)
{
super(par1, Material.ground);//Материал
this.setCreativeTab(CreativeTabs.tabTools);//Добавляем в креатив
}
//Регистрируем текстуру
@Override

{
}
}


В нашем файле TestModBase
После надписи:
public class TestModBase {
Вписываем вот такую строку:
public static Item testItem = new TestItem(2021).setUnlocalizedName("testItem");
Разбор:
public static final Item "testItem" - testItem название нашего предмета в коде(не в игре)
new TestItem(2021) - TestItem название нашего предмета в коде(не в игре), 2021 ID предмета
setUnlocalizedName("testItem") - ("testItem") название нашего предмета в коде(не в игре)
После надписи:
@Init
public void load(FMLInitializationEvent event)
{

Вписываем вот такую строку:
LanguageRegistry.addName(testItem, "Test Item");
Разбор:
(testItem, "Test Item") - testItem название нашего предмета в коде(не в игре), "Test Item" название нашего предмета в игре.
Создаем файл testItem и вписываем в него такой код:
package mods.testmod.src;

import net.minecraft.item.Item;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;

public class TestItem extends Item
{
public TestItem(int par1)
{
super(par1);
setCreativeTab(CreativeTabs.tabTools);
}

//Регистрация текстуры для итема немного отличается от блока
@Override
public void registerIcons(IconRegister par1IconRegister)
{
}
}


@Override
public void registerIcons(IconRegister par1IconRegister)
{
this.blockIcon = par1IconRegister.registerIcon("testmod:testBlock");
}

("testmod:testBlock"), testmod - это "имя папки", в которой будет "папка с текстурой", testBlock - название нашей текстуры. Вот такое у нас размещение текстуры:

\Tutorial Forge 1.5.1\mcp744\src\minecraft\mods\testmod\textures\blocks\testBlock.png


@Override
public void registerIcons(IconRegister par1IconRegister)
{
this.itemIcon = par1IconRegister.registerIcon("testmod:testItem");
}

("testmod:testItem"), testmod - это "имя папки", в которой будет "папка с текстурой", testItem - название нашей текстуры. Вот такое у нас размещение текстуры.