Based on the improved branch of MagmaGuy/BetterStructures, made deep adaptations and performance optimizations for Paper + FastAsyncWorldEdit (FAWE).
A performance-focused fork of MagmaGuy/BetterStructures, deeply adapted for the Paper + FastAsyncWorldEdit (FAWE) + Terra ecosystem.
The original plugin uses WorkloadRunnable to place blocks on the main thread in frame-split batches, which still causes TPS drops for large structures. This fork migrates all block pasting to FAWE asynchronous EditSession:
WorkloadRunnable frame-splitting system and NMS fast paths have been removedpercentageOfTickUsedForPasting config option is now obsoleteDependency change: Hard dependency changed from WorldEdit to FastAsyncWorldEdit. The plugin will automatically disable itself if FAWE is not detected on startup.
Resolves chunk state issues when using async world generators like Terra with FAWE:
ChunkValidationUtil: samples multiple positions to detect whether a chunk is fully generated, preventing structures from being placed on empty chunksgetChunkAtAsync for async chunk loading, with PluginChunkTicket to keep chunks loaded during pastingThe original plugin relies on ChunkLoadEvent.isNewChunk() to identify new chunks, but after a server restart, previously generated but unmarked chunks get scanned again. This fork uses Bukkit PersistentDataContainer to persistently mark chunks:
betterstructures:chunk_processedAdded StructureLocationManager and StructureLocationData to persist all generated structure locations to YAML files:
structure_locations/Added MobTrackingManager and MobSpawnConfig for tracking and respawning mobs within structures:
StructureClearedEvent when all mobs in a structure are killedAll user-facing logs, command feedback, and menu text have been translated to Chinese across 27 files.
| Component | Requirement |
|---|---|
| Minecraft | 1.14+ (1.21+ recommended) |
| Server | Paper (or forks like Purpur) |
| Java | 21+ |
| FastAsyncWorldEdit | Required (vanilla WorldEdit is not supported) |
GPL-3.0, same as upstream.