Add license and README, document GIF cape + backend integration, cache CI
Build / build (push) Has been cancelled

This commit is contained in:
Nghtly
2026-07-04 18:01:30 +03:00
parent d404d7bf0b
commit 6258df003f
6 changed files with 51 additions and 12 deletions
+1
View File
@@ -14,6 +14,7 @@ jobs:
with:
distribution: temurin
java-version: '21'
cache: gradle
- run: chmod +x ./gradlew
- run: ./gradlew build --no-daemon
- uses: actions/upload-artifact@v3
+1
View File
@@ -13,6 +13,7 @@ jobs:
with:
distribution: temurin
java-version: '21'
cache: gradle
- run: chmod +x ./gradlew
- run: ./gradlew build --no-daemon
- uses: akkuman/gitea-release-action@v1
+21
View File
@@ -0,0 +1,21 @@
HDSkinSupportGravit License
Copyright (c) 2026 Nghtly
Permission is hereby granted, free of charge, to any person to use, copy,
modify, merge, publish, and distribute this software and its source code, in
whole or in part, for any purpose.
Condition for commercial use:
Any commercial use, distribution, or product (paid, monetized, or as part of a
paid service) that includes this software or a work derived from it must give
visible credit to the original author, "Nghtly" — for example in the product
description, credits screen, or accompanying documentation.
Non-commercial use carries no attribution requirement.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR BE
LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY ARISING FROM, OUT OF, OR IN
CONNECTION WITH THE SOFTWARE OR ITS USE.
+26 -10
View File
@@ -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).
+1 -1
View File
@@ -28,7 +28,7 @@ loader_version_range=[1,)
# Must match the String constant located in the main mod class annotated with @Mod.
mod_id=skinsg
# The human-readable display name for the mod.
mod_name=NightSync Skins (HD + animated capes)
mod_name=HD Skin Support (Gravit)
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=All Rights Reserved
# The mod version. See https://semver.org/
@@ -6,7 +6,7 @@ license="${mod_license}"
modId="${mod_id}"
version="${mod_version}"
displayName="${mod_name}"
displayURL="https://git.mcbcorp.ru/Fiden/SkinsG"
displayURL="https://git.mcbcorp.ru/Fiden/HDSkinSupportGravit"
authors="Nghtly"
description='''
HD skins (up to 2048x2048) and animated GIF capes, driven by a UUID-keyed asset API.