Вы не совсем понимаете техническую сторону Minecraft и Java в целом. Java сама по себе - интерпретируемый язык, а значит производительность падает в несколько раз по сравнению с тем же C++. НО, чем гордится Java - это сборщик мусора большое колличество библиотек и хорошо продуманный интерпретатор. В разработке OpenGL такой подход очень тормозит всю программу в целом, а для больших вычислениях, баз данных Java намного проще и удобнее. Все ваши "крутые" игры используют не java, а другие языки, отсюда и производительность.
А теперь о самом майнкрафте... Мир разделен на "Чанки", в каждом чанке 16х16х255 блоков, в каждом блоке множество дополнительных параметров, таких как ид блока, для IC2 хранимая энергия, для проводов передача энергии, для сундуков массив с всеми предметами, в каждом предмете еще параметры, для ветряков лопасти, которые должны крутится, при этом каждый ветряк каждые N тиков должен проверять погоду, вычислять градус поворота и с помощью OpenGL поворачивать объект, механизмы должны считать когда надо переработать предмет, каждый раз обращаясь к пулу памяти рецептов, которых может быть более 10тысяч, в общем дело довольно муторное для слабого железа. Слабая оптимизация Minecraft тоже дает от себе знать.
Вывод: снижайте количество ветряков, механизмов, труб и прочих вкусностей, если хотите играть с высоким ФПС или покупайте новое железо.