diff --git a/README-modrinth.md b/README-modrinth.md new file mode 100644 index 0000000..e4ec0bf --- /dev/null +++ b/README-modrinth.md @@ -0,0 +1,24 @@ +This description has been simplified to make it friendlier and easier to understand on modrinth. For the full description, please visit the [GitHub repository](https://github.com/Numelon-Softworks/ThreatenGL). +# 🤬 ThreatenGL +Welcome to ThreatenGL! + +ThreatenGL is a Minecraft mod that takes a stand against the outdated OpenGL version 3.2, ***threatening*** Minecraft to use the more modern version 4.6. This change can potentially boost performance and make the most of your hardware's capabilities. + +> Minecraft: "please... anything but that!" 😰 +> +> ThreatenGL: "opengl version 4.6, or else!" 😡🔪 + +## 🤨 What's the deal? +ThreatenGL is about enhancing your Minecraft experience. By ***threatening*** Minecraft to switch to OpenGL 4.6, this mod aims to unlock performance enhancements that might otherwise remain hidden. Users have reported smoother gameplay and better frame rates, especially on newer devices. + +For a more detailed description of what this does, please visit the [GitHub repository](https://github.com/Numelon-Softworks/ThreatenGL). (Mod developers, please read this to avoid conflicts!) + +## ⚙️ How does it work? +ThreatenGL works its magic by tinkering with Minecraft's internals. By injecting some code into the game's graphics setup process, it convinces Minecraft to opt for OpenGL 4.6 instead of the old 3.2. This simple tweak has the *potential* to make a difference in how the game performs. + +## ❗Notes +ThreatenGL has been thoroughly tested to ensure it doesn't explore your device. However, please keep in mind that this is still an experiment and the efficacy of this mod is being actively researched and discussed. While many users have seen positive results, **your** results may vary depending on your setup. + +If you encounter any issues, feel free to reach out by [posting an issue on GitHub](https://github.com/Numelon-Softworks/ThreatenGL/issues) or [joining the Discord Server](https://discord.gg/3eWzyjWWJc), and I'll do my best to assist you in any way I can! :) + +**Have a great day/night, and enjoy this mod! 😊** \ No newline at end of file diff --git a/README.md b/README.md index ec1daaf..1fa4afa 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,12 @@ + +> [!NOTE] +> +> 🚨 **Attention to Detail** +> +> Developers, please take note of the intentional use of wording and typography throughout this README. Bold words, italics, and other formatting elements are strategically employed to emphasise key points and nuances. Paying attention to these details can provide deeper insights into the intentions and objectives behind ThreatenGL... and to prevent heated discussions and arguments about the efficacy of this mod. Please don't start screaming; it's being actively discussed in ***many*** different channels. Dive in, and explore with a discerning eye! 👀✨ + # 🤬 ThreatenGL -A Minecraft Fabric, Quilt and Forge mod that ***threatens*** Minecraft's OpenGL to utilise version 4.6 instead of stinky, outdated 3.2, enhancing performance and leveraging modern graphics capabilities. +A Minecraft Fabric, Quilt, Forge and NeoForge mod that ***threatens*** Minecraft's OpenGL to utilise version 4.6 instead of stinky, outdated 3.2, potentially enhancing performance and leveraging modern graphics capabilities. > Minecraft: please... I'll do anything! 😰 > @@ -9,12 +16,12 @@ A Minecraft Fabric, Quilt and Forge mod that ***threatens*** Minecraft's OpenGL ThreatenGL aims to explore the ***potential*** performance benefits of encouraging Minecraft to use OpenGL 4.6 instead of 3.2. While traditional wisdom may suggest that OpenGL versions are merely indicative of GPU capabilities (and I do agree), users have reported tangible performance improvements with ThreatenGL. - + The primary objectives of ThreatenGL include: - **Performance Enhancements**: By encouraging the use of OpenGL 4.6, ThreatenGL *seeks* to unlock potential performance gains that may otherwise be inaccessible with older OpenGL versions. Users have observed and reported improved frame rates and stability, particularly on newer hardware. -- **Compatibility and Optimisation**: While OpenGL versions are traditionally viewed as hints rather than strict requirements for graphical capabilities, ThreatenGL acknowledges the *potential* for compatibility issues and suboptimal performance arising from OpenGL 3.2. By nudging Minecraft towards OpenGL 4.6, the mod aims to ***explore*** whether such encouragement can lead to measurable improvements in gameplay experiences across a wider range of hardware. +- **Compatibility and Optimisation**: While OpenGL versions are traditionally viewed as hints rather than strict requirements for graphical capabilities, ThreatenGL acknowledges the *potential* for compatibility issues and suboptimal performance arising from OpenGL 3.2. By *nudging* Minecraft towards OpenGL 4.6, the mod aims to ***explore*** whether such encouragement can lead to measurable improvements in gameplay experiences across a wider range of hardware. ## ⚙️ How does it work? ThreatenGL operates by leveraging the power of "mixins" to inject code into Minecraft's `Window` class, which is responsible for creating the game window and its OpenGL context. @@ -23,7 +30,28 @@ This injected code intercepts the `glfwWindowHint` method of the GLFW library us When the `glfwWindowHint` method is called by Minecraft, this mod checks whether the OpenGL version is being set. If so, then we manually override this version to be set to 4.6. -# ❗Notes +## ❗Notes This mod has undergone extensive testing to ensure that it is stable and won't explode your device. There are no issues so far, however, it is important to note that this is an experiment, as we are threatening Minecraft to use an OpenGL version that it is clearly not meant to run. ~~Mojang has their reasons for still using OpenGL 3.2, even in Minecraft 1.21 in 2024, but I don't really agree with them (mainly because I'm unaffected by the lack of backwards compatibility with newer OpenGL versions)~~ -That being said, please report any issues with your logs, the mods and resource packs you are using, etc attached to the issue, and I will take a look at it. There may not be much that I can do though because this mod is very simple, it only changes the OpenGL version and absolutely nothing else. Plus, I develop plugins for Minecraft servers and not mods for Minecraft clients so my knowledge is partially limited, although I am willing to learn. \ No newline at end of file +That being said, please report any issues with your logs, the mods and resource packs you are using, etc attached to the issue, and I will take a look at it. There may not be much that I can do though because this mod is very simple, it only changes the OpenGL version and absolutely nothing else. Plus, I develop plugins for Minecraft servers and not mods for Minecraft clients so my knowledge is partially limited, although I am willing to learn. :) + +## ℹ️ Other Information & For those interested in the source code +This mod uses [Semantic Versioning 2.0.0](https://semver.org) to differentiate between different mod iterations. + +Before modifying the source code and trying to compile, please edit the `gradle.properties` file and modify the following line: + +**From:** +```properties +org.gradle.jvmargs=-Xmx8G +``` + +**To:** +```properties +org.gradle.jvmargs=-Xmx2G +``` + +This will reduce the amount of memory (RAM) given to Gradle, and is a highly recommended step for development if your device has less than 12GB of memory. + +The only reason this is initially set to `8G` in the repository is because this mod is compiled on a device with higher resource availability. + +Happy tinkering! 🔨 \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 4d6252d..0cc411e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,9 +1,9 @@ # Done to increase the memory available to Gradle. -org.gradle.jvmargs=-Xmx2G +org.gradle.jvmargs=-Xmx8G org.gradle.parallel=true # Mod properties -mod_version = 1.0.0 +mod_version = 1.2.0 maven_group = com.numelon.threatengl archives_name = threatengl enabled_platforms = fabric,forge,neoforge,quilt