원클릭으로
building-protection
Prevents subsystems from modifying blocks within placed building volumes using 3D bounding box clipping
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Prevents subsystems from modifying blocks within placed building volumes using 3D bounding box clipping
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
How to create reference documentation for complex coordinate systems and building constraints
Correctly place directional blocks (doors, levers, torches, signs, banners, stairs) in Minecraft via RCON
Ensures all build areas are chunk-loaded before placing blocks via /fill commands
NuGet packaging patterns for the Aspire.Hosting.Minecraft package
Pattern for attaching infrastructure (canals, beacons, paths) to each building in the village
Validate side effects after build/deploy operations with graceful degradation
| name | building-protection |
| description | Prevents subsystems from modifying blocks within placed building volumes using 3D bounding box clipping |
| domain | minecraft-world-building |
| confidence | medium |
| source | earned |
When multiple subsystems modify the Minecraft world (buildings, canals, rails, paths), later systems can accidentally destroy blocks placed by earlier ones. The BuildingProtectionService provides a central registry of 3D bounding boxes that other subsystems must respect.
After a building is constructed, register its 3D bounding box with the protection service. Include buffer zones for entrances and aesthetic spacing.
// Registration in StructureBuilder after building construction
protectionService.Register(
resourceName,
minX: x - 1, // 1-block buffer on sides
minY: surfaceY, // ground level
minZ: z - 2, // 2-block entrance buffer (south)
maxX: x + StructureSize,
maxY: surfaceY + 25, // full building height
maxZ: z + StructureSize
);
When a subsystem needs to /fill an area that might overlap buildings, use ClipFill to get non-overlapping sub-boxes.
var subBoxes = protectionService.ClipFill(minX, minY, minZ, maxX, maxY, maxZ);
foreach (var (bMinX, bMinY, bMinZ, bMaxX, bMaxY, bMaxZ) in subBoxes)
{
await rcon.SendCommandAsync(
$"fill {bMinX} {bMinY} {bMinZ} {bMaxX} {bMaxY} {bMaxZ} minecraft:air");
}
SubtractBox yields up to 6 non-overlapping remainder sub-boxes when removing a protected region from a fill volume:
Buildings must be placed BEFORE canals/rails so the protection registry is populated when those systems run.