Mdk forge что это

Обновлено: 05.07.2024

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

Создание модификации [ ]

build.gradle [ ]

Если вы используете IntelliJ IDEA, то в конец build.gradle дополнительно добавьте это:

pack.mcmeta [ ]

Этот файл нужен для корректной работы игры с ресурсами модификации, такими как локализации, модели, рецепты, таблицы добычи и так далее. Заполняется следующим образом:

mcmod.info [ ]

Этот файл задаёт более подробную информацию о модификации и заполняется следующим образом:

Класс модификации [ ]

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

Класс блока [ ]

Для создания блока создайте класс с названием блока в стиле TutorialBlock в пакете патч.blocks и заполните его следующим образом:

Примечание регистрируемое имя и ключ локализации указывать только в нижнем регистре, используя при надобности нижнее подчёркивание!

Модель [ ]

Модель (которую, например, можно создать здесь) решает то, как наш блок будет выглядеть. Важно знать, что для блоков используется две модели. Одна задает вид блока, поставленного в мире, а вторая, его иконку в инвентаре. Это дает нам возможность сделать блоку отдельную иконку для инвентаря. Сами же модели для блока подключаются к нему как состояния, normal для блока в мире и inventory для его иконки в инвентаре. Поэтому для начала создадим файл идентификатор_блока.json в пакете assets.идентификатор_мода.blockstates, который и подключит наши модели.

Теперь подключим модели. Для этого создайте файл регистрируемое_имя.json в пакете assets.идентификатор_мода.models.block со следующим содержимым:

Теперь зададим иконку блока в инвентаре в пакете assets.идентификатор_модификации.models.block с именем идентификатор_блока.json со следующим содержанием:

Наш блок имеет текстуры и свойства, но его нужно зарегистрировать в игре. Создадим в пакете домен.автор.мод.init класс BlocksInit :

Теперь в главном классе в методе preInit добавьте инструкцию BlocksInit.registerBlocks а в методе init BlocksInit.registerBlocksRender .

Установка Forge Gradle [ ]

Для начала работы, создайте папку с названием вашей модификации избегая кириллицы. Если ваш мод имеет название из двух слов, желательно называть папку без пробелов, к примеру Tutorial-Mod или TutorialMod. Далее перейдите на официальный сайт Forge и скачайте версию с пометкой MDK (Modder Development Kit). Из загруженного архива извлеките папку gradle и файл build.gradle в папку модификации, остальные файлы сохранены для совместимости и/или дополнительных функций и для начала не понадобятся. Далее импортируйте в Eclipse проект как Existing Gradle Project указав папку модификации. Затем в колонке Gradle tasks поочерёдно выполните setupDecompWorkspace из набора forgegradle и eclipse из набора ide (Для пользователей IntelliJ IDEA task genIntelliJRuns), и обновите среду (ПКМ по проекту и Refresh). Теперь можно удалить два файла с расширением .launch, так как для тестовых запусков мы будем использовать задачи Gradle. Для настройки папок ресурсов создайте в папке проекта два каталога: src\main\java и src\main\resources после чего выделите их и по ПКМ найдите пункт Build Patch и нажмите Us as source folder.

Не забудьте! Далее, все связанное с Java кодом мы будем делать в каталоге src\main\java, а остальное в src\main\resources.

Примечание! Для установки потребуется компьютер с минимальным объёмом ОЗУ от 4Гб! Если у вас недостаточно ОЗУ, добавьте необходимый объём из файла подкачки, но такой метод работает лишь на 64-битных системах.

Содержание

Создание модификаций с помощью Forge/1.12+

В этой статье описывается создание модификаций на основе Minecraft Forge с использованием Eclipse для версий Minecraft с 1.12.

Предмет [ ]

Основное [ ]

Класс предмета [ ]

Для создания предмета создадим класс с именем TutorialItem:

Для регистрации предмета создадим класс ItemsRegister:

В классе CommonProxy, в методе preInit() добавляем строку ItemsRegister.register(); , а в методе init() ItemsRegister.registerRender(); .

Модель [ ]

Теперь у нас есть предмет, однако если мы запустим игру и выдадим себе его, то он будет выглядеть как куб с фиолетовыми и черными клетками. Это говорит о том, что игра не нашла модель предмета. Для исправления этой проблемы создаём в папке src/main/resources/assets/имя_мода/models/item файл с расширением .json и пишем в нём следующий текст:

Примечание: название файла модели должно совпадать с RegistryName предмета

Второй вариант используется для моделей инструментов и оружия. Однако теперь, когда у нас есть модель для предмета, осталось добавить текстуру по пути src/main/resources/assets/имя_мода/textures/items дав ему имя, идентичное указанному в файле модели.

Mdk forge что это

saver_cat

saver_cat

Звание: Где-то рядом с нами

Flёur,
Как ты запускаешь декомпияцию (установку forge)?
Flёur
как и писал CheshirX. создаю папку. в нее скидываю все из архива форджа. шифт+пкм и прописываю "gradlew setupDecompWorkspace". ну а дальше все что на скриншоте.
я так понимаю не хватает памяти. но что с этим делать. или я что-то не так понимаю и делаю?

saver_cat

saver_cat

Звание: Где-то рядом с нами

Flёur,
Перед так как вписывать "gradlew setupDecompWorkspace" пропиши "Set JAVA_OPTS=-Xms1536M -Xmx2048M" (без ковычек)
Flёur
спасибо) совет помог)
а скипы при создании игрового пространства так и должны быть? они при создании остались.. еще появились UP-DATE как-то так пишется. ни у кого такого не было?

saver_cat

saver_cat

Звание: Где-то рядом с нами

Flёur,
Да такое может быть, SKIPPED - это то что он пропускает, т.к. это не нуждается в обновлении, а UP-DATE - это то что он обновил.

Egor_Brechalov99

Egor_Brechalov99

Звание: Активный человек

Я тут тоже маюсь проблемами при скачке библиотек eclipse. У меня Minecraft 1.7.10, загруженный, только очень сильно(60 модов(сам он работает, если дать 2Гб оперативы)). У меня установлен JDK 7 update 79, а его корневая папка и "bin"ка прописаны в переменных средах и "JAVA_HOME", и "Path", соответственно; в пользовательских переменных средах, и в системных. Установлен Forge последней версии для 1.7.10. Однако, при включении файла gradlew.bat или после ввода команды "gradlew.bat setupDecompWorkspace eclipse"(перед этим действия были перенесены в папку с forge) вылезает ошибка.

What went wrong:
Failed to notyfy build listener.

Вот так, собственно говоря. Есть идеи?

deleteuser32

Звание: V.I.P на хуторе

Egor_Brechalov99

Egor_Brechalov99

Звание: Активный человек

Egor_Brechalov99

Egor_Brechalov99

Звание: Активный человек

Что ж, проблема частично разрешилась. Изначально всё не могло установиться из-за знака "пробел" в пути файла. Но.

* What went wrong:
Execution failed for task ':makeStart'.
> Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\Program Files\Java\jre1.7.0_79"

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

Однако, команда gradlew setupDecompWorkspace всё равно не работает, как видите. Идеи есть?

Sab

Модератор бездны

Звание: Искуственный AI, блеять

Egor_Brechalov99

Egor_Brechalov99

Звание: Активный человек

JonnyB

JonnyB

Просто хорошие люди

Звание: Бабка на лавке

Egor_Brechalov99

Egor_Brechalov99

Звание: Активный человек

Так покажите мне.

JonnyB

JonnyB

Просто хорошие люди

Звание: Бабка на лавке


Археология. Нельзя апать старые темы, особенно те, которые были созданы год назад или больше. Для вашего вопроса следует создать отдельную тему.

HerrManelling

HerrManelling

Звание: Резиновый дедушка :)

Археология. Нельзя апать старые темы, особенно те, которые были созданы год назад или больше. Для вашего вопроса следует создать отдельную тему.
Э-э-э, ну не надо же сходу обзывать человека идиотом, а.

Egor_Brechalov99

Egor_Brechalov99

Звание: Активный человек

JonnyB,
У меня проблемы с установкой forge и eclipse. Я это, вроде, бы прямо сказал. Это обсуждение, судя по названию, как раз было создано для решения подобного рода задач. и вы их, судя по всему, решаете. Вон, в начале парень спрашивал, как решить проблему установки. И ему помогли.
Я тоже обратился с таким же вопросом установке среды программирования. Подробно всё расписал, высказал свои предположения, пока ждал ответа, пытался решить проблему самостоятельно и мне это частично удалось. Но при этом вы отзываетесь не самыми лучшими комментариями об уместности вопроса и явно недовольны его присутствием, хотя его суть полностью соответствует названию обсуждения. Что я сделал не так?

Ладно, допустим, на этом сайте есть подробная инструкция для подобных случаев. Так направьте меня туда, оставьте ссылку на неё, процитируйте пункт-другой, которые могли бы мне помочь. Хоть что-нибудь.

Статистика форума

Сейчас онлайн: 3

Администраторы | Главные редакторы | Модератор | Дедушки | Журналисты | HENTAI BOY | Goldфаги | Журналисты-олдфаги | ТруЪ Олдфаги-с | ТруЪ Плагинщик | Олдфаги | true Художник | Модератор бездны | Картоделы | XXXL ПХЛ | Просто хорошие люди | Посетители | Новички

Теория по Forge, моддингу и Minecraft

Может прозвучать странно, но я пишу простенький мод в качестве моего курсового проекта. Сам мод почти закончен и пришла очередь написания отчёта.
Собственно, мне нужна теоретическая информация о фордже и майнкрафте, если конкретнее, то:
1. Как работает Forge. Я узнал, что это API, которое декомпилирует и обфусцирует код майнкрафта, позволяя использовать его классы, при этом не изменяя их. Он позволяет модам не конфликтировать между собой (не знаю, как), добавляет словарь руд. Если не правильно, поправьте.
2. Стадии загрузки (преинит, инит, постинит). В учебнике есть краткое описание, но этого мало. Я так и не понял, эти стадии добавляет сам фордж, или они есть в чистом майнкрафте?
3. Что такое FML.
4. Что такое MCP.
5. Как происходит инициализация чистого Minecraft и как её меняет Forge.
6. Как происходит подгрузка ресурсов.
Любая дополнительная информация кроме перечисленной также будет полезна. Также очень полезными будут любые схемы и диаграммы.
Ссылки, которые уже есть:
How does forge work?
Minecraft Coder Pack
Loading Stages - Forge Documentation
Если есть прошаренные деды-теоретики, прошу поделиться этой информацией из своих архивов.

TomYoll

1622427648215.jpg

Нарисовал тут диаграмму процесса запуска игры, может кто-то оценить её правильность?
will0376

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

Стадии загрузки (преинит, инит, постинит). В учебнике есть краткое описание, но этого мало. Я так и не понял, эти стадии добавляет сам фордж, или они есть в чистом майнкрафте?

Как работает Forge. Я узнал, что это API, которое декомпилирует и обфусцирует код майнкрафта, позволяя использовать его классы, при этом не изменяя их. Он позволяет модам не конфликтировать между собой (не знаю, как), добавляет словарь руд. Если не правильно, поправьте.

Ну.
сам forge на клиенте/сервере декомпилит майн в srg имена в рантайме, чтоб моды не обосрались при загрузке.

А вот Forge MDK - набор(как и MCP) всего и вся необходимого для быстрого декомпила майна(srg или в mcp маппинги по выбору), и такого-же быстрого билда мода(gradle же).
Про forgeGradle рассказать мне нечего - Чисто враппер для граблей под майн.

Minecraft написана на языке Java. Программы на этом языке могут выполняться только если у вас установлена виртуальная машина Java.

Если вы хоть раз запускали Minecraft на данном компьютере, то Java у вас уже установлена. В противном случае, скачайте и установите последнюю версию Java.

Для запуска Minecraft необходима лишь среда выполнения Java, которую вы установили выше.

Но для разработки собственных модов нам потребуется писать программный код и пользоваться разными библиотеками. Это не входит в стандартный Java пакет, поэтому нам нужно установить JDK (Java Development Kit) (Комплект инструментов для разработки на Java).

Скачайте последнюю версию JDK и следуйте инструкциям по установке. Ничего в настройках установки менять не надо.

Установка Forge для конечных пользователей вашего мода и для вас, как разработчика различается.

Чтобы люди смогли играть с вашим модом, на их Minecraft должен быть установлен движок Forge.

Скачайте установщик (Installer) с официального сайта Forge:

Картинка скачивания установщика

Запустите скачанный файл. Выберите пункт "Install client", укажите путь к Minecraft (если он не указан) и нажмите OK.

Картинка установщика

Как понять, куда установлен Minecraft? По умолчанию он устанавливается по следующему пути: C:\Users\*ПОЛЬЗОВАТЕЛЬ*\AppData\Roaming\.minecraft , где *ПОЛЬЗОВАТЕЛЬ* имя текущего пользователя компьютера.

Скачайте набор инструментов для разработки модификаций (MDK) с официального сайта Forge:

Картинка скачивания MDK

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

  • build.gradle
  • gradlew.bat
  • папки gradle

Моды можно писать и в блокноте, но это очень неудобно. Нам нужна специализированная программа, которая умеет подсвечивать код, выполнять авто-импорт и делать много других полезных вещей.

Наиболее популярными IDE на данный момент являются Eclipse и Intellij Idea.

Eclipse бесплатен. У Intellij Idea есть бесплатная Community версия. Никаких платных функций в этом учебнике нам не потребуется.

Достаточно часто моды пишут на Eclipse, так как и сам Minecraft был написан с помощью этой IDE. С другой стороны, Idea выглядит посовременнее и пофункциональнее, но принципиальной разницы между ними нет.

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