Files
HDSkinSupportGravit/MULTILOADER.md
T

1.9 KiB

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

./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.