diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 5f80d5f..353382a 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,12 +13,12 @@ "state": { "type": "markdown", "state": { - "file": "blog/more-secure-ssh-with-wireguard.md.md", + "file": "blog/modding-minecraft.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "more-secure-ssh-with-wireguard.md" + "title": "modding-minecraft" } } ] @@ -170,10 +170,23 @@ }, "active": "97b5602fe03321b5", "lastOpenFiles": [ - "img/content/wireguard.svg", - "img/content/ssh-wireguard.png", - "blog/dotfiles-2021.md", + "_site/blog/modding-minecraft/index.html", + "_site/blog/modding-minecraft", + "_site/img/content/projbesy-photon-shader.png", + "_site/img/content/prism-launcher.webp", + "_site/img/content/prism-instance.png", + "_site/img/content/modding-minecraft.webp", + "_site/img/content/minimap.png", + "_site/img/content/distant-horizons.jpg", + "img/content/minimap.png", + "img/content/modding-minecraft.webp", + "blog/ember-atx-2020-spring.md", + "blog/modding-minecraft.md", + "img/content/distant-horizons.jpg", + "img/content/projbesy-photon-shader.png", + "blog/arizona_school_finance.md", "blog/more-secure-ssh-with-wireguard.md.md", + "blog/dotfiles-2021.md", "blog/divisibility-rules.md", "blog/blm.md", "blog/a_modern_terminal_workflow_1.md" diff --git a/blog/modding-minecraft.md b/blog/modding-minecraft.md new file mode 100644 index 0000000..28b8ba2 --- /dev/null +++ b/blog/modding-minecraft.md @@ -0,0 +1,102 @@ +--- +title: Modding Minecraft 2025 +description: Beauty meets functionality meets performance. +date: 2025-06-04 +coverImage: /img/content/modding-minecraft.webp +imageDescription: Minecraft screenshot on a widescreen display demonstrating shaders, mods, resource packs and an updated GUI with Distant Horizons enabled. +tags: + - Gaming + - Games +--- +Making Minecraft beautiful yet optimized can be a challenge. Shaders, resource packs, launchers, mods, plugins; it can be daunting! I've delved into what makes Minecraft run well while looking gorgeous and am happy to share my results. + +_Note: I play games at a minimum of 60fps due to motion sickness. Thus that will be what I target as success. Hardware you're running will lead to varied results, so where applicable I will provide alternatives._ + +_Note 2: Everything mentioned here should work on most operating systems, I however am running Linux (specifically; PopOS!)._ + +## Launchers +The way Minecraft launches will determine how easy it can be to mod. There are numerous options available. This blog post will cover [Prism Launcher](https://prismlauncher.org/) . Alternatively you want an easier solution with many quality of life mods I recommend checking out [Lunar Client](https://www.lunarclient.com/) instead. + +[![Prism Launcher screenshot showing various versions of Minecraft installed at the same time](/img/content/prism-launcher.webp)](https://prismlauncher.org/) +Using Prism launcher allows you to sign in with your Minecraft (likely, Microsoft) account through a secure SSO. Once installed and signed in the next step is to "Add Instance". I then recommend choosing "Modrinth" followed by opening "Filter Options" to filter by the game version you wish to play on (if playing online, check what version the server is using and be sure it matches). Some great options are [Fabulously Optimized](https://modrinth.com/modpack/fabulously-optimized) or the my favorite [Distant Horizons & Iris Shaders](https://modrinth.com/modpack/distant-horizons-iris-shaders). + +![Prism Launcher New Instance screenshot showing Modrinth selected filtered by game version and searched for "Iris"](/img/content/prism-instance.png) + +--- + +> Next sections will discuss additional ways to modify your game. While I will primarily link to the site [Modrinth](https://modrinth.com/) there is also a great alternative called [CurseForge](https://www.curseforge.com/minecraft). _Both are supported by Prism Launcher._ +## "Engine", or the JVM +An advanced topic is what Minecraft runs inside of - as this is a Java application that means it runs inside of a Java Virtual Machine (JVM). By default most launchers, including Prism, will install OpenJDK which is fine for most machines. + +However, there are alternatives! If you want a crazy fast high framerate option check out [VulkanMod](https://modrinth.com/mod/vulkanmod) (see below for installing Mods). However, Vulkan does not support shaders or a number of mods (including Distant Horizons). + +Other alternatives exist, and Prism Launcher can automatically install [Adoptium (Temurin)](https://adoptium.net/temurin/releases/?os=any). It's easy to switch; in Prism Launcher choose Settings -> Java -> Management to install it, then under General change which you are using with "Auto-detect..." + +### JVM Settings & Arguments + +_Likely not applicable if running VulkanMod._ + +Most importantly is under Settings -> Java -> General -> Memory to set your Minimum and Maximum memory allocation to the _same number_. The number depends on how much ram your computer is willing to spare. However, more is not always better due to the JVM's garbage collection. + +Personally, despite having 30GB of ram I set my game to 4GB (`4096MiB`). + +Some guides online [suggest other JVM args](https://github.com/de-soot/mc-fps-jvm-args) but I have not noticed much difference. But feel free to experiment! + +## Resource Packs +Textures, models and animation are generally found in what Minecraft calls Resource Packs. Right click the instance you created in Prism Launcher, then select "Resource packs" and "Download packs" to browse and add them to your game. These rarely have a significant impact on game performance, so find and enjoy whatever you wish! Below are my favorites: + +- [Catppuccin UI](https://modrinth.com/resourcepack/catppuccin-ui) +- [Better Lanterns](https://modrinth.com/resourcepack/better-lanterns) +- [Enchant Icons](https://modrinth.com/resourcepack/enchant-icons-countxd) +- [Even Better Enchants](https://modrinth.com/resourcepack/even-better-enchants) +- [Faithful](https://modrinth.com/resourcepack/faithful-64xA) +- [Ray's 3D Ladders](https://modrinth.com/resourcepack/rays-3d-ladders) +- [Ray's 3D Rails](https://modrinth.com/resourcepack/rays-3d-rails) +- [Redstone Tweaks](https://modrinth.com/resourcepack/redstone-tweaks) +- [xali's Potions](https://modrinth.com/resourcepack/xalis-potions) + +--- + +Any resource packs you install can be selected and adjusted ingame via Options -> Resource Packs. Keep in mind vertical load order matters! I suggest putting your broad texture packs on the bottom while having more specific items like enchanting books and UI changes higher up. + +## Shaders +A high impact on performance but equally high impact on visual fidelity are shaders. These tools rely on strong video cards, CPU's, and having enough RAM. + +There are many [popular shaders](https://modrinth.com/shaders) that can be installed just like a Resource Pack by editing the instance and selecting Shader packs -> Download shaders. + +![Beautiful snowy landscape photo by Pojbesy of the Photon shader](/img/content/projbesy-photon-shader.png) + +My personal favorite, shown above, is [Photon Shaders](https://modrinth.com/shader/photon-shader). It has the best compromise I have found of colored lighting, beautiful skies, labPBR support (fancy resource packs) without dropping my computer below 60fps like others do. It also supports [Distant Horizons](https://modrinth.com/mod/distanthorizons) (see mods below). + +--- + +Any shader you install can be selected and adjusted ingame via Options -> Video Settings -> Shaders + +## Mods +Core changes to how your game runs fundamentally are done via mods. These go beyond visual changes and can do things like optimize your game or add in new features. While browsing mods, be sure you understand which mods are clientside or require being installed on the server. + +If you installed an instance through Prism Launcher congratulations you already have some mods! You can see them and download more while editing the instance under the Mods tab. + +![Screenshot of Xaero's Minimap with entity icons, coordinates and a visual overview of the surrounding space from above.](/img/content/minimap.png) + +Generally I install most mods that claim to optimize the gameplay experience. Additionally, I really love [Xaero's Minimap](https://modrinth.com/mod/xaeros-minimap) and [Xaero's World Map](https://modrinth.com/mod/xaeros-world-map) which not only does what they imply but also allows you to see your coordinates outside of the F3 menu and save waypoints (the B key by default). + +### Distant Horizons Mod +An advanced gameplay mod is [Distant Horizons](https://modrinth.com/mod/distanthorizons) which can be intalled clientside or also on the server. Note, if adding it on the server then all clients need the "Fabric API" mod installed, making it harder for clients to join without modding knowledge. + +![Screenshot from the homepage of Distant Horizons showing a further render distance](/img/content/distant-horizons.jpg) + +> What does Distant Horizons do? +> Simply put, it add simplified terrain past Minecraft's default view distance to improve performance and allow for longer draw distances. +> Now you can finally enjoy that lookout tower you built on top of a mountain! + +Important notes; I recommend using the before-mentioned "Distant Horizons & Iris Shaders" modpack instance, not all Shaders are supported (but Photon is), you need to explore the world to let the mod generate distant terrain. + +Lastly, this mod can have a significant performance impact. Thus I recommend the following settings: + +- Minecraft Video Settings + - Render Distance: 12 Chunks + - Max Shadow Distance: 12 Chunks +- Distant Horizon Settings + - Quality Preset: 2. Low + - CPU Load: 1. Minimal Impact diff --git a/img/content/distant-horizons.jpg b/img/content/distant-horizons.jpg new file mode 100644 index 0000000..a76cc32 Binary files /dev/null and b/img/content/distant-horizons.jpg differ diff --git a/img/content/minimap.png b/img/content/minimap.png new file mode 100644 index 0000000..7245128 Binary files /dev/null and b/img/content/minimap.png differ diff --git a/img/content/modding-minecraft.webp b/img/content/modding-minecraft.webp new file mode 100644 index 0000000..80b74a4 Binary files /dev/null and b/img/content/modding-minecraft.webp differ diff --git a/img/content/prism-instance.png b/img/content/prism-instance.png new file mode 100644 index 0000000..c2d47a0 Binary files /dev/null and b/img/content/prism-instance.png differ diff --git a/img/content/prism-launcher.webp b/img/content/prism-launcher.webp new file mode 100644 index 0000000..813234a Binary files /dev/null and b/img/content/prism-launcher.webp differ diff --git a/img/content/projbesy-photon-shader.png b/img/content/projbesy-photon-shader.png new file mode 100644 index 0000000..6253df1 Binary files /dev/null and b/img/content/projbesy-photon-shader.png differ