Add license and README, document GIF cape + backend integration, cache CI
Build / build (push) Has been cancelled
Build / build (push) Has been cancelled
This commit is contained in:
@@ -1,18 +1,34 @@
|
||||
# SkinsG
|
||||
# HDSkinSupportGravit
|
||||
|
||||
Client-side Minecraft mod that adds **HD skins** (up to 2048×2048) and **animated GIF capes**
|
||||
(with HD & transparency), driven by a launcher/site asset API keyed on player UUID.
|
||||
Client-side Minecraft mod that adds **HD skins** (up to 2048×2048) and, importantly,
|
||||
**animated GIF cape support** — including HD and transparent GIFs — on top of a UUID-keyed
|
||||
asset API. Built for GravitLauncher setups but backend-agnostic.
|
||||
|
||||
Currently targets **NeoForge 1.21.1**. Fabric/Forge and 1.20.1 / 1.19.2 are planned — the core
|
||||
(GIF decoder, cape state, mixins) is written to be loader/version agnostic.
|
||||
|
||||
## Features
|
||||
|
||||
- HD skins: the legacy-skin conversion is rescaled so 128/256/…/2048-wide skins render correctly.
|
||||
- GIF capes: decoded once, then played back by copying a pre-composited frame per tick — no
|
||||
per-frame decoding, no AWT, so it doesn't cost FPS. Playback speed comes from the GIF itself.
|
||||
- **HD skins**: the legacy-skin conversion is rescaled so 128/256/…/2048-wide skins render correctly.
|
||||
- **GIF capes**: animated capes decoded from GIF (HD, transparency, per-frame timing). Decoded once,
|
||||
then played back by copying a pre-composited frame per tick — no per-frame decoding, no AWT, so it
|
||||
doesn't cost FPS. Playback speed comes from the GIF itself (overridable per player).
|
||||
- HD PNG capes fall through to the vanilla renderer untouched.
|
||||
- Per-player control and persistence (see below).
|
||||
- Per-player control and persistence.
|
||||
|
||||
## Backend integration (easy)
|
||||
|
||||
The mod talks to your existing site/launcher backend over plain HTTP — no server-side plugin needed.
|
||||
Set one value (`baseUrl`) in the config and the mod requests:
|
||||
|
||||
```
|
||||
GET <baseUrl>/api/minecraft/cape/<uuid>?gif
|
||||
```
|
||||
|
||||
If the response is a GIF it is animated; anything else (PNG / 404) keeps the vanilla cape. This maps
|
||||
cleanly onto most launcher-site engines (DLE-based sites, custom backends, etc.) — you just expose
|
||||
that one endpoint returning the player's GIF cape by UUID. HD skins use the normal skin URL your
|
||||
launcher already serves, so they need no extra endpoint.
|
||||
|
||||
## Install
|
||||
|
||||
@@ -34,8 +50,7 @@ fetched until you set it.
|
||||
}
|
||||
```
|
||||
|
||||
- `baseUrl` — root of your asset API. The mod requests `"<baseUrl>/api/minecraft/cape/<uuid>?gif"`;
|
||||
if the response is a GIF it is animated, otherwise the vanilla cape is kept.
|
||||
- `baseUrl` — root of your asset API (no hardcoded host in the mod).
|
||||
- `globalSpeed` — playback speed in percent (`100` = the GIF's own timing).
|
||||
- The rest is managed by the in-game commands and shouldn't be edited by hand.
|
||||
|
||||
@@ -69,4 +84,5 @@ Output: `build/libs/skinsg-<version>.jar`. Requires JDK 21.
|
||||
|
||||
## License
|
||||
|
||||
All rights reserved.
|
||||
Free to use and modify for any purpose. Commercial use must credit the author (Nghtly).
|
||||
See [LICENSE](LICENSE).
|
||||
|
||||
Reference in New Issue
Block a user