Releases: DavidS-Repo/SkyGridx
Release list
SkyGrid 26.2
This release adds the new 26.2 SkyGrid block materials to the world configs, updates the Paper API target, and cleans up config comments while keeping the setup notes and examples intact.
Requirements
- Java 25
- Paper or Folia 26.2
Bukkit and Spigot are not supported in this build.
Changes
-
Updated the plugin version to 26.2.
-
Updated the Paper API target to 26.2.
-
Added 26.2 block materials to the SkyGrid world config:
- CINNABAR
- SULFUR
- POTENT_SULFUR
- SULFUR_SPIKE
-
Kept MUSIC_DISC_BOUNCE out of the block distribution because it is an item, not a block.
-
Kept SULFUR_CUBE out of the block config because it is an entity.
-
Alphabetized material lists in the world config.
-
Rewrote YAML comments to make them clearer and easier to follow.
-
Preserved the existing config instructions, examples, and format notes.
-
Fixed tab indentation in YAML where needed.
26.2 block config update
The new 26.2 blocks were added with low SkyGrid spawn weights.
CINNABAR and SULFUR are normal blocks, so they appear more often.
POTENT_SULFUR and SULFUR_SPIKE have special behavior, so they are much rarer.
This keeps the new 26.2 blocks visible without making the special blocks too common.
Config comment cleanup
The YAML comments were rewritten to be more direct and easier to read.
The setup details were kept. The examples were kept. The format notes were kept.
This update should make the config files easier to edit without removing the help text that explains how each section works.
Build notes
The project now targets Paper API 26.2.
The release jar was rebuilt as:
SkyGrid-26.2.jar
Upgrade notes
Back up your server before updating.
Make sure your server is running Java 25.
Use this build on Paper or Folia 26.2.
If you already edited your config files, compare them before replacing them. This update changes comments, formatting, and material lists.
Known warning
This release updates configs for 26.2 and touches several YAML files.
Please report bugs if you run into issues with:
- World generation
- New 26.2 block distribution
- YAML config loading
- Mini regen materials
- Spawner settings
- Paper or Folia startup
SkyGrid 26.1.2
SkyGrid 26.1.2 is a major compatibility update for modern Paper and Folia servers.
This release moves the plugin from Java 21 to Java 25, updates the Paper API target to 26.1.2, removes Bukkit/Spigot support, and rebuilds a lot of the internal scheduling and world handling.
Requirements
- Java 25
- Paper or Folia 26.1.2
Bukkit and Spigot are no longer supported in this build.
This lets SkyGrid use newer Paper/Folia APIs that are needed for safer region, entity, async, and world work.
Paper and Folia world handling
Paper servers still get separate SkyGrid worlds:
skygridx_worldskygridx_world_netherskygridx_world_the_end
This lets servers keep normal survival worlds while also running SkyGrid worlds.
Folia servers use the normal loaded worlds instead:
worldworld_netherworld_the_end
This is intentional. Folia does not support plugin-created worlds the same way Paper does, so SkyGrid uses base-world mode there.
SkyGrid can also fall back to base-world mode if the server does not allow plugin world creation.
First boot and generator setup
World generator setup now happens during plugin load instead of later during enable.
This fixes the first-boot issue where Paper could try to assign the SkyGrid generator to normal default worlds before the custom worlds were ready.
SkyGrid also clears inactive generator entries depending on the current world mode:
- Paper custom-world mode uses the
skygridx_*worlds - Folia/base-world mode uses the normal loaded worlds
Paper/Folia scheduler rewrite
The old custom async scheduler and Bukkit task usage were replaced with a shared SkyGridScheduler.
SkyGrid now routes work through the proper scheduler type:
- Global scheduler for global server work
- Region scheduler for chunk and block work
- Entity scheduler for player/entity work
- Async scheduler for file or background work
This affects world setup, chunk loading, mini regen, fog, resource packs, Eyes of Ender, random teleporting, portals, beds, anchors, and other delayed tasks.
Expanded grid-face material configs
SkyGrid block configs now support extra materials attached to the faces of a selected grid block.
Example:
distributions:
custom_mushroom_fields:
GRASS_BLOCK: 25
top:
SUGAR_CANE: 20
east:
WATER: 10Supported fixed face keys:
top, up, bottom, down, east, west, north, south
Supported random face keys:
rends
rsides
rends picks one random top or bottom face.
rsides picks one random side face.
Old entries still work:
STONE: 50The new parser supports the shorthand format shown above and also supports expanded valid YAML using chance, weight, or percentage.
Face attachments also run through the normal SkyGrid block handling, so configured chests, spawners, crops, leaves, portals, and similar special blocks still get their usual setup.
Multiverse and respawn compatibility
New settings were added:
compatibility:
respawnIsolation: true
multiverseWarnings: truerespawnIsolation controls whether SkyGrid keeps players inside the SkyGrid world set after dying in a SkyGrid world.
When enabled, SkyGrid uses its custom beds, respawn anchors, or SkyGrid spawn fallback.
When disabled, Multiverse, CMI, or another spawn plugin can fully control the respawn.
multiverseWarnings lets SkyGrid warn admins when Multiverse-Core is detected. The warning reminds admins to import or create SkyGrid worlds in Multiverse with the SkyGrid generator before new chunks are generated.
Beds, anchors, portals, and teleporting
Bed and respawn anchor handling now works with both Paper custom-world mode and Folia/base-world mode.
Anchor respawns no longer overwrite bed fallback behavior when no anchor exists.
Random teleporting now loads the target chunk asynchronously, checks for a safe block in the correct region, and uses async teleporting where possible.
Portal and End handling were updated for the new world-name system and region scheduler.
Mini regen
Mini regen now uses Paper/Folia region timers instead of the old custom delayed scheduler.
It also cancels scheduled tasks properly when entries are removed or when the plugin shuts down.
Custom chests and loot storage
Chest storage was reworked.
The chest database now uses a bounded write queue and a dedicated writer thread, which helps avoid large write spikes during generation.
The database also migrates chest records between skygridx_* world names and normal world names when switching between Paper custom-world mode and Folia/base-world mode.
Chest config loading was also cleaned up, and enchanted book handling now stores enchants on books correctly.
Resource packs, fog, and Eyes of Ender
Resource pack sending now uses the newer Paper/Adventure resource pack API.
Fog tracking now uses player UUIDs and the Paper/Folia scheduler.
Custom Eyes of Ender were moved to entity scheduler timing and still refund the eye after the custom portal-search animation.
Build and dependency cleanup
The build now targets Java 25.
The Paper API version is set to 26.1.2.
The Spigot dependency and repository were removed.
fastutil is now marked as provided, using the version already included with Minecraft/Paper instead of bundling fastutil into the SkyGrid jar.
The release jar was rebuilt as:
SkyGrid-26.1.2.jar
Upgrade notes
Back up your server before updating.
Make sure your server is running Java 25.
Use this build on Paper or Folia 26.1.2.
If you use Multiverse, import or create the SkyGrid worlds with generator SkyGrid before generating new chunks.
If you use CMI, Multiverse, or another respawn manager and want that plugin to control death respawns, set:
compatibility:
respawnIsolation: falseKnown warning
A lot changed in the plugin code for this version.
Please report bugs if you run into any issues, especially with:
- Java 25 startup
- Folia region behavior
- Multiverse or other world managers
- Death respawns
- Beds or respawn anchors
- Paper custom SkyGrid worlds
- Mini regen
- Custom chests
SkyGrid 1.21.11.3
Spawner biome fix and shared biome key handling
This update fixes SpawnerSettings biome matching so custom biome spawners work again (no more constant skeleton fallback), and unifies biome key handling in one place.
Changes
- Fixed SpawnerSettings biome rules being ignored and falling back to default mobs
- Added shared biome key normalizer used by both block distribution and spawner systems
- Biome matching now uses namespaced biome keys for stable results across 1.21+
SpawnerSettings biome fix
- Spawners now match biomes using
block.getBiome().getKey().toString()with normalization. - Biome lists support both normal names (
MUSHROOM_FIELDS) and namespaced keys (minecraft:mushroom_fields). - Comma-separated biome entries in the YAML are normalized and supported.
Shared biome key utility
- New
BiomeKeyUtilcentralizes biome key normalization so behavior stays consistent across the plugin. MaterialManagerandSpawnerboth use the same normalization logic now.
SkyGrid 1.21.11.2
Biome distribution fix and generator init cleanup
This update fixes SkyGrid generation always falling back to the default distribution, and updates biome lookup to avoid deprecated API calls in 1.21+.
Changes
- Fixed biome-specific distributions being ignored during chunk generation
- Material configs now load before SkyGrid worlds start generating chunks
- Biome lookup switched to namespaced biome keys for stable matching
- Added biome key normalization so YAML entries match in more cases
Distribution loading fix
Generatorno longer loads material configs async.MaterialManageraddsreloadAll()to load all world configs up front.- This makes sure chunk generation always has the right distribution map ready.
Biome matching updates
- Generator now uses
block.getBiome().getKey().toString()instead of enumname()ortoString(). MaterialManagernormalizes biome keys (handlesminecraft:mushroom_fields, spacing, dashes, casing).- Distribution keys from YAML are trimmed before lookup to avoid hidden whitespace issues.
MaterialManager cleanup
- Removed the unused biome enum lists and precomputed world-biome mappings.
- Material parsing now uses
toUpperCase(Locale.ROOT)for safer matching across systems.
SkyGrid 1.21.11
1.21.11 update
Plugin and build updates
NAUTILUSadded as options forSpawner3in theSpawnerSettings.yml.plugin.ymlversion andapi-versionbumped to1.21.11.- Maven POM:
- Project version set to
1.21.11. - Paper and Spigot API bumped to
1.21.11-R0.1-SNAPSHOT.
- Project version set to
SkyGrid 1.21.10
SQL chest storage and 1.21.10 update
This update moves chest tracking to SQLite while keeping old worlds working, fixes a /tpr edge case, and targets the 1.21.10 server API.
Changes
- New SQLite-backed chest storage
- Safer /tpr behavior with end world handling
- Updated configs and block lists for 1.21.10
- Plugin and build bumped to 1.21.10
New SQL chest system
- Chests are now stored in a SQLite database through
ChestRegionData. CustomChestandGeneratorregister chests into SQL when chunks are generated or mini-regened.- A legacy NBT fallback is kept so worlds from the old version still have their chests filled based on old tags.
- Changes were made to address an new bug in 1.21.10. Due to server concurrency changes made to paper adding nbt tags to chest during early chunk generation was broken.
Chest generation changes
Generatornow batches chest records per chunk before writing to the database.- Chest creation supports both normal and copper chests when generating the grid.
- End portal blocks are still tracked by the portal manager as before.
/tpr bug fix
TPRCommandnow tracks the time of the last command teleport withisRecentCommandTeleport.EventControlchecks this when the player leaves the custom end, and skips its own reroute if the move came from a recent/tpr.- This stops world change events from overriding fresh
/tprdestinations.
Settings and config updates
PluginSettingsnow has an updated list of dangerous blocks for 1.21.10 plants and terrain, so/tpravoids unsafe decorative blocks.- Fixed the config key for
tprCommand.onFirstJoin. - Added a proper
isOnFirstJoinEnabledgetter and keptisOnFistJoinEnabledas a thin alias for backward compatibility. - Changes were made to address an new bug in 1.21.10 due to concurrency changes completely broke adding nbt tags to chest during early chunk generation
Plugin and build updates
plugin.ymlversion andapi-versionbumped to1.21.10.- Maven POM:
- Project version set to
1.21.10. - Paper and Spigot API bumped to
1.21.10-R0.1-SNAPSHOT. fastutilupdated to8.5.18.- Added
org.xerial:sqlite-jdbcfor the new chest SQL backend.
- Project version set to
SkyGridPluginnow:- Creates
ChestRegionDataon enable. - Shuts it down on disable to close the SQLite connection cleanly.
- Creates