Six addons were bind-mounted in docker-compose.yml but absent from the deploy
workflow, so CI had never deployed them: dynamite, hemp, naturalist-lite,
smart-crafting, tow-boat and trees-features. The host was consequently running
April copies of files that main had moved on from in August -- dynamite's
thrown entities still used item_sprite geometry rather than snowball, and
smart-crafting's recipe still used AlwaysUnlocked rather than unlocking from a
crafting table.
That gap also silently broke dynamite: the world pins had been advanced to RP
1.0.2 while the host stayed on 1.0.1, so the pack was dropped from every world
until the pins were corrected earlier today.
Verified before adding, rather than trusting the workflow: tow-boat and
trees-features are byte-identical between host and main, and for the other
four main is strictly newer (host files date from April, main's from August).
The only host-only files are three strays that checkout -f will not remove --
sloth.bc_ap.json, "secretary_bird.rp_ac .json" (note the space) and
warlus.json -- so nothing is lost by arming the checkout for these paths.
PATHS now covers every directory docker-compose.yml mounts, so a mount can no
longer point at a directory CI never delivers.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Gf1kZypRDfPL1YiWUS1LC
Adds redstone-link-addon: a transmitter/receiver pair bound by channel
name, giving redstone that runs anywhere without wire, support blocks or
line of sight. Bedrock custom blocks can read redstone power but cannot
emit it, so a live receiver is swapped to a vanilla redstone_block and
back; receiver positions persist in a world dynamic property, with a
reconcile pass at boot to repair anything a crash left inconsistent.
Deployed and proven end-to-end on lobby (Hub World).
Also commits family-goals-addon, which was running on jamie -- mounted in
docker-compose.yml and pinned in the world -- while existing in no commit
on any branch. It was unbacked-up production code.
That omission was load-bearing for deploys: deploy.yml checks out
docker-compose.yml from origin/main, so a deploy would have replaced the
host compose with a version lacking the family-goals mount and silently
killed the addon. Both new directories are added to the workflow's PATHS
and push-trigger list, so nothing is mounted that CI does not deliver.
The mount set in this file now matches the live host exactly.
Note for a follow-up: dynamite-, hemp-, naturalist-lite-, smart-crafting-,
tow-boat- and trees-features-addon are mounted but absent from PATHS, so
CI never refreshes them.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Gf1kZypRDfPL1YiWUS1LC
The camping-supplies addon was added to docker-compose.yml as a bind
mount but never added to the workflow's path filter or PATHS checkout
list, so the directory on the server stayed empty and the pack was
invisible to all four worlds.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Villages now evolve organically as villager populations grow. The addon
scans every 5 minutes, clusters villagers by proximity, and places new
buildings (well, lamp post, houses, farm, blacksmith) adjacent to
existing villages as population thresholds are reached. State is
persisted across restarts via world dynamic properties.
Deploys to jamie, lyla, mya survival worlds only.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
docker restart does not re-read docker-compose.yml, so new bind mounts
added to the compose file are ignored until containers are recreated.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
50 eggs hidden per child world (Jamie/Lyla/Mya) in 8 creative hiding
scenes (barrels, hay bales, flower patches, logs, fences, crafting
tables, mossy ledges, leaf clusters). Each world uses a distinct glazed
terracotta colour. Found eggs are tracked via player tags which persist
across server transfers; lobby reads tags and maintains a scoreboard
leaderboard (egg_count objective). Gitea deploy workflow updated to
include easter-egg-addon/ and docker-compose.yml in checkout.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>