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>
This commit is contained in:
2026-04-24 15:19:39 +01:00
parent 7e3432d868
commit ad5c365c2c
2 changed files with 5 additions and 19 deletions

View File

@@ -130,7 +130,7 @@ function tryPlaceTent(player) {
for (const g of groundCells) {
const b = dim.getBlock(g);
if (!b || !b.isSolid) {
if (!b || b.isAir || b.isLiquid) {
const seen = b ? b.typeId : "unloaded";
player.sendMessage(`§c[Camping] §7Ground at §f${g.x},${g.y},${g.z}§7 is §f${seen}§7 — need solid ground there.`);
return false;