Commit Graph
15 Commits
Author SHA1 Message Date
sysadminandClaude Opus 5 50af20981f fix(lobby): ship real portal textures; they pointed at vanilla paths
Deploy Addons / deploy (push) Failing after 0s
The four portal blocks referenced vanilla texture paths from their own pack
(emerald_block, amethyst_block, prismarine_bricks, end_portal_frame_top)
without shipping those files. While the blocks rendered through the legacy
blocks.json path this was invisible; once minecraft:geometry made
material_instances take effect the lookup failed outright and they rendered
as missing-texture.

Ships real 16x16 textures generated through scripts/build-textures.py: a dark
stone frame around a glowing field, one hue per destination -- jamie green,
lyla purple, mya teal, plus a gold-ringed frame. terrain_texture.json now
points at these instead of vanilla paths, so every key in the pack resolves
to a file the pack actually contains.

lobby_transfer_RP bumped to 1.0.1 so clients re-download rather than serving
cached art; the lobby world pin was updated to match.

Known issue, not fixed here: lobby_transfer_RP and hub_return_transfer_BP
share pack UUID b2c3d4e5-1111-2222-3333-fedcba654321. They never load on the
same server today, so the collision is latent, but it makes version bumps on
either pack risky and should be resolved with a fresh UUID plus a pin update.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Gf1kZypRDfPL1YiWUS1LC
2026-08-28 12:49:46 +01:00
sysadminandClaude Opus 5 0fb2b27d7c fix(addons): add minecraft:geometry to the 7 untextured custom blocks
Without a minecraft:geometry component Bedrock renders a custom block
through the legacy blocks.json texture path instead of material_instances.
These packs' blocks.json files only set "sound", with no "textures", so the
client substituted a default and the blocks rendered untextured. Diagnosed
and verified in-game on redstone-link; this applies the same one-line fix to
the rest.

Confirmed in the field for the portal blocks: portal_jamie, portal_lyla and
portal_mya all fell back to the same default, so players had to guess which
portal led to which world. They reference vanilla textures (emerald_block,
amethyst_block, prismarine_bricks), so with geometry set they render green,
purple and teal respectively -- one per child.

Also fixes home_sign, smart_crafting_table, tent_canvas and portal_frame.

full_block is correct for all seven: every custom block model in these packs
(hammock_slab, tent_panel_l/r, portal_field) is already referenced by its own
block, and no orphan model exists for any of these, so they were always meant
to be plain cubes.

No pack versions bumped deliberately. Block definitions live in the behavior
pack and reach clients through the network block palette rather than a cached
resource pack, so a bump is unnecessary -- and bumping would require updating
the matching pin in all four world_behavior_packs.json files, where a
mismatch silently drops the pack from the stack.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015Gf1kZypRDfPL1YiWUS1LC
2026-08-28 12:27:59 +01:00
sysadminandClaude Opus 4.7 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
sysadminandClaude Opus 4.7 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
sysadminandClaude Opus 4.7 77a7524917 fix(camping): swap tent panel L/R to render apex /\ not \/
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
sysadminandClaude Opus 4.7 3e08a59972 feat: A-frame tent + portal walk-through field + texture polish
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
sysadminandClaude Opus 4.7 60603ab74c fix(camping): scan-down now uses air/liquid check + hammock camera pull
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
sysadminandClaude Opus 4.7 ad5c365c2c fix(camping): use air/liquid check for tent ground + legacy geo format
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
sysadminandClaude Opus 4.7 7e3432d868 fix(camping): half-slab hammock geometry + smarter tent grounding
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
sysadminandClaude Opus 4.7 5c1af25468 fix(camping): tent clearance + real hammock lie-in behavior
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
sysadminandClaude Opus 4.7 82250164ca fix(camping): use plain-string minecraft:icon and redraw item icons
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
sysadminandClaude Opus 4.7 3a010091e5 fix(camping): reshape hammock recipe to fit 3x3 crafting grid
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
sysadminandClaude Opus 4.7 db8f37a24d fix(addons): populate recipe unlock with crafting_table ingredient
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
sysadminandClaude Opus 4.7 e6148a2949 fix(addons): correct recipe unlock shape and block format_version
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
sysadminandClaude Opus 4.7 8b83e324f0 feat(camping): add craftable tent and hammock addon
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