Step 5 of #8. versions/1.21.7/src is gone; 1.21.7 builds from src/ as :1.21.7. 1.21.7's copy differed from 1.21.8's in the player render state: Fabric API's RenderStateDataKey only exists from 1.21.8 (fabric-rendering-v1 12.6.0), so 1.21.7 had no updateRenderState hook, no SaturnRenderState, and looked players up by name for the cloak and hat. That stays the case: - The cloak and hat use getData on >=1.21.8 and SaturnPlayer.get(name) before that. - PlayerEntityRendererMixin's updateRenderState exists only on >=1.21.8, as flat ranges (>=1.21.9, else if >=1.21.8) calling a shared saturn$applyPlayer helper, instead of nested version blocks. - SaturnRenderState's key only exists on >=1.21.8; the class is empty before. - TODO: 1.21.6 and 1.21.7 still don't show the role icon in names. 1.21.7's NameTagMixin isn't carried over: it wasn't registered in any mixin config, so it never ran. The 1.21.7 jar differs from the old one only as 1.21.8's did in step 4 (entityAlpha and drawGroup helpers, getIconId, and the cloak getting its buffer at the draw call), plus the empty SaturnRenderState and the missing dead NameTagMixin. 1.21.8-1.21.11 only differ in PlayerEntityRendererMixin (the helper). Co-Authored-By: Claude Opus 5.5 <[email protected]>
87 lines
3.6 KiB
Markdown
87 lines
3.6 KiB
Markdown
<p align="center">
|
|
<img src="logo.png" alt="Saturn Client Logo" width="150px"/>
|
|
</p>
|
|
|
|
<h1 align="center">Saturn Client</h1>
|
|
|
|
<p align="center">
|
|
<b>A free and open-source Minecraft client.</b><br/>
|
|
Built with performance, customization, and community in mind.
|
|
</p>
|
|
|
|
<p align="center">
|
|
<img src="screenshot.png" alt="Saturn Client Screenshot"/>
|
|
</p>
|
|
|
|
## About
|
|
|
|
Saturn Client is a free, open-source Minecraft client designed to enhance the gameplay experience while staying lightweight and customizable.
|
|
Our goal is to build a clean, optimized client that the community can contribute to and improve together.
|
|
|
|
Saturn runs on Fabric and supports **Minecraft 1.21.4 to 1.21.11**, with one build per version. If something doesn't work on your version, please open an issue.
|
|
|
|
## Features
|
|
|
|
- Free cosmetics that don't require real money: cloaks, including animated ones, and hats
|
|
- 18 built-in mods: Armor Display, Auto Sprint, Clock, Coordinates, Crosshair, Day Counter, FPS Display, Freelook, Fullbright, Health Display, Keystrokes, Nametags, No Fog, Ping Display, Speedometer, Status Effects, TPS Display and Zoom
|
|
- Clean and modern UI with animations
|
|
- Ongoing performance improvements
|
|
- Open-source and community-driven
|
|
|
|
## Installation
|
|
|
|
1. Install [Fabric Loader](https://fabricmc.net/use/) and [Fabric API](https://modrinth.com/mod/fabric-api) for your Minecraft version.
|
|
2. Download the Saturn Client jar for the same version from [Modrinth](https://modrinth.com/mod/saturnclient) or the [releases page](https://git.selimaj.dev/saturnclientmc/saturnclient/releases).
|
|
3. Put it in your `mods` folder.
|
|
|
|
### Network use
|
|
|
|
For cosmetics, Saturn Client connects to the Saturn server (`saturn-server.selimaj.dev`). You're signed in the same way as on an online-mode Minecraft server: your client proves who you are to Mojang's session server, and the Saturn server asks Mojang to confirm it. **Your Minecraft access token is only ever sent to Mojang, never to the Saturn server.**
|
|
|
|
## Building from source
|
|
|
|
The version-independent code lives in the `common` submodule, so clone with submodules:
|
|
|
|
```sh
|
|
git clone --recurse-submodules https://git.selimaj.dev/saturnclientmc/saturnclient.git
|
|
cd saturnclient
|
|
|
|
./gradlew buildAll # every version → build/allJars/
|
|
./gradlew :1.21.11:build # a single version (versions not on Stonecutter yet: :mc-1.21.6)
|
|
./gradlew :1.21.11:runClient # launch a development client
|
|
```
|
|
|
|
Building needs Java 21.
|
|
|
|
## Contributing
|
|
|
|
We welcome contributions of all kinds:
|
|
|
|
- Code improvements
|
|
- Bug fixes
|
|
- UI enhancements
|
|
- Cosmetic designs
|
|
- Suggestions and feedback
|
|
|
|
If you're an artist or designer interested in helping with cosmetics or visual assets, we'd love to collaborate.
|
|
|
|
Most features belong in `common`, which every Minecraft version shares. For code that differs between versions, see the [version guide](VERSION_GUIDE.md): it covers how the versions are laid out, porting a change to all of them with `scripts/port.sh`, and adding a new Minecraft version. Every pull request is compiled for all versions automatically.
|
|
|
|
## Credits
|
|
|
|
- **Cloak Rendering:** `IIpho3nix` & Saturn
|
|
- **Who Am I:** `FokshaWasTaken`
|
|
- **Panorama:**
|
|
https://www.planetminecraft.com/texture-pack/minecraft-cavesand-cliffs-part-ii-main-menu-panorama/
|
|
|
|
If any code or assets belong to you and you would like them removed, please open an issue.
|
|
We aim to properly credit all contributors and respect original creators of their respective art.
|
|
|
|
## License
|
|
|
|
Saturn Client is free and open-source under the **Apache-2.0** license.
|
|
|
|
<p align="center">
|
|
Made with ❤️ by the Saturn Client team
|
|
</p>
|