The Mod Coder Pack (short MCP) was originally created as a collection of scripts, tools and mappings to make the development of mods for Minecraft easier. Since Minecraft is not open-source and for the most part obfuscated, development against it was painful since the original code was almost unreadable. MCP was designed as a workspace in which developers can create mods using decompiled, deobfuscated (human-readable) Minecraft code.

Workflow

Using MCP adds additional steps to the development workflow of plugins, simplified below:

  • Set up the MCP workspace
  • Download the Minecraft client/server files
  • Deobfuscate the code (changing obfuscated names into human-readable ones)
  • Decompile the code (generating source files from the binary classes)

Mappings

MCP uses two different sets of mappings which are applied separately during the workspace setup. The difference between Notch, Searge and MCP mappings can be seen in the example below:

How To Setup Mod Coder Pack for Minecraft 1.17.1 & 1.18.1 (Check Comments) (Minecraft Coding)


// Notch boolean a(rw ☃); // Searge boolean func_72838_d(Entity p_72838_1_); // MCP boolean spawnEntityInWorld(Entity entityIn);

  • Notch mappings are the original names in the obfuscated Minecraft binary. They change regularly with new Minecraft versions.
  • Searge mappings contain unique names for all obfuscated methods, fields and parameters, as well as human-readable names for the classes. Unlike Notch mappings they usually stay the same across Minecraft updates unless the method signatures change. For SpongeVanilla and SpongeForge, they are also used in production (outside of your IDE).
  • MCP mappings contain human-readable names largely contributed by the community. They are typically only used in the development environment, and then re-obfuscated to Searge or Notch mappings.

When you create a plugin, you work with MCP mappings in your development environment. To run the plugin in production (outside of your IDE) you need to re-obfuscate it to Searge mappings.

Using the MCPBot

The MCPBot is available in the Sponge and MCP IRC channels, or in the #bot-spam channel on Discord, and allows you to lookup MCP mappings or contribute new names. You can send commands to the bot by sending messages in one of the supported channels (e.g. #spongedev ).

Check out the MCPBot help page for a list of all available commands.

Contributing new names

You can also contribute names for class members which are still unnamed. Check out the MCPBot help page for more instructions.

You cannot change existing names. If you would like to suggest changing an existing mapping, create a new issue on the MCPBot issue tracker on GitHub.

Official website of the Mod Coder Pack.

Читайте также:  Как узнать файл подкачки Майнкрафт

More information about using the MCPBot.

SpongeDocs v: 7.4.0

Языки Версии stable 7.4.0 6.0.0 5.1.0 Автономное использование Скачать Содействие Исходный код Правка Перевод

Где и как достать исходный код Майнкрафта | Под капотом

Источник: docs.spongepowered.org

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

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

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

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

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

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

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

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

Для начала нам нужно скачать 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.

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

Так как при создании модов мы работаем с иходниками Minecraft, то нам понадобятся еще и исходники Forge. Идем на http://files.minecraftforge.net/ и качаем исходники для нужной нам версии Minecraft. Для этого жмем на ссылку с подписью src. Скачанный архив (папку forge оттуда) распаковываем в папку с MCP. Должно получиться так:

Forge и MCP

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

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

Forge и MCP

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

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

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

Статья является эксклюзивной для minecraft-cube.ru. Копирование и перепечатка информации возможна только с письменного согласия автора.

Читать также:
[1.3.1] [1.2.5] ModLoader — основа для модов Minecraft
Создаем собственный мод Minecraft [Часть 1]
Моддинг Minecraft. Часть 1. Устанавливаем Forge и MCP
Моддинг Minecraft.

Часть 2. Установка и настройка Netbeans

Похожие записи, которые будут вам интересны:

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

Для отправки комментария вам необходимо авторизоваться.

  • Скачать minecraft
  • Моды Minecraft
  • Все для игры Minecraft
  • Текстуры minecraft
  • Карты minecraft
  • Скины minecraft
  • Моддинг
  • Minecraft API
  • Русификатор minecraft
  • Инди игры
  • Starbound
  • Cubeworld
  • Игры 0x10c
  • Игры scrolls
  • Terraria
  • Blockscape
  • Cobalt
Читайте также:  Как сделать один биом в Майнкрафт

Источник: minecraft-cube.ru

Урок второй. Настройка Gradle

Что такое Gradle? Это мощная система для создания Java приложений (коим и является Minecraft). Forge использует его для моддинга по многим причинам, вроде выполнения деобфускации и других настроек, необходимых для создания рабочего пространства разработчика.

Перед началом непосредственного написания кода, открываем файл build.gradle в корневой папке нашего проекта:

Версия мода

В первую очередь нам нужно изменить версию нашего мода с version = ‘1.0’ на version = ‘1.15.1-0.1.0’ . Версии в моддинге указывают в формате: ВерсияМайнкрафта-ОсновнаяВерсияМода.ДополнительнаяВерсияМода.ПатчМода . Больше об этом вы можете прочитать на SemVer.

Основы версий по SemVer такие:

1. Повышайте версию ОсновнаяВерсияМода при несовместимых изменениях в моде (например удаление каких-либо блоков или предметов). Никогда не сбрасывайте его!
2. Повышайте ДополнительнаяВерсияМода когда делаете обратно-совместимые изменения в моде (добавление предметов или блоков). Сбрасывайте при повышении ОсновнаяВерсияМода
3. Повышайте ПатчМода при внесении мелких обратно-совместимых изменений (вроде факс бага, исправление текстур). Сбрасывайте его значение при любом изменении старших показателей.
4. Разработку начинайте с версии 0.1.0 , а релизная версия должна иметь версию 1.0.0 .
5. НИКОГДА не выпускайте две разные версии мода с одним номером версии.
6. Вы можете добавить дополнительные данные в конец вашей версии, вроде: -pre3 или -alpha2 .

ModID

Далее заменяем значение modid на Mod ID вашего мода. ModID это уникальный идентификатор вашего мода. Он должен быть не менее 8 и не более 64 символов и содержать только буквы нижнего регистра (a-z и 0-9), тире (—) и подчеркивания (_).

Так же нужно изменить группу вашего мода. К примеру, у меня есть вебсайт geekstang.top и я могу указать: group = ‘top.geekstang.astlersGuideMod’ . Если же у вас своего ресурса нет (это может быть github или какой-либо еще), просто пишем: mod.ваше_имя_или_ник_на_англ.ваш_мод_ид .

Вот, что вышло в итоге у меня:

MCP Mappings

Далее давайте обновим MCP Mappings до последнего релиза (желательно стабильного). Это опционально! Впрочем, рекомендуюется имелть как можно более новую версию.

MCP Mappings

MCP (Mod Coder Pack) Mapping это то, что Forge использует для деобфускации кода Minecraft и перевода его в что-то более понятное для человека. Имена сопоставлений поддерживает сообщество, а потому важно следить за их актуальностью.

И заменяем на подходящий с сайта. Просто скопируйте имя/дату релиза и запишите в ваш файл.

Дополнительные правки

Дополнительно нужно добавить следующий блок кода в ваш build.gradle . Этот код гарантирует, что переменные будут правильно вставлены в mods.toml , когда мод будет собран для запуска. Этот файл мы поправим в следующий раз.

Источник: geekstand.top