Skip to content

BetterStructures Albion 1.1.1 FAWE-native performance fork - #1

Draft
wickidcow wants to merge 47 commits into
masterfrom
agent/resource-world-performance-1.1.0
Draft

BetterStructures Albion 1.1.1 FAWE-native performance fork#1
wickidcow wants to merge 47 commits into
masterfrom
agent/resource-world-performance-1.1.0

Conversation

@wickidcow

@wickidcow wickidcow commented Aug 11, 2026

Copy link
Copy Markdown
Owner

BetterStructures Performance / Albion 1.1.1 — FAWE Native

AlbionMC-specific performance and maintenance fork based on upstream BetterStructures 2.6.3, with full credit retained for MagmaGuy and upstream contributors.

Core goal

FastAsyncWorldEdit is now the required world-edit backend. Standard WorldEdit is not a supported runtime provider for this fork. com.sk89q.worldedit.* remains the API namespace because FAWE implements the WorldEdit API.

FAWE-native placement

  • Natural structure schematic placement uses asynchronous FAWE EditSession block writes with BaseBlock data for NBT/state preservation.
  • Pedestal construction and surface tree/foliage cleanup run inside the same ticketed FAWE edit as the natural structure.
  • Vanilla/EliteMobs/MythicMobs marker-block removal runs through FAWE before Bukkit entity spawning.
  • Modular/WFC dungeon generation no longer splits between NMS palette writes, Bukkit slow-block writes, and WorldEdit NBT repair; the full block plan goes through FAWE.
  • Module air carving, directional/light blocks, NBT blocks, bedrock filler, marker replacements, modular chests/barrels, WFC debug blocks, and component schematics use the FAWE provider.
  • A global serialized FAWE edit lane prevents several BetterStructures structure/dungeon edits from competing at once.

Enforced architecture

CI scans all production Java source before compilation and fails if direct Bukkit setType, setBlockData, or the legacy native-palette block-write path is reintroduced.

Bukkit primary-thread work is retained only where the API requires it: structure events, terrain sampling reads, inventories/loot, plugin callbacks, and entity spawning.

Resource-world/TPS protection

  • Qualifying player-driven structure fits are queued instead of all running in ChunkLoadEvent bursts.
  • Generation pauses around 42 MSPT / 18.5 TPS and resumes around 32 MSPT / 19.5 TPS for new configs.
  • Natural structure chunks are prepared through Paper's async chunk API in small batches.
  • Structure chunks remain ticketed through FAWE paste and cleanup.
  • BetterStructures-internal chunk loads are excluded from recursive structure generation.
  • The expensive fit → load → FAWE path remains serialized.

Compatibility baseline

  • Paper 1.21.11+ only.
  • Java 21+ build baseline.
  • FastAsyncWorldEdit required at runtime; do not install a separate WorldEdit JAR alongside it for this fork.
  • Albion fork version: 1.1.1; upstream source baseline: BetterStructures 2.6.3.

Albion identity / upstream credit

  • README pays homage to MagmaGuy as the original BetterStructures creator.
  • This fork is explicitly maintained only for AlbionMC.com and is not intended to replace or rebrand upstream BetterStructures.
  • Upstream self-update replacement remains disabled so an Albion JAR cannot silently be overwritten by an upstream plugin JAR.

Build and release

  • Output: BetterStructures-1.1.1.jar.
  • CI runs the FAWE-native source audit, clean test shadowJar, and explicit versioned-JAR verification.
  • Green branch builds publish the raw JAR directly to the albion-1.1.1-test prerelease rather than an Actions ZIP.
  • The reusable test tag is force-updated to the exact commit that passed audit/build/tests before the JAR is published.
  • Tagged v1.1.* releases publish the raw versioned JAR.

Validation state

The exact final repository head has completed a full green Actions pass: FAWE-native source audit, compile, tests, shaded JAR verification, raw prerelease publication, and exact-green-head test-tag update. The published raw asset is BetterStructures-1.1.1.jar.

This PR remains draft only for runtime smoke/performance testing in AlbionMC's resource world. The build/CI portion of the 1.1.1 FAWE-native milestone is complete.

@wickidcow wickidcow changed the title BetterStructures Albion 1.1.0 performance foundation BetterStructures Albion 1.1.1 FAWE-native performance fork Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant