📦 A familiar Minecraft Launcher with native support for macOS arm64 (M1)

Overview

ManyMC

A familiar Minecraft Launcher with native support for macOS arm64 (M1)


⚠️ This is an UNOFFICIAL project. DO NOT report any issues to the MultiMC team. ONLY raise issues in THIS repository.

Supported versions

All stable Minecraft versions from 1.6.4 to 1.18 have been tested and work great. Version 1.5.2 and before suffer from inverted colors and choppy performance.

Install

  1. Make sure you have an arm64 native version of Java installed. For example, Azul OpenJDK 17 arm64.

  2. Download the latest release of this app and extract it.

  3. The first time only, do not double-click on the app, but right-click on it and press Open, then Open again.

  4. As you go through the initial setup, make sure you select your arm64 native version of Java. To verify this, at the Java selection window, click on the green checkmark on the right side - it should mention aarch64, like:

    Java test succeeded!
    Platform reported: aarch64
    Java version reported: 17.0.1
    

That's all! Everything will work like normal, and it will be fully optimized for your platform.

Known issues

  • Enabling full screen from the game settings permanently crashes the game
    • To recover, select your instance in ManyMC and click on Minecraft Folder. In the folder that opens, edit the file options.txt and change fullscreen:true to fullscreen:false
  • Using text-to-speech will result in a crash
    • No current workaround

Troubleshooting

  • OptiFine doesn't work
  • Forge doesn't work
    • Minecraft 1.17 and above:
      • It is currently unsupported
    • Minecraft 1.12 and before:
      • Install an arm64 native version of Java 8 (i.e. Azul OpenJDK 8 arm64) and set ManyMC to use this version instead

How does it work

Minecraft is almost entirely written in Java, which means that as long as you have a native arm64 Java installed, you can almost run Minecraft natively without special work. The exception are some libraries like LWJGL, which have platform-specific binaries. However, since most of the libraries are open-source, they can be re-built or hacked to work.

At the time of writing there is no official arm64 launcher, be it third or first party. However, the amazing MultiMC can be easily compiled to run on arm64. To comply with MultiMC's licensing, this unofficial build was rebranded as ManyMC. In order to make ManyMC use the modified libraries, we create a neat custom meta package.

Building

⚠️ This will only work on macOS. Tested on macOS 12.0.1 arm64.

  1. Install dependencies:

    brew install cask-versions zulu8 [email protected] cmake
  2. Install XCode and set it up to the point where you can build things from a terminal

  3. Ensure that JAVA_HOME points to Java 8:

    export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
  4. Run a build (you may have to set DLauncher_EMBED_SECRETS to OFF):

    mkdir build
    cd build
    cmake \
       -DCMAKE_C_COMPILER=/usr/bin/clang \
       -DCMAKE_CXX_COMPILER=/usr/bin/clang++ \
       -DCMAKE_BUILD_TYPE=Release \
       -DCMAKE_INSTALL_PREFIX:PATH="$(dirname $PWD)/dist/" \
       -DCMAKE_PREFIX_PATH="/opt/homebrew/opt/[email protected]/" \
       -DQt5_DIR="/opt/homebrew/opt/[email protected]/" \
       -DLauncher_LAYOUT=mac-bundle \
       -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 \
       -DLauncher_META_URL="https://minecraftmachina.github.io/meta-multimc-arm64/" \
       -DLauncher_EMBED_SECRETS=ON \
       ..
    make -j$(sysctl -n hw.physicalcpu) install
    cd ../dist
    chmod -R u+w .
    find . -depth -exec codesign -f -s - {} \;
Issues
  • Simple Voice Chat mod support on 1.16.5 (permissions issue)

    Simple Voice Chat mod support on 1.16.5 (permissions issue)

    So on this page from SVC mod creator it says the launcher needs NSMicrophoneUsageDescription in it's Info.plist and signed with microphone entitlement. For me on 1.16.5 the mod doesn't ask for microphone permission, and I can't hear anyone. New versions of SVC have a workaround, but on 1.16.5 the mod wasn't updated for a few months, missing permission workaround

    opened by deargosep 19
  • Update the icon

    Update the icon

    Apple arm64 architecture supported only on MacOS >= BigSur, so it makes sense to have an icon that uses MacOS icon guides.

    I have this two variants: IMG_258A9CF773CE-1

    I'll prepare one or both of them after approval.

    Also, pleas add a label, because I only found how to add a "bug"

    enhancement 
    opened by morimoto-ltd 14
  • What is the method to start minecraft?

    What is the method to start minecraft?

    i want to do the same thing but with a python script (to velocize the game start), I created the authenticator but I don't now how can I start the game! can you help me? please

    opened by yap241986 11
  • No sound for minecraft versions that use LWJGL 2

    No sound for minecraft versions that use LWJGL 2

    I noticed that whenever I use minecraft versions that use LWJGL 2 not 3(Like 1.8 and 1.12), there is no sound. This isn't specific to ManyMC(This is happening on Lunar Client too), but I thought that this was the only suitable place where people talk about these kinds of things. I think this is an issue OpenAL, not sure though

    bug 
    opened by martinGITHUBER 9
  • I can't get vault hunters mudpack to run

    I can't get vault hunters mudpack to run

    !! Please fill in this template, DO NOT ignore or delete it. !!

    I tried basic troubleshooting first

    Describe the bug

    I installed the vault hunters modpack and tried both through curseforge and the zip file but it does the same thing both times

    To reproduce

    Steps to reproduce the behavior:

    install vault hunters modpack and start it.

    Expected behavior

    it just runs

    Logs

    https://pastebin.com/KxhGX74C

    If applicable, add screenshots to help explain your problem.

    System configuration

    • ManyMC version: latest
    • Java version: Azul JDK 17 (17.0.2)
    • M1 iMac 16gb ram

    Additional context

    Add any other context about the problem here. when I tried using curseforge to launch it I had a similar problem and used the steps in this Reddit post to get the game running. https://www.reddit.com/r/VaultHuntersMinecraft/comments/so4rad/comment/hw6pqje/?utm_source=share&utm_medium=web2x&context=3

    bug 
    opened by Skywalker8510 7
  • "fixup_bundle: not a valid bundle" error when building

    !! Please fill in this template, DO NOT ignore or delete it. !!

    I tried basic troubleshooting first

    Describe the bug

    While trying to build this project I run into error at fixup_bundle saying that it's not a valid bundle.

    Screen Shot 2022-06-15 at 18 22 37

    I think that's the relevant logs, but the complete logs is given down below.

    To reproduce

    Steps to reproduce the behavior:

    1. Install dependencies and xcode cli.
    2. Run ./build.sh.

    Expected behavior

    Build works successfully

    Logs The logs are [here](https://privatebin.net/?91598d62833a18ee#HshMZ4kzRtJTxz4fe6YWs4GELjHC6Btg5vdVCydLJYtA)

    Screenshots None

    System configuration

    • ManyMC version: latest master (commit 6e4b76b6a5f62e3537792eec0140dafb9cbd3c87)
    • Java version: openjdk 18.0.1.1 2022-04-22

    Additional context None

    bug 
    opened by garyteofanus 6
  • Fullscreen

    Fullscreen

    While the workaround listed allows me to re-open Minecraft, I am presently unsure of exactly how to get it to function in full screen? Is that just not supported? And if so, are there plans to support fullscreen? It feels like a pretty integral part of the game IMO.

    opened by Priultimus 6
  • Failed to download the assets index

    Failed to download the assets index

    I tried basic troubleshooting first

    Describe the bug

    Whenever I launch the game I get:

    Instance update failed because: Failed to download the assets index:
    Job 'Asset index for fabric-1.18.2' failed to process:
    https://launchermeta.mojang.com/v1/packages/de57d9f6d65a980f86df431603287248d4f148b5/1.18.json
    

    Other instances do the same but when I restart my mac sometimes it fixes it temporarily.

    To reproduce

    Launch instance

    Expected behavior

    Launch the game rather than crash

    Logs

    Instance update failed because: Failed to download the assets index:
    Job 'Asset index for fabric-1.18.2' failed to process:
    https://launchermeta.mojang.com/v1/packages/de57d9f6d65a980f86df431603287248d4f148b5/1.18.json
    

    System configuration

    • ManyMC version: [e.g. 0.1.1]
    • Java version: [e.g. Azul JDK 17 (17.0.3)]
    bug 
    opened by JDOG787 5
  • XBox user authentication failed.

    XBox user authentication failed.

    I am not able to log in to my Microsoft account. I follow the instructions on screen and I verify my account in the browser tab, but when I come back to the program I find the message "XBox user authentication failed." I've tried to reinstall ManyMC but the issue persists; I hope I'm doing something wrong. Schermata 2022-02-10 alle 16 26 50

    opened by FabioBassi 5
  • won't let me launch. says I don't have java 17

    won't let me launch. says I don't have java 17

    every time I try to launch I get this

    Minecraft 1.18 Pre Release 2 and above require the use of Java 17

    I'm fairly sure I have java 17, so idk what to think of this

    question 
    opened by Igloocooler52 5
  • Optifine HD U H3 1.18 doesn't work

    Optifine HD U H3 1.18 doesn't work

    Optifine 1.18 final version keeps crashing after loading the world. Using the preview versions up to preview 7 "preview_OptiFine_1.18_HD_U_H3_pre7" works great but just to this version. Crash report log: https://paste.ee/p/7PHtU

    Since I'm not an expert on programming I'm not sure who to report this to, so I'm sorry if I'm at the wrong place!

    opened by leonardodolc 5
  • "abort() called" crashes while resizing window

    On MC 1.8.9, when you resize the Minecraft window there is a chance that the game will crash. The MacOS Crash Reporter doesn't give a lot of info, but the logs do.

    MacOS Crash Report: https://pastebin.com/3kESPBUp

    MC Logs: https://pastebin.com/3GYUrQfR

    Java Error Report: https://pastebin.com/6ppG3TrG

    bug 
    opened by r58Playz 2
  • Add GameParrot/minecraft-mac-window-fix for alternative to MinecraftMachina/McMouser

    Add GameParrot/minecraft-mac-window-fix for alternative to MinecraftMachina/McMouser

    Could you apply the fixes from this repo to the JVMs used in ManyMC? https://github.com/GameParrot/minecraft-mac-window-fix/ (but with the arm64 native libraries)

    Thanks in advance!

    enhancement 
    opened by MoustacheOff 2
  • Feature request: Replace OpenGL interface with ANGLE using Metal

    Feature request: Replace OpenGL interface with ANGLE using Metal

    Since clearly Apple's OpenGL implementation is broken, and ANGLE is actually coming along nicely, maybe it's time to investigate replacing the OpenGL.framework interface with ANGLE, wrapping on Metal.

    enhancement help wanted 
    opened by kode54 6
  • launcher seems to

    launcher seems to "forget" which java version it's using

    I often get an error message when launching ManyMC regarding my java version "not working or went missing", even tho i never touch any of the java VMs i have. I just have to re-select java 17 as the default version and it works fine, until a couple hours after closing it or after a reboot. little bug, but still annoying

    bug 
    opened by lumap 4
Releases(v0.1.2)
Owner
Minecraft Machina
Automating Minecraft, one job at a time
Minecraft Machina
Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve external game process read/write with minimum footprint.

Launcher Abuser Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve ex

Ricardo Nacif 75 Jun 29, 2022
Minecraft Classic 0.0.30a reimplemented in C.

MinecraftC - A 0.0.30a implementation in C Features True to the original version Implemented fully in C using SDL2 and OpenGL 1.1 Two different binari

John Payne 174 Jun 19, 2022
Replace Minecraft entity with MMD model.

KAIMyEntity Replace Minecraft entity with MMD model. KAIMyEntitySaba 将Github项目 benikabocha/saba (https://github.com/benikabocha/saba) 魔改成一个以JNI形式Expor

null 26 Jun 27, 2022
Minecraft 4k: decompiled, translated to C using SDL for graphics and input, and improved upon

M4KC Minecraft 4K - C Rewrite For those who don't know, Minecraft 4K was a stripped down version of Minecraft submitted by Notch to the Java 4K Game P

Sasha Koshka 30 Jun 15, 2022
A simplified version of the famous game Minecraft.

This program uses the concept of the famous game Minecraft but with better graphics. It procedurally generates an infinite world, the player has an animated character and can break blocks, there are also different biomes and mobs.

Angel Uriot 52 Jun 14, 2022
A voxel game/Minecraft clone for the iCE40 UP5K FPGA

FPGA craft A voxel game/Minecraft clone for the iCE40 UP5K FPGA (for the iCEBreaker board). Disclaimer Use this project at your own risk. This project

null 152 Jun 19, 2022
A Minecraft-clone written in C++/Vulkan

Minecraft A Minecraft-clone written in C++/Vulkan Current state It is currently very bare-bones. Planned features Textures Procedural generation Colli

null 4 Feb 27, 2022
A fully-featured Minecraft server startup script

A fully-featured Minecraft server startup script suite that offers a friendly user interface, blazing fast speeds, and wide compatibility.

null 75 Jun 21, 2022
Randomizes Minecraft's loot tables.

Minecraft Loot Randomizer Randomizes Minecraft's loot tables. Use Instructions To use this program, which you can either do via the provided exe file

bryceio 1 Oct 20, 2021
MotorMC is a blazing fast, multi threaded, asynchronous Minecraft server software

MotorMC is a blazing fast, multi threaded, asynchronous Minecraft server software that aims to handle many players (1000+) on a single world while still providing an experience as close to vanilla Minecraft as possible.

Garet Halliday 59 Jun 6, 2022
A Minecraft like game with basic rendering, movement, block placement.. All made from scratch

Voxel-Game-Demo A Minecraft like game with basic rendering, movement, block placement.. All made from scratch Downlod Pre-compiled binaries (executabl

null 1 Dec 30, 2021
A minecraft clone built in c++ opengl for the purpose of prefecting graphics programming skills.

LearnOpenGL - CLion This is a project template for OpenGL development with JetBrains CLion IDE. It was created mainly for LearnOpenGL tutorials. Inclu

Jeremy Dellock 1 Dec 28, 2021
StreamMinecraftClone - A Minecraft Clone developed live on stream at twitch.tv/gameswthgabe

Minecraft Clone This is a Minecraft clone that will be used for an education YouTube series. I will link the YouTube series here once I begin creating

null 86 Jun 22, 2022
A third party program to change Minecraft RTX's settings externally, directly in-memory.

RenderBender A third party program to change Minecraft RTX's settings externally, directly in-memory. Get the latest release here. About RenderBender

Jesse Daems 9 May 14, 2022
Minecraft Classic Clone in C

Minecraft Classic Clone in C This was my first large-scale OpenGL project. I've personally never used OpenGL, and so I apologize for any bizzare/slopp

null 2 Jan 25, 2022
Native Extension for Defold Game Engine that gives a possibility to use StrictMode on Android

Defold Native Extension StrictMode Native Extension for Defold Game Engine that gives a possibility to use StrictMode on Android Installation Copy-pas

Alexey Gulev 3 Oct 15, 2021
Lambda support for Unreal Engine dynamic delegates

DynamicLambda Lambda support for Unreal Engine dynamic delegates This is experimental feature. Now only parametless lambdas are supported To see more

Andrew Derkach 27 Jun 28, 2022
A Game Boy emulator with serial data transfer (link cable) support over tcp.

gbmulator A Game Boy emulator with serial data transfer (link cable) support over tcp. Key bindings Key bindings are not configurable yet. Key Action

null 2 Jun 2, 2022
Unreal Engine 4 plugin for SteamVR passthrough camera support

SteamVR Passthrough Plugin This Unreal Engine 4 plugin adds SteamVR passthrough camera support using the OpenVR TrackedCamera API. Example project: ht

null 7 Jan 5, 2022