Commit Graph

13 Commits

Author SHA1 Message Date
9789906277 fix(addons): align BP→RP manifest deps + minecraft:geometry on placeholder blocks
Two silent failure modes hit eight addons today:

1. BP→RP dep drift. When an RP version was bumped, dependent BPs kept
   naming the old version. Bedrock loaded both packs but disconnected
   the texture pipeline, so blocks rendered as map_color cubes in the
   inventory. Aligned spark_pet, heyhe_pet, camping_supplies, dynamite,
   home_sign, postal_service, private_chest BP deps to actual RP
   versions. Bumped postal/private_chest RP versions to 1.0.1 to bust
   client RP caches.

2. Missing minecraft:geometry. Bedrock 1.21+ silently fails to render
   custom blocks in inventory unless geometry is declared — even for
   plain full cubes, no warning logged. Added
   minecraft:geometry.full_block to post_office, mailbox, and
   private_chest. Same fix already applied to sun_lamp and the wild
   cherry tree blocks in their respective addon commits.

Saved both failure modes to project memory so they're easy to recognise
next time someone sees "all my custom blocks show as solid coloured
cubes in the inventory".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 22:01:00 +01:00
b9e3380f6c feat(camping): three-tier ore detector with private-chest faraday cage
New basic/improved/advanced detectors (8/16/32 block range). Aim and
right-click to ping the nearest ore on the view ray; pitch-coded sound
and action-bar text show distance and ore type. Any ore within 4 blocks
of a silverlabs:private_chest is hidden — chests act as faraday cages
so claimed bases stay private from neighbours' detectors.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 21:59:27 +01:00
77a7524917 fix(camping): swap tent panel L/R to render apex /\ not \/
All checks were successful
Deploy Addons / deploy (push) Successful in 23s
Bedrock mirrors the panel geometry across the block's local X axis
relative to the .geo.json, so the player's column needs panel_r and
the adjacent column needs panel_l for the roof seam to peak correctly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 03:03:14 +01:00
3e08a59972 feat: A-frame tent + portal walk-through field + texture polish
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
- camping: replace cube tent with A-frame slope panels (tent_panel_l/r) +
  cardinal_direction permutations; vote-skip sleep that mixes
  player.isSleeping bed sleepers with tent occupants and respects the
  playersSleepingPercentage gamerule; new weathered-canvas texture.
- lobby: walk-through silverlabs:portal_field block (no collision,
  translucent swirl, cross-plane geo) auto-placed above each portal frame;
  invisible silverlabs:portal_label entity floats above each portal with
  the destination world name; transfer detection now scans down through
  the field to find the destination frame.
- postal: regenerate post_office and mailbox block textures so they fill
  the full block face (brick + POST plaque, full red panel with slot/latch
  /flag/rivets) instead of small sprites floating on transparent.
- dynamite + tow-boat: ship the addons (volumes wired into all four
  worlds; enabled_packs registers them into Mya's world).
- art: build-textures.py extended; build-art-catalog.py added to project.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 23:17:31 +01:00
60603ab74c fix(camping): scan-down now uses air/liquid check + hammock camera pull
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
The tent's scan-down-for-ground loop still used b.isSolid (undefined
in BDS), so it always fell through the break conditions and
decremented feetY by 3 blocks before checking ground. That's why
clicking grass reported "dirt" and stone reported "dirt/stone from
underneath the surface". Replaced both solid checks with
!isAir && !isLiquid like the main ground check.

Also added a cinematic third-person camera when climbing into the
hammock (ease 0.8s out_sine), cleared on exit. Gives the player a
"lying back, can see myself" view while resting.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 16:32:26 +01:00
ad5c365c2c fix(camping): use air/liquid check for tent ground + legacy geo format
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
Two live-testing regressions:

- block.isSolid is not a reliable member of the @minecraft/server Block
  API in BDS 1.26 — it returned undefined, so !b.isSolid was always
  true and every ground cell failed. Replaced with !b.isAir &&
  !b.isLiquid (same predicate the clear-space check below already
  uses), which correctly accepts grass/dirt/stone and only rejects air
  or water/lava.

- The half-slab hammock geometry was silently rejected and rendered
  invisible. The block-model parser wants the legacy 1.12.0 format
  with simple "uv": [0, 0], not 1.21.0 with per-face UV objects.
  Rewritten hammock_slab.geo.json to match the working
  addon/spark_pet_RP/models/blocks/dragon_basket.geo.json format.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 15:19:39 +01:00
7e3432d868 fix(camping): half-slab hammock geometry + smarter tent grounding
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
- Hammock now uses a custom geometry.silverlabs.hammock_slab (8-voxel
  tall half-slab instead of a full cube), matching its thin collision
  box so the block reads visually as a hammock cradle, not a brick.

- Tent placement now projects the player's feet down to the nearest
  solid block (up to 3 blocks) before picking the base Y, so mid-jump
  fractional positions or standing-on-slab cases don't mis-place the
  footprint one block too high.

- Failure messages now include the exact failing cell coordinates and
  the block type that's in the way, so we can diagnose live pitch
  attempts without guesswork.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 15:08:34 +01:00
5c1af25468 fix(camping): tent clearance + real hammock lie-in behavior
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
Three fixes for feedback from live testing:

1) Tent pitch check required 3 blocks of air above the footprint but
   the tent is only 2 blocks tall. Relaxed clearance to match the
   actual structure height (h <= 1).

2) Hammock block had a 4px-tall collision box which pushed the player
   on TOP of the cloth. Reduced collision to 1px so the player stands
   inside the hammock cell. Selection box stays at 4px for easy click.

3) Climbing in now actually locks the player: applies slowness 255,
   weakness, mining_fatigue for the duration, saves the anchor point
   in a dynamic property, and the upkeep loop re-teleports them if
   they drift off. Sneak-exit nudges them ~1.2 blocks forward of the
   cradle so they don't immediately re-enter.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 14:51:50 +01:00
82250164ca fix(camping): use plain-string minecraft:icon and redraw item icons
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
The nested {"texture": "..."} form for minecraft:icon is rejected by the
1.21.0 item schema (BDS warned: "this member was found in the input,
but is not present in the Schema"), so tent and hammock had no inventory
icons at all. Switched to the plain-string form used by every other
addon in the repo.

While here, replaced the placeholder PNGs (a flat green triangle and a
red squiggle) with proper 16x16 pixel art:
  - tent: A-frame canvas silhouette with doorway slit and ground line
  - hammock: side-view sling with rope ends rising off-screen and a
    sagging red-and-white striped fabric

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 02:06:18 +01:00
3a010091e5 fix(camping): reshape hammock recipe to fit 3x3 crafting grid
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
Original 5x2 pattern (T   T / TWWWT) exceeded the vanilla crafting grid
and BDS rejected it with "Adding a recipe larger than 3x3". Replaced
with a 3x3 layout: strings on the four corners as suspension points,
wool row across the middle as the cloth.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 01:36:18 +01:00
db8f37a24d fix(addons): populate recipe unlock with crafting_table ingredient
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
Bedrock 1.26 rejects { context } variants as "malformed unlocking context"
and [] as "empty unlocking ingredient array". The unlock field must contain
at least one ingredient item; players who have that item unlock the recipe.

Using minecraft:crafting_table as the unlock ingredient makes semantic sense
(all 26 recipes already require the crafting_table tag) and effectively means
"visible once the player has any crafting table".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 23:28:17 +01:00
e6148a2949 fix(addons): correct recipe unlock shape and block format_version
All checks were successful
Deploy Addons / deploy (push) Successful in 13s
Follow-up to 4324882. The { "context": "always_unlocked" } form triggered
"malformed unlocking context" on 1.26-series Bedrock (AlwaysUnlocked pascal
form fared no better). Empty-array form is the universally accepted "recipe
always known" shape. This unblocks mc-lobby which was crashing on boot.

Also reverts block format_version on mailbox.json + smart_crafting_table.json
to 1.21.0 — every other working block in the repo uses that, so the prior
1.21.60 choice was unnecessary.

- 19 dragon + portal recipes (spark_pet_BP, lobby_transfer_BP): unlock -> []
- 7 other recipes touching unlock { context: ... }: same
- 2 block files: format_version 1.21.60 -> 1.21.0

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 23:22:41 +01:00
8b83e324f0 feat(camping): add craftable tent and hammock addon
All checks were successful
Deploy Addons / deploy (push) Successful in 13s
Tent pitches over a 2x3 flat footprint and lets players skip to dawn
without touching their spawn point. Hammock strings between two posts
3-6 blocks apart (straight or diagonal, +/-1 block height) and keeps
hostile mobs at bay while occupied. Both are craftable (wool/sticks and
wool/string) and mounted in all four worlds.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 23:10:21 +01:00