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.

S
Description
No description provided
Readme
146 KiB
0 Stars 1 Watchers 0 Forks
Languages
Java 100%