Multiloader scaffold: Architectury common+fabric+forge+neoforge (1.21.1)

Convert the single-loader NeoForge project into an Architectury multiloader:
- root/settings/subproject build.gradle, Gradle pinned to 8.10.2 (Loom needs 8.x)
- common: generic SkinsgCommands<S> + SkinsgClient bootstrap
- per-loader entrypoints (Fabric ClientModInitializer, Forge/NeoForge @Mod) + metadata
- migrate-to-multiloader.sh moves the loader/version-agnostic core into common/
- MULTILOADER.md: build/toolchain/proxy + 1.20.1 switch incl. rewritten cape mixin

main (working NeoForge 1.21.1) untouched.
This commit is contained in:
f1den
2026-07-05 18:10:53 +03:00
parent 6e3de2716c
commit c11a278050
18 changed files with 684 additions and 188 deletions
+31
View File
@@ -0,0 +1,31 @@
#!/usr/bin/env bash
# One-time restructure of the single-loader NeoForge tree into the Architectury
# multiloader layout. Run once from the repo root on the `multiloader` branch:
# bash migrate-to-multiloader.sh
# It only MOVES the loader/version-agnostic code (config, gif, client, mixins)
# into common/, and the NeoForge metadata into neoforge/. The changed files
# (generic commands, per-loader entrypoints, mod metadata) are added separately.
set -euo pipefail
cd "$(dirname "$0")"
CJ=common/src/main/java/xyz/nightsync/skinsg
CR=common/src/main/resources
mkdir -p "$CJ" "$CR" neoforge/src/main/resources/META-INF
# --- loader/version-agnostic core -> common ---
git mv src/main/java/xyz/nightsync/skinsg/SkinsgConfig.java "$CJ"/
git mv src/main/java/xyz/nightsync/skinsg/gif "$CJ"/
git mv src/main/java/xyz/nightsync/skinsg/client "$CJ"/
git mv src/main/java/xyz/nightsync/skinsg/mixin "$CJ"/
git mv src/main/resources/skinsg.mixins.json "$CR"/
# --- superseded / rewritten: generic commands, per-loader entrypoints + fresh metadata ---
git rm src/main/java/xyz/nightsync/skinsg/commands/SkinsgCommands.java
git rm src/main/java/xyz/nightsync/skinsg/SkinsgMod.java
git rm src/main/resources/META-INF/neoforge.mods.toml
# clean up now-empty old source roots
rm -rf src
echo "Migration done. Now add the new files (SkinsgCommands generic, SkinsgClient,"
echo "per-loader entrypoints + metadata) — see MULTILOADER.md — then ./gradlew build."