fix(camping): use air/liquid check for tent ground + legacy geo format
All checks were successful
Deploy Addons / deploy (push) Successful in 15s
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:
@@ -130,7 +130,7 @@ function tryPlaceTent(player) {
|
|||||||
|
|
||||||
for (const g of groundCells) {
|
for (const g of groundCells) {
|
||||||
const b = dim.getBlock(g);
|
const b = dim.getBlock(g);
|
||||||
if (!b || !b.isSolid) {
|
if (!b || b.isAir || b.isLiquid) {
|
||||||
const seen = b ? b.typeId : "unloaded";
|
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.`);
|
player.sendMessage(`§c[Camping] §7Ground at §f${g.x},${g.y},${g.z}§7 is §f${seen}§7 — need solid ground there.`);
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -1,32 +1,18 @@
|
|||||||
{
|
{
|
||||||
"format_version": "1.21.0",
|
"format_version": "1.12.0",
|
||||||
"minecraft:geometry": [
|
"minecraft:geometry": [
|
||||||
{
|
{
|
||||||
"description": {
|
"description": {
|
||||||
"identifier": "geometry.silverlabs.hammock_slab",
|
"identifier": "geometry.silverlabs.hammock_slab",
|
||||||
"texture_width": 16,
|
"texture_width": 16,
|
||||||
"texture_height": 16,
|
"texture_height": 16
|
||||||
"visible_bounds_width": 2,
|
|
||||||
"visible_bounds_height": 1,
|
|
||||||
"visible_bounds_offset": [0, 0.25, 0]
|
|
||||||
},
|
},
|
||||||
"bones": [
|
"bones": [
|
||||||
{
|
{
|
||||||
"name": "root",
|
"name": "slab",
|
||||||
"pivot": [0, 0, 0],
|
"pivot": [0, 0, 0],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{
|
{ "origin": [-8, 0, -8], "size": [16, 4, 16], "uv": [0, 0] }
|
||||||
"origin": [-8, 0, -8],
|
|
||||||
"size": [16, 4, 16],
|
|
||||||
"uv": {
|
|
||||||
"north": { "uv": [0, 12], "uv_size": [16, 4] },
|
|
||||||
"south": { "uv": [0, 12], "uv_size": [16, 4] },
|
|
||||||
"east": { "uv": [0, 12], "uv_size": [16, 4] },
|
|
||||||
"west": { "uv": [0, 12], "uv_size": [16, 4] },
|
|
||||||
"up": { "uv": [0, 0], "uv_size": [16, 16] },
|
|
||||||
"down": { "uv": [0, 0], "uv_size": [16, 16] }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user