docs(mods): sync docs to the 164-jar kitchen-sink pack
The pack grew 76 -> 164 jars (133 both / 31 client) without any doc update. Create + ~18 addons filled the tech gap, ars_nouveau + ars_creo the magic gap, and the full YUNG's/Moog's/TerraBlender set the worldgen gap, which also resolved the ponderjs orphan. - 17-mod-shortlist: rewritten around the current pack; gap doc marked done, remaining gaps narrowed to map mod, Necronomicon orphan, C2ME. - 04-mods: jar counts updated; the 24/52 cutover split is now labelled historical alongside the current 31/133. - CLAUDE.md: WS6 partly done, stale "65 default both" line dropped, and the ~50-100 mod ceiling flagged as knowingly exceeded in both places. MAX_MEMORY 10G was sized for that old assumption - noted for re-check. - 18-landing-rework: mods.json count 76 -> 164, "50+" stat tile noted stale. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
0bf42d5797
commit
7164371d34
4 files changed
+78
-53
No files matched your search
+6
-4
@@ -6,7 +6,8 @@
|
||||
|
||||
## Why drop packwiz
|
||||
|
||||
- The packwiz index tracked only **9** mods while the real modset (76 jars) lives
|
||||
- The packwiz index tracked only **9** mods while the real modset (76 jars at the
|
||||
time of cutover; 164 as of 2026-07-20) lives
|
||||
in the distribution repo — packwiz was half-built and stale.
|
||||
- Manual packwiz curation (`.tmpl` render → `refresh` → re-hash) is the flagged
|
||||
pain point, and a single missing file (`custom/.gitkeep`) crashlooped the
|
||||
@@ -20,7 +21,7 @@
|
||||
```
|
||||
ulicraft-distribution/dist (another repo, = $DISTRIBUTION_WEB_ROOT)
|
||||
servers/ulicraft-1.21.1/
|
||||
forgemods/required/*.jar ← 76 jars, Nebula-managed (SOURCE OF TRUTH)
|
||||
forgemods/required/*.jar ← 164 jars (2026-07-20), Nebula-managed (SOURCE OF TRUTH)
|
||||
distribution.json ← generated by Nebula; CLIENT install list
|
||||
│ │
|
||||
│ caddy distribution. vhost │ HeliosLauncher reads it →
|
||||
@@ -196,8 +197,9 @@ welcomescreen, yeetusexperimentus` — on top of the 11 tomllib auto-caught
|
||||
(sodium, sodium-extra, iris, ImmediatelyFast, appleskin, Controlling, BridgingMod,
|
||||
CustomSkinLoader, entity_model_features, entity_texture_features, tagtooltips).
|
||||
|
||||
**Current state: 24 `client` / 52 `both`.** The 52 may still hide a client-only
|
||||
mod that loaded without crashing; if a future restart trips another
|
||||
**State at first cutover: 24 `client` / 52 `both`. Current (2026-07-20, post
|
||||
tech/magic/worldgen expansion): 31 `client` / 133 `both`.** The `both` set may
|
||||
still hide a client-only mod that loaded without crashing; if a future restart trips another
|
||||
`invalid dist DEDICATED_SERVER`, flip that one jar to `client` and re-sync — same
|
||||
one-line loop. When excluding, prefer leaf mods; if a `both` mod hard-depends on
|
||||
the one you exclude you'll get a `Missing mandatory dependency` instead — put it
|
||||
|
||||
+48
-33
@@ -1,14 +1,19 @@
|
||||
# Mod shortlist + landing mod-list component (WS6)
|
||||
|
||||
> **Status: PLANNED — not started.** Two separable deliverables: (1) a curated
|
||||
> kitchen-sink gap doc (this file), (2) an auto-generated `mods.json` + logos that
|
||||
> feed a flat mod-list component on the landing page (see also `18-landing-rework.md`).
|
||||
> **Status: gap doc DONE (pack filled out 2026-07-20), landing component still
|
||||
> PLANNED.** Two separable deliverables: (1) a curated kitchen-sink gap doc (this
|
||||
> file), (2) an auto-generated `mods.json` + logos that feed a flat mod-list
|
||||
> component on the landing page (see also `18-landing-rework.md`).
|
||||
|
||||
## TL;DR
|
||||
|
||||
- Current pack (76 jars, `mods-sides.json`) is a polished **vanilla+ QoL/perf** base,
|
||||
**not yet kitchen-sink**. Strong perf + QoL + storage + FTB + voice; **empty** on
|
||||
tech and magic, **thin** on worldgen, **no** map mod.
|
||||
- The pack is now **kitchen-sink** — **164 jars** (`mods-sides.json`: 133 `both`,
|
||||
31 `client`), up from the 76-jar vanilla+ base this doc originally described.
|
||||
Tech (Create + ~18 addons), magic (Ars Nouveau + ars_creo) and worldgen (full
|
||||
YUNG's set + Moog's structures + TerraBlender) all landed. **Map is still the
|
||||
only open gap.**
|
||||
- **164 jars is over the stated 50–100 ceiling** in `CLAUDE.md`. Accepted for now;
|
||||
it moves the RAM/stability bar (`INIT_MEMORY 4G`/`MAX_MEMORY 10G` — watch it).
|
||||
- Jars live in the **external distribution repo** (`$DISTRIBUTION_WEB_ROOT/servers/
|
||||
ulicraft-1.21.1/forgemods/required/*.jar`, Nebula-managed). Adding mods happens
|
||||
there, **not** in this repo. This doc is a shortlist only; depth = **light** (names
|
||||
@@ -17,48 +22,58 @@
|
||||
from the jars — a different dataset from this shortlist. Flat alphabetical, pretty
|
||||
names, extracted logos, no categories, no Modrinth/CF links.
|
||||
|
||||
## Current pack — what's already in (76 jars)
|
||||
## Current pack — what's in (164 jars)
|
||||
|
||||
- **Tech — Create ecosystem (the anchor):** create, createaddition, createdeco,
|
||||
create_connected, copycats, create-central-kitchen, create-enchantment-industry,
|
||||
create-integrated-farming, create_jetpack(+curios), create_mechanical_chicken,
|
||||
create_mechanical_extruder, create_mechanical_spawner, mechanical_cow,
|
||||
mechanicals, createsifter, createultimine, createornithopterglider,
|
||||
CreateDragonsPlus, sliceanddice, sophisticatedbackpackscreateintegration,
|
||||
kubejs-create. Non-Create tech: laserio, enderrf, EnderStorage, melter,
|
||||
mob_grinding_utils, buildinggadgets2, charginggadgets, titanium, CodeChickenLib.
|
||||
- **Magic:** ars_nouveau, ars_creo (Ars×Create bridge).
|
||||
- **Worldgen/exploration:** full YUNG's set (BetterCaves, CaveBiomes, Bridges,
|
||||
BetterDungeons, BetterMineshafts, BetterStrongholds, BetterDesertTemples,
|
||||
BetterJungleTemples, BetterOceanMonuments, BetterWitchHuts,
|
||||
BetterNetherFortresses, BetterEndIsland), Moog's (Voyager, End, Nether,
|
||||
MissingVillages, moogs_structures), TerraBlender, ExplorersCompass,
|
||||
world_dimension_nexus, HangGlider, fishingoverhaul.
|
||||
- **Perf:** sodium, sodium-extra, iris, immediatelyfast, entityculling, ferritecore,
|
||||
lithium, spark.
|
||||
lithium, modernfix, spark.
|
||||
- **QoL:** JEI, Jade(+addons), JER, JEProfessions, appleskin, MouseTweaks, Controlling,
|
||||
Searchables, inventoryessentials, polymorph, rightclickharvest, simplemagnets,
|
||||
fastleafdecay, torchmaster, trashcans, corpse(+curioscompat), lootr, comforts,
|
||||
BetterF3, tagtooltips, cardboardboxes.
|
||||
BetterF3, tagtooltips, cardboardboxes, EasyAnvils, EasyMagic, easydisenchanting,
|
||||
easy-villagers, easy-piglins, EasierSleeping, solcarrot, Neat, Ping-Wheel,
|
||||
moreoverlays, ToastControl, ExtremeSoundMuffler, colorfulhearts, UsefulSlime.
|
||||
- **Storage:** sophisticatedbackpacks(+core), functionalstorage(+more).
|
||||
- **Farm/decor/build:** FarmersDelight, FramedBlocks, handcrafted.
|
||||
- **Farm/decor/build:** FarmersDelight, handcrafted, rechiseled, amendments,
|
||||
immersive_paintings, etched, emotecraft.
|
||||
- **FTB utils:** chunks, essentials, library, teams, ultimine.
|
||||
- **Voice:** Simple Voice Chat (`voicechat`).
|
||||
- **Scripting/guide:** KubeJS(+rhino, +delight), ponderjs, Patchouli.
|
||||
- **Libs:** architectury, balm, cloth-config, configured, curios, resourcefullib,
|
||||
supermartijn642 core/config, jamlib, baguettelib, titanium, utilitarian, YungsApi,
|
||||
Necronomicon, yacl.
|
||||
- **Scripting/guide:** KubeJS(+rhino, +delight, +create), lootjs, toolsjs, ponderjs,
|
||||
Patchouli.
|
||||
- **Server-custom:** `ulicraftmod` (this group's own mod).
|
||||
- **Libs:** architectury, balm, cloth-config, configured, curios, caelus, geckolib,
|
||||
kotlinforforge, moonlight, Placebo, PuzzlesLib, resourcefullib, CreativeCore,
|
||||
supermartijn642 core/config, jamlib, baguettelib, txnilib, fzzy_config,
|
||||
titanium, utilitarian, YungsApi, Necronomicon, yacl, konkrete.
|
||||
|
||||
## Gaps vs kitchen-sink (tech + magic + exploration + QoL)
|
||||
## Remaining gaps
|
||||
|
||||
- [ ] **Tech — empty.** Candidates: Create, Mekanism, Immersive Engineering, Applied
|
||||
Energistics 2, Thermal Series, Powah. (Pick a subset; Create is the anchor.)
|
||||
- [ ] **Magic — empty.** Candidates: Ars Nouveau, Botania, Iron's Spells 'n Spellbooks,
|
||||
Eidolon.
|
||||
- [ ] **Worldgen — thin** (only `YungsApi` + `ExplorersCompass`). Candidates: Terralith,
|
||||
Tectonic, YUNG's structure set (Better Dungeons/Mineshafts/Strongholds…),
|
||||
Repurposed Structures, William Wythers' Overhauled Overworld.
|
||||
- [ ] **Map — none.** Candidate: Xaero's Minimap + Worldmap.
|
||||
- [ ] **Server-side perf (optional):** ModernFix, C2ME.
|
||||
- [ ] **Map — none.** Candidate: Xaero's Minimap + Worldmap. (`Ping-Wheel` and
|
||||
`ftb-chunks`' claim map do not replace a minimap.)
|
||||
- [ ] **Server-side perf (optional):** C2ME. (`modernfix` is in.)
|
||||
- [ ] Optional second magic pillar (Botania / Iron's Spells) — Ars alone covers the
|
||||
vibe; only add if the pack budget allows.
|
||||
|
||||
## Orphaned dependencies (cleanup)
|
||||
## Orphaned dependencies
|
||||
|
||||
- [ ] **`ponderjs`** present but **no Create** — ponder is Create's. Add Create or drop.
|
||||
- [x] **`ponderjs`** — resolved, Create is in the pack.
|
||||
- [ ] **`Necronomicon`** present but **no Iron's Spells** — it's Iron's Spells' lib.
|
||||
Add Iron's Spells or drop.
|
||||
|
||||
## Curation tradeoff
|
||||
|
||||
Adding the tech+magic+worldgen anchors pushes 76 → 100+ jars, near the stated
|
||||
50–100 ceiling, and raises the RAM/stability bar (`INIT_MEMORY 4G`/`MAX_MEMORY 10G`).
|
||||
Curate deliberately; verify each candidate's NeoForge **1.21.1** build + the
|
||||
`21.1.233` loader pin at add-time.
|
||||
|
||||
## Execution (external repo, when ready)
|
||||
|
||||
1. Add jars in the distribution repo (Nebula `forgemods/required/`), keep the NeoForge
|
||||
|
||||
@@ -158,7 +158,7 @@ offline) reads `$DISTRIBUTION_WEB_ROOT/servers/ulicraft-1.21.1/forgemods/require
|
||||
```json
|
||||
{
|
||||
"schemaVersion": 1,
|
||||
"count": 76,
|
||||
"count": 164,
|
||||
"mods": [
|
||||
{ "id": "jei", "name": "Just Enough Items (JEI)", "version": "19.27.0.340",
|
||||
"authors": "mezz", "description": "…", "logo": "/mod-logos/jei.png" }
|
||||
@@ -168,6 +168,8 @@ offline) reads `$DISTRIBUTION_WEB_ROOT/servers/ulicraft-1.21.1/forgemods/require
|
||||
|
||||
`ModList.astro` (new) imports `mods.json` → flat grid (logo + name + version). The
|
||||
homepage stat tile (`site.ts` `stats[0].key "50+"`) is fed from `mods.json.count`.
|
||||
(The hardcoded `"50+"` fallback is stale — the pack is 164 jars as of 2026-07-20;
|
||||
bump it to `"150+"` when wiring the tile.)
|
||||
|
||||
Tasks:
|
||||
- [ ] `tooling/build-modlist.py` (jar parse + logo extract + `mods.json`).
|
||||
|
||||
Reference in new issue
Block a user