Commit Graph
22 Commits
Author SHA1 Message Date
logan be07001d79 perf(pack): add Clumps for XP-orb merging
Reduces XP orb entity count, cutting entity packets sent to clients and server tick cost.
2026-09-29 03:00:10 -04:00
logan d6ba926b5f feat(pack): add C2ME-NeoForge (server-side chunk generation optimization)
Parallelizes chunk generation to speed up pregeneration and reduce worldgen lag. Server-side only (alpha build for NeoForge 1.21.1).
2026-09-28 20:41:32 -04:00
logan dcc44cdff3 feat(pack): add Noisium (server-side worldgen optimization)
Noisium speeds up chunk-generation noise, reducing worldgen lag spikes for clients. Server-side only; Chunk pregen (Chunky/DH) benefits too.
2026-09-28 19:50:48 -04:00
logan 9de35418fb feat(pack): enable Distant Horizons by default
The server generates and serves DH LODs, but DH was opted out by default,
so clients never received them. Default it on (still optional/opt-out) so
players get server-side distant terrain out of the box.
2026-09-28 19:26:53 -04:00
logan b0542f982e feat(pack): replace Xaero's map mods with the FTB Chunks minimap
Removes the Xaero mapping suite -- Xaero's World Map, Xaero's Minimap,
Xaero Train Map and the Waystones compatibility -- and enables the FTB
Chunks minimap, so FTB Chunks provides all mapping.

Xaero Train Map and the Waystones compat had to go with the maps: the
former declares a required dependency on xaeroworldmap, and the latter
references only xaero/common and xaero/minimap classes. Nothing in the
pack declared a dependency on xaeros-minimap.

The minimap needs an explicit config because FTB Chunks computes
minimap.enabled once as !hasOtherMinimapMod() and then persists the
result. With Xaero's Minimap installed that resolved to false and was
written into players' configs, where it sticks, so removing the other
minimap mod alone would not re-enable it. config/ftbchunks-client.snbt is
the location the mod itself documents for modpack defaults, and unlike
defaultconfigs/ it also overrides configs that already exist.

.packwizignore moves from excluding config/ wholesale to config/* plus a
negation, so this one modpack-default config ships while server config
stays untracked.
2026-09-28 18:50:14 -04:00
logan d75420ed0f chore(pack): mark Distant Horizons as an optional mod
Adds an [option] block so Distant Horizons is a user-toggleable mod instead
of always installed, matching how Controlify is already declared.

default = false expresses opt-in wherever the consuming exporter supports
it: modrinth/export.go reads only Optional, so in an mrpack the mod becomes
a toggle (that format has no off-by-default concept), while
curseforge/export.go reads Default and marks it optional-and-disabled.

Nothing in the pack depends on or conflicts with Distant Horizons, so no
other mod is left unsatisfied by it being skippable.
2026-09-28 17:15:45 -04:00
logan 22a7b73ad5 feat(pack): add Waystones and its compatibility addons
Adds Waystones plus two integrations that hook mods already in the pack:
Waystones: Sable (Create Aeronautics addon) and Xaero's Minimap & World
Map - Waystones Compatibility.

packwiz auto-resolved Balm as Waystones' required library; it was then
added explicitly as well, which was a no-op, so there is only one Balm
metafile.

Balm's Modrinth environment is client_or_server, which packwiz flags as
ambiguous ("one of these is unnecessary") and records as side = both.
That is the right call here: Balm is a library needed wherever Waystones
runs, and Waystones is client_and_server.

All four pinned versions are NeoForge 1.21.1 releases, and each jar's
sha512 was re-verified against its recorded hash.
2026-09-28 16:10:16 -04:00
logan 7cccd2d944 fix(pack): add missing baguettelib dependency for Gravestone x Curios compat
gravestonecurioscompat declares a mandatory baguettelib >=1.0.0 dependency,
which would prevent the server from loading.
2026-09-27 00:07:55 -04:00
logan 9f5b3ece71 feat(pack): add 18 requested mods plus four required libraries
Content and QoL: Emotecraft, Ping Wheel, Nature's Compass, Farmer's Cutting:
Twilight Forest, Ars Nouveau's Flavors & Delight, Ocean's Delight, End's
Delight, Twilight's Flavor & Delight, Legendary Tooltips, Dynamic FPS,
Subtle Effects, Enchantment Descriptions, Entity Culling, Xaero Train Map,
Jade Sable Compat, Sable: Physics Compat, Apothic Category Compat,
Gravestone x Curios API Compat.

packwiz auto-resolved four required libraries that were not in the pack:
Iceberg and Prism (Legendary Tooltips), Prickle and Bookshelf
(Enchantment Descriptions).

Each pinned version was confirmed to be a NeoForge 1.21.1 build and each
jar's sha512 re-verified against its recorded hash. Sides are derived from
Modrinth's environment metadata; packwiz maps server_only to both on
purpose because such mods also work in singleplayer, where the client is
the logical server (dedicated_server_only is what yields "server").

Farmer's Cutting: Twilight Forest is published as a mod as well as a
datapack, and the neoforge mod variant is what gets pinned.
2026-09-26 23:48:38 -04:00
logan 4b7515e987 feat(pack): add LambDynamicLights
Client-side NeoForge 1.21.1 dynamic lighting for held and placed light
sources. Modrinth reports server_side as unsupported, so packwiz writes
side = "client" and the jar stays off the server.

The Modrinth version metadata lists Fabric API as a required dependency,
but that entry is not loader-scoped. The NeoForge jar actually depends
only on its JarJar-bundled lambdynlights_runtime, so packwiz failing to
resolve Fabric API is expected and no fabric-api metafile is added.
2026-09-26 16:46:16 -04:00
logan 9a83536805 feat(pack): add Duper's Auto Walk
Client-side NeoForge 1.21.1 mod that walks the player forward on a
toggleable keybind. Modrinth reports server_side as unsupported, so
packwiz writes side = "client" and the jar stays off the server.
2026-09-26 16:42:44 -04:00
logan a4a4ce80d7 fix(pack): add missing fzzy_config dependency for Adorable Hamster Pets
adorablehamsterpets declares a mandatory fzzy_config >=0.7.6 dependency,
so the server crashed at mod loading without it.
2026-09-26 02:58:40 -04:00
logan 4643bf1735 chore(pack): source eight mods from the Modrinth CDN
Replaces CurseForge metadata downloads with direct Modrinth CDN URLs for
every mod in the pack that Modrinth actually hosts, so those jars no longer
need the CurseForge API to resolve: apotheosis, apothic-attributes,
apothic-combat, apothic-enchanting, apothic-spawners, architectury-api,
patchouli, placebo.

Each was matched to the Modrinth file whose sha1 is identical to the
CurseForge file already pinned in the pack, so no mod version changes.
Apothic Attributes is the one exception: the CurseForge and Modrinth jars
both report 1.21.1-2.10.1 but differ by a single build timestamp inside
META-INF/MANIFEST.MF, with every other archive entry byte-identical.

Nine mods stay on CurseForge because they have no Modrinth project at all:
AllTheLeaks, Collapsible Groups, The Twilight Forest, and the six FTB mods
(Backups 3, Chunks, Library, Quests, Teams, XMod Compat). FTB is
CurseForge-exclusive, as are the other three.

Download hashes move from sha1 to sha512, packwiz's format for Modrinth.
2026-09-26 02:42:20 -04:00
logan 36a59068b6 feat(pack): add critter, hamster, dragon, and Wings of Fire mods
Adds four NeoForge 1.21.1 creature/companion mods, all sourced from the
Modrinth CDN:

- Critters and Companions
- Adorable Hamster Pets
- Tiny Dragons
- Wings Of Fire!

"Wings Of Fire!" is published under the slug "wings-of-fire!" (the
exclamation mark is part of the name, not a typo), so its metadata file is
named wings-of-fire.pw.toml to keep the path free of zsh history-expansion
characters.
2026-09-26 02:42:20 -04:00
logan 59cef9e2f2 chore(pack): exclude server tooling from packwiz index
tools/ holds the RCON helper and graceful-restart script used to operate the
server; they are not pack content and must not be indexed for clients.
2026-09-24 17:09:51 -04:00
logan df2a4f4fcd fix(pack): exclude server config and runtime files from packwiz index
A packwiz refresh run in the server directory would have indexed
config/, kubejs/ and other runtime files into the pack index.
2026-09-24 15:33:13 -04:00
logan 435e30a556 added controller support 2026-09-23 19:46:15 -04:00
logan f99e3bee3e chore(pack): add .packwizignore for server-generated files
Keeps the NeoForge libraries, world data, jars and other runtime files
out of the pack index when running packwiz refresh in a server dir.
2026-09-23 16:39:56 -04:00
logan d7fe678408 fix(pack): refresh stale index hash for collapsible-groups metadata
The side change in 0095265 was not followed by packwiz refresh, leaving a
stale hash in index.toml that breaks packwiz-installer with 'Invalid mod
file hash'.
2026-09-23 16:39:56 -04:00
logan 0095265ef0 fixed collapsible client side 2026-09-22 18:19:57 -04:00
logan 3ab940d5d5 fixed stuff 2026-09-22 18:17:52 -04:00
logan 0e8a1a6d78 initial commit 2026-09-22 18:03:58 -04:00