Christian Loffel / Portfolio

Place a block. Build an airport.

Complete placement flow — from source block to finished structure and terrain restore

The Structure Builder manages a complete workflow: place a source block, open a menu, pick a variant, rotate it, check material costs, confirm — and the structure builds layer by layer in front of you.

Every placed structure gets its own undo block. Undo restores the exact terrain that existed before the build — a saved snapshot, not a fill command. Up to 15 builds can be undone independently, in any order.

Structure types
7
Undo slots / player
15
Material modes
3
Manager classes
10
Parent / Child Slots Live Preview Terrain Backup Non-linear Undo Owner Permissions Material Tracking Persistent State

Seven modules, one connected airport

Base Runway Tower Small Hangar Terminal Large Hangar Connector

Each structure links to the next via attachment points — building one unlocks slots for its neighbours

Why it works the way it does

Reliability
Large structures load cleanly, even on lower-end hardware
Bedrock's structure commands fail silently when target chunks aren't active — backups save incomplete, structures load halfway. Every build and every undo activates a temporary Ticking Area over the target region first. Large structures are split into quadrants loaded sequentially. Fill operations are chunked into 16×16 segments. The system works consistently on lower-end devices, not just in ideal conditions.
Ownership
Only the builder can touch their own structures — and get their materials back
Ownership isn't just access control. Every child structure, undo block, and material refund is tied to the original builder. The material mode active at the time of the build is saved per record — so refunds are always accurate, even if the server setting changed afterwards. One player can never undo another's work or claim their resources.
Undo system
Any of the last 15 builds can be undone, in any order
A linear undo stack forces the player to demolish everything built after the thing they want to remove. Instead, each of the 15 saved builds has its own undo block in the world — remove any of them independently. The one constraint: extensions must come down before their parent. The player is told why, not just blocked. Terrain is restored from a saved snapshot, not reconstructed.

What the system handles quietly

Double-click protection
Each placement has its own processing lock on top of a global operation lock. Spamming confirm or undo produces one clean result, not a corrupted multi-trigger.
Build failure rollback
If a structure load fails or the undo block can't be verified afterward, the terrain backup is restored, materials are refunded, and the placement returns to preview state before the player sees an error.
Item drop cleanup
When a structure loads over existing blocks, items can spawn. Items the player dropped intentionally are tracked and protected — only build-generated drops are removed.
Liquid removal before load
Water and lava in the target area are cleared before any structure loads. Flowing liquid during a build can destroy blocks — removing it first keeps the result predictable.
End dimension portal protection
Building near the End boss area is blocked entirely. Destroying the exit portals there would permanently trap any player who entered the End.
Nether height limit
Fill-above operations in the Nether are capped at Y 122. Without this limit, the system could overwrite bedrock — which is indestructible and would leave the ceiling permanently altered.
Offline preview cleanup
Preview entities expire on a timer and are removed immediately when the owner goes offline. No ghost previews accumulate between sessions.
Backup limit enforcement
Each player holds up to 15 undo backups. When the limit is reached, the oldest is purged and the player is warned — no silent world data accumulation.
Slot conflict resolution
Small and large extensions on the same side block each other. Conflicting slots are hidden until the occupying structure is removed, then restored automatically.
Design principle

Every critical path runs in a try/finally block — locks and ticking areas are always released, even if something fails mid-operation. Players get a clear message. The world stays consistent.

Cargo Plane System

Vehicle loading without native Bedrock support — loader anchors, rider hijacking, and a timed mid-air drop flow.

View case study →