No GUI
No GUI,
A texture pack made for fun and as a challenge. Can you beat it? If you want you can record ur self beating it and I will put you below as a verified winner! (you should dm me on discord for notice)
Also the GUI isn’t black its invisible so you can see stuff under your current tab or something.
Q&A:
Can I put this in my modpack?
Sure but add the credit. Or just paste the text below
No GUI
By Zacgamingpro1234
https://modrinth.com/resourcepack/nogui
You can redistribute this resource but you may not monetize from it.
You can use it for personal use.
No Armour Armor HUD Hotbar
Removes the Armor Icons from the HUD, for a cleaner GUI. Protection still works!
v1.20.2 (latest) and above is compatible with every other resourcepack.
Just select and put this resourcepack above others in order to work.
New Hearts, classic colors
# **New Hearts, classic colors**
**Not a fan of the pastel hearts in the [New Hearts](https://modrinth.com/resourcepack/new-hearts) texture pack?**
**This texture pack is for you.**
—

—
New Hearts
# **New Hearts**
**Don’t like the bright colors of the hearts?**
**This texture pack is for you.**
—

—
## **Description**
**Pastel-colored hearts with softer color transitions.**
—
**Texture pack in classic colors: [New Hearts, classic colors](https://modrinth.com/resourcepack/new-hearts-classic-colors)**
New end stone
# **New end stone**
**Like pink and pastel colors?**
**This texture pack is for you.**
—

—
## **Description**
**This pack slightly modifies end stone, giving it a softer, pastel pink tone.**
legacy-lwjgl3
# legacy-lwjgl3
A mod for [Ornithe](https://ornithemc.net) to run old versions of Minecraft with [lwjgl3](https://github.com/lwjgl/lwjgl3).
### Usage
#### Configuration
The mod offers optional configuration options via system properties or
environment variables.
A list of currently available options is provided below.
| Property Name | Environment variable name | Description |
|———————————————–|———————————————–|——————————————————|
| `legacy_lwjgl3.use_sdl` | `LEGACY_LWJGL3_USE_SDL` | Use SDL3 instead of GLFW for window & input handling |
### Unstable versions (CI)
Bleeding-Edge versions can be found in the Actions tab of the repository: https://github.com/moehreag/legacy-lwjgl3/actions.
### Building
This mod can be built using `./gradlew build`, jars can then be found at `build/libs/`.
### Dev
This mod is published to AxolotlClient’s maven, located at https://maven.axolotlclient.com.
“`kotlin
repositories {
maven(“https://maven.axolotlclient.com/releases”)
//maven(“https://maven.axolotlclient.com/snapshots”) // for unstable versions, optional
}
dependencies {
modImplementation(“io.github.moehreag:legacy-lwjgl3:“)
}
“`
### IME support for other mods
This mod provides IME preedit overlay functionality. If other mods provide independent text field implementations
they will not integrate with IME by default. legacy-lwjgl3 publishes a small API package which allows other mods
to integrate with IME input.
“`kotlin
repositories {
maven(“https://maven.axolotlclient.com/releases”)
//maven(“https://maven.axolotlclient.com/snapshots”) // for unstable versions, optional
}
dependencies {
modImplementation(“io.github.moehreag.legacy-lwjgl3:api:“)
}
“`
### Contributing
Contributions are welcome! Due to the project structure and its goal to support as many Minecraft versions
as possible working with the codebase is not trivial. If you are interested in contributing and need
assistance please join our [Discord server](https://discord.gg/BfmYmPw3Ts)
### Credits
This mod is forked from the version for legacyfabric authored by Zarzelcow: https://github.com/Zarzelcow/legacy-lwjgl3.
It is based on [lwjgl2](https://github.com/lwjgl/lwjgl) and a forge mod by gudenau: https://github.com/gudenau/MC-LWJGL3.
Additional Credits to:
– The OrnitheMC Project: https://ornithemc.net
– Contributors to this mod, especially: [Floweynt](https://github.com/Floweynt)
Mod Remapping API
# Mod Remapping API
Remaps non-Fabric mods made for a different environment (by default obfuscated) to the current runtime mappings.
Provides hooks to expand the remapping process from other mods.
This mod doesn’t depend on a specific Minecraft version and should work on any version that Fabric Loader can launch.
### Mods depending on this API:
– [Fabricated Legacy Forge](https://modrinth.com/mod/fabricated-forge)
– [Apron](https://modrinth.com/mod/Apron)
– [Fabricated-Rift](https://modrinth.com/mod/fabricated-rift)
## Credits
### Most of the original code of the mod remapper
– paulevsGitch’s mod BetaLoader
Mod Loading Screen
# Mod Loading Screen
An advanced loading screen with the loading progress of mods. It works on all Minecraft versions, as it doesn’t even require Minecraft. Its only requirement is Fabric Loader 0.12.0 or later or Quilt Loader (specific versions of Quilt support are unknown). Do note that if you run this mod on a game other than Minecraft, the loading screen may not close itself.
## Agent
Mod Loading Screen provides a Java agent, which allows opening the loading screen before even the mod loader itself loads. This feature is primarily targeted at modpack developers who want to make a seamless loading experience. The agent can be used by passing `-javaagent:mod-loading-screen-1.0.4.jar` as a JVM argument. If the agent is used, the loading screen should *not* be installed as a mod.
## API
To depend on the API, use the Modrinth Maven. The API should be JiJed, and doing so will not include Mod Loading Screen inside your mod (it will only include the API, which is only a few kilobytes). The API is designed to have both forwards and backwards binary compatibility with future Mod Loading Screen versions. An API is provided for checking which API calls will return stubs and which ones are real.
“`gradle
repositories {
exclusiveContent {
forRepository {
maven {
name = “Modrinth”
url = “https://api.modrinth.com/maven”
}
}
filter {
includeGroup(“maven.modrinth”)
}
}
}
dependencies {
// implementation, not modImplementation!
include(implementation(“maven.modrinth:mod-loading-screen:1.0.4:api”))
}
“`
The API has two top-level classes: `LoadingScreenApi` and `AvailableFeatures`. Full javadocs are available for both classes.
Mellstroy (Я уже красный) Totem of Undying
**EN**: This resource pack replaces the original **Totem of Undying** with the Meme from Mellstroy **I’m already red, it won’t work out culturally** with sound. This meme has become very popular on TikTok over the past couple of years.
**RU**: Этот ресурспак заменяет оригинальный **Тотем бессмертия** на Мем от Меллстроя **Я уже красный, культурно не получится** со звуком, данный мем за последние пару лет стал очень популярным в Тик Ток
– [Омайгадность Тотем](https://modrinth.com/resourcepack/ohmygod-totem-of-undying)
– [Тотем Меллстрой](https://modrinth.com/resourcepack/mellstroy-totem-of-undying)
– [ПОЛНАЯ КОЛЛЕКЦИЯ РЕСУРСПАКОВ – МЕМЫ + СТРИМЕРЫ](https://modrinth.com/collection/sfDcDGAi)

LoginPhaseProxy
**LoginPhaseProxy** is a somewhat “*simple*” Velocity Plugin that allows you to proxy the LoginPluginMessagePacket from backend server to the player and LoginPluginResponsePacket from the player to the backend server. This is useful for modded backend servers that rely on Login Plugin Message communication to work, such as [AutoModpack](https://github.com/Skidamek/AutoModpack).
> Disclaimer: This plugin is in early development and may contain bugs and performance issues. Use it at your own risk.
## 🔁 When to use
| Author(s) | Mod |
|—————————————–|——————————————————————————–|
| [Skidam](https://github.com/Skidamek) | [AutoModpack](https://github.com/Skidamek/AutoModpack) (Fabric/Forge/Neoforge) |
> You’re welcome to suggest new use cases via [Issue](https://github.com/caiostoduto/LoginPhaseProxy/issues/new/choose) or [Pull Request](https://github.com/caiostoduto/LoginPhaseProxy/pulls)!
## ❓ What does it solve (detailed)

Normal Setup ⦁ Made in Figma
On a normal Velocity setup, when a player connects to the proxy, they go through the (P ↔ V) Login Phase, exchanging packets with the Velocity until the proxy sends a Server Login Success Packet, completing the (P ↔ V) Login Phase and triggering the backend connection process. The backend server then goes through its own (V ↔ B) Login Phase, where it may send Login Plugin Message Packets to the Velocity, and they can’t be forwarded to the player, because the (P ↔ V) Login Phase is already complete, so Velocity reponds them with an empty data Login Plugin Response Packet, as it doesn’t know how to handle them. This is a problem for modded backend servers that rely on Login Plugin Message communication to work, such as [AutoModpack](https://github.com/Skidamek/AutoModpack), as they won’t be able to send the necessary data to the player during the Login Phase, and the player won’t be able to join the backend server. This plugin tries to solve this issue by proxying the Login Plugin Message communication between the player and the backend server, allowing modded backend servers to work with Velocity without any issues.
## ✨ How it works (detailed)
~~Basically black magic 🪄🔮~~. It uses [Java Reflection](https://www.oracle.com/technical-resources/articles/java/javareflection.html) to access the internal Velocity classes [ProxyServer](https://github.com/PaperMC/Velocity/blob/ad8de4361c9d6e93b818d3381e85b14e0c90ad05/proxy/src/main/java/com/velocitypowered/proxy/VelocityServer.java) -> [ConnectionManager](https://github.com/PaperMC/Velocity/blob/dev/3.0.0/proxy/src/main/java/com/velocitypowered/proxy/network/ConnectionManager.java)[[1]](https://github.com/caiostoduto/LoginPhaseProxy/blob/main/src/main/java/com/caiostoduto/loginPhaseProxy/initializer/VelocityChannelInitializer.java) to override the serverChannelInitializer[[2]](https://github.com/caiostoduto/LoginPhaseProxy/blob/main/src/main/java/com/caiostoduto/loginPhaseProxy/initializer/FrontendChannelInitializer.java) and backendChannelInitializer[[3]](https://github.com/caiostoduto/LoginPhaseProxy/blob/main/src/main/java/com/caiostoduto/loginPhaseProxy/initializer/BackendChannelInitializer.java), so it can intercept the Velocity communication with the player (P <-> V)[[4]](https://github.com/caiostoduto/LoginPhaseProxy/blob/main/src/main/java/com/caiostoduto/loginPhaseProxy/intercept/FrontendInterceptor.java) and backend server (V <-> S)[[5]](https://github.com/caiostoduto/LoginPhaseProxy/blob/main/src/main/java/com/caiostoduto/loginPhaseProxy/intercept/BackendInterceptor.java), respectively.

Plugin Implementation ⦁ Made in Figma
With that, our plugin watches the Login Phase player connection until it sees a SetCompressionPacket(5) (optionally) and ServerLoginSuccessPacket(6), adding them to a buffer instead of sending them to the player and synthetically sends a loginAcknowledgedPacket(7) to the Velocity pipeline, tricking it into thinking the Login Phase is complete and starting the backend connection process. To make sure the Velocity doesn’t mess the packet interception and sending process, our plugin removes stealthly (so that it doesn’t trigger it’s handlerRemoved lifecycle[[6]](https://github.com/caiostoduto/LoginPhaseProxy/blob/main/src/main/java/com/caiostoduto/loginPhaseProxy/utils/StealthPipeline.java)) the handlers from the Velocity serverChannel pipeline[[4]](https://github.com/caiostoduto/LoginPhaseProxy/blob/main/src/main/java/com/caiostoduto/loginPhaseProxy/intercept/FrontendInterceptor.java) that were added after the Login Phase to Config Phase transition ([MinecraftCompressorAndLengthEncoder](https://github.com/PaperMC/Velocity/blob/ad8de4361c9d6e93b818d3381e85b14e0c90ad05/proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftCompressorAndLengthEncoder.java#L33) and [MinecraftCompressDecoder](https://github.com/PaperMC/Velocity/blob/ad8de4361c9d6e93b818d3381e85b14e0c90ad05/proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftCompressDecoder.java#L34), others are removed naturally afterwards). Also, our plugin adds the [MinecraftVarintLengthEncoder](https://github.com/PaperMC/Velocity/blob/ad8de4361c9d6e93b818d3381e85b14e0c90ad05/proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftVarintLengthEncoder.java#L33)[[4]](https://github.com/caiostoduto/LoginPhaseProxy/blob/main/src/main/java/com/caiostoduto/loginPhaseProxy/intercept/FrontendInterceptor.java) back (was removed at the transition) and sets the [MinecraftDecoder](https://github.com/PaperMC/Velocity/blob/ad8de4361c9d6e93b818d3381e85b14e0c90ad05/proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftDecoder.java#L34) state to StateRegistry.LOGIN[[4]](https://github.com/caiostoduto/LoginPhaseProxy/blob/main/src/main/java/com/caiostoduto/loginPhaseProxy/intercept/FrontendInterceptor.java) so the packets are properly encoded and decoded.
If the backend server sends a LoginPluginMessagePacket(10) during its Login Phase, our plugin will intercept it and send it to the player(11), and if the player sends a LoginPluginResponsePacket(12), our plugin will intercept it and send it to the backend server(13). This way, we can effectively proxy the LoginPluginMessagePacket and LoginPluginResponsePacket between the player and the backend server, allowing modded backend servers to work with Velocity without any issues. Then, when the backend server ends the Login Phase sending the ServerLoginSuccessPacket(15), our plugin will flush the buffered packets to the player, completing the Login Phase and allowing the player to join the backend server as normal. Afterwards, if the user sends a LoginAcknowledgedPacket (clientProtocolVersion >= ProtocolVersion.MINECRAFT_1_20_2)(16) after the Login Phase is complete, our plugin will simply ignore it, as it is not expected to be sent by the player at that point. Finally, the plugin will restore the [MinecraftDecoder](https://github.com/PaperMC/Velocity/blob/ad8de4361c9d6e93b818d3381e85b14e0c90ad05/proxy/src/main/java/com/velocitypowered/proxy/protocol/netty/MinecraftDecoder.java#L34) state to its previous state (Config Phase).
So, yeah, *basically black magic* 🪄🔮. Yayyyy!
## 🙏 Acknowledgements
– [Skidam](https://github.com/Skidamek), who inspired me to create this plugin!
– [lucas-gcp](https://github.com/lucas-gcp), who supported me and helped with testing!