Animated leather saddlebags for tamed moose. Persistent storage, configurable up to 32 slots, server-controlled capacity, safe resizing, and normal death drops. Press K to open.
Rename the storage window, interaction prompt and bag messages to Jo-bags.
Keep existing saved items, capacity settings and bag appearance unchanged.
1.0.1 — release package cleanup
Remove source code, build scripts and test files from the Thunderstore installation ZIP to follow the package rules.
Provide development files in a separate source archive.
Clarify the version-matching message. Storage capacity, item format, bags and animations are unchanged.
1.0.0 — configurable storage and public release
Add server-controlled Storage / Columns (1–8) and Rows (1–4); retain 4×4 by default.
Cap supported layout at 8×4 (32 slots).
Synchronize capacity over the direct server connection; ignore other peers and invalid settings.
Retain loaded bag dimensions when either dimension is reduced; apply the smaller layout after emptying and closing.
Preserve item positions during growth, saved item data, and inventory change callbacks.
Save dimensions with the moose; show actual capacity and pending size changes in hover text.
Verify loaded item counts and positions before replacing inventory; preserve original saved bytes if loading fails.
Preserve the owner-tested 0.1.6 bag appearance, animations and death-drop behavior.
Add Thunderstore manifest, branded icon, installation/configuration instructions and source.
0.1.6 — follow the animated saddle rig
Replace parenting to the static Sadle interaction object with parenting to an animated back bone.
Prefer the saddle mesh's spine influences near the riding seat; fall back to body influences or the nearest spine when needed.
Detect saddle renderers outside the interaction hierarchy by mesh/material name.
Retain fitted world position and scale on attachment; let the animator drive movement directly.
Log the chosen bone and selection source; sample mesh data only during visual initialization.
Preserve 0.1.5 geometry/materials and all storage/grid/interaction rules. Clean compilation; feeding animation still requires live verification.
0.1.5 — rounded leather saddlebags
Replace rigid boxes with smoothly shaded pouches, rounded bottoms and tapered mouths.
Add folded leather flaps with curved stitched hems.
Fit dark leather straps over the pouch surfaces; use open metal buckle frames and pins.
Preserve attachment, bag centers, size controls, storage and inventory grid.
Keep body armor removed and head armor disabled by default.
Clean compile and 10,778 policy/mesh checks; live appearance check pending.
0.1.4 — remove leftover armor
Remove shoulder plates, chest plate and the floating horizontal strip above the bags.
Keep visible bag bodies, flaps, vertical straps, buckles and fitting unchanged from 0.1.3.
Retire body armor offset/scale settings; head armor remains disabled by default.
Storage and grid source remain unchanged; 16 slots and the K shortcut are retained.
User confirmed slots in 0.1.2 and visible bags in 0.1.3. This cosmetic cleanup needs an in-game check.
0.1.3 — fix model scale and attachment
Fix the logged oversized moose measurement: explicitly compensate renderer scale when baking the skinned mesh.
Compare baked dimensions with live renderer bounds; reject implausible results and use rendered bounds as a conservative fallback.
Retain the real saddle/riding anchor instead of replacing it with a mesh-bound estimate.
Parent the bag/body visual to the active vanilla saddle attachment while preserving world size and rotation.
Log renderer scale and measurement checks for fitting verification.
Preserve the working grid and storage source unchanged. Head armor remains disabled by default.
Zero compile warnings/errors; 386 automated checks pass. Placement still needs an in-game check.
0.1.2 — saddlebag slots and fitting
Fix initial blank 4×4 inventory: invalidate the native layout cache when dimensions match but slot elements are missing, then let the original grid code build the controls.
Patch applies only to this mod's active saddlebag inventory.
Sample all available moose skinned meshes and remove the fixed maximum flank width; position bag inner edges beyond the measured body surface.
Separate shoulder measurement from bag measurement; log sampling counts and both widths.
Brighter brown leather with subtle procedural grain and muted blue straps.
Disable the experimental head armor by default while bag functionality/fit is tested.
Storage serialization, slot count, K shortcut, and cosmetic-only stats unchanged.
Clean compile; 378 policy/mesh checks pass. Live verification pending.
0.1.1 — visual initialization fix
Fix confirmed No supported opaque shader found failure: clone a loaded opaque saddle/moose material instead of depending on named shader lookup.
Preserve original materials; give custom geometry plain tinted surfaces.
Retry failed visual initialization at five-second intervals, up to six attempts.
Log selected material and shader for fitting diagnostics.
Storage format, 16-slot capacity, cosmetic-only behavior, and K shortcut unchanged.
Builds cleanly against supplied game references; live visual verification pending.
0.1.0 — test build
Existing normal moose saddle receives 16-slot persistent storage.
K opens bags; shortcut configurable. G stays available for backpack use.
Brown leather bags, blue trim, shoulder/chest plates, and animated open-face head armor.
Cosmetics only; no character stats or hitboxes changed.