원클릭으로
minecraft-forceload
Ensures all build areas are chunk-loaded before placing blocks via /fill commands
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Ensures all build areas are chunk-loaded before placing blocks via /fill commands
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
How to create reference documentation for complex coordinate systems and building constraints
Prevents subsystems from modifying blocks within placed building volumes using 3D bounding box clipping
Correctly place directional blocks (doors, levers, torches, signs, banners, stairs) in Minecraft via RCON
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 | minecraft-forceload |
| description | Ensures all build areas are chunk-loaded before placing blocks via /fill commands |
| domain | minecraft-world-building |
| confidence | high |
| source | earned |
Minecraft's /fill command silently fails in unloaded chunks — no error is returned, the blocks simply aren't placed. This makes forceload bugs extremely difficult to diagnose because the server reports success.
Any system that places blocks in the world MUST ensure the target chunks are forceloaded before issuing /fill commands.
The village layout may change during initialization (e.g., PlanNeighborhoods() spreads buildings into 4 quadrants with ZoneGap=20). Forceload must happen AFTER the final layout is computed, not before.
// ❌ WRONG — bounds computed before layout finalization
var bounds = layout.GetFencePerimeter(10);
await ForceloadArea(bounds);
layout.PlanNeighborhoods(); // spreads buildings beyond forceloaded area
// ✅ CORRECT — bounds computed after layout finalization
layout.PlanNeighborhoods();
var bounds = layout.GetFencePerimeter(resourceCount);
await ForceloadArea(bounds);
DetectSurfaceAsync needs a few chunks loaded to probe the terrain height. Use a minimal forceload around the probe point before the full village forceload.
// Small area for terrain detection
await rcon.SendCommandAsync($"forceload add {baseX - 5} {baseZ - 5} {baseX + 5} {baseZ + 5}");
var surfaceY = await DetectSurfaceAsync();
// Full area after layout planning
await rcon.SendCommandAsync($"forceload add {minX} {minZ} {maxX} {maxZ}");
Any area where blocks will be placed needs forceloading — not just the main village grid:
FenceClearance)LakeGap beyond the last building row)Always log the forceload area for debugging, since failures are silent.
logger.LogInformation("Forceloading area: ({MinX},{MinZ}) to ({MaxX},{MaxZ})", minX, minZ, maxX, maxZ);