Minecraft Setup
Installing and Optimizing Minecraft 1.8 (and later versions)

Firstly, do not use the official client. It is harder to manage your mod packs that way. Instead, use something like Prism Launcher or its forks that pop up occasionally that bypasses the account checks and allows you to use 3rd party skin providers. The most recent one I know is Freesm Launcher.
<code class="language-bash"> doas pacman -S prismlauncher </code>
After you set up the launcher, you need to create an instance. I prefer Minecraft 1.8 for casual play because it is simpler. I like playing multiplayer on PVP servers. After choosing the version, select Forge in mod loader section. You might have luck with NeoForge (the Forge fork) but they mentioned they might be removing backwards compatibility with Forge.[1] If you are going to play recent versions of the game (anything that is >=1.14) prefer the Fabric mod loader and the Fabulously Optimized mod pack which handles most optimizations we are going to do by itself. Try to pick the latest version on LWJGL stuff if it asks.
After being sure the game launches correctly, it is time to optimize it further. Firstly try to install Zulu Java. It is a modified version of Java from a company called Azul.[2]
<code class="language-bash"> # Assuming the use of an AUR helper for Zulu Java (Java 8 is recommended for MC 1.8) doas yay -S zulu-8-bin </code>
After that give the game more RAM and try using different Java command line arguments. Here is a command line argument generator with most widely used settings by others. Install and enable Game Mode. It makes your OS prioritize Minecraft instead of other software that may not need immediate processing power.[3]
<code class="language-bash"> doas pacman -S gamemode lib32-gamemode </code>
Test if game launches with the new settings you did. If it does not work you can always check logs to see what is wrong. Then try to install these mods:
| Mod Name | Description |
|---|---|
| OptiFine | The most essential mod you will need. It handles so many things I can't explain everything in this list. |
| Patcher | Closes the gap where OptiFine isn't enough. Like OptiFine, it has so many options. It brings another mod with itself called Essential, but it is just bloat so you may need to disable it from its settings or set up the Not So Essential mod. |
| Foam Fix | It fixes memory usage especially on mod packs with many mods. |
| Tex Fix | It reduces the memory footprint of Minecraft textures. |
| Phosphor Legacy | Port of Phosphor from recent versions of the game to 1.8. It reduces the heavy load of lightning mechanics in the game. |
| Better FPS | The name already describes it. |
| HitDelayFix | Fixes your hits not registering because of a 1.8 change. It may be counted as cheating in some servers so always check if it is allowed. (Lunar Client enables it by default). The mod is kinda suspicious, so I can't guarantee the dev will not add malicious behavior to it in the future. |
Read the descriptions of all mods from their official pages. Check their settings and modify it to your liking. Research about the decisions you can make. And after all of that, BACKUP YOUR CONFIGS to be able to move between setups easier.

After setting up everything as you like. It is time to install a texture pack. Based on your use case there are many texture packs you can use.
- Huahwi Texture Pack: One of the best and most nostalgic PVP packs to ever exist. It is my favorite.
- Faithful 32x/64x: Mostly suited for survival. It makes Minecraft's default look a bit better to look to.
- F8thful: For potato PCs. You can combine it with 1×1 block texture packs if you want. Texture packs don't make a big difference in FPS, but you can try.[4]
Now you are ready to play the game without any stuttering and better visuals. :D
References
- ↑ NeoForge actively maintained backwards compatibility with Forge solely for Minecraft 1.20.1. From 1.20.2 onward, they introduced breaking changes to the API, essentially dropping direct drop-in compatibility. Source: NeoForge Release Notes
- ↑ Azul Zulu builds of OpenJDK are certified, open source, and 100% compliant Java Development Kit (JDK) and Java Runtime Environment (JRE) implementations optimized for performance. Source: Azul Zulu Downloads
- ↑ GameMode is a daemon/library combo for Linux that allows games to request a set of optimisations be temporarily applied to the host OS, such as adjusting the CPU governor, I/O priority, and kernel scheduler. Source: Feral Interactive GameMode GitHub
- ↑ Texture packs predominantly consume VRAM (Video RAM) rather than placing a direct computational load on the GPU core. As long as your graphics card has enough VRAM to load the textures without swapping to system memory, your framerate will remain largely unaffected. Source: Feed The Beast Forums - Texture Packs and FPS