1.0.0
Compatibility
Changes
StructureCycle 1.0.0
The first stable release of StructureCycle is ready for production use on supported Bukkit-family servers.
Highlights
- Discovers vanilla and data-pack structures directly from the server registry.
- Captures exact piece-based baselines, including block states, containers, block entities, and entities.
- Restores structures manually or on configurable automatic schedules without regenerating chunks.
- Creates a retained backup of the live structure before every reset for rollback.
- Includes a paginated admin GUI with filters, structure details, boundary previews, controls, and confirmation screens.
- Supports manual, automatic, and disabled policies with per-structure mode and cooldown overrides.
- Blocks resets while players are inside the configured safety area and identifies the blocking players.
- Tracks player and environmental changes involving blocks, buckets, explosions, pistons, and entity block changes.
- Protects data with operation locking, atomic metadata saves, transactional baseline replacement, and interrupted-capture recovery.
- Requires no dependencies and includes no telemetry, advertisements, accounts, or external services.
Compatibility
- Minecraft 1.21.4 through 26.3
- CraftBukkit / Spigot
- Paper
- Purpur
- Compatible Bukkit/Paper forks are expected to work but should be tested before production use.
- Folia and proxy installation are not supported.
The same release JAR was boot-tested on Paper 1.21.4, 1.21.11, 26.1.2, 26.2, and 26.3, plus Purpur 1.21.11, 26.1.2, and 26.2.
Always make a full world backup before installing a world management plugin on a production server.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:dut1fkiw:TqvYDAUj"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:dut1fkiw:TqvYDAUj"
}

