10 апреля 2013 г.

Существует ли Minecraft API?

И нет, и да. По крайней мере на момент написания этого сообщения ответ будет именно такой.

"Нет", потому что официально - нет.

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

Ведь не на пустом же месте все эти моды создаются. Кстати, сделать Minecraft API разработчики обещают в ближайшем будущем. Последнее, что я видел - так это обещание уже в версии 1.6 добавить этот API. А это, похоже, будет следующая версия после нынешней 1.5.1.

Почему я занялся этим вопросом?



Малый мой рассказал мне о том, что бы он изменил или добавил в Майнкрафт. И это после того, как перепробовал уйму модов и т.п. :)

И во мне "взыграла программистская кровь" :) - можно попробовать свои силы, тем более что Java не такой уж сложный язык, я с ним уже сталкивался и синтаксис мне понятен. Плюс, на создании и распространении востребованных модов можно попробовать заработать. :)

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


Minecraft Coder Pack


Самый стандартный способ - правда, требующий знания Java - это воспользоваться Minecraft Coder Pack. Во-первых, он дает возможность изменить существующий функционал Minecraft (главным образом в файле minecraft.jar), во-вторых, создать свои "дополнения".

Для его работы понадобиться JDK, который должен совпадать с версией Java установленной на вашем ПК.

В принципе остальные способы - более дружественные разработчику - используют JDK + MCP так или иначе.

Самое интересное здесь, что MCP "деобфусцирует" и декомпилирует код, который вы потом меняете, а потом компилирует и "обфусцирует" его обратно. То есть фактически вы работаете не с исходным кодом, который именно "исходный", а декомпилированным.


ModLoader и Minecraft Forge


Моды в свою очередь обычно можно загружать с помощью одного из двух самых распространенных загрузчиков модов: ModLoader (более исторический) и Forge. (Есть и другие...)

С их же помощью вы можете создавать моды, но они используют код, декомпилированный с помощью MCP, то есть фактически и тот, и другой являются надстройкой над MCP, для более удобного создания мода. У них же есть свои Mod API, которые должны упростить вам кодинг и моддинг.

Кстати, Forge считается обратно совместимым с ModLoader и является как бы расширением последнего, то есть надстройкой над надстройкой :). (Но на практике они обычно не "дружат", потому их и моды под них лучше не смешивать.)


Mod Maker и MCreator


Для создания модов знание Java и программирования вообще может и не понадобится, если вы воспользуетесь дружественными пользователю (игроку) программами для создания модов.

Так, свои моды вы может создавать в графическом интерфейсе одной из программ: Mod Maker или MCreator. Клик, клик, клик - и готово.

Опять же, это уже надстройки над надстройками. Потому что для работы в них вам все равно понадобятся: JDK,  MCP и, скорее всего, один из загрузчиков модов.

Например, MCreator, с которым я немножко поигрался на днях, кроме JDK, MCP, требует еще и Forge.

Понятно, что существуют и другие варианты для модификации Minecraft'а, и все - неофициальные.


Выводы


  • Как я уже говорил на данный момент официального Minecraft API не существует.
  • Для разработки своих модов, нужно пользоваться сторонними инструментами.
  • Какой бы инструмент вы не избрали, вам нужны будут JDK, MCP и, скорее всего, один из загрузчиков модов (ModLoader или Forge).
  • Все варианты предполагают работу с декомпилированным, а не исходным кодом.
  • Вы можете как работать непосредственно с кодом на Java в своей любимой программной среде (IDE), так и использовать графические конструкторы, для работы в которых уметь программировать и знать Java вам не понадобится.
Ну вот, я немного и подготовился для создания модов для Minecraft'а. :)

А вообще хорошим началом для понимания что к чему будет чтение статьи о создании модов на официальной Вики. Она, правда, на английском.

Комментариев нет:

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