Overview
Drive BuildSystem from your own plugin.
Developer documentation for the BuildSystem API (version 4.0.0). Use it to create worlds programmatically, listen to lifecycle events, manage backups, and integrate with PlaceholderAPI and LuckPerms.
Getting the API instance
Add buildsystem-api as a compileOnly / provided dependency, then resolve the service:
BuildSystem buildSystem = BuildSystemProvider.get();BuildSystemProvider reads the same registration BuildSystem publishes to Bukkit's ServicesManager during its onEnable, so resolving the service directly returns the identical object:
RegisteredServiceProvider<BuildSystem> registration =
Bukkit.getServicesManager().getRegistration(BuildSystem.class);Either call throws or returns null before BuildSystem has enabled, so do your lookup in your own onEnable after declaring BuildSystem in your plugin.yml depend or softdepend list -- not in a constructor or onLoad. See Getting Started for the Maven and Gradle coordinates.
Depend on the interfaces in buildsystem-api, never on the *Impl classes in the plugin jar. Only the API module is a stable surface; the implementation is free to change between releases.
Navigation
Getting Started: Add API dependencies (Maven/Gradle), resolve the API instance, and manage lifecycles.
World Management: Generate and import worlds using fluent builder patterns, and interact with flat property accessors on
WorldData.Backup Service: Manage world backups and restore operations programmatically.
Event Pipeline: Listen and react to custom world, folder, and backup events.
Placeholders & Integrations: PlaceholderAPI placeholders, LuckPerms contexts, and WorldEdit checks. Filed under Reference because it is server configuration rather than API.
Last updated