Skip to content

Instantly share code, notes, and snippets.

@Cat7373
Last active October 7, 2023 02:22
Show Gist options
  • Save Cat7373/78428cc01d9a69a339a955729ec3feae to your computer and use it in GitHub Desktop.
Save Cat7373/78428cc01d9a69a339a955729ec3feae to your computer and use it in GitHub Desktop.
Apple Silicon(M1/M2/M3......) + macOS + MultiMC + Minecraft 1.19 + Native LWJGL

Apple Silicon + MultiMC + Minecraft 1.19 + Native LWJGL

Fork form https://gist.github.com/nikhiljha/7313ac5553aafb1c8596b1fca0f4cdff

Installing Java

If you don't have Homebrew installed already, install Homebrew by following the instructions at brew.sh. Then, just open a Terminal and type...

brew install java

A better launcher than MultiMC

HMCL Launcher Download Page

  1. It natively supports Apple Silicon chips, provide better performance, higher game fps, eliminating the need for complex modifications.
  2. More friendly interface, support more login methods, Mod management, automatic installation of Forge, Fabric, Optifine, etc., and more useful functions waiting for you to discover.
  3. It is mentioned on the download page that it supports Java8-Java10. In fact, Java17 can also be used normally. The downloaded page is not updated in time, so you can use it with confidence.

Installing MultiMC

If you still insist on using MultiMC, read on, be aware that its game fps is usually lower.

Install the latest version of MultiMC from the MultiMC website. Unfortunately, the launcher will have to run with Rosetta. This won't affect game performance.

Using Updated LWJGL

Create a Minecraft 1.19.X instance, right click, edit instance, and go to the versions tab on the left. Click on LWJGL in the list, then click customize on the right. Click edit to open the LWJGL configuration file. Replace the content of the file that opens up with the contents of the file called org.lwjgl3.json that is attached to this gist (see next file).

Launch and Play

Have fun!

Can't Play

If you still can't play, it may be that you need to delete the old lib file:

  1. Open Finder.
  2. Press the Cmd + Shift + G key combination.
  3. Paste /Applications/MultiMC.app/Data/libraries/org.
  4. Press Enter.
  5. Delete the lwjgl folder.
  6. Try launching the game again.
  1. XJCraft Minecraft Server(China): Join QQ group 225962968 for details.
{
"formatVersion": 1,
"libraries": [
{
"downloads": {
"artifact": {
"sha1": "cbac1b8d30cb4795149c1ef540f912671a8616d0",
"size": 128801,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar"
}
},
"name": "org.lwjgl:lwjgl-glfw:3.3.1"
},
{
"downloads": {
"artifact": {
"sha1": "cbac1b8d30cb4795149c1ef540f912671a8616d0",
"size": 128801,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "81716978214ecbda15050ca394b06ef61501a49e",
"size": 119817,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-linux.jar"
},
"natives-macos": {
"sha1": "cac0d3f712a3da7641fa174735a5f315de7ffe0a",
"size": 129077,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "ed892f945cf7e79c8756796f32d00fa4ceaf573b",
"size": 145512,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-glfw/3.3.1/lwjgl-glfw-3.3.1-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-glfw:3.3.1",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "a817bcf213db49f710603677457567c37d53e103",
"size": 36601,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar"
}
},
"name": "org.lwjgl:lwjgl-jemalloc:3.3.1"
},
{
"downloads": {
"artifact": {
"sha1": "a817bcf213db49f710603677457567c37d53e103",
"size": 36601,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "33dbb017b6ed6b25f993ad9d56741a49e7937718",
"size": 166524,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-linux.jar"
},
"natives-macos": {
"sha1": "e577b87d8ad2ade361aaea2fcf226c660b15dee8",
"size": 103475,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "948a89b76a16aa324b046ae9308891216ffce5f9",
"size": 135585,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-jemalloc/3.3.1/lwjgl-jemalloc-3.3.1-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-jemalloc:3.3.1",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "2623a6b8ae1dfcd880738656a9f0243d2e6840bd",
"size": 88237,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar"
}
},
"name": "org.lwjgl:lwjgl-openal:3.3.1"
},
{
"downloads": {
"artifact": {
"sha1": "2623a6b8ae1dfcd880738656a9f0243d2e6840bd",
"size": 88237,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "f906b6439f6daa66001182ea7727e3467a93681b",
"size": 476825,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-linux.jar"
},
"natives-macos": {
"sha1": "23d55e7490b57495320f6c9e1936d78fd72c4ef8",
"size": 346125,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "30a474d0e57193d7bc128849a3ab66bc9316fdb1",
"size": 576872,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-openal/3.3.1/lwjgl-openal-3.3.1-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-openal:3.3.1",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "831a5533a21a5f4f81bbc51bb13e9899319b5411",
"size": 921563,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar"
}
},
"name": "org.lwjgl:lwjgl-opengl:3.3.1"
},
{
"downloads": {
"artifact": {
"sha1": "831a5533a21a5f4f81bbc51bb13e9899319b5411",
"size": 921563,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "ab9ab6fde3743e3550fa5d46d785ecb45b047d99",
"size": 79125,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-linux.jar"
},
"natives-macos": {
"sha1": "eafe34b871d966292e8db0f1f3d6b8b110d4e91d",
"size": 41665,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "c1807e9bd571402787d7e37e3029776ae2513bb8",
"size": 100205,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-opengl/3.3.1/lwjgl-opengl-3.3.1-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-opengl:3.3.1",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "b119297cf8ed01f247abe8685857f8e7fcf5980f",
"size": 112380,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar"
}
},
"name": "org.lwjgl:lwjgl-stb:3.3.1"
},
{
"downloads": {
"artifact": {
"sha1": "b119297cf8ed01f247abe8685857f8e7fcf5980f",
"size": 112380,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "3ee7aec8686e52867677110415566a5342a80230",
"size": 227237,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-linux.jar"
},
"natives-macos": {
"sha1": "fcf073ed911752abdca5f0b00a53cfdf17ff8e8b",
"size": 178408,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "86315914ac119efdb02dc9e8e978ade84f1702af",
"size": 256301,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-stb/3.3.1/lwjgl-stb-3.3.1-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-stb:3.3.1",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "0ff1914111ef2e3e0110ef2dabc8d8cdaad82347",
"size": 6767,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar"
}
},
"name": "org.lwjgl:lwjgl-tinyfd:3.3.1"
},
{
"downloads": {
"artifact": {
"sha1": "0ff1914111ef2e3e0110ef2dabc8d8cdaad82347",
"size": 6767,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "a35110b9471bea8cde826ab297550ee8c22f5035",
"size": 45389,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-linux.jar"
},
"natives-macos": {
"sha1": "972ecc17bad3571e81162153077b4d47b7b9eaa9",
"size": 41380,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "a5d830475ec0958d9fdba1559efa99aef211e6ff",
"size": 127930,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl-tinyfd/3.3.1/lwjgl-tinyfd-3.3.1-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-tinyfd:3.3.1",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "ae58664f88e18a9bb2c77b063833ca7aaec484cb",
"size": 724243,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar"
}
},
"name": "org.lwjgl:lwjgl:3.3.1"
},
{
"downloads": {
"artifact": {
"sha1": "ae58664f88e18a9bb2c77b063833ca7aaec484cb",
"size": 724243,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "1de885aba434f934201b99f2f1afb142036ac189",
"size": 110704,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-linux.jar"
},
"natives-macos": {
"sha1": "71d0d5e469c9c95351eb949064497e3391616ac9",
"size": 42693,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "0036c37f16ab611b3aa11f3bcf80b1d509b4ce6b",
"size": 159361,
"url": "https://libraries.minecraft.net/org/lwjgl/lwjgl/3.3.1/lwjgl-3.3.1-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl:3.3.1",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
}
],
"name": "LWJGL 3",
"releaseTime": "2022-05-04T14:41:35+00:00",
"type": "release",
"uid": "org.lwjgl3",
"version": "3.3.1",
"volatile": true
}
@tresf
Copy link

tresf commented Jan 25, 2023

@Cat7373 Well, it's nice to e-meet you. I hope we cross paths again soon. I also was once highly involved in LMMS (which also needs an M1 port) 🤦 :)

@Cat7373
Copy link
Author

Cat7373 commented Feb 6, 2023

@tresf The following text is from Google Translate:

In fact, from the user's point of view, the demand has always existed and needs to be met;

At first, Minecraft did not officially support Apple Silicon, and MultiMC chose to follow up and did not support it, but users have a need to play Minecraft on Apple Silicon;

Now, or a little earlier, Minecraft official has been able to directly support Apple Silicon, MultiMC still decided not to support;

At least as of today, users who install Java with arm64 architecture cannot use it out of the box, and users who install Java with x86 architecture will lose a lot of fps;

Today, users still need to use Apple Silicon out of the box and play Minecraft with high fps;

Users have needs, and the needs of users need to be met. If you do not accept or recognize the needs of users, it is not beneficial to your own competition, and it will only squeeze users to places that can meet their needs;

This is why at the beginning I was writing how to solve MultiMC using arm64 Java on Apple Silicon, and proposed an Issue to the project to recommend a solution;

Later, because of the developer's handling method and attitude, I was also squeezed to its competitors, that is, the reason for recommending HMCL;

After all, for users, the problem of playing Minecraft can be solved through complex (and possibly untrustworthy) configurations, and the problem of playing Minecraft can also be solved by changing the launcher. From the user's point of view, there is no difference. Maybe HMCL instead more useful;

This is its choice, and it will bear all the consequences of its choice, whether it is good or bad;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment