
BetterStructures-FAWE
Based on the improved branch of MagmaGuy/BetterStructures, made deep adaptations and performance optimizations for Paper + FastAsyncWorldEdit (FAWE).
⬇ Download on ModrinthBetterStructures-FAWE
中文
A performance-focused fork of MagmaGuy/BetterStructures, deeply adapted for the Paper + FastAsyncWorldEdit (FAWE) + Terra ecosystem.
Key Differences from Upstream
1. FAWE Async Pasting (Zero Main-Thread Blocking)
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:
- Normal blocks, NBT blocks (spawners, dispensers, etc.), and bedrock replacement are all handled on FAWE async threads
- The
WorkloadRunnableframe-splitting system and NMS fast paths have been removed - Entity spawning and chest filling are deferred back to the main thread after FAWE completes
- The
percentageOfTickUsedForPastingconfig option is now obsolete
Dependency change: Hard dependency changed from WorldEdit to FastAsyncWorldEdit. The plugin will automatically disable itself if FAWE is not detected on startup.
2. Terra / FAWE Compatibility
Resolves chunk state issues when using async world generators like Terra with FAWE:
- Added
ChunkValidationUtil: samples multiple positions to detect whether a chunk is fully generated, preventing structures from being placed on empty chunks - Uses Paper API
getChunkAtAsyncfor async chunk loading, withPluginChunkTicketto keep chunks loaded during pasting - All world block access operations ensure chunks are loaded into memory first
3. PersistentDataContainer Chunk Marking
The 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:
- Processed chunks are tagged with
betterstructures:chunk_processed - No duplicate scanning of already-processed chunks after restart
4. Structure Location Persistence
Added StructureLocationManager and StructureLocationData to persist all generated structure locations to YAML files:
- Each world is stored independently under
structure_locations/ - Records structure coordinates, type, schematic name, and bounding box dimensions
- In-memory cache with automatic dirty-data saving every minute
- Provides the data foundation for the mob tracking system
5. Mob Tracking & Respawn System
Added MobTrackingManager and MobSpawnConfig for tracking and respawning mobs within structures:
- Records mob spawn configurations (position, type) for each structure
- Supports Vanilla / EliteMobs / MythicMobs mob types
- Spatial index (world-chunk) for fast nearby structure lookups
- Triggers mob respawn checks when players approach
- Fires
StructureClearedEventwhen all mobs in a structure are killed
6. Chinese Localization
All user-facing logs, command feedback, and menu text have been translated to Chinese across 27 files.
Requirements
| Component | Requirement |
|---|---|
| Minecraft | 1.14+ (1.21+ recommended) |
| Server | Paper (or forks like Purpur) |
| Java | 21+ |
| FastAsyncWorldEdit | Required (vanilla WorldEdit is not supported) |
Optional Dependencies
- EliteMobs - Custom bosses
- MythicMobs - Custom mobs
- WorldGuard - Region protection
- Terra / Terralith / Iris / TerraformGenerator - Custom world generation
License
GPL-3.0, same as upstream.
Credits
- Original author: MagmaGuy
- Original repository: https://github.com/MagmaGuy/BetterStructures
- Modrinth: https://modrinth.com/plugin/betterstructures
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.20, 1.20.1, 1.20.2
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Modrinth — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
- Ships as BetterStructures-FAWE-2.1.2-FAWE.8.jar — drop this file into the mods folder
- Download size: 5.1 MB
- Download link checked 6 Sept 2026 — working
These come from our own check of the pack file, not from the source page.