Рекомпиляция декомпилированного исходного кода Minecraft Java 1.21.11 на c++ с плюшками

Версия Minecraft
1.21.11
Привет народ, я тут декомпилировал исходники майна джавы 1.21.11, и хотел бы найти людей которые ооооооочень хорошо шарят в Java и c++ для перевода на этот язык программирования. Вот что за плюшки: полное "выпиливания" зависимости от JVM/JDK 25, убрать зависимость от лаунчеров (мы потом сделаем кое-что другое), выбор API: openGL, DirectX, RTX, VulkanAPI, возможность нативно портировать на другие платформы как например: android, ps3, ps vita, nintendo switch, ps4, и т.д, игра будет нативно запускаться напрямую от exe`шника, сервер, ассеты и файлы игры будут в корневой папке с игрой, надо ещё придумать как туда FABRIC засунуть. Для изучения проекта вот: https://drive.google.com/drive/folders/173wXaMMPtwwq6dTvwMZ_yGzicWHlMJIQ?usp=sharing (Есть декомпилированная версия с официального необфусцированного кода (нестабильный как оказалось) и с официального обфусцированного кода (самый проверенный и стабильный).

P.S я на этом форуме впервые плз не кидайтесь)
 

Вложения

  • Desktop Screenshot 2026.04.10 - 13.36.16.80.png
    Desktop Screenshot 2026.04.10 - 13.36.16.80.png
    109.3 KB · Просмотры: 27
  • Desktop Screenshot 2026.04.10 - 13.36.56.91.png
    Desktop Screenshot 2026.04.10 - 13.36.56.91.png
    120.8 KB · Просмотры: 27
Последнее редактирование:
Ну я хз как можно сделать совместимость Fabric модов с переписанным майном на C++. +с поддержкой видимо всех платформ и всех глафических API. Это просто даже концептуально невозможно
 
дс есть? можно кое что обсудить кое что
ЗЫ: можно тогда придумать либо перенести альтернативу fabric) либо !!некоторые!! моды сами адаптировать) или вообще JNI прикрутить для работы jar файлов)))
 
обсуждения в войсе теряются для комьюнити
запишите хотя бы и выложите ака подкаст
 
Познания в С++ и Java вам не помогут, только несколько крепких ребят в белых халатах. У тебя тут не портирование, а написание всей игры с нуля.

1) Нельзя просто взять и переписать Minecraft на C++. В Java ты пишешь new File("config.json") и оно работает на Windows, Linux, Mac. JVM сделала тебе унификацию путей, прав доступа, кодировок, переносов строк, слешей/бэкслешей, драйверов файловой системы. В C++ ты пишешь fopen("config.json", "r") и оно уже сломалось, если в пути окажется кириллицей. Сборка под каждую платформу свой компилятор, свои флаги, свои макросы, свои линковщики. И таких мест тонны.
2) Убрать необходимость в лаунчере - о да, поставляем игры через .zip архив. Сейчас любая игра имеет лаунчер (Stream, Riot Client, Epic Games Launcher) и Minecraft тут не исключение. Мне страшно представить, что ты собрался выдумать.
3) OpenGL, DirectX, RTX, VulkanAPI. Для начала, RTX это вообще не графический движок. Тебе придётся свой рендер писать 3 раза. Нечем заняться? Или писать свою абстракцию, которая потом будет работать через неизвестно что (очевидно через жопу) на каждой платформе.
4) Касательно твоего списка платформ - это прям добивание. Игровая студия при поддержке Microsoft сверху такого не добилась. Особый интерес идёт на PS Vista, ARM и 512Mib ОЗУ прям внушают доверие.
5) Fabric ты не добавишь, тот полностью прибит к JVM. А JNI это не про вызов Java из C++.

Итого, если найти 500 олимпиадников и столько же индусов, то может закопаете всех, по другому никак.
 
Привет народ, я тут декомпилировал исходники майна джавы 1.21.11, и хотел бы найти людей которые ооооооочень хорошо шарят в Java и c++ для перевода на этот язык программирования. Вот что за плюшки: полное "выпиливания" зависимости от JVM/JDK 25, убрать зависимость от лаунчеров (мы потом сделаем кое-что другое), выбор API: openGL, DirectX, RTX, VulkanAPI, возможность нативно портировать на другие платформы как например: android, ps3, ps vita, nintendo switch, ps4, и т.д, игра будет нативно запускаться напрямую от exe`шника, сервер, ассеты и файлы игры будут в корневой папке с игрой, надо ещё придумать как туда FABRIC засунуть. Для изучения проекта вот: https://drive.google.com/drive/folders/173wXaMMPtwwq6dTvwMZ_yGzicWHlMJIQ?usp=sharing (Есть декомпилированная версия с официального необфусцированного кода (нестабильный как оказалось) и с официального обфусцированного кода (самый проверенный и стабильный).

P.S я на этом форуме впервые плз не кидайтесь)
Эмс..., это не возможно, убрать зависимость от Java? Игра написанно на JAVA, убрать зависимость можно только с помощью переписывания на другой язык, к примеру на твой C++, только это у тебя замёт несколько лет, а пока ты будеш это делать, игра уйдёт далеко, в своём развитии.

А потом ещё и догонять это развитие, будет адом, не рабочая идея, и зачем тебе порт на Android, Java издании? Если думаеш что так там будет такая-же маштабируемый модинг, то нет. Легче на уже готовый Minecraft Bedrock который кстати написанн на C++, написать подобие Fabric и Forge через Hooks, чем маяться с переносом Java издании.
Именно написать подобие, у тебя не удасться перенести Fabric с Java на [SIZE=4]C++[/SIZE].

Всё, что ты перечислил, RTX, Vulkan, DirectX, .exe, порты на Android, Switch и PlayStation, PS-Vita, Nintendo - это Minecraft Bedrock.

А если нужен java с модами на Android — есть PojavLauncher

Не знаю почему агрессия у одно тут, ну сам по себе идея провальная, с момента - Вот что за плюшки: полное "выпиливания" зависимости от JVM/JDK 25
Это не простая зависимость, это фундамент этой игры -
 
Познания в С++ и Java вам не помогут, только несколько крепких ребят в белых халатах. У тебя тут не портирование, а написание всей игры с нуля.

1) Нельзя просто взять и переписать Minecraft на C++. В Java ты пишешь new File("config.json") и оно работает на Windows, Linux, Mac. JVM сделала тебе унификацию путей, прав доступа, кодировок, переносов строк, слешей/бэкслешей, драйверов файловой системы. В C++ ты пишешь fopen("config.json", "r") и оно уже сломалось, если в пути окажется кириллицей. Сборка под каждую платформу свой компилятор, свои флаги, свои макросы, свои линковщики. И таких мест тонны.
2) Убрать необходимость в лаунчере - о да, поставляем игры через .zip архив. Сейчас любая игра имеет лаунчер (Stream, Riot Client, Epic Games Launcher) и Minecraft тут не исключение. Мне страшно представить, что ты собрался выдумать.
3) OpenGL, DirectX, RTX, VulkanAPI. Для начала, RTX это вообще не графический движок. Тебе придётся свой рендер писать 3 раза. Нечем заняться? Или писать свою абстракцию, которая потом будет работать через неизвестно что (очевидно через жопу) на каждой платформе.
4) Касательно твоего списка платформ - это прям добивание. Игровая студия при поддержке Microsoft сверху такого не добилась. Особый интерес идёт на PS Vista, ARM и 512Mib ОЗУ прям внушают доверие.
5) Fabric ты не добавишь, тот полностью прибит к JVM. А JNI это не про вызов Java из C++.

Итого, если найти 500 олимпиадников и столько же индусов, то может закопаете всех, по другому никак.
Какой-то ты агресивный, поставил человек сказочную задачу, не надо же его за это обсирать.
Кстати, забавно что мы в разделе вопросы по MCreator

Кстати, про лаунчер, ты какую-то Бредятину сказал, Epic Games Launcher... (вообще не в тему), Игру можно собрать в .exe и распростронять в интернете, лаунчер нужно для контроля лицензии, и зашита ресурс, и всё! Любую игру можно 100% отвезать от лаунчера, она не сломаеться от этого, и что за бред про "Постовляем игру через zip архив" - Если игре, нужна распаковка можно сделать .exe установшик, и всё, делов-то.

И ещё, RTX может и не графический движок, но его подержку надо отдельно вндерять, так-что, он по сути правильно сказал. Хоть и закинул это в API, ну сам по себе API так API, API это про подержку чего-либо. Общения А с Б.
Если ты напишеш игру на Vulkan то, он не будет в клик подерживать RTX,
 
Назад
Сверху