SkinsG
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.
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 PNG capes fall through to the vanilla renderer untouched.
- Per-player control and persistence (see below).
Install
Drop skinsg-x.y.z.jar into your mods/ folder on a NeoForge 1.21.1 client. Client-side only.
Configuration
On first launch the mod writes config/skinsg.json with an empty baseUrl. Nothing is
fetched until you set it.
{
"baseUrl": "https://your.host",
"mode": "ALL",
"enabled": [],
"blocked": [],
"globalSpeed": 100,
"speed": {}
}
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.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.
Edit baseUrl, then restart the client (or rejoin).
Commands
/skinsg (client-side, tab-completes online players and @a):
| Command | Effect |
|---|---|
/skinsg playgif |
Turn animated capes off (frees memory) |
/skinsg playgif @a |
Animate everyone |
/skinsg playgif <player> |
Animate only listed players |
/skinsg stopgif |
Same as playgif with no target — off |
/skinsg stopgif @a |
Off for everyone |
/skinsg stopgif <player> |
Stop a specific player (works even in @a mode) |
/skinsg self |
Animate only your own cape |
/skinsg speed @a <percent> |
Global speed override |
/skinsg speed <player> <percent> |
Per-player speed override |
All settings persist in config/skinsg.json.
Building
./gradlew build
Output: build/libs/skinsg-<version>.jar. Requires JDK 21.
License
All rights reserved.