Files
HDSkinSupportGravit/MULTILOADER.md
T
f1den 8bc92b2341
Build / build (push) Failing after 2h50m17s
Port multiloader build to Fabric and Forge 1.20.1
2026-07-05 18:36:57 +03:00

1.8 KiB

skinsg multiloader notes

Branch multiloader builds the mod for Minecraft 1.20.1 on Fabric and Forge from one shared common source set.

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.