Minecraft coder pack что это

Обновлено: 02.07.2024

Для начала нам нужно запастись утилитами для создания модов!

5.Клиент и сервер (чистые! с META-INF) - тут

Мы все скачали! Начнем!

1.1 Готовим рабочий стол!

Не удаляем META-INF'ы
1.Создаем папку где будет лежать ваш MCP(где хотите и называйте хоть "ОлолоЯМодолел111") и распаковываем туда MCP

2.Копируем содержимое архива с клиентом и сервером в папку jars в папке MCP

3.Копируем папку forge из архива с исходниками Forge в папку c MCP

4.Открываем папку . /ваша_папка_с_mcp/forge/ и запускаем install.cmd. Ждем окончания декомпиляции

5.Устанавливаем и запускаем Eclipse, во время запуска у вас спросят папку проекта - . /ваша_папка_с_mcp/eclipce/

6. Итак, мы открыли проект, теперь слева есть Package explorer смотрим, какую библиотеку он использует(В окне Package explorer, "открываем проект Minecraft" и если будет строка "JRE System Library [JavaSE-1.7]", то все нормально, но если строка "JRE System Library [JavaSE-1.6]", то нажимаем ПКМ(Правой кнопкой мыши), выбираем пункт Properties, далее открылось окно в нем пункт Execution environment, выбираем в нем JavaSE-1.7 и нажимаем Ok.

1.2 Делаем оссновной класс!

Для начала сделаем основную папку где будет храниться мод

1.Заходим в Eclipse видим в Package Explorer папку Minecraft, открываем, и нажимаем ПКМ на папку src, выбираем New->Package. Открытом окне в строке Name, мы указываем название папки в которой будет все храниться (Например возьмем: ru.tutmod.src ) и нажимаем Ok.

2. Нажимаем ПКМ по нашей папке ( ru.tutmod.src ), далее New -> Class. В строке Name указываем название нашего файла (Например: TutModCore ) и нажимаем Finish.

Вот сам класс(TutModCore)


И еще, что бы ваш мод мог быть Русским, нажимаем ПКМ на проект Minecraft и выбираем Properties

Сегодня мы создаем блок!
Перед @Init пишем:

TutBlock название может быть другим
Внутри метода public void load пишем это:

Разберем!:
TutBlock = new TutBlock - регистрируем блок в файле TutBlock(второй)
500 - ID блока
Material.rock - материал блока камень
.setStepSound(Block.soundWoodFootstep) - звук хотьбы по блоку (у нас дерево)
.setHardness(2.5F) - твердость блока (у камня например 1.5F, у обсидиана 50F)
.setCreativeTab(CreativeTabs.tabBlock) - вкладка креатива - блоки
.setUnlocalizedName("TutBlock") - если не будет указано другое имя (LanguageRegistry) то будет TutBlock
LanguageRegistry.addName(TutBlock, "Tutorial Block") - добавление имени Tutorial Block блоку TutBlock
P.S. если лезут ошибки наведите курсор на подчеркнутый тест и импортируйте нужное или нажмите "ctrl + shift + o"

Разобрали. Создадим класс TutBlock:

Разберем!
package ru.tutmod.src; - папка где лежит файл
import. - импорты
public TutBlock(int par1, Material par2Material) - публикация класса, с int'ами: "par1" - id блока, "par2Material" - материал блока
public void registerIcons(IconRegister par1IconRegister)
- а тут у нас самое интересное - иконка! Она будет лежать по пути . \ваша_папка_с_mcp\src\minecraft\mods\TutMod\textures\blocks\TutBlock.jpg

Заходим и проверяем

Вот код базы TutModCore

Сегодня мы делаем предмет!

Итак регистрируем наш предмет рядом с блоком

И в public void load

Разберем!
10 - кол-во предметов в стаке
Думаю кто читал прошлый урок поймут остальное
Создаем класс TutItem

Разбираем!
public class TutItem extends Item - публикация класса TutItem как Item(предмет)
public TutItem(int i, int j) - публикация TutItem c int'ами: "i" - ID предмета, "j" - кол-во предметов в стаке
public void registerIcons(IconRegister par1IconRegister) - регистрация иконки предмета. Заметьте: блок - this.blockIcon, предмет - this.itemIcon

Путь к иконке немного изменился: . \ваша_папка_с_mcp\src\minecraft\mods\TutMod\textures\items\TutItem.jpg

4.Все о рудах


Будем использовать блок который сделали во 2 уроке как руду!
Генерация

Сначала регистрируем нашу генерацию для руды.
После load пишем:

И создаем новый класс WorldgeneratorTutorial (Ну или другое название, тогда поменяйте и в строке регистрации).
И пишем там это.

Нас интересует этот кусок

Разберем!
Там где цифра 300 - это частота появления. 300 - это будет этой руды дофига.
Что бы была нормальная руда, это 10 - 25.
Там где 230, это высота на какой она появляется (от админиума).
С этим экспериментируйте. ( К примеру алмазы появляются от 20 и ниже).

И самая последняя строка. Это блок и количество его в одном месте.
Вполне все просто.

Просто добавляем это в блок

TutMod.TutItem.itemID - это то что будет выпадет с руды.
Что бы выпадал не один предмет а больше, добавим это.

Будет выпадать 2 предмета, меняйте число по своему желанию.

Допустим вы сделали предмет и хотите его скрафтить. Сейчас этим займемся!

Добавим в load это

Объясню, мы добавили крафт при помощи булыжника(cobblestone), земли(dirt)иии. ничего(Q) у нас получиться алмазик(diamond) в количестве - 64 шт.\
Ну все же рассмотрим поближе.

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

А теперь печка! В load :

Здесь, мы добавили рецепт в печку, в котором при обжарке земли(dirt), мы получим уголь(coal), в количестве - 1 шт.
Тут уже должны вы сами понять.

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

Разберем!
В еде:
5005 - ID
1 - количество восполняемых пунктов сытости.
0.4F - лучше не трогать.
false - нельзя скормить собакам. Если true то можно.
В супе:
5004 - ID
2 - количество восполняемых пунктов сытости.
Далее даем названия нашим предметам.

Создаем классы TutFood и TutSoup.

Тут, кто изучал мои уроки, все поймет

7. Создание своей вкладки в креативе (Creative Tab)

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

Видим ошибку с CreativeTabs. Добавим импорт(ctrl+shift+o/наводим на ошибку и импортируем/вставляем код ниже)

Видим еще ошибку но уже с TabTut. Создаем класс!
И вставляем это

Это конструктор вкладки

Значком нашей вкладки будет TutItem, который мы добавили выше

Называться в игре вкладка будет TutMod(если вы русифицировали мод, то можно и по-русски назвать )

Заходим и тестим!

8.Инструменты

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

Что бы не было ошибки не забудьте импортировать пакет.
Разберем строку.
TutMATERIAL - переменная материала.
"TutMATERIAL" - Имя материала
2 - Уровень инструментов(3 - Алмазы,2 - Железо,1 - Камень,0 - Дерево и золото)
500 - Количество использований
7F - Скорость работы
3 - Урон по мобам
9 - Чем больше цифра, тем лучше зачарования выпадают.
Теперь добавим сам инструмент, например кирку.

В принципе вы все должны понять.
Теперь создаем класс TutPickaxe (Ну или как вы там назвали).
И пишем там это:

В принципе тут все понятно, но надо разобрать третью строку:

Как видим тут написано для кирки (ItemPickaxe)
А вот другие на названия инструмента.
На название инструмента:
Для лопаты - extends ItemSpade
Для кирки - extends ItemPickaxe
Для топора - extends ItemAxe
Для Меча - extends ItemSword
Для мотыги - extends ItemHoe
То есть все аналогично.
Далее надо зарегистрировать имя кирке и дать ей рецепт.
Если чего то не поняли, внимательно прочитайте про предмет.

9.Config файл

Наверное это самое громадное достоинство Forge. Легко создаваемые конфиги.
Что бы избежать несовместимость модов из за ID для этого и существуют конфиги.
И так, начнем!
Сначало нам нужно увидеть конфиг, если он есть - прочитать, нету - создать.
Но это нужно делать перед тем, как к блокам и предметам будут добавляться рецепты, имена и тому подобные вещи. Поэтому создаем функцию, которая будет загружаться перед той, в которой это все делается:

Далее сам конфиг(в функцию, описаную выше)

Здесь создается переменная, отвечающая за файл конфигурации вместе с самим файлом.
Но создать мало - нужно же еще прочитать и сохранить его, верно?

Теперь осталось только прописать туда то, что нам нужно. Пишем между config.load() и config.save():

Разберем одну из строк

0,1,2,3 - шлем, нагрудник, поножи, ботинки

Создаем класс TutArmor

public class TutArmor extends ItemArmor implements IArmorTextureProvider

public void registerIcons(IconRegister par1IconRegister)
if(this == TutMod.Tuthelm) this.itemIcon = par1IconRegister.registerIcon("TutMod:Tuthelm");
>
if(this == TutMod.Tutplate) this.itemIcon = par1IconRegister.registerIcon("TutMod:Tutplate");
>
if(this == TutMod.Tutlegs) this.itemIcon = par1IconRegister.registerIcon("TutMod:Tutlegs");
>
if(this == TutMod.Tutboots) this.itemIcon = par1IconRegister.registerIcon("TutMod:Tutboots");;
>

@Override
public String getArmorTextureFile(ItemStack itemstack) if(itemstack.itemID == TutMod.Tuthelm.itemID || itemstack.itemID == TutMod.Tutplate.itemID || itemstack.itemID == TutMod.Tutboots.itemID) return "/mods/TutMod/textures/armor/TutArmor_1.jpg";
>

if(itemstack.itemID == TutMod.Tutlegs.itemID) return "/mods/TutMod/textures/armor/TutArmor_2.jpg";
>

else return null;

2 - это защита шлема
7 - нагрудника
5 - понож
2 - сапогов

Тут думаю понятно, иконки для брони

Это текстуры для брони. Думаю все понятно.
Дальше даем имена броне(в главный класс)

Далее регистрируем рендер(ну чтобы на игроке была видна броня)

Если у вас не одна броня а больше то строка выглядит так

Ну с конфигами думаю раберетесь

Продолжение тут
Спасибо! Будут добавляться еще уроки а пока у меня кончается интернет. я продлил трафик
Жду ваших плюсиков в репу!

Minecraft Wiki

Из-за новой политики Microsoft в отношении сторонних ресурсов, Minecraft Wiki больше не является официальной. В связи с этим были внесены некоторые изменения, в том числе и обновлён логотип вики-проекта. Подробности на нашем Discord-сервере.

Введение в моддинг Minecraft

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

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

Почему Forge? Представьте, что вам нужно починить телевизор/компьютер/айфон/большой адронный коллайдер (нужное подчеркнуть), но под рукой у вас только молоток и гвозди. Конечно же мы пойдем и достанем пыльный ящичек с инструментами, в котором есть и пассатижи, и пинцет, да и вообще все, что душа пожелает. В нашем случае, Forge – это и есть тот желанный ящик с инструментами.

Minecraft Coder Pack

Searge, ProfMobius, bspkrs, r4wk, IngisKahn

17 октября 2010

Для версий игры с 1.13 и выше доступен форк MCP Reborn, но Forge использует свой форк, включённый в Forge MDK, поэтому для совместимости рекомендуется использовать именно последний. Альтернативно можно использовать Fabric (их инструмент для деобфускации yarn доступен здесь).

Minecraft Coder Pack

Minecraft Coder Pack, or MCP, is a mod found in Hexxit. It is primarily used to permit other mods to work properly and be compiled and run with Minecraft. It is a toolkit for decompiling and deobfuscating the Minecraft client and server files. It doesn't add any gameplay elements or noticeable changes outside of allowing mods to be written.

Le logo de MCP se trouve sur leur site Web. Minecraft Coder Pack, ou MCP, est un mod trouvé dans Hexxit. Il est principalement utilisé pour permettre à d’autres mods de fonctionner correctement, d’être compilés et exécutés avec Minecraft. Il s’agit d’une boîte à outils permettant de décompiler et de désobfumer les fichiers client et serveur de Minecraft. Il n’ajoute aucun élément de jeu ni changement notable en dehors de l’écriture de mods.

Моддинг Minecraft. Часть 1. Устанавливаем Forge и MCP

Моддинг Minecraft. Часть 1. Устанавливаем Forge и MCP

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

Установка исходников Forge в MCP

Forge и MCP

Затем, заходим в папку forge, которая выделена на скриншоте выше и запускаем файл install.cmd

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

Forge и MCP

Ничего больше запускать не нужно, исходные коды Minecraft лежат в папке src, которая появилась в директории с MCP. Можно уже начинать просматривать и редактировать Java файлы, которые лежат там, добавлять новые и т.д, запускать рекомпиляцию и..

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

Установку и настройку IDE, а также загрузку в нее исходного кода Minecraft, мы рассмотрим в следующем уроке, который выйдет совсем скоро. Следите за новостями на нашем сайте.

Приступим к работе

Для начала нам нужно скачать JDK (Java Development Kit)

Идем по этой ссылке и скачиваем JDK для своей ОС(x86 – 32бит, x64 – 64). Не забываем поставить галочку “Accept License Agreement”.

Forge и MCP

Для чего нужен JDK и чем он отличается от JRE? JRE – среда для выполнения уже готовых приложений, например он нужен для того, чтобы ваш Minecraft запускался. JDK же помимо самой java машины и библиотек, включает все возможности для разработки этих самых приложений, а также компилятор, который соберет ваш код в готовую программу.

Скачали? Устанавливаем. На данном этапе проблем возникнуть не должно.

Устанавливаем Minecraft Coder Pack.

Minecraft Coder Pack (в дальнейшем MCP) – это набор для декомпиляции, деобфускации и форматирования кода Minecraft, а также для осуществления обратных операций. Все дело в том, что исходный код игры не лежит на поверхности, а зашифрован (обфусцирован), чтобы всячески усложнить его чтение и понимание. MCP достает исходные коды игры, после чего мы сможем их редактировать, а потом собрать обратно.

Для установки MCP идем на эту страницу (ссылка) и скачиваем последнюю версию, либо идем на страницу (ссылка) и скачиваем MCP для нужной версии Minecraft. Я скачал версию 7.26a для Minecraft 1.4.7. Далее распаковываем архив в удобное для вас место, но я предпочитаю пути, которые не содержат кириллические (русские, да) символы. Например, путь C:\MCP147\ отлично подойдет

Далее, распаковываем скачанный архив в созданную папку. Заходим в нее, видим папку jars. Нам понадобятся файлы Minecraft(ведь что-то мы собираемся декомпилировать, не правда-ли?)

Скачиваем minecraft_server.jar правильной версии(В моем случае 1.4.7) и кладем его в папку jars. Еще нам понадобится папка bin от Minecraft. Копируем ее в папку jars. Должно получиться примерно так:

Forge и MCP

В папке bin должно присутствовать как минимум все это

Forge и MCP

Все, MCP установлен. Осталось поставить Forge.

Читайте также: