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>
This commit is contained in:
2026-04-25 23:17:31 +01:00
parent fce15ac801
commit 3e08a59972
58 changed files with 1815 additions and 67 deletions

View File

@@ -3,5 +3,6 @@
"silverlabs:portal_frame": { "sound": "stone" },
"silverlabs:portal_jamie": { "sound": "stone" },
"silverlabs:portal_lyla": { "sound": "stone" },
"silverlabs:portal_mya": { "sound": "stone" }
"silverlabs:portal_mya": { "sound": "stone" },
"silverlabs:portal_field": { "sound": "glass" }
}

View File

@@ -0,0 +1,12 @@
{
"format_version": "1.10.0",
"minecraft:client_entity": {
"description": {
"identifier": "silverlabs:portal_label",
"materials": { "default": "entity_alphatest" },
"textures": { "default": "textures/entity/portal_label" },
"geometry": { "default": "geometry.silverlabs.portal_label" },
"render_controllers": ["controller.render.default"]
}
}
}

View File

@@ -0,0 +1,25 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.silverlabs.portal_field",
"texture_width": 16,
"texture_height": 16,
"visible_bounds_width": 1.5,
"visible_bounds_height": 2,
"visible_bounds_offset": [0, 0.5, 0]
},
"bones": [
{
"name": "field",
"pivot": [0, 0, 0],
"cubes": [
{ "origin": [-7, 0, -1], "size": [14, 16, 2], "uv": [0, 0] },
{ "origin": [-1, 0, -7], "size": [2, 16, 14], "uv": [0, 0] }
]
}
]
}
]
}

View File

@@ -0,0 +1,21 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.silverlabs.portal_label",
"texture_width": 1,
"texture_height": 1,
"visible_bounds_width": 0,
"visible_bounds_height": 0,
"visible_bounds_offset": [0, 0, 0]
},
"bones": [
{
"name": "root",
"pivot": [0, 0, 0]
}
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 B

View File

@@ -15,6 +15,9 @@
},
"portal_mya": {
"textures": "textures/blocks/prismarine_bricks"
},
"portal_field": {
"textures": "textures/blocks/portal_field"
}
}
}