Tags
Creators
Details
1.0.0-beta.2
Compatibility
Changes
Compatibility is unchanged from 1.0.0-beta.1: Paper, Purpur, other Paper forks and Folia on Minecraft 1.20.x, 1.21.x and 26.1 to 26.3, with CI verifying Folia on 1.20.4, 1.21.11 and 26.2. Folia 26.3 is supported but not yet verified because no official build is available. Longer Paper 26.3 and Folia live soaks, and verification of Folia 26.3 once a build is available, remain for 1.0.0 in #191. Minecraft 26.1 and newer need the server to run on Java 25; Java 21 is enough for 1.20 and 1.21.
Upgrading from 1.0.0-beta.1 is in place and needs no migration step; an upgrade from
an alpha also takes the 1.0.0-beta.1 upgrade notes. Stop the server and copy
plugins/SpiralGenesis before you upgrade. The data.yml format stays readable by
1.0.0-beta.1: the only addition is a top-level structures table, nothing 1.0.0-beta.1
writes changes, and 1.0.0-beta.1 ignores the table and keeps it when it saves, because it
writes back the whole file it loaded. Rolling back to 1.0.0-beta.1 therefore keeps every
player's plot; it places no structures, and the ones already placed stay in the world. An
existing config.yml is not rewritten: the new structure and messages keys it lacks
take their defaults, so spawn plot structures stay off while plot and claim notices and
the arrival hint are on.
The first start of this version, and every /sgen reload, creates
plugins/SpiralGenesis/structures/ with the three default .nbt templates, even with
structures off. A copy already there is never overwritten, and the folder left behind
after a rollback does no harm. A structure is placed only when a plot is first allocated,
so a plot allocated while 1.0.0-beta.1 was running after a rollback never gets one
automatically once this version is back; /sgen structure <player> place places it.
/sgen me is available to every player by default through spiralgenesis.me, which
spiralgenesis.admin includes; negate spiralgenesis.me to withhold it. The
administrative subcommands still require spiralgenesis.admin. /sgen no longer has a
command-level permission, so every player now sees it in tab completion and the command
list, but only me is usable without spiralgenesis.admin; a player with
spiralgenesis.me negated gets the plugin's no-permission message.
Added
/sgen mereports a player's spawn coordinates, distance, respawn-point status, actual claim bounds and named access without administrative permission.- Configurable chat notices for plot placement and claim creation or repaired access, with independent automatic-notice switches and legacy colour support.
- Optional spawn plot structures (
structure:inconfig.yml, off by default): a template saved with a structure block is placed once on each new plot, after its storage write and claim step, on the region thread that owns it. Three templates ship: a 7x7 hut, a tower that needsprotection.size11, and a 3x3 marker for small claims. The floor replaces the ground, enclosed air clears, outside air leaves terrain alone, and bedrock and block entities are never replaced; a plot that is too small, claimed by someone else, sloped (unlessterrain: FOUNDATION), too high or left unsafe is skipped with one log line. Startup and/sgen reloadwarn once when the template is larger thanprotection.sizeor cannot be read. /sgen structure <player> [place]reports a plot's structure, dry-runs the template there, or places it now.data.ymlgains a top-levelstructurestable keyed by plot. Nothing 1.0.0-beta.1 writes changes, and 1.0.0-beta.1 keeps the table when it saves.- An action-bar hint on arrival at the plot shows its coordinates and, for a claim of
the player's, its size, inclusive bounds and GriefPrevention's investigation tool.
It stays while the player is in the arrival column, lingers briefly after they leave
it and is capped (
messages.arrival.*). The claim's edges are drawn once on arrival with GriefPrevention's own visualisation; neither appears on Folia.
Fixed
/sgen info <player>now includes actual claim bounds and access, and floors negative block coordinates correctly./sgen structure <player>, with or withoutplace, works for an offline player whose plot nobody is near: the plot's chunks are held with a plugin chunk ticket until the outcome is decided, instead of unloading before the check ran. A dry run's refusal now readsWould not place a structure on ..., and the verdict of both forms is written to the console log, so a command sent over RCON has a visible result.
What's Changed
- feat(protection): inspect spawn claims and report access changes by @BharathASL in https://github.com/Ninja6-MC/SpiralGenesis/pull/194
- ci: bump the actions group across 1 directory with 5 updates by @dependabot[bot] in https://github.com/Ninja6-MC/SpiralGenesis/pull/192
- build: bump gradle-wrapper from 9.7.1 to 9.8.1 in the gradle group across 1 directory by @dependabot[bot] in https://github.com/Ninja6-MC/SpiralGenesis/pull/182
- feat(messages): show an arrival hint and claim edges on the plot by @BharathASL in https://github.com/Ninja6-MC/SpiralGenesis/pull/199
- feat(structure): place a template structure on each new spawn plot by @BharathASL in https://github.com/Ninja6-MC/SpiralGenesis/pull/200
- docs(release): prepare 1.0.0-beta.2 by @BharathASL in https://github.com/Ninja6-MC/SpiralGenesis/pull/201
- fix(structure): keep offline plot chunks loaded for /sgen structure by @BharathASL in https://github.com/Ninja6-MC/SpiralGenesis/pull/203
Full Changelog: https://github.com/Ninja6-MC/SpiralGenesis/compare/v1.0.0-beta.1...v1.0.0-beta.2
Optional dependencies
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:v2NrsydG:pZsTfmHE"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:v2NrsydG:pZsTfmHE"
}

