Играем в мобильную версию Minecraft на ПК без использования эмуляторов?
Добрый день, хабровчане! Сегодня речь пойдет о Minecraft PE — в основном для тех, кто хочет окунуться в ностальгию по старым версиям именно мобильного (карманного) издания. Способ поиграть весьма нетривиальный, зато удивит последующими возможностями игры.
Погружение в контекст
Minecraft Pocket Edition вышла в 2012 году и сразу удивила всех — не только тем, что игра шла на смартфонах, а еще и реализацией. В первых версиях (до alpha 0.8.1) в игре были ограничены миры до размера 256х256х128 блоков, нет голода, бега, приседания, а контента было гораздо меньше. Возможно, многим тогда запомнился шарм именно этих старых версий игры — размеренный, странный, но приятный, со старыми текстурами и старым весьма темным освещением.

И когда мне захотелось его ощутить вновь, скачав заветный apk-файл, то во время установки меня ждал сюрприз — версии настолько морально устарели даже по меркам Android, что без установщика Install with Options на свежий Android 11+ вы его уже не поставите. Тем не менее, даже с этим установщиком после Android 12 старые версии отказываются работать корректно — есть проблемы с аппрувом запрашиваемых разрешений, а также у игры тупо нет доступа к записи в свою папку games/com.mojang/minecraftWorlds, то есть мир вы уже не сохраните. Сторонние модификации по типу minecraftpetv4 избавлены от проблем с установкой, но всё так же не сохраняют одиночные миры. Данная ситуация заставила меня побродить по github…
… и найти изящное и красивое решение, про которое мы сегодня и говорим — Ninecraft. По сути это лаунчер на основе Minecraft Raspberry Pi Edition (так как ее ядро использует ядро MCPE), который пересобрали, добавили множество твиков и теперь вы можете скомпилировать ее под любой Linux/Windows и поиграть нативно прям так. Вот отсюда и начнем.

Сборка Ninecraft
Для начала вам стоит определиться с платформой, на которую вы хотите собрать сборку. В моем случае — это Windows вместе с Visual Studio tools, так что из необходимого мне нужно лишь доустановить зависимости в виде Windows 10 SDK и git + CMake + Python. Их можно установить прямо в самом VS, в фирменном инсталлере. Также требуется подтянуть пакет jinja2 после установки python, устанавливаем его:
pip install jinja2
Вытягиваем себе репозиторий:
git clone --recursive http://github.com/MCPI-Revival/Ninecraft.git
Переходим в папку:
cd Ninecraft
Запускаем компиляцию через батник:
.\compile-msvc.bat
Если всё было сделано верно, то в консоли вы увидите начало сборки(первая сборка будет достаточно долгой), по окончании которой у вас появится собранный ninecraft.exe и будет ждать вас по пути ./repository/build-win32/ninecraft/Debug
Запуск
Осталось еще запустить сам лаунчер. Из его названия становится понятно, что он лишь часть того, что мы будем запускать. Поэтому нам понадобится разворошить apk-файл MCPE, чтобы было что запускать. По понятным юридическим и антипиратским причинам я не могу вам оставить ссылку на сам apk, но могу подсказать, что все они хранятся как часть истории на archive.org — нужна сборка под x86 архитектуры.
После скачивания, в директорию build-win32/ninecraft/Debug туда, где находится скомпилированный ninecraft.exe, распаковываем всё содержимое apk-файла. Выглядеть это должно примерно следующим образом (options.txt и config.cfg создадутся автоматически при первом запуске).

И конечным итогом остается запуск — обычным открытием exe или командой:
.\build-win32\ninecraft\Debug\ninecraft.exe
Поздравляем, у вас должен был запуститься Minecraft PE! Не забываем, что поддерживаются только сборки версий 0.1.3 — 0.10.5



Небольшие итоги + разбор полетов
Далеко не с первого раза я додумался, в чем была проблема, когда в первый раз проморгав, я запустил не тот батник — compile.bat вместо compile-msvc.bat. Оказалось, CMake сохраняет в кэш буквально все данные о том, как собирать, чтобы при последующих сборках не пришлось это делать. Достаточно очистить CMakeCache.txt и CMakeFiles и можно перезапускать.

После этого, сильно ступанул в момент, когда попытался собрать без Windows 10 SDK (о нем в мануалах в гитхабе — ни слова), выдавая ошибку cmake error no cmake_c_compiler could be found. Как уже упоминал — решается банальной установкой последнего SDK для вашей версии Windows.
Какой можно сделать из этого вывод? Что играть в старый майн — это прикольное ощущение той олдовости. И иногда для того, чтобы это хотя бы работало, стоит слегка попотеть ручками и ножками (а еще явно стоит избегать mingw32 и всех его собратьев по сборщикам, ибо вы замаетесь, честно).
Ах да, помните, в начале статьи я указывал «последующие возможности»? Так вот, в Ninecraft, как и в PiEdition можно загружать свои моды на основе python-скриптов, класть достаточно в папку mods в корневой директории сборки. Пока что не тестировал, но кто знает, может это будет для следующей статьи 🙂
Эмуляция PS5 развивается быстрее, чем ожидалось, а Gran Turismo 7 уже удалось запустить на ПК
Третий сезон сериала Fallout от Amazon обошёлся дороже второго
Riders Republic выйдет на Nintendo Switch 2, а Ubisoft добавит в игру офлайн-режим
Фанатский экспериментальный порт Need for Speed Carbon вышел на Android
Фанатский порт Hades II для Android вышел на базе версии для macOS
Подарочное издание книги «Мифология Elden Ring. Дар благодати» допечатали новым тиражом
Действие «Бегущих по краю 2» не будет приквелом Cyberpunk 2077: CD Projekt RED назвала время событий
GTA VI может нанести экономике ущерб в $1 млрд, считает специалист