JAR - это просто ZIP-файл, содержащий различные файлы классов и другие используемые метаданные - это полностью стандартизированный формат.
ZIP-файлы могут быть извлечены, а файлы классов могут быть отредактированы по мере необходимости для модификации. Затем измененные файлы добавляются обратно в архив, что заставляет сервер использовать измененные файлы вместо исходных.
Технически, моды для Minecraft - это действительно «взломанные» версии оригинального кода: нужно изменить настоящие файлы бинарных классов, чтобы игра узнала о новом материале; Официальной поддержки модов пока нет (хотя Notch заявил, что они будут работать над ним во время бета-тестирования).
Конечно, это не очень хороший способ делать вещи, если вы активно разрабатываете моды. Вместо этого вы должны разработать какую-то архитектуру плагинов, которая позволяет запускать собственный код там, где это необходимо. Как именно вы это сделаете, зависит от того, что вы хотите, чтобы ваши моды могли делать - например, если безопасность представляет собой проблему, вы, вероятно, захотите спроектировать интерфейс мода, чтобы использовать какой-то вид сценариев, так что вы можете ограничить работу модов. все виды вещей на компьютер пользователя.
Однопользовательские моды являются взломанными версиями оригинального кода. Многопользовательские моды сейчас разные. Почти все они используют серверную оболочку hey0, которая ссылается на minecraft_server.jar (или любой другой термин в языке Java), но определяет свои собственные классы функций, перегружает некоторые основные функции и запускает свой собственный main ()
Hey0 предоставляет мод API . Видеть
источник
К вашему сведению, в ближайшем будущем Mojang выпустит «Mod API» (во время бета-тестирования, то есть до его официального релиза, который состоится примерно в ноябре 2011 года).
Фактически, это будет полный исходный код, как упомянуто в блоге Notch.
http://notch.tumblr.com/post/4955141617/the-plan-for-mods
но сейчас вам нужно «декомпилировать» jar-файлы, чтобы увидеть частично запутанный код и перекомпилировать его для последующего использования / отладки.
Для этого я настоятельно рекомендую пакет Minecraft Coder's Pack http://mcp.ocean-labs.de/index.php/MCP_Releases.
на форумах также есть пара учебных пособий по моддингу: http://www.minecraftforum.net/topic/96862-creating-mods-modding-tutorials-21511/
источник