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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
@@ -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
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user