Commit Graph

29 Commits

Author SHA1 Message Date
d6bafb9d16 feat(smart-crafting): add smart crafting table using private chest inventory
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
Adds an upgraded crafting block that scans the player's owned private chests
and aggregates their contents with the personal inventory when deciding which
recipes are craftable. Ingredients are consumed from the player first then
from chests; the result goes to the player (or drops at their feet).

Also redraws the post_office and mailbox block textures via a new
scripts/build-textures.py generator.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 11:16:19 +01:00
f7aa71e9eb feat(postal): add postal service addon and bundle pending addon work
All checks were successful
Deploy Addons / deploy (push) Successful in 16s
- New postal-service-addon: per-player mailboxes + post-office send block
  (ActionForm recipient picker, offline notification queue, chunk-load
  retry via tickingarea)
- Commit previously untracked private-chest, home-sign, keep-inventory
  addons and their docker-compose mounts
- Deploy workflow: add postal + previously unwired addons to path filter
  and checkout list; drop easter-egg from deployment
- enabled_packs.json: register postal UUIDs for Lyla + Mya

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 20:07:39 +01:00
cc18066c17 fix(lobby,easter-egg): update portal coordinates and egg-check ring
Lobby portal zones and signs moved to the rebuilt portal area at
~(436..488, 65..74, -322..-281), including a second Lyla's-World
"Super Kitties" portal. Signs now use per-portal facing_direction
so they face the hub walkway correctly.

Easter-egg placeAllEggs validation now samples the far-ring eggs
(indices 45-49) before falling back to the near ring — avoids false
"blocks missing" reports when only close-ring eggs have been picked up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 14:19:33 +01:00
c176263ec5 feat(monkey): add cheeky banana-throwing monkey addon
New silverlabs:cheeky_monkey mob that wanders the lobby watching players
and throwing harmless (knockback-only) silverlabs:banana_projectile at
them. Drops 1-2 silverlabs:banana (food) on death. Spawn rules target
jungle biomes for future deployment to survival worlds; for now the pack
is bind-mounted into the lobby service only.

Also bundles a stray docker-compose tidy from earlier local work
(Jamie's world seed pinned, pet addons dropped from Jamie).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 14:19:18 +01:00
64e12603de fix(village-evolution): bind-mount enabled_packs.json for persistent pack activation
All checks were successful
Deploy Addons / deploy (push) Successful in 44s
BDS reads pack activation from LevelDB, not world_behavior_packs.json.
The enabled_packs.json in config/default/ is the correct mechanism to
activate new packs in existing worlds. Bind-mounted so it survives
container recreates via CI/CD.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 02:34:47 +01:00
d283de4e6d feat(village-evolution): add village growth addon for survival worlds
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
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>
2026-04-07 02:26:12 +01:00
23f2e6c3bd feat(anthrax-cat): add craftable item, recipe, and inventory entry
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
- 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>
2026-04-06 21:05:38 +01:00
d552525281 feat(anthrax-cat): add Maneki-neko lucky cat decoration addon, remove easter egg
All checks were successful
Deploy Addons / deploy (push) Successful in 46s
- New silverlabs:anthrax_cat entity: sitting cat with waving paw animation,
  idle body bob, look-at-player, fortune message + bell sound on interact
- Custom 64x64 texture (cream/white, red bib, gold coin, orange tabby patches)
- Custom geometry: body, head, ears, raised left arm, tail, bib, coin bones
- Removed easter egg addon mounts from all 4 servers (lobby + 3 child worlds)
- Anthrax Cat mounted on all 4 servers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 20:24:26 +01:00
367f46ad8b fix(heyhe): bump RP version to 1.0.1 to force client cache refresh
Some checks failed
Deploy Addons / deploy (push) Failing after 7s
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>
2026-04-05 09:50:19 +01:00
86950012e9 fix(heyhe): correct egg spawn, fix taming, skinny model, wonky eyes, persistent
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
- 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>
2026-04-05 09:37:25 +01:00
56ed7d76ee fix(pet): add recipe unlock for heyhe_egg (Bedrock 1.20+ requirement)
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 09:15:57 +01:00
1bdac0e157 feat(pet): add Hey Hey chicken pet addon
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
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>
2026-04-05 09:14:39 +01:00
616395de88 revert(easter-egg): single-block eggs — 2-block block-state syntax broke placement
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
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>
2026-04-05 03:02:13 +01:00
5befc216d3 fix(easter-egg): remove false tag rebuild that inflated scores; console reset
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
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>
2026-04-05 02:54:23 +01:00
e5568fe1f3 fix(easter-egg): persistent cross-server counts via inventory basket; 2-block tall eggs
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
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>
2026-04-05 02:46:26 +01:00
793c1f5f3d fix(easter-eggs): place eggs around player location, validate before skipping
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
- 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>
2026-04-05 02:29:10 +01:00
b91aec3bf7 fix(ci): use docker compose up --force-recreate so new volume mounts apply
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>
2026-04-05 02:10:01 +01:00
90a0b96634 feat(easter-eggs): add easter egg hunt addon across all worlds
All checks were successful
Deploy Addons / deploy (push) Successful in 17s
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>
2026-04-05 02:00:11 +01:00
5c4f8b9da5 feat(spark_pet): tame with personality foods; fix remaining "fish" IDs
All checks were successful
Deploy Addons / deploy (push) Successful in 16s
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>
2026-03-25 04:12:17 +00:00
2697fa1d9f fix(spark_pet): egg auto-hatch, repeated spawning, taming, despawn, and nest selection
All checks were successful
Deploy Addons / deploy (push) Successful in 16s
- 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>
2026-03-25 03:56:42 +00:00
4bd9efc081 feat(spark_pet): major overhaul — traits, animations, riding, fire, coloured hatching
All checks were successful
Deploy Addons / deploy (push) Successful in 24s
- Movement: slower follow (speed 0.3, stop_dist 5), near-zero teleport chance
- Scales: baby 0.65, juvenile 0.9, adult 1.3 (up from 0.4/0.7/1.0)
- Personality traits (0–4): set by feeding specific foods while sneaking;
  affects stroll range, follow distance, look-at-player frequency
- Passtime animations driven by pure Molang lifecycle math (no timer components):
  groom, sniff, stretch, happy_bounce cycling ~every 3 min per dragon
- Rideable adults: minecraft:rideable + input_ground_controlled, seat at [0,0.9,-0.3]
- Fire breathing: autonomous vs monsters (radius 16) + player-triggered (sneak + fire_charge)
- New hatching system: 6 nest block variants (oak/spruce/jungle/crimson/warped/obsidian),
  craft nest + dragon_egg → coloured egg item; place egg, bonemeal + blaze powder → hatch;
  dragon colour matches nest type via 6 separate egg entity types + born_color events
- 18 new PNG textures: 6 dragon colours, 6 nest blocks, 6 egg items (HSV hue rotation)
- Render controller updated to use texture array indexed by silverlabs:dragon_color property

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 02:12:44 +00:00
c32dbf42c4 feat(addons): update portal blocks, recipes, and transfer scripts
All checks were successful
Deploy Addons / deploy (push) Successful in 17s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 11:31:40 +00:00
4bc7eb05b6 chore(ci): add Gitea Actions deploy workflow for addon auto-deploy
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 00:05:57 +00:00
d9eafd2c12 feat(portals): add craftable portal blocks replacing hardcoded coordinates
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>
2026-03-19 14:23:23 +00:00
5eefd26f67 feat(portals): add portal signs, transfer notifications, and welcome titles
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>
2026-03-19 02:46:03 +00:00
c12a468958 fix(transfer): use transferPlayer() beta API and enable experiments in level.dat
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>
2026-03-19 02:34:29 +00:00
2b0a0c4997 fix(transfer): remove quotes around player name in transfer command
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>
2026-03-18 22:23:20 +00:00
389e053dc5 feat: add multi-world hub system with lobby portals and hub-return addon
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>
2026-03-18 22:02:56 +00:00
4c68cb60bc feat: initialize minecraft-aiworld Claude Code workspace
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>
2026-03-16 17:04:54 +00:00