From bbe6d025685ed964f8ecd8aef049956c89a96491 Mon Sep 17 00:00:00 2001
From: Klesti Selimaj
Date: Sat, 26 Sep 2026 04:22:11 +0200
Subject: [PATCH] Refresh the README and use a local logo
- Reference logo.png from the repo instead of the dead raw.github URL
(the logo lives in the common submodule, which Gitea can't serve from
a relative path, so a copy sits next to screenshot.png)
- Drop the section emojis and horizontal-rule separators
- Add supported versions, the built-in mods, installation (Modrinth,
releases), network use (Mojang session sign-in; the access token never
reaches the Saturn server), building from source with submodules, and
a pointer to the version guide for multi-version changes
Co-Authored-By: Claude Opus 5.5
---
README.MD | 60 ++++++++++++++++++++++++++++++++++--------------------
logo.png | Bin 0 -> 21142 bytes
2 files changed, 38 insertions(+), 22 deletions(-)
create mode 100644 logo.png
diff --git a/README.MD b/README.MD
index 3ca2d2d..3e5f9a8 100644
--- a/README.MD
+++ b/README.MD
@@ -1,5 +1,5 @@
-
+
Saturn Client
@@ -13,27 +13,47 @@
----
-
-## ✨ About
+## 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 is currently trying to support multiple versions of minecraft, so please report any issues you are experiencing.
+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
-## 🚀 Features
-
-- Free cosmetics that don't require real money
+- 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
-## 🤝 Contributing
+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 :mc-1.21.11:build # a single version
+./gradlew :mc-1.21.11:runClient # launch a development client
+```
+
+Building needs Java 21.
+
+## Contributing
We welcome contributions of all kinds:
@@ -43,27 +63,23 @@ We welcome contributions of all kinds:
- 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.
+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
+## Credits
- **Cloak Rendering:** `IIpho3nix` & Saturn
- **Who Am I:** `FokshaWasTaken`
-- **Panorama:**
+- **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.
+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
-## 📜 License
-
-Saturn Client is free and open-source using **Apache-2.0**
-
----
+Saturn Client is free and open-source under the **Apache-2.0** license.
Made with ❤️ by the Saturn Client team
diff --git a/logo.png b/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..cff808539766025a9c9f04202e7a27a06c40c1d0
GIT binary patch
literal 21142
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
|vcTU_OJM0pCoH>H#M;24#2F|I&B==n?fj$!|8w
z!Re6E{Zy&rfZ_v47q2#x9;^iNtr5s>zVx#*i63|6_oywLA^u|M!fLhkrU$&si-;D^
zN=T4w!&qIre4k?MjOuwL2+xz*KUB}N;K45=Gm}H%K}fa1L|mYgg(hI&TZA)peWREo
zkth%?WAv!63N!?7FArAw-6E9n3~RnfA^z#%4a0xXvU9;92&cQI?WV1~4L~R3agA`>
z_R{MjVcPEV_he^3{c?Y5CaNX4^uqc4y*%qvpT$doWi7d712@;#
zz#Kzfy=5YI{Eo>a;n3$t-23WOQji7vPd-xE@Xwb3nBi2Lkhx+r)XZ&P;w?6nd=Tn~?L8G-&
ztSVV1UK?s;u*dn&DVEHu!z@n7jw_+5$94qvah<=}>@+30XCqb#05_eSuDQ=kUcww7
z{|Pa1IXZHwJ+)C9rbQlRz#fxYUUu7GJTJ6-_~I6l9%14U%Ye4!iZY&v^JmmQe3SNe
zsopE7YYlH=e0)wP++-XIeH=(M!k1@sg+d5?6KN&xj{zUw?A1P*`#ep2h>>q9cP#GB
z3|gm-pef
z515TQ-k7z9&iVdCjn+8E==ik!s_zY51oaIKb1IQMcmCQtP2%_i28b_xSFd@CrPtK^
zZWR4PZ~OyM9Gu5Y&@PqP$wk~;
zA0>m=KmX%%+j=ueZ)#%FD`TNV@Ac8Ov>7zqbKjKco)tQ65NB1uHB$
z9XwE@PZhu;gWe`r(v@5AucaWeJ|i^GQAESZvwaf&
zO%pdkUY}0RJ%sTTzjP!vc%hPo6&Fz3jLT2uLgP@P{3<-i!!H11z#9nK-K@M{a&c?1
zSGe{bYVT`v+aBQhcSeMx=0Sq;{m$2=Ef5H$%sg3+PYpR6XSJJ|pD#kwD2X&4DBGp9&7yGaTwk}uecT-iN7mf-
zUN&QKH>o$vcX!`)1rJ(?X1ERBIi~QS#dsKahriE`RlEo7tVGUNk&&
z?P`KRx{QJ=Fd?lo!9AX?jkDHTYVeVSmYhua4K8{%f4_wE-qY`FI;SWbffJ+Z?B~`M
zgtkR*g&$O)#E3q8gp3qtR`dvl!9@c6{XahIDKFXd=tt1!%!8)2aQ(^n!csOIGxu6t
z$U!Lm;6ySK?78wyz)f9dK5f31b@P0?x2r4iEA#Tg73&PwTTvJ82ER2gpal+5BF0zu
zh9Ql6UedQ$M`ebGhyN`jSL`^Cg3GV)Td_mIm))WIFg~oQXe~=LN7|14)AILHQ9++t
z!|RNEv66OzD{zL!?Yh^8zf}6UPDG6cOf1O&3|4q`3|eAZ*FF3w-_a|7@2RB-k*6P{Y@b`ZKC7!+da?2F4Kcqrl{U#Di{ZI
z+U9GVko6q9mqm2s*HUMV-STX|jCA+#NUbI2x#6`oNk^v&lW0K1`S@Th_2$*m$B&uN
z@fh4xPK;eT?yz{bhV_Cnk{mMhx+A1K;rUqd}FzIwX&oMVozBp@dc8ZGsZVlq-A&)9r
zv_fI
z+ny{%i)=d^`590LNp}hhQLck$XH26S6BL*NZY!p@(hVUURvD~Du$RXse0+8ac0j|;
zX@2>1xRPF!q4w@PswgHL#FkjOHf7eC+`sI~0;}21=
z%LwsW0F01;K;a0OM!KSjNjwHb%s6NCo~Riz*fN7Y)I@=nI0j4c<=g;_l$2+P5N`vXDv?vAzO$S&Jy|+JEsXlR`Da4p-0p`t^&d
zd9EcsokLTDPaJtXQ0`&fKU-G8LL~U3Cb>eBH-jv}cDi*>KY-=(((M*WzzOx>WE=H{
z5?EBKfPwTUDC$hYXvgMn*-@Yixr>DdCXYUsp;F)OoZ+c_mNI;1b)j+5<$V#7DyDck
z2{`xP92TJ_i>5RRKtZF?(Yh(M4$UT}qT
zVo#vZC&dKRN?+gcKlY!!60blQQPNj1yooHA7
z+gT)5nkd+^quR1DO#M{eW3@>L7R8Qv^SAvfpX%&=R;6SUj{pqoq}lpZ>H+!0b*7;e
zQ-QRS(zqx0rHzj7Cm%h%7yjDh{Bw!_JVZ=aKH#_GKJyXxL$Nl8_ASfh3!;vo#-*R1`6puy&(O*^jEoIMB*dl@GJ!GZ?SMGy~}7
zJy>F1wpk3#6DUma!F@Hi`k67i!8ZffMbBO3{=vsDU{uP0ycA-G0^Xw!RJWum5H4kq
zPbH5&$~D7OXSP=INr(hm%7B<9)~A>Ii8tZRO7JE0aa~WZqV6crz5Vf>&_Kfp1M)2x3O%Kexi8ojQuK@%Hg{PT80px+jk+KI7LhypezPGoE7
zlw0s*`C;BMt;Wt=NjUBSgn^<8qX)Zz0%%ZvTGVFoDv}PCEJK2et&!Qq)c`kzA%tQy
zie|MK#}@sIBh{)r=tAuIGc|@8Av&rl=%3}uPlBZYJg(f>
z@<24ir}X@J%2uGC@~`fLszhIRSwP_qgAqI7Jm9K6zrt0kG<9xYNIzsY1AuG&0jaFb
zz!!SP@xr=qAXZ&m!cncc+|=eLPkhIL^0#oSLk0F(Z5hEBR*if%t&0kp0W&m5r1Az0
zs6G6uvf#Wm$TOGVw3DN5WOU4ybdAREXfJad-cS;9;*p4rDz)TIX=a0AC^{d6>fWO4M
z$!I?XU=`lq-{1i+Ateo%A6KBZ^N&&fu_8Q<~ezGID9>PP_O>=F`ON@Yjln9w)Dp
zv)$h+0Op;p%Z@bz<_vXNx0j{TwrZi0%0?^rY*t~4k2BmjZ2Dlv3?Q1*96*#$)A!}m
zpU*N$>#5Q;p9yg910tBL^p$J8Thinh?vD
z5KV_=y0vQSDj>hVs3e=0J`Je@w}{7;m7(bMeXp5h&_T&j5o>?+?qW1jOPNm``j5jn
z+Hn4~(->^$dUt433Y!QwMdtaPgM>DXa}{4;fTRwkU3)_R9knwpX@8E!ICiT(V`_B}
zI1dYMs2wa3y9j`(eucZY!oj>bZWPwt(<5}=N;eIY0v1WTYX-ZI)db|$Y}TwJ^Z
zpwB3nE*^D6(f9k@-79fu4i#Vga{y#5+r$j
zg*L3Npl{d9gOlDY9Rcst>ep?tHe*~a;E}%=LtlTV{e-C{YYHB-F{I^W^W5u33j0T(
zk@9w=GE`vD_V0+zaGst^7;zgI)Va|2*(8pAoAJsYW}
zqCydH;k%Y1dH@X7Nm7!Me_u@`@(Yy-v-Ct*VHosoI};tWx^!vIw=SY+BSVPez8ja-
z3}RD`XIc|=BHOJjl=+tS?#BPEU|nAwOlN12f78ON2$!5Il%tHSn@
zh*ah2wIu~*=UdID3JOV39w3Apfuu2#Xf((LD~5{UfJxwgk=phD_Ajgu4!WdVed@Bg
SjxC6hAN%=3wvUFtt
literal 0
HcmV?d00001