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>
- Custom item silverlabs:anthrax_cat with entity_placer — place cat by right-clicking ground
- Shaped recipe: 4 gold ingots + 1 red dye (cross pattern) at crafting table
- Recipe unlocks when player has a gold ingot
- Item appears in creative inventory under Items > Misc
- Item icon: 16x16 Maneki-neko pixel art
- Set is_spawnable: false on entity (use crafted item instead of spawn egg)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bedrock clients cache resource packs by version — unchanged version means
the client never re-downloads the updated textures/model.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- heyhe_egg: rebuild spawn mechanism with component groups (spawn_entity/die
can't live in event sequences — follow dragon_egg pattern exactly)
- heyhe_chicken: move interact to base components so taming always works
regardless of spawn method; add persistent to stop vanishing
- Geometry: skinny tall body, thin neck, proper UV coordinates throughout
- Texture: fill whole atlas white first (no dark gaps), matched UV regions,
wonky asymmetric eyes (one big+high, one small+low)
- Animation: neck peck 3x per cycle at 22deg, body sway on walk, wing flutter
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Tameable white chicken modelled on Hey Hey from Moana — custom plump
geometry, waddly walk/peck animations, hatching egg item, and vanilla
chicken sounds. Mounted on all 4 servers via docker-compose.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Block state syntax ["facing_direction":N] in setblock silently failed, so no
egg blocks were placed and nothing could be collected. Revert to plain single
block setblock with no states.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
rebuildTagsAndBasket was wrongly treating any missing egg block as "collected"
— but blocks were missing because setblock silently failed on unloaded chunks,
not because the player found them. This caused StinkyRoger's score to jump to
21+ when only 3 eggs had been found.
Fix: remove rebuildTagsAndBasket entirely. The block-existence check inside
collectEgg() already prevents re-collection of a gone block. Tags remain as
a per-session fast-path only; the basket is the cross-server truth.
Also allow /scriptevent eggs:cmd reseteggsworld to work without a player
source so MCP/console can trigger a world egg reset remotely.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Player tags are server-local and wiped on transfer, breaking lobby scores.
Switch to an Egg Basket (nether_star, custom nameTag "[j:N,l:N,m:N]") that
travels with the player's inventory so the lobby can always read accurate counts.
Child worlds rebuild lost tags from block-state on each player join (missing
egg block = previously collected), keeping within-world deduplication intact.
Basket is updated on every collection and after every tag rebuild.
Lobby reads basket counts directly instead of tags.
Also make eggs visually egg-shaped: 2 glazed-terracotta blocks tall with
opposing facing_direction (2 bottom, 3 top) to create an oval silhouette.
collectEgg() now clears both Y and Y+1; detection dy extended to 3.0.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Use joining player's position as egg centre instead of world default
spawn, so eggs appear where players actually play
- Store centre in dynamic property so all players find the same eggs
- Validate that egg blocks actually exist before trusting eggs_placed flag,
auto-recovering if setblock commands silently failed (e.g. unloaded chunks)
- Trigger placement on first playerSpawn not server startup timeout
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>
Wild dragons now show interaction prompts for each personality food —
the food used to tame sets the starting trait immediately:
- Raw Chicken → Relaxed trait
- Raw Beef → Explorer trait
- Cooked Salmon → Affectionate trait
- Melon Slice → Playful trait
- Bamboo → Independent trait
Cod/salmon via minecraft:tameable (33% chance) still works as a fallback,
resulting in the Relaxed trait. After taming, sneak+food still switches
traits as before.
Also fix remaining stale "fish" item IDs (pre-1.13) in:
- behavior.tempt (wild and tamed groups)
- minecraft:ageable feed_items
- minecraft:healable items
- minecraft:interact mood_boost entry
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Remove auto-advance timers from egg cold (180s) and warming (120s) stages
so eggs only progress via player interaction (bonemeal → blaze powder)
- Remove fire/lava damage sensors from cold and warming stages to prevent
fire-tick re-triggering advance_to_hatching on every tick (caused dragon spam)
- Shorten egg hatching despawn timer from 60-90s to 3s so egg disappears
promptly after dragon spawns
- Fix taming: change tame_items "fish" → "cod" (pre-1.13 ID was broken;
only salmon worked before)
- Change egg colour recipes from egg+nest_item to egg+dye (simpler UX):
white_dye=white, brown_dye=brown, lime_dye=green, red_dye=red,
cyan_dye=teal, black_dye=black
- Increase nest block selection_box height from 5px to 14px to match
visible basket geometry so right-click entity_placer works on nest blocks
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Portal frame crafted from obsidian + ender pearl, combined with crystals
(emerald/amethyst/prismarine) to create world-specific portal blocks.
Stepping on a portal block triggers transfer. Includes resource pack with
vanilla textures, block definitions, crafting recipes, and updated script.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Lobby portals now have oak wall signs showing whose world each portal leads to
(Jamie/Lyla/Mya with color-coded text). Players see a title notification when
entering a portal. Child worlds show a welcome title with the world name on
arrival, read from variables.json via @minecraft/server-admin.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Switch from runCommand("transfer ...") to the @minecraft/server-admin
transferPlayer() function for reliable server-to-server transfers.
Enable Beta APIs experiment (gametest flag) in all 4 world level.dat files.
Add spawn protection to prevent transfer loops on arrival.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The /transfer command doesn't accept quoted player names. Removing the
embedded double quotes fixes portal transfers in both lobby and hub-return
addons.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Lobby addon detects players in portal zones at X: -15/0/15 and transfers
them to Jamie/Lyla/Mya survival worlds. Hub-return addon gives players a
recovery compass and chat commands (!hub, !lobby) to return to the lobby.
Includes docker-compose.yml for 4 Bedrock servers (lobby + 3 child worlds),
spark pet behavior/resource packs, and updated .gitignore.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Configure mc-ai-bridge MCP server at 10.0.0.247:3002 for AI-driven
Minecraft Bedrock interaction with all 6 tools documented.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>