Майнкрафт — это одна из самых знаменитых игр нашего времени. Над ее созданием и поддержкой трудится команда шведских разработчиков Mojang Java Studios. Исходный код в Майнкрафт в целом держится в секрете, не считая тех наработок, что есть в darknet’е. Однако буквально недавно команда разработчиков опубликовала несколько легальных частей кода под свободной лицензией. Чуть позже остановимся на этом подробнее.
Почему считают, что Майнкрафт — для детей?
Принято считать, что в эту игруиграют в основном дети. Геймплей Майнкрафта состоит из построения собственного мира и защиты от монстров. Так как эта игра в основном популярна у детей, на ее основе создали большой объем обучающих курсов по программированию. Так дети, проходя их, будут обучаться самостоятельно создавать элементы игры или даже прописывать ее сценарий развития.
НравитсяМайнкрафт детям по нескольким простым причинам:
- по своей сути он очень напоминает LEGO, но только в «цифре»;
- фантазия ребенка в игре ничем не ограничена;
- абсолютно свободные действия в игре: ломать, строить, рыть, ходить — легко.
Код Майнкрафта — это Java?
В начале своего создания Minecraft практически на 100% использовал код Java. Это практически единичный случай, когда вся игра создана с помощью всего одного языка. Возможно, из-за этого сам язык программирования Java и приобрел такую популярность, потому что было время, когда мир программирования для многих открывался именно через эту игру. А раз код Майнкрафта — это Java, то многие начинающие программисты и начинали изучать именно этот язык.
Наверно, поэтому большое количество модов для Майнкрафта написаны тоже на Java, что опять же доказывает повышенный интерес как к самой игре, так и к языку, на котором она написана. Но, как известно, время вносит свои коррективы. Буквально до 2017 года все было так, как описано выше, однако, начиная с 17-го года, код базовой версии Minecraft поменялся на С++.
Сделано это для того, чтобы была возможность объединять все версии с разных платформ:
Windows;
Linux;
MacOS;
Android;
iOS.
К сожалению, Java не могла обеспечить работу игры на iOS, поэтому было принято такое решение.
Вот и получается, что код Майнкрафта доступен в двух версиях:
на С++;
на Java Edition.
Где найти исходный код Майнкрафта?
Как мы говорили выше, в целом исходный код Майнкрафта в закрытом доступе. Да, есть какие-то наработки и куски кода от «черных» энтузиастов или от тех, кто декомпилировал исходный код Майнкрафт. То есть конвертировал машинный двоичный код в Java, но, честно говоря, не все образцы были понятны и читаемыми.
Но вот, буквально недавно, были легально опубликованы несколько пакетов кода Java Edition. Найти их можно на GitHub. Они распространяются открыто и со свободной лицензией MIT корпорации Microsoft. В своем составе они представляют две библиотеки Java:
- Brigadier;
- DataFixerUpper.
Эти библиотеки открыли возможность разбивки, отправки, обработки пользовательских команд и данных от новых версий игры.
На этом все не остановится. Как говорят разработчики, в дальнейшем они планируют еще опубликовать в открытом доступе другие библиотеки и куски исходного кода Майнкрафт. Это будет делаться для того, чтобы облегчить разработку других подобных игр и труд разработчиков модификаций.
Библиотека Brigadier
Данная библиотека в основном используется как парсинг и диспетчер команд. Как говорят разработчики, их «Бригадир» может использовать данные (строку кода), которые вводит пользователь, чтобы превратить их в функцию, и уже данную функцию Майнкрафт сможет выполнить. Для пользователей же это обычная консоль, куда можно вводить команды.Команды, правда, нужно вводить на языке Java.
Brigadier делит любую команду пользователя, чтобы проверить ее на ошибки и воспроизвести. Еще обработчик команд старается быть ненавязчивым и полезным, чтобы ускорить ваш процесс. Например, при вводе команд он предложит вам возможные варианты на выбор.
Данной библиотекой пользоваться довольно просто — нужны минимальные знания.
Библиотека DataFixerUpper
Данная библиотека представляет собой набор инструментов, чтобы можно было собрать, склеить и оптимизировать преобразованные данные, которые нужны будут для добавления их в новые версии игры Майнкрафт.
Если простым языком, то этот исходный код Minecraft делает следующее:допустим, вы загружаете какой-нибудь мир в Майнкрафт. И так получилось, что там есть данные, которые не трогались больше 5 лет, потому что вы не посещали эти чанки все эти 5 лет. Так вот, как только игра начинает запускаться, сам Майнкрафт обращается к библиотеке DataFixerEpper, которая приводит чанки к современному формату.
Полностью Java код Майнкрафта пока открывать не будет, хотя у разработчиков были мысли и об этом. Он говорят, что пока исходный код Minecraft будет открываться частями и по запланированному графику.
Другое