# Pack tweaks This folder is the source for any data-only NeoForge mods we ship with the modpack. Each subfolder becomes one jar at build time. The build pipeline: ``` pack/tweaks// --(Build-Tweaks.ps1)--> pack/overrides/mods/-.jar | v (Build-Pack.ps1 picks it up) | v manifest.json -> launcher install ``` Because the output is a real mod jar (with `META-INF/neoforge.mods.toml`), the data inside auto-loads in **single-player and on the server** -- no `/datapack enable` needed, no per-world setup. --- ## Adding a new tweak (one big jar, recommended) The simplest workflow is to keep extending `brassandsigil-tweaks` with more worldgen / loot / recipe overrides. Just drop more JSON under `brassandsigil-tweaks/data/brassandsigil_tweaks/...`. Common targets: | What | Path | | --------------------------------- | ----------------------------------------------------------------------- | | Custom configured feature (ore) | `data/brassandsigil_tweaks/worldgen/configured_feature/.json` | | Custom placed feature | `data/brassandsigil_tweaks/worldgen/placed_feature/.json` | | Lithostitched modifier | `data/brassandsigil_tweaks/lithostitched/worldgen_modifier/.json` | | Override another mod's loot table | `data//loot_table/blocks/.json` | | Override another mod's recipe | `data//recipe/.json` | | Override / extend a vanilla tag | `data/minecraft/tags//.json` | After editing, bump the `version` in `brassandsigil-tweaks/META-INF/neoforge.mods.toml` so launcher clients see it as a new file and re-download. ## Adding a separate tweak mod Make a sibling folder. The structure must be: ``` tweaks/ / META-INF/ neoforge.mods.toml # modId + version are required pack.mcmeta # pack_format: 48 for 1.21.1 data/ / ... ``` `Build-Tweaks.ps1` reads `modId` and `version` from the toml and produces `pack/overrides/mods/-.jar`. Old jars for the same `modId` are auto-cleaned, so version bumps don't leave stale files behind. --- ## What's in `brassandsigil-tweaks` today - **`skylands_end_stone_ore`** -- adds small End Stone veins to Terralith's Skylands biomes (`#terralith:skylands`). Targets `stone_ore_replaceables` so it only replaces the stone interior of the floating islands. Powers the Aeronautics Levitite-blend recipe without forcing players to visit The End. Tuning lives in `data/brassandsigil_tweaks/worldgen/placed_feature/skylands_end_stone_ore.json` (`count` = veins per chunk; `size` in the configured_feature controls vein size). --- ## Building From the repo root: ```powershell # Builds tweak jars + manifest in one shot: .\scripts\Build-Pack.ps1 -OutputPath .\scripts\manifest.json # Just rebuild tweak jars: .\scripts\Build-Tweaks.ps1 ``` Then deploy: `.\scripts\Deploy-Brass.ps1` mirrors `pack/overrides/` to the public share's `files/` subdir and pushes the regenerated manifest alongside.