Files
HDSkinSupportGravit/MULTILOADER.md
T

61 lines
1.9 KiB
Markdown

# skinsg multiloader notes
Branch `multiloader` builds the mod for **Minecraft 1.20.1** on **Fabric** and **Forge** from one
shared `common` source set.
The Forge artifact includes optional compatibility for **3D Skin Layers 1.9.2**. It is a
compile-only dependency and is not bundled into the resulting jar.
`main` remains the original single-loader NeoForge 1.21.1 line.
## Layout
- `common/` - shared config, GIF decoder, cape manager, mixins, and generic Brigadier command tree.
- `fabric/` - Fabric client entrypoint and `fabric.mod.json`.
- `forge/` - Forge client entrypoint and `mods.toml`.
- `neoforge/` - retained scaffold, but not included in `enabled_platforms` for the 1.20.1 build.
The old single-loader `src/` tree has been migrated into `common/`; do not run the migration helper
again on this branch.
## Versions
Configured in `gradle.properties`:
- Minecraft `1.20.1`
- Architectury API `9.2.14`
- Fabric Loader `0.16.9`
- Fabric API `0.92.5+1.20.1`
- Forge `1.20.1-47.4.10`
- Parchment `2023.09.03`
- Java `17`
## Build
```bash
./gradlew build
```
Runtime jars are collected into:
- `build/libs/skinsg-fabric-0.1.0.jar`
- `build/libs/skinsg-forge-0.1.0.jar`
The per-loader `build/libs` folders still contain intermediate/source/dev-shadow jars.
## 1.20.1 port details
- `CapeMagicMixin` targets `AbstractClientPlayer#getCloakTextureLocation`, because 1.20.1 does not
expose the 1.21 `PlayerSkin` return object.
- `CapeManager` uses the 1.20.1 `new ResourceLocation(namespace, path)` constructor.
- `skinsg.mixins.json` uses `JAVA_17`.
- `settings.gradle` includes only platforms listed in `enabled_platforms`.
## Manual runtime checks
Compile/build is verified, but actual rendering still needs an in-game client check:
- Fabric 1.20.1 with Fabric API and Architectury API.
- Forge 1.20.1-47.4.10 with Architectury API.
- A configured `config/skinsg.json` `baseUrl` serving `GET /api/minecraft/cape/<uuid>?gif`.