SkyGridx 图标

Minecraft 服务端插件

SkyGridx

Experience the Latest Blocks, Customize Your SkyGrid, and Enjoy Real-Time, Efficient Generation.

游戏机制工具类世界生成bukkitfoliapaperpurpurspigot
版本范围
1.20–26.2
下载量
6,389

插件介绍

SkyGridx - Official Support & Downloads

Join our Discord Community for help, support, issues, feedback, and discussions!
Click here to join: Join Our Discord

Download Links:

Overview

The SkyGrid Plugin offers access to the latest blocks (26.1.2) and empowers users to fully customize the grids in the Overworld, Nether, and End dimensions. The initial generation process, which typically takes ~1 minute, adapts to the server's capabilities. Subsequently, all generation activities occur efficiently in real-time.

This plugin also includes a built-in random teleport command for each dimension, ensuring that players can safely explore their chosen realm. Furthermore, it features an ore generator that can modify stone generation to create various blocks of your choice. While currently configured primarily for ores, the possibilities are virtually endless.

Skygrid

Key Features:

Block Selection:

  • Create a unique SkyGrid with a variety of blocks from the Bukkit Material page.
  • Customize block types and percentages effortlessly.

Real-time Generation:

  • SkyGrid generates in real-time as you explore.

Built-in Fog Feature:

  • Fog feature accompanied by a texture pack. Admins can enable it using /fogon and disable with /fogoff. This feature allows lower render distances without disrupting immersion.
  • Feature is included in the settings file if you would like to enable it by default, it will come as disabled by default.

Material Distribution:

  • Define personalized materials for block placement per world.
  • Fine-tune material distribution percentages for a distinct experience.
  • Choose parent materials as well as materials for all the sides and ends of said parent block material

Biome-Specific Grids:

  • Customize grids in Overworld, Nether, and End with unique blocks at the biome level.

Ore Generation:

  • Seamlessly integrated into the gameplay, this feature replaced generated stone, cobblestone or basalt with any blocks you want.
  • The block types generated, and their percentages can be effortlessly modified to suit your preferences in the ores.yml file inside the OreGenBlock folder, and work on all worlds where stone, cobblestone or basalt can be generated.

Teleportation Command:

  • Securely teleport to random locations in
    • Overworld (/tpr overworld) or (/tpro)
    • Nether (/tpr nether) or (/tprn)
    • End (/tpr end) or (/tpre).
  • Range can be customized in the settings
  • Settings also include cooldown for per world command reuse
  • All have their own individualize permissions

Spawner Settings:

  • The available entities for use can be found at here
  • Fine-tune spawner settings for entities, delay, max nearby entities, and more.
  • Random entity selection based on spawn weights for added unpredictability.
  • Customize spawners for specific biomes at the block level, adding a new layer of customization. For example, if you specify the biome as DEEP_DARK, you can configure spawners to spawn WARDEN entities exclusively in that biome.

Chest Loot Customization:

  • Tailor chest loot settings with precision, specifying items, percentages, amounts, custom names, Enchantments , lore colors and more.
  • Tiered loot distribution for added variety, each tier with its own set of items and probabilities.
  • Customize chest loot for specific biomes, allowing for a more immersive and thematic distribution of items based on the environment.

Mini Chunk Regeneration

  • Periodically regenerate selected chunks on a timer without touching the surrounding world.
  • Configure with /miniregen or MiniRegen/mini_regen_settings.yml once chunks have been chosen.
  • Supports custom material distributions and grouping for bulk removal.

Enhanced Eye of Ender

  • Eyes follow a smooth arc to the nearest registered portal, hover for 5 s with particles, then refund the eye.
  • If no portal exists, they pop instantly with a small explosion and refund.
  • Portal coordinates stored in an efficient binary file (portals.dat).
  • This is only for END_PORTAL materials used in the grid, and serves as a replacement for the missing stronghold structure.

Commands:

  • /tpr [world]: Random teleport in the Overworld, Nether, or End.
  • /tpro: Random teleport in the Overworld.
  • /tprn: Random teleport in the Nether.
  • /tpre: Random teleport in the End.
  • /fogon: Enable fog.
  • /fogoff: Disable fog.
  • /eclogson: Enable Event Control logging.
  • /eclogsoff: Disable Event Control logging.
  • /patch: Patch files to update materials and entities to the newest version.
  • /miniregen add [interval in seconds] [alias] [distribution] [group(optional)]: Schedule mini chunk regeneration for your current chunk.
  • /miniregen remove [alias]: Remove a mini chunk regeneration setting by alias.
  • /miniregen remove group [groupName]: Remove all mini regeneration settings in a given group.

Permissions:

(Default all)

  • sg.tpr: Allows teleportation to Overworld, Nether, and End using the /tpr [world] command.
  • sg.tpr.overworld: Grants permission to use the /tpro command for teleportation in the Overworld.
  • sg.tpr.nether: Grants permission to use the /tprn command for teleportation in the Nether.
  • sg.tpr.end: Enables usage of the /tpre command for teleportation in the End.

(Default OP)

  • sg.tpr.*: Provides access to all teleportation commands.
  • sg.fogon: Allows enabling fog using the /fogon command.
  • sg.fogoff: Allows disabling fog with the /fogoff command.
  • sg.eclogson: Grants permission to enable Event Control logging using /eclogson.
  • sg.eclogsoff: Grants permission to disable Event Control logging using /eclogsoff.
  • sg.patch: Allows patching files to update materials and entities to another version.
  • sg.regen: Grants permission to regenerate all loaded chunks using the /regen command.
  • sg.miniregen: Grants permission to manage mini chunk regeneration using the /miniregen command.
  • sg.*: Provides access to all SkyGrid commands.

Installation Instructions

For detailed installation instructions, click here.

Configuration Files


Additional Mechanisms:


版本与下载

推荐下载

SkyGrid-1.21.10.jar版本 1.21.10 · 14 MBSHA-1 38f88b1189a5aa0a4381fcc5bcf3fed649d8143a下载 SkyGrid-1.21.10.jar

26.2

正式版
加载器
folia · paper · purpur
MC 版本
26.2
SkyGrid-26.2.jar13.9 MBSHA-1 c16765d4500a2b81b00bd35f19fa70fdfb626372获取文件 SkyGrid-26.2.jar
展开更新日志

What's new in SkyGrid 26.2

  • Updated for Paper and Folia 26.2

  • Added the new 26.2 blocks to SkyGrid world generation:

    • Cinnabar
    • Sulfur
    • Potent Sulfur
    • Sulfur Spike
  • Cinnabar and Sulfur can now show up as normal SkyGrid blocks

  • Potent Sulfur and Sulfur Spike were added as rare blocks since they have special behavior

  • Material lists in the config files were cleaned up and sorted

  • Config comments were rewritten to be easier to read

  • Existing config help, examples, and format notes were kept

  • Fixed a YAML spacing issue that could cause config loading problems

This update mainly keeps SkyGrid ready for Paper and Folia 26.2 and adds the new 26.2 blocks to world generation. Cinnabar and Sulfur should appear more often because they are normal blocks. Potent Sulfur and Sulfur Spike are much rarer because they behave differently from normal blocks. Old config setups should still work. If you already changed your config files, compare them before replacing them.

26.1.2

正式版
加载器
folia · paper · purpur
MC 版本
26.1.2
SkyGrid-26.1.2.jar13.9 MBSHA-1 6e748099518e55ac78b0313ad8a1ccf2cc0443f4获取文件 SkyGrid-26.1.2.jar
展开更新日志

What's new in SkyGrid 26.1.2

  • Updated for Paper and Folia 26.1.2
  • SkyGrid now requires Java 25
  • SkyGrid now focuses on Paper and Folia only (removed support for spigot and bukkit)
  • Folia has been update to remove the need for Datapack, as well as moved over to using the sql light system for chest
  • Better handling for beds, respawn anchors, portals, and SkyGrid world respawns
  • New compatibility settings for Multiverse, CMI, and other spawn/world plugins
  • Mini regen, fog, custom chests, Eyes of Ender, teleporting, and resource pack handling were updated for the new Paper/Folia scheduler system
  • New grid-face material options for more detailed SkyGrid block setups

The biggest config feature is grid-face materials. Server owners can now attach blocks to the top, bottom, or sides of a picked SkyGrid block.

Example:

distributions:
  custom_mushroom_fields:
    GRASS_BLOCK: 25
      top:
        SUGAR_CANE: 20
      east:
        WATER: 10

example image

Old block config entries still work, so simple setups do not need to change.

Note: A lot changed in the plugin code for this version. Please report any bugs you run into, especially if your server uses Multiverse, CMI, Folia, or another world/spawn manager.

1.21.11

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21.11
SkyGrid-1.21.11.jar14 MBSHA-1 5be341dae4b29b5ef90014ed9ea1dbd04fcf17e0获取文件 SkyGrid-1.21.11.jar
展开更新日志

Spawner biome fix (same kind of bug as the grid one)

  • Like the recent grid fix, spawners had a biome matching issue too due to api changes.
  • If you set a biome in SpawnerSettings (like Mushroom Fields), it could still fall back to the default mobs (often skeletons). This is now fixed.

If you are interested you can check out the more detailed updated release notes here

1.21.11

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21.11
SkyGrid-1.21.11.jar14 MBSHA-1 b9f9c0edc0797c1d9b1abc506e0c49d8a60dcf18获取文件 SkyGrid-1.21.11.jar
展开更新日志

What's new

1.21.11 Stuff

  • The new entities released in 1.21.11 have been added to the possible selection in the spawner settings.

Bug Fix

  • Fixed a bug where the generator was mostly ignoring biome distributions and using the default blocks instead.
  • Biome matching is now more reliable (uses the biome key the server gives, with cleanup so YAML matches).

Note: Tested on Paper 1.21.11+. Please report any issues you encounter here or if you are interested you can check out the more detailed updated release notes here

1.21.10

正式版推荐
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21.10
SkyGrid-1.21.10.jar14 MBSHA-1 38f88b1189a5aa0a4381fcc5bcf3fed649d8143a获取文件 SkyGrid-1.21.10.jar
展开更新日志

What's new

Updated Chest system

  • Paper 1.21.10 changed how chunks load and broke our old way of tagging chests. Chest data now lives in a small local database so keys stay reliable even if Paper changes more. Old worlds still work like before.
  • This makes the jar a bit larger and adds a small database file for the plugin, but it should feel the same on normal size servers.
  • I have not stress tested this on huge servers with massive worlds, so if that is your setup you may want to keep an eye on database size and performance.

New content

  • New 1.21.10 blocks and mobs are added into the grid and spawners, so the world matches the new version.

Bug Fix for /tpr and safety

  • Fixed a bug where using /tpr in the End could drop you in the wrong dimension. Also added new unsafe blocks like leaf litter and dry grass so random teleports avoid new possible bad locations.

Note: This is a significant update with lots of changes. Tested on Paper 1.21.10 so far. Please report any issues you encounter here.

If you are interested you can check out the more detailed updated release notes here

1.21.7

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21.7
SkyGrid-1.21.7.jar252.5 KBSHA-1 59da5af096c69b4e58b3b71f96a3d23f15b9af86获取文件 SkyGrid-1.21.7.jar
展开更新日志

Sorry it's taken so long to get the update out on the plugin pages. I've been busy, and even though the update has been done for a while, I just haven't had time to post it.

In this version, a lot has been overhauled to simplify the installation process where possible for all versions except Folia, due to some limitations with their API.

Major Changes

The datapack is no longer required for (Spigot, Bukkit, Paper, Pufferfish, Purpur, Leaf), since a custom generator has been built using the API to strip world chunk data of everything except biomes. This was done to support multi-world setups beyond the default 3 worlds.

⚠️⚠️⚠️ The plugin now creates 3 completely custom worlds and leaves the default ones untouched. So if you're switching from an old version and using (Spigot, Bukkit, Paper, Pufferfish, Purpur, Leaf), you'll need to do a few extra things. Like copying over your saved region data to the new worlds, and so on. ⚠️⚠️⚠️

If you're making a brand new server, you can just proceed as normal. Download the plugin and launch the server—no more extra steps like creating a datapack folder. Use the built-in /tpr command to teleport to the SkyGrid worlds. Portals, beds, and similar stuff are now isolated from the standard worlds. For example, going through a portal in the SkyGrid Overworld takes you to a SkyGrid Nether or End, depending on the type.

New Features

Custom Ender Eye Portal Tracking

Stand-alone end portals have been added to the SkyGrid Overworld. The plugin has custom logic to let Ender Eyes track these portals.

  • Eyes follow a smooth arc to the nearest registered portal
  • They hover with particles for 5 seconds so players can catch them
  • Then they get refunded to the player
  • If no portal exists, the eye pops with a small explosion and gets refunded
  • Portal data is stored in a fast binary file (portals.dat)
  • Only works with END_PORTAL blocks in the grid
  • Replaces the missing stronghold structure

Auto Mini-Chunk Regen

You can now mark any chunk to auto-regen on a timer. Great for farms, mob grinders, or any spot you want to reset without doing anything. Use easy in-game commands:

/miniregen add to start a regen job
/miniregen remove to stop it

You can tab-complete the interval, alias, distribution, or group name.

New 1.21.5–1.21.7 Content

All the new blocks and mobs have been added to the grid. Things like:

  • Firefly Bush
  • Leaf Litter
  • Wildflowers
  • Bush
  • Short Dry Grass
  • Cactus Flowers
  • Happy Ghast Spawners
  • ... and more

/miniregen Command

/miniregen add [seconds] [alias] [distribution] [group]  
/miniregen remove [alias]  
/miniregen remove group [groupName]  

Examples

# Regen this chunk every 5 minutes  
/miniregen add 300 farmZone spring_to_life  

# Stop that job  
/miniregen remove farmZone  

# Remove all jobs in the "farm" group  
/miniregen remove group farm  

Sample Materials List

Here's a sample mini_regen_materials.<code>yml </code> setup:

distributions:  
  spring_to_life:  
    FIRELY_BUSH: 1.0  
    LEAF_LITTER: 0.5  
    WILDFLOWERS: 0.7  
    SHORT_DRY_GRASS: 0.4  
    TALL_DRY_GRASS: 0.4  
    CACTUS_FLOWER: 0.2  
    LODESTONE: 0.8  

Chest System Updates

The chest system now supports more loot customization:

  • Mix Minecraft loot tables and your own custom ones
  • Set custom item spawn chances
  • See the SkyGridX Chest Settings Guide for full details

New tipped arrow logic adds random potion effects to arrows in chests for more variety.

End Fight Changes

The dragon fight is easier now:

  • The End portal was moved to the same Y level as the obsidian platform
  • A big dome around the fight area has been cleared of blocks
  • Easier to shoot crystals and hit the dragon
  • End pillars regenerate but no longer have cages

Bug Fixes

  • Fixed enchanted books not combining properly
  • Fixed enchantment text only showing in English (now uses server language)
  • Lots of smaller bug fixes not listed

There’s been a ton of changes. If you need help with anything or run into issues, let me know on the plugin Discord Or submit issues on GitHub.


Folia version for 1.21.7 will come when they updated their api to 1.21.7

1.21.4

正式版推荐
加载器
folia
MC 版本
1.21.4
SkyGrid-Folia-Beta-1.21.4.jar203.3 KBSHA-1 017ab73268e3b4a2831568c5bd975c1e5975ebe0获取文件 SkyGrid-Folia-Beta-1.21.4.jar
展开更新日志

Has all same features as latest SkyGridx, but is optimized for folia specifically.

What is included in the latest update:

Plugin Update: Enhanced Chest System and Loot Distribution!

What's New?

  • Updated Loot Tables:
    I've refreshed the loot tables to use the newest vanilla loot tables wherever possible. For example, in the jungle you'll now find loot from the updated jungle temple. Custom loot tables have also been improved – there are more items, more food options, more wood, and all the armor trims are now available across every dimension. Additionally, custom chests now include a wider selection of tools with more enchantment variety, and I've even swapped out wooden tools for gold ones for better balance.

  • Increased Distribution:
    The probability of finding chests and spawners has been boosted by 2-3 times in all dimensions. This means chests are now easier to locate, and with the updated loot tables, the rewards will be even more enticing.

  • Dynamic Loot & Performance Boost:
    Chests now populate their loot when they are opened instead of at the moment they're generated. This change not only improves performance by eliminating the need to calculate loot for every chest during chunk generation but also means that if loot tables are updated later, players will receive the new, updated loot instead of outdated items.

Enhanced Chest Modes

  • Two Ways to Populate Chests:
    • Custom Loot Tables:
      Define exactly which items appear in your chests using either a compact or an expanded format. You can customize item display names (with color codes), set how enchantment levels are shown (either as numbers with a prefix or as Roman numerals), and even use filler items to adjust the rarity of valuable items.
#############################
# [Legacy (Compact) Format] #
#############################
ChestSettings:
  ChestOld:
    Items: [MATERIAL_ENUM:weight:maxAmount]
    Biomes: [BIOME_ENUM]
##########################################
# [Expanded Format / Enchanment Support] #
##########################################
ChestSettings:                                    # ChestSettings (Parent Key) Under this key, create one or more named chest configurations (e.g., "Chest1").
  ChestNew:                                       # Chest key can be anything, really. If you use special characters, make sure to put them inside parentheses like this: "N@me". It is used as a unique identifier for each chest (there should not be two that are the same).
    Items:
      - MATERIAL_ENUM:                            # Use the exact item names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
        - Weight: <numeric value>                 # The chance (in percent) for the material to be placed in the chest.
        - MaxAmount: <numeric value>              # The max amount of that material that will be allowed chest wide.
        - CustomName: <custom display name>       # Supports use of Minecraft color codes like "§0" for Black and so on.
        - LevelType: <Standard or Roman>          # Item-wide setting for enchantment display
        - Enchantments:
            - ENCHANTMENT_ENUM:                   # Use exact enchantment names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
                - Weight: <numeric chance in percent>
                - MinLevel: <minimum level>
                - MaxLevel: <maximum level>
                - LoreColor: <color>             # (Optional) Valid colors: BLACK, DARK_BLUE, DARK_GREEN,DARK_AQUA, DARK_RED, DARK_PURPLE, GOLD, GRAY,DARK_GRAY, BLUE, GREEN, AQUA, RED, LIGHT_PURPLE,YELLOW, WHITE.
    Biomes:
      - BIOME_ENUM                               # Use the exact biome names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html

Custom 1 Custom 2

  • Minecraft-based Loot Tables:
    Use vanilla Minecraft’s loot generation with our updated loot table selections. Simply list the loot table names with their weights, and the plugin will automatically handle loot generation.
#########################
# [New Vanilla Support] #
#########################
ChestSettings:                                    # ChestSettings (Parent Key)
  ChestMulti:                                     # Chest key can be anything, really. If you use special characters, make sure to put them inside parentheses like this: "N@me". It is used as a unique identifier for each chest (there should not be two that are the same).
    LootTables:                                   # LootTables (Parent Key)
      - SIMPLE_DUNGEON:                           # Each loot table entry is defined as a map where the key is a loot table enum (from Bukkit’s LootTables, such as SIMPLE_DUNGEON, ABANDONED_MINESHAFT, etc.) Bukkit LootTables: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/loot/LootTables.html
          - Weight: 80.6                          # The chance (in percent) for the material to be placed in the chest.
      - VILLAGE_ARMORER:
          - Weight: 19.4
    Biomes:                                       # Biomes (Parent Key)
      - DESERT                                    # Use the exact biome names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html

Vanilla 1 Vanilla 2

1.21.4

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21.4
SkyGrid.jar192.2 KBSHA-1 603d283a93223ed9b29c9a19a3130a42a05d3681获取文件 SkyGrid.jar
展开更新日志

Plugin Update: Enhanced Chest System and Loot Distribution!

What's New?

  • Updated Loot Tables:
    I've refreshed the loot tables to use the newest vanilla loot tables wherever possible. For example, in the jungle you'll now find loot from the updated jungle temple. Custom loot tables have also been improved – there are more items, more food options, more wood, and all the armor trims are now available across every dimension. Additionally, custom chests now include a wider selection of tools with more enchantment variety, and I've even swapped out wooden tools for gold ones for better balance.

  • Increased Distribution:
    The probability of finding chests and spawners has been boosted by 2-3 times in all dimensions. This means chests are now easier to locate, and with the updated loot tables, the rewards will be even more enticing.

  • Dynamic Loot & Performance Boost:
    Chests now populate their loot when they are opened instead of at the moment they're generated. This change not only improves performance by eliminating the need to calculate loot for every chest during chunk generation but also means that if loot tables are updated later, players will receive the new, updated loot instead of outdated items.

Enhanced Chest Modes

  • Two Ways to Populate Chests:
    • Custom Loot Tables:
      Define exactly which items appear in your chests using either a compact or an expanded format. You can customize item display names (with color codes), set how enchantment levels are shown (either as numbers with a prefix or as Roman numerals), and even use filler items to adjust the rarity of valuable items.
#############################
# [Legacy (Compact) Format] #
#############################
ChestSettings:
  ChestOld:
    Items: [MATERIAL_ENUM:weight:maxAmount]
    Biomes: [BIOME_ENUM]
##########################################
# [Expanded Format / Enchanment Support] #
##########################################
ChestSettings:                                    # ChestSettings (Parent Key) Under this key, create one or more named chest configurations (e.g., "Chest1").
  ChestNew:                                       # Chest key can be anything, really. If you use special characters, make sure to put them inside parentheses like this: "N@me". It is used as a unique identifier for each chest (there should not be two that are the same).
    Items:
      - MATERIAL_ENUM:                            # Use the exact item names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
        - Weight: <numeric value>                 # The chance (in percent) for the material to be placed in the chest.
        - MaxAmount: <numeric value>              # The max amount of that material that will be allowed chest wide.
        - CustomName: <custom display name>       # Supports use of Minecraft color codes like "§0" for Black and so on.
        - LevelType: <Standard or Roman>          # Item-wide setting for enchantment display
        - Enchantments:
            - ENCHANTMENT_ENUM:                   # Use exact enchantment names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
                - Weight: <numeric chance in percent>
                - MinLevel: <minimum level>
                - MaxLevel: <maximum level>
                - LoreColor: <color>             # (Optional) Valid colors: BLACK, DARK_BLUE, DARK_GREEN,DARK_AQUA, DARK_RED, DARK_PURPLE, GOLD, GRAY,DARK_GRAY, BLUE, GREEN, AQUA, RED, LIGHT_PURPLE,YELLOW, WHITE.
    Biomes:
      - BIOME_ENUM                               # Use the exact biome names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html

Custom 1 Custom 2

  • Minecraft-based Loot Tables:
    Use vanilla Minecraft’s loot generation with our updated loot table selections. Simply list the loot table names with their weights, and the plugin will automatically handle loot generation.
#########################
# [New Vanilla Support] #
#########################
ChestSettings:                                    # ChestSettings (Parent Key)
  ChestMulti:                                     # Chest key can be anything, really. If you use special characters, make sure to put them inside parentheses like this: "N@me". It is used as a unique identifier for each chest (there should not be two that are the same).
    LootTables:                                   # LootTables (Parent Key)
      - SIMPLE_DUNGEON:                           # Each loot table entry is defined as a map where the key is a loot table enum (from Bukkit’s LootTables, such as SIMPLE_DUNGEON, ABANDONED_MINESHAFT, etc.) Bukkit LootTables: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/loot/LootTables.html
          - Weight: 80.6                          # The chance (in percent) for the material to be placed in the chest.
      - VILLAGE_ARMORER:
          - Weight: 19.4
    Biomes:                                       # Biomes (Parent Key)
      - DESERT                                    # Use the exact biome names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html

Vanilla 1 Vanilla 2

1.21.4

正式版
加载器
folia
MC 版本
1.21.4
SkyGrid-Folia-Beta-1.21.4.jar198.4 KBSHA-1 022c98cf5159dda9f1fc2354f073e99043716603获取文件 SkyGrid-Folia-Beta-1.21.4.jar
展开更新日志

Has all same features as latest SkyGridx, but is optimized for folia specifically.

What is included in the latest update:

Update Overview

This update makes chest loot in the plugin much more customizable and easier to manage. I’ve added new options that let you change how items look and how their enchantments are shown. I’ve also reworked some of the world file settings to improve overall control. Here’s what’s new:

Custom Item Names and Enchantment Options

  • Custom Item Names: You can now give items their own names using Minecraft color codes. For example, you can name an item "§6HolyDirt" to have it appear in gold. This makes your chests look more personalized and fun!

  • New Enchantment Display Options: Instead of setting the display style for each enchantment one by one, you now choose one style for the whole item. With the new LevelType setting, you have two options:

    • Standard: Shows numbers like "lvl_1", "lvl_2", etc.

    Standard

    • Roman: Shows numbers as Roman numerals like "I", "II", and so on. (Note: Roman numerals work up to 3999.)

    Roman

    If you don’t choose a style, it will automatically use the Roman style.

  • LoreColor for Enchantments: Each enchantment can now have its own custom color in the item’s description. This lets you match your server’s theme or simply make items more eye-catching. You can use common color names like RED, BLUE, GREEN, and many more.

  • Better Distribution Control:
    With these changes, you now have even more control over how items are distributed in chests. The updated settings allow you to manage both how many items appear in each slot and how they are spread out across the chest. So, a lower MaxItemsPerSlot means more distributed items in the chest, while higher migth result in less distrbution if not set up properly.

World File Configuration Rework

  • World Files in YAML:
    I have updated the format for the world configuration files. Material text files have been converted to YAML, and the way biomes are set up has changed. If you use custom world settings, you will need to update them according to the new format.

Here are the updated settings files so that you can see the changes:

ChestSettings.yml

# ------------------------------------------------------------------------------
#  Chest Settings
#
#  This file configures how chests are populated in specific biomes using a
#  weight-based system for random item selection. Each chest configuration
#  also respects a global "MaxItemsPerSlot" to control the number of items that
#  can appear in any single slot.
#
#  New Settings:
#    - CustomName:
#         Allows you to set a custom display name for an item using Minecraft color codes. For example, "§6HolyDirt" will display the name in gold.
#
#    - LevelType (Item-wide):
#           * Standard: Displays levels as numbers with a "lvl_" prefix (e.g., "Mending lvl_1", "Fortune lvl_2").
#           * Roman: Displays levels as Roman numerals (e.g., "Mending I", "Fortune II"). Note: I have added roman numeral conversion that supports values up to 3999.
#           * Default: If omitted or unrecognized, defaults to Roman.
#
#    - Enchantments:
#         Each enchantment entry now supports:
#           * Weight: The chance (in percent) for the enchantment to be applied.
#           * MinLevel / MaxLevel: The range for the enchantment level.
#           * LoreColor: The color used to display the enchantment in the item's lore. Valid colors include: BLACK, DARK_BLUE, DARK_GREEN, DARK_AQUA, DARK_RED, DARK_PURPLE, GOLD, GRAY, DARK_GRAY, BLUE, GREEN, AQUA, RED, LIGHT_PURPLE, YELLOW, WHITE.
#
#  Advanced Weighting: Filler Items & Rare Items
#    - You can add "filler" items (for example, AIR) with a high weight to reduce the overall odds of rare items appearing. For example, setting AIR to a weight of 90 while giving DIAMOND a weight of 0.3 will make diamonds extremely rare.
#
# ------------------------------------------------------------------------------
#
#  1) MaxItemsPerSlot (Global)
#     - Sets a hard limit on how many items of a single type can be placed in one
#       slot, regardless of the item’s maxAmount. Default: 2
#
#  2) ChestSettings (Parent Key)
#     - Under this key, create one or more named chest configurations (e.g., "Chest1").
#
#
#        [Legacy (Compact) Format]
#
#         ChestSettings:
#           ChestOld:
#             Items: [ITEM_NAME:weight:maxAmount]
#             Biomes: [BIOME_NAME]
#
#       [New Expanded Format]
#
#       ChestSettings:
#         ChestNew:
#           Items:
#             -ITEM_NAME:                             # Use the exact item names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
#               - Weight: <numeric value>
#               - MaxAmount: <numeric value>
#               - CustomName: <custom display name>  # Supports use of Minecraft color codes like "§0" for Black and so on.
#               - LevelType: <Standard or Roman>     # Item-wide setting for enchantment display
#               - Enchantments:
#                   - ENCHANTMENT_NAME:              # Use exact enchantment names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
#                       - Weight: <numeric chance in percent>
#                       - MinLevel: <minimum level>
#                       - MaxLevel: <maximum level>
#                       - LoreColor: <color>         # (Optional) Valid colors: BLACK, DARK_BLUE, DARK_GREEN,DARK_AQUA, DARK_RED, DARK_PURPLE, GOLD, GRAY,DARK_GRAY, BLUE, GREEN, AQUA, RED, LIGHT_PURPLE,YELLOW, WHITE.
#           Biomes:
#             - BIOME_NAME                          # Use the exact biome names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html
#
#
#  3) How the Code Chooses Items (Weight-Based):
#     - The plugin sums all item 'weight' values in a chest config, then picks an item for each empty slot in proportion to those weights.
#       Example: With four items each having weight 5, the total weight is 20, and each item has a 25% chance per slot.
#
#  4) Reducing Item Chance (Filler Items):
#     - To lower the odds of high-value items appearing, you can add filler items (e.g., AIR) with a high weight to dilute the selection.
#       For instance, AIR with weight 90 dilutes the chance of DIAMOND (e.g., weight 0.3) being chosen.
#
#  5) maxAmount vs. MaxItemsPerSlot:
#     - maxAmount: The total maximum number of a given item allowed in the entire chest.
#     - MaxItemsPerSlot: The maximum number of that item that can be placed in any one slot.
#
#  6) YAML Tips:
#     - Use standard YAML naming rules for chest configurations (alphanumeric, underscores,
#       or quoted strings for spaces/special characters).
#     - Both "compact" and "expanded" list styles are supported.
#
# ------------------------------------------------------------------------------
#
MaxItemsPerSlot: 2

ChestSettings:
  Chest1:
    Items:
      - MYCELIUM:30:5
      - RED_MUSHROOM:20:5
      - BROWN_MUSHROOM:20:5
      - RED_MUSHROOM_BLOCK:10:5
      - BROWN_MUSHROOM_BLOCK:10:5
      - MUSHROOM_STEM:10:5
    Biomes:
      - MUSHROOM_FIELDS

# Explanation of the example above (Legacy Format):
#   - 'Chest1' is the identifier for this chest configuration.
#   - Items are listed using the "MATERIAL:weight:maxAmount" format.
#       * MYCELIUM:30:5   => weight = 30, maxAmount = 5
#       * RED_MUSHROOM:20:5   => weight = 20, maxAmount = 5
#       etc.
#
#   The total weight is 30 + 20 + 20 + 10 + 10 + 10 = 100.
#   Therefore, MYCELIUM has a 30% chance per slot, RED_MUSHROOM 20%, etc.
#
#   Once an item reaches its maxAmount (here, 5), it will no longer be selected.
#
#   MaxItemsPerSlot (global, default 2) limits how many of an item can appear in any one slot.
#
#   'Biomes: [MUSHROOM_FIELDS]' indicates that this configuration applies to chests
#   generated in the MUSHROOM_FIELDS biome.
#
# ------------------------------------------------------------------------------
#
# New Expanded Format Example:
#
# The example below shows the new options in use.
#
#
# ChestSettings:
#   ChestNew:
#     Items:
#       - MYCELIUM:
#           - Weight: 30
#           - MaxAmount: 5
#           - CustomName: §6HolyDirt
#           - LevelType: Standard          # Options: Standard (shows levels as "lvl_1") or Roman (shows as "I"); defaults to Roman.
#           - Enchantments:
#               - FORTUNE:
#                   - Weight: 100
#                   - MinLevel: 1
#                   - MaxLevel: 400
#                   - LoreColor: RED
#               - LOOTING:
#                   - Weight: 30
#                   - MinLevel: 1
#                   - MaxLevel: 300
#                   - LoreColor: BLUE
#       - AIR:
#           - Weight: 90
#           - MaxAmount: 999                # Filler item to reduce the odds of rare items appearing.
#     Biomes:
#       - MUSHROOM_FIELDS
#
#
# In this expanded example:
#   - 'MYCELIUM' uses a custom name (displayed in gold) and an item-wide LevelType of Standard. All enchantments on this item will display levels as "lvl_x".
#   - The FORTUNE enchantment is set to use a LoreColor of RED, while LOOTING uses BLUE.
#   - 'AIR' is added as a filler item with a high weight (90) to reduce the chance that rare items (like DIAMOND, if present with a low weight) are chosen.
#
# ------------------------------------------------------------------------------
#
# You can define multiple chest configurations for different biome groups.
#
# Overworld Biomes:
#
  Chest2:
    Items:
      - WOODEN_AXE:
        - Weight: 20
        - MaxAmount: 1
        - Enchantments:
          - VANISHING_CURSE:
            - Weight: 50
            - MinLevel: 1
            - MaxLevel: 1
          - EFFICIENCY:
            - Weight: 70
            - MinLevel: 1
            - MaxLevel: 4
          - UNBREAKING:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
      - WOODEN_PICKAXE:
        - Weight: 20
        - MaxAmount: 1
        - Enchantments:
          - VANISHING_CURSE:
            - Weight: 50
            - MinLevel: 1
            - MaxLevel: 1
          - EFFICIENCY:
            - Weight: 40
            - MinLevel: 1
            - MaxLevel: 4
          - FORTUNE:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
          - UNBREAKING:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
      - CROSSBOW:
        - Weight: 20
        - MaxAmount: 1
        - Enchantments:
          - VANISHING_CURSE:
            - Weight: 50
            - MinLevel: 1
            - MaxLevel: 1
          - MULTISHOT:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 1
          - PIERCING:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 4
          - QUICK_CHARGE:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
          - UNBREAKING:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
      - NAME_TAG:20:1
      - GOLDEN_APPLE:20:1
      - ENCHANTED_GOLDEN_APPLE:20:1
      - APPLE:40:2, OAK_LOG:40:2
      - DARK_OAK_LOG:40:2
      - RAIL:40:2
      - DIAMOND:40:2
      - STRING:90:5
      - ARROW:90:5
      - STICK:90:5
      - WHEAT:90:5
      - IRON_INGOT:90:5
      - TORCH:90:5
      - ARMADILLO_SCUTE:10:2
      - MACE:2:1
      - OMINOUS_BOTTLE:10:2
      - OMINOUS_TRIAL_KEY:2:1
      - TRIAL_KEY:2:1
      - BREEZE_ROD:10:2
      - RESIN_CLUMP:10:2
    Biomes: [BADLANDS, BAMBOO_JUNGLE, BIRCH_FOREST, CHERRY_GROVE, DARK_FOREST, DESERT, DRIPSTONE_CAVES, ERODED_BADLANDS, FLOWER_FOREST, FOREST, GROVE, JAGGED_PEAKS, JUNGLE, LUSH_CAVES, MANGROVE_SWAMP, MEADOW, OLD_GROWTH_BIRCH_FOREST, OLD_GROWTH_PINE_TAIGA, OLD_GROWTH_SPRUCE_TAIGA, PLAINS, SAVANNA, SAVANNA_PLATEAU, SPARSE_JUNGLE, STONY_PEAKS, STONY_SHORE, SUNFLOWER_PLAINS, SWAMP, TAIGA, WINDSWEPT_FOREST, WINDSWEPT_GRAVELLY_HILLS, WINDSWEPT_HILLS, WINDSWEPT_SAVANNA, WOODED_BADLANDS, OCEAN, WARM_OCEAN, LUKEWARM_OCEAN, FROZEN_OCEAN, DEEP_FROZEN_OCEAN, DEEP_LUKEWARM_OCEAN, DEEP_OCEAN, DEEP_COLD_OCEAN, COLD_OCEAN, FROZEN_RIVER, RIVER, BEACH, SNOWY_BEACH, SNOWY_PLAINS, SNOWY_SLOPES, SNOWY_TAIGA, FROZEN_PEAKS, ICE_SPIKES, DEEP_DARK, PALE_GARDEN]
#
#Nether Biomes:
#
  Chest3:
    Items: [GOLDEN_APPLE:20:1, ENCHANTED_GOLDEN_APPLE:20:1, GOLD_BLOCK:20:1, GOLDEN_AXE:20:1, IRON_BLOCK:20:1, SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE:20:1, NETHERITE_UPGRADE_SMITHING_TEMPLATE:20:1, IRON_SWORD:20:1, GOLDEN_HELMET:20:1, MUSIC_DISC_PIGSTEP:20:1, DIAMOND:40:2, ANCIENT_DEBRIS:40:2, BONE_BLOCK:40:2, GOLDEN_CARROT:40:2, OBSIDIAN:40:2, CRYING_OBSIDIAN:40:2, IRON_INGOT:90:5, GILDED_BLACKSTONE:90:5, CHAIN:90:5, GOLD_INGOT:90:5, MAGMA_CREAM:90:5, GOLD_NUGGET:90:5, SPECTRAL_ARROW:90:5, STRING:90:5, IRON_NUGGET:90:5, ARROW:90:5, COOKED_PORKCHOP:90:5]
    Biomes: [BASALT_DELTAS, NETHER_WASTES, CRIMSON_FOREST, SOUL_SAND_VALLEY, WARPED_FOREST]
#
# End Biomes Example:
#
  Chest4:
    Items: [ELYTRA:20:1, DRAGON_HEAD:20:1, DRAGON_EGG:20:1, END_CRYSTAL:20:1, ENDER_CHEST:20:1, SHULKER_SHELL:40:2, DIAMOND:40:2, END_ROD:90:5, PURPUR_BLOCK:90:5, MAGENTA_STAINED_GLASS:90:5, GOLD_INGOT:90:5, IRON_INGOT:90:5, OBSIDIAN:90:5]
    Biomes: [THE_END, END_BARRENS, END_HIGHLANDS, END_MIDLANDS, SMALL_END_ISLANDS]
#
# Note: To add additional chest configurations (e.g., Chest5, Chest6, etc.),
# simply create a new key under ChestSettings with its own Items and Biomes.
#

world.yml

# SkyGrid World Block Selection Guide:

# This YAML configuration file defines the block distributions for different biomes
# in your SkyGrid world. The configuration is split into two main sections:
# 
# 1. biomes: Maps each biome to a specific distribution.
# 2. distributions: Defines the block materials and their respective percentages.
#
# Important Notes:
# - Each biome must be assigned a distribution.
# - Percentages represent the relative chance of each block appearing.
# - The total percentage for each distribution does not need to sum to 100%.
#   The system will handle scaling as necessary.
# - Ensure that all block names correspond to valid Bukkit `Material` enums.
#   Reference: [Bukkit Material Documentation](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html)
#
# Example Usage:
# - To assign the same distribution to multiple biomes, map each biome to the desired distribution.
# - You can define multiple distributions and assign them to different biomes as needed.
#
# Supported Biomes:
# - Refer to [Bukkit Biome Documentation](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html) for a list of supported biomes.

biomes:
  MUSHROOM_FIELDS:
    distribution: custom_mushroom_fields

distributions:
  custom_mushroom_fields:
    # Each block and its chance of appearing.
    # Format: BlockID:Percentage
    # Example: "STONE:50" means a 50% chance of Stone appearing.
    # The total percentage does not need to sum to 100%; the system will scale as needed.
    DIRT: 25
    RED_MUSHROOM: 20
    BROWN_MUSHROOM: 20
    RED_MUSHROOM_BLOCK: 10
    BROWN_MUSHROOM_BLOCK: 10
    MUSHROOM_STEM: 
    MYCELIUM: 50
    STONE: 25
    CHEST: 1
    SPAWNER: 1

  # You can define additional distributions here and assign them to different biomes.
  # For example:
  # alternate_distribution:
  #   STONE: 40
  #   DIRT: 40
  #   SAND: 20

  # To assign this distribution to a biome, add it under the 'biomes' section:
  # biomes:
  #   SOME_OTHER_BIOME:
  #     distribution: alternate_distribution
  
# Optional default distribution for biomes not explicitly defined in the 'biomes' section.
# This ensures that a fallback distribution is available.
default_distribution:
  ACACIA_LEAVES: 3
  ACACIA_LOG: 1
  ALLIUM: 2
  AMETHYST_BLOCK: 1
  AMETHYST_CLUSTER: 1
  ANDESITE: 20
  AZALEA: 1
  AZALEA_LEAVES: 3
  AZURE_BLUET: 2
  BAMBOO: 2
  BEE_NEST: 0.01
  BEETROOTS: 1
  BELL: 0.001
  BIRCH_LEAVES: 3
  BIRCH_LOG: 1
  BLUE_ORCHID: 1
  BONE_BLOCK: 1
  BOOKSHELF: 1
  BRAIN_CORAL_BLOCK: 0.5
  BROWN_MUSHROOM: 2
  BUBBLE_CORAL_BLOCK: 0.5
  BUDDING_AMETHYST: 0.5
  CACTUS: 2
  CALCITE: 2
  CARROTS: 1
  CAVE_VINES: 0.5
  CHERRY_LEAVES: 3
  CHEST: 1
  CHISELED_COPPER: 0.1
  CHISELED_STONE_BRICKS: 0.5
  CLAY: 20
  COAL_ORE: 1.0
  COARSE_DIRT: 5
  COBBLESTONE: 12
  COBWEB: 0.5
  COPPER_BULB: 0.1
  COPPER_GRATE: 0.1
  COPPER_ORE: 0.5
  CORNFLOWER: 0.5
  CRAFTER: 0.05
  CREAKING_HEART: 0.001
  CRYING_OBSIDIAN: 0.5
  CUT_COPPER: 0.1
  DANDELION: 0.5
  DARK_OAK_LEAVES: 3
  DARK_OAK_LOG: 1
  DARK_PRISMARINE: 2
  DEAD_BUSH: 0.5
  DEEPSLATE: 70
  DEEPSLATE_COAL_ORE: 1.0
  DEEPSLATE_COPPER_ORE: 0.5
  DEEPSLATE_DIAMOND_ORE: 0.1
  DEEPSLATE_GOLD_ORE: 0.25
  DEEPSLATE_IRON_ORE: 1.0
  DEEPSLATE_LAPIS_ORE: 0.25
  DEEPSLATE_REDSTONE_ORE: 0.4
  DIAMOND_ORE: 0.1
  DIORITE: 20
  DIRT: 70
  DRIPSTONE_BLOCK: 3
  FERN: 1
  FIRE_CORAL_BLOCK: 0.5
  FLOWERING_AZALEA: 0.5
  FLOWERING_AZALEA_LEAVES: 3
  GLASS: 1
  GLOW_LICHEN: 0.5
  GOLD_BLOCK: 0.1
  GOLD_ORE: 0.25
  GRANITE: 20
  SHORT_GRASS: 1
  GRASS_BLOCK: 70
  GRAVEL: 10
  HANGING_ROOTS: 0.5
  HEAVY_CORE: 0.05
  HORN_CORAL_BLOCK: 0.5
  ICE: 1
  INFESTED_DEEPSLATE: 3
  IRON_ORE: 1.0
  JUNGLE_LEAVES: 3
  JUNGLE_LOG: 1
  KELP_PLANT: 1
  LAPIS_ORE: 0.25
  LARGE_FERN: 0.5
  LAVA: 10
  LILAC: 0.5
  LILY_OF_THE_VALLEY: 0.5
  LILY_PAD: 0.5
  MANGROVE_LEAVES: 3
  MANGROVE_LOG: 1
  MANGROVE_ROOTS: 1
  MANGROVE_WOOD: 1
  MELON: 5
  MOSS_BLOCK: 1
  MOSSY_COBBLESTONE: 5
  MOSSY_STONE_BRICKS: 2
  MUD: 8
  MUDDY_MANGROVE_ROOTS: 4
  MYCELIUM: 10
  OAK_LEAVES: 3
  OAK_LOG: 1
  OBSIDIAN: 5
  OPEN_EYEBLOSSOM: 0.05
  ORANGE_TULIP: 0.5
  OXEYE_DAISY: 0.5
  PACKED_ICE: 2
  PALE_HANGING_MOSS: 0.5
  PALE_MOSS_BLOCK: 0.5
  PALE_MOSS_CARPET: 0.5
  PALE_OAK_LEAVES: 3
  PALE_OAK_LOG: 1
  PEONY: 0.5
  PINK_PETALS: 0.5
  PINK_TULIP: 0.5
  PISTON: 0.1
  PODZOL: 5
  POINTED_DRIPSTONE: 1
  POPPY: 0.5
  POTATOES: 0.5
  PRISMARINE: 1
  PUMPKIN: 5
  RAW_COPPER_BLOCK: 1.2
  RAW_IRON_BLOCK: 1.2
  RED_MUSHROOM: 2
  RED_SAND: 5
  RED_SANDSTONE: 3
  RED_TULIP: 0.5
  REDSTONE_ORE: 0.4
  RESIN_BLOCK: 0.05
  ROOTED_DIRT: 4
  ROSE_BUSH: 0.5
  SAND: 30
  SANDSTONE: 10
  SCULK: 0.3
  SCULK_CATALYST: 0.05
  SCULK_SENSOR: 0.05
  SCULK_SHRIEKER: 0.02
  SCULK_VEIN: 0.3
  SEA_LANTERN: 1
  SEA_PICKLE: 1
  SEAGRASS: 0.5
  SMALL_DRIPLEAF: 0.5
  SMOOTH_BASALT: 2
  SNOW_BLOCK: 10
  SPAWNER: 0.001
  SPONGE: 0.05
  SPORE_BLOSSOM: 0.5
  SPRUCE_LEAVES: 3
  SPRUCE_LOG: 1
  STICKY_PISTON: 0.08
  STONE: 140
  STONE_BRICKS: 2
  SUGAR_CANE: 5
  SUNFLOWER: 0.5
  SUSPICIOUS_GRAVEL: 5
  SWEET_BERRY_BUSH: 0.5
  TALL_GRASS: 0.5
  TARGET: 0.05
  TNT: 0.05
  TRIAL_SPAWNER: 0.001
  TUBE_CORAL_BLOCK: 0.5
  TUFF: 20
  VAULT: 0.01
  WATER: 10
  WHEAT: 1
  WHITE_CONCRETE_POWDER: 0.5
  WHITE_TULIP: 0.5
  WHITE_WOOL: 0.5
  WITHER_ROSE: 0.05

1.21.4

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21.4
SkyGrid.jar188.1 KBSHA-1 d15f5953ead71958a1d9013dc1172fa0cc904ad2获取文件 SkyGrid.jar
展开更新日志

Update Overview

This update makes chest loot in the plugin much more customizable and easier to manage. I’ve added new options that let you change how items look and how their enchantments are shown. I’ve also reworked some of the world file settings to improve overall control. Here’s what’s new:

Custom Item Names and Enchantment Options

  • Custom Item Names: You can now give items their own names using Minecraft color codes. For example, you can name an item "§6HolyDirt" to have it appear in gold. This makes your chests look more personalized and fun!

  • New Enchantment Display Options: Instead of setting the display style for each enchantment one by one, you now choose one style for the whole item. With the new LevelType setting, you have two options:

    • Standard: Shows numbers like "lvl_1", "lvl_2", etc.

    Standard

    • Roman: Shows numbers as Roman numerals like "I", "II", and so on. (Note: Roman numerals work up to 3999.)

    Roman

    If you don’t choose a style, it will automatically use the Roman style.

  • LoreColor for Enchantments: Each enchantment can now have its own custom color in the item’s description. This lets you match your server’s theme or simply make items more eye-catching. You can use common color names like RED, BLUE, GREEN, and many more.

  • Better Distribution Control:
    With these changes, you now have even more control over how items are distributed in chests. The updated settings allow you to manage both how many items appear in each slot and how they are spread out across the chest. So, a lower MaxItemsPerSlot means more distributed items in the chest, while higher migth result in less distrbution if not set up properly.

World File Configuration Rework

  • World Files in YAML:
    I have updated the format for the world configuration files. Material text files have been converted to YAML, and the way biomes are set up has changed. If you use custom world settings, you will need to update them according to the new format.

Here are the updated settings files so that you can see the changes:

ChestSettings.yml

# ------------------------------------------------------------------------------
#  Chest Settings
#
#  This file configures how chests are populated in specific biomes using a
#  weight-based system for random item selection. Each chest configuration
#  also respects a global "MaxItemsPerSlot" to control the number of items that
#  can appear in any single slot.
#
#  New Settings:
#    - CustomName:
#         Allows you to set a custom display name for an item using Minecraft color codes. For example, "§6HolyDirt" will display the name in gold.
#
#    - LevelType (Item-wide):
#           * Standard: Displays levels as numbers with a "lvl_" prefix (e.g., "Mending lvl_1", "Fortune lvl_2").
#           * Roman: Displays levels as Roman numerals (e.g., "Mending I", "Fortune II"). Note: I have added roman numeral conversion that supports values up to 3999.
#           * Default: If omitted or unrecognized, defaults to Roman.
#
#    - Enchantments:
#         Each enchantment entry now supports:
#           * Weight: The chance (in percent) for the enchantment to be applied.
#           * MinLevel / MaxLevel: The range for the enchantment level.
#           * LoreColor: The color used to display the enchantment in the item's lore. Valid colors include: BLACK, DARK_BLUE, DARK_GREEN, DARK_AQUA, DARK_RED, DARK_PURPLE, GOLD, GRAY, DARK_GRAY, BLUE, GREEN, AQUA, RED, LIGHT_PURPLE, YELLOW, WHITE.
#
#  Advanced Weighting: Filler Items & Rare Items
#    - You can add "filler" items (for example, AIR) with a high weight to reduce the overall odds of rare items appearing. For example, setting AIR to a weight of 90 while giving DIAMOND a weight of 0.3 will make diamonds extremely rare.
#
# ------------------------------------------------------------------------------
#
#  1) MaxItemsPerSlot (Global)
#     - Sets a hard limit on how many items of a single type can be placed in one
#       slot, regardless of the item’s maxAmount. Default: 2
#
#  2) ChestSettings (Parent Key)
#     - Under this key, create one or more named chest configurations (e.g., "Chest1").
#
#
#        [Legacy (Compact) Format]
#
#         ChestSettings:
#           ChestOld:
#             Items: [ITEM_NAME:weight:maxAmount]
#             Biomes: [BIOME_NAME]
#
#       [New Expanded Format]
#
#       ChestSettings:
#         ChestNew:
#           Items:
#             -ITEM_NAME:                             # Use the exact item names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
#               - Weight: <numeric value>
#               - MaxAmount: <numeric value>
#               - CustomName: <custom display name>  # Supports use of Minecraft color codes like "§0" for Black and so on.
#               - LevelType: <Standard or Roman>     # Item-wide setting for enchantment display
#               - Enchantments:
#                   - ENCHANTMENT_NAME:              # Use exact enchantment names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/enchantments/Enchantment.html
#                       - Weight: <numeric chance in percent>
#                       - MinLevel: <minimum level>
#                       - MaxLevel: <maximum level>
#                       - LoreColor: <color>         # (Optional) Valid colors: BLACK, DARK_BLUE, DARK_GREEN,DARK_AQUA, DARK_RED, DARK_PURPLE, GOLD, GRAY,DARK_GRAY, BLUE, GREEN, AQUA, RED, LIGHT_PURPLE,YELLOW, WHITE.
#           Biomes:
#             - BIOME_NAME                          # Use the exact biome names from https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html
#
#
#  3) How the Code Chooses Items (Weight-Based):
#     - The plugin sums all item 'weight' values in a chest config, then picks an item for each empty slot in proportion to those weights.
#       Example: With four items each having weight 5, the total weight is 20, and each item has a 25% chance per slot.
#
#  4) Reducing Item Chance (Filler Items):
#     - To lower the odds of high-value items appearing, you can add filler items (e.g., AIR) with a high weight to dilute the selection.
#       For instance, AIR with weight 90 dilutes the chance of DIAMOND (e.g., weight 0.3) being chosen.
#
#  5) maxAmount vs. MaxItemsPerSlot:
#     - maxAmount: The total maximum number of a given item allowed in the entire chest.
#     - MaxItemsPerSlot: The maximum number of that item that can be placed in any one slot.
#
#  6) YAML Tips:
#     - Use standard YAML naming rules for chest configurations (alphanumeric, underscores,
#       or quoted strings for spaces/special characters).
#     - Both "compact" and "expanded" list styles are supported.
#
# ------------------------------------------------------------------------------
#
MaxItemsPerSlot: 2

ChestSettings:
  Chest1:
    Items:
      - MYCELIUM:30:5
      - RED_MUSHROOM:20:5
      - BROWN_MUSHROOM:20:5
      - RED_MUSHROOM_BLOCK:10:5
      - BROWN_MUSHROOM_BLOCK:10:5
      - MUSHROOM_STEM:10:5
    Biomes:
      - MUSHROOM_FIELDS

# Explanation of the example above (Legacy Format):
#   - 'Chest1' is the identifier for this chest configuration.
#   - Items are listed using the "MATERIAL:weight:maxAmount" format.
#       * MYCELIUM:30:5   => weight = 30, maxAmount = 5
#       * RED_MUSHROOM:20:5   => weight = 20, maxAmount = 5
#       etc.
#
#   The total weight is 30 + 20 + 20 + 10 + 10 + 10 = 100.
#   Therefore, MYCELIUM has a 30% chance per slot, RED_MUSHROOM 20%, etc.
#
#   Once an item reaches its maxAmount (here, 5), it will no longer be selected.
#
#   MaxItemsPerSlot (global, default 2) limits how many of an item can appear in any one slot.
#
#   'Biomes: [MUSHROOM_FIELDS]' indicates that this configuration applies to chests
#   generated in the MUSHROOM_FIELDS biome.
#
# ------------------------------------------------------------------------------
#
# New Expanded Format Example:
#
# The example below shows the new options in use.
#
#
# ChestSettings:
#   ChestNew:
#     Items:
#       - MYCELIUM:
#           - Weight: 30
#           - MaxAmount: 5
#           - CustomName: §6HolyDirt
#           - LevelType: Standard          # Options: Standard (shows levels as "lvl_1") or Roman (shows as "I"); defaults to Roman.
#           - Enchantments:
#               - FORTUNE:
#                   - Weight: 100
#                   - MinLevel: 1
#                   - MaxLevel: 400
#                   - LoreColor: RED
#               - LOOTING:
#                   - Weight: 30
#                   - MinLevel: 1
#                   - MaxLevel: 300
#                   - LoreColor: BLUE
#       - AIR:
#           - Weight: 90
#           - MaxAmount: 999                # Filler item to reduce the odds of rare items appearing.
#     Biomes:
#       - MUSHROOM_FIELDS
#
#
# In this expanded example:
#   - 'MYCELIUM' uses a custom name (displayed in gold) and an item-wide LevelType of Standard. All enchantments on this item will display levels as "lvl_x".
#   - The FORTUNE enchantment is set to use a LoreColor of RED, while LOOTING uses BLUE.
#   - 'AIR' is added as a filler item with a high weight (90) to reduce the chance that rare items (like DIAMOND, if present with a low weight) are chosen.
#
# ------------------------------------------------------------------------------
#
# You can define multiple chest configurations for different biome groups.
#
# Overworld Biomes:
#
  Chest2:
    Items:
      - WOODEN_AXE:
        - Weight: 20
        - MaxAmount: 1
        - Enchantments:
          - VANISHING_CURSE:
            - Weight: 50
            - MinLevel: 1
            - MaxLevel: 1
          - EFFICIENCY:
            - Weight: 70
            - MinLevel: 1
            - MaxLevel: 4
          - UNBREAKING:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
      - WOODEN_PICKAXE:
        - Weight: 20
        - MaxAmount: 1
        - Enchantments:
          - VANISHING_CURSE:
            - Weight: 50
            - MinLevel: 1
            - MaxLevel: 1
          - EFFICIENCY:
            - Weight: 40
            - MinLevel: 1
            - MaxLevel: 4
          - FORTUNE:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
          - UNBREAKING:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
      - CROSSBOW:
        - Weight: 20
        - MaxAmount: 1
        - Enchantments:
          - VANISHING_CURSE:
            - Weight: 50
            - MinLevel: 1
            - MaxLevel: 1
          - MULTISHOT:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 1
          - PIERCING:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 4
          - QUICK_CHARGE:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
          - UNBREAKING:
            - Weight: 30
            - MinLevel: 1
            - MaxLevel: 3
      - NAME_TAG:20:1
      - GOLDEN_APPLE:20:1
      - ENCHANTED_GOLDEN_APPLE:20:1
      - APPLE:40:2, OAK_LOG:40:2
      - DARK_OAK_LOG:40:2
      - RAIL:40:2
      - DIAMOND:40:2
      - STRING:90:5
      - ARROW:90:5
      - STICK:90:5
      - WHEAT:90:5
      - IRON_INGOT:90:5
      - TORCH:90:5
      - ARMADILLO_SCUTE:10:2
      - MACE:2:1
      - OMINOUS_BOTTLE:10:2
      - OMINOUS_TRIAL_KEY:2:1
      - TRIAL_KEY:2:1
      - BREEZE_ROD:10:2
      - RESIN_CLUMP:10:2
    Biomes: [BADLANDS, BAMBOO_JUNGLE, BIRCH_FOREST, CHERRY_GROVE, DARK_FOREST, DESERT, DRIPSTONE_CAVES, ERODED_BADLANDS, FLOWER_FOREST, FOREST, GROVE, JAGGED_PEAKS, JUNGLE, LUSH_CAVES, MANGROVE_SWAMP, MEADOW, OLD_GROWTH_BIRCH_FOREST, OLD_GROWTH_PINE_TAIGA, OLD_GROWTH_SPRUCE_TAIGA, PLAINS, SAVANNA, SAVANNA_PLATEAU, SPARSE_JUNGLE, STONY_PEAKS, STONY_SHORE, SUNFLOWER_PLAINS, SWAMP, TAIGA, WINDSWEPT_FOREST, WINDSWEPT_GRAVELLY_HILLS, WINDSWEPT_HILLS, WINDSWEPT_SAVANNA, WOODED_BADLANDS, OCEAN, WARM_OCEAN, LUKEWARM_OCEAN, FROZEN_OCEAN, DEEP_FROZEN_OCEAN, DEEP_LUKEWARM_OCEAN, DEEP_OCEAN, DEEP_COLD_OCEAN, COLD_OCEAN, FROZEN_RIVER, RIVER, BEACH, SNOWY_BEACH, SNOWY_PLAINS, SNOWY_SLOPES, SNOWY_TAIGA, FROZEN_PEAKS, ICE_SPIKES, DEEP_DARK, PALE_GARDEN]
#
#Nether Biomes:
#
  Chest3:
    Items: [GOLDEN_APPLE:20:1, ENCHANTED_GOLDEN_APPLE:20:1, GOLD_BLOCK:20:1, GOLDEN_AXE:20:1, IRON_BLOCK:20:1, SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE:20:1, NETHERITE_UPGRADE_SMITHING_TEMPLATE:20:1, IRON_SWORD:20:1, GOLDEN_HELMET:20:1, MUSIC_DISC_PIGSTEP:20:1, DIAMOND:40:2, ANCIENT_DEBRIS:40:2, BONE_BLOCK:40:2, GOLDEN_CARROT:40:2, OBSIDIAN:40:2, CRYING_OBSIDIAN:40:2, IRON_INGOT:90:5, GILDED_BLACKSTONE:90:5, CHAIN:90:5, GOLD_INGOT:90:5, MAGMA_CREAM:90:5, GOLD_NUGGET:90:5, SPECTRAL_ARROW:90:5, STRING:90:5, IRON_NUGGET:90:5, ARROW:90:5, COOKED_PORKCHOP:90:5]
    Biomes: [BASALT_DELTAS, NETHER_WASTES, CRIMSON_FOREST, SOUL_SAND_VALLEY, WARPED_FOREST]
#
# End Biomes Example:
#
  Chest4:
    Items: [ELYTRA:20:1, DRAGON_HEAD:20:1, DRAGON_EGG:20:1, END_CRYSTAL:20:1, ENDER_CHEST:20:1, SHULKER_SHELL:40:2, DIAMOND:40:2, END_ROD:90:5, PURPUR_BLOCK:90:5, MAGENTA_STAINED_GLASS:90:5, GOLD_INGOT:90:5, IRON_INGOT:90:5, OBSIDIAN:90:5]
    Biomes: [THE_END, END_BARRENS, END_HIGHLANDS, END_MIDLANDS, SMALL_END_ISLANDS]
#
# Note: To add additional chest configurations (e.g., Chest5, Chest6, etc.),
# simply create a new key under ChestSettings with its own Items and Biomes.
#

world.yml

# SkyGrid World Block Selection Guide:

# This YAML configuration file defines the block distributions for different biomes
# in your SkyGrid world. The configuration is split into two main sections:
# 
# 1. biomes: Maps each biome to a specific distribution.
# 2. distributions: Defines the block materials and their respective percentages.
#
# Important Notes:
# - Each biome must be assigned a distribution.
# - Percentages represent the relative chance of each block appearing.
# - The total percentage for each distribution does not need to sum to 100%.
#   The system will handle scaling as necessary.
# - Ensure that all block names correspond to valid Bukkit `Material` enums.
#   Reference: [Bukkit Material Documentation](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html)
#
# Example Usage:
# - To assign the same distribution to multiple biomes, map each biome to the desired distribution.
# - You can define multiple distributions and assign them to different biomes as needed.
#
# Supported Biomes:
# - Refer to [Bukkit Biome Documentation](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html) for a list of supported biomes.

biomes:
  MUSHROOM_FIELDS:
    distribution: custom_mushroom_fields

distributions:
  custom_mushroom_fields:
    # Each block and its chance of appearing.
    # Format: BlockID:Percentage
    # Example: "STONE:50" means a 50% chance of Stone appearing.
    # The total percentage does not need to sum to 100%; the system will scale as needed.
    DIRT: 25
    RED_MUSHROOM: 20
    BROWN_MUSHROOM: 20
    RED_MUSHROOM_BLOCK: 10
    BROWN_MUSHROOM_BLOCK: 10
    MUSHROOM_STEM: 
    MYCELIUM: 50
    STONE: 25
    CHEST: 1
    SPAWNER: 1

  # You can define additional distributions here and assign them to different biomes.
  # For example:
  # alternate_distribution:
  #   STONE: 40
  #   DIRT: 40
  #   SAND: 20

  # To assign this distribution to a biome, add it under the 'biomes' section:
  # biomes:
  #   SOME_OTHER_BIOME:
  #     distribution: alternate_distribution
  
# Optional default distribution for biomes not explicitly defined in the 'biomes' section.
# This ensures that a fallback distribution is available.
default_distribution:
  ACACIA_LEAVES: 3
  ACACIA_LOG: 1
  ALLIUM: 2
  AMETHYST_BLOCK: 1
  AMETHYST_CLUSTER: 1
  ANDESITE: 20
  AZALEA: 1
  AZALEA_LEAVES: 3
  AZURE_BLUET: 2
  BAMBOO: 2
  BEE_NEST: 0.01
  BEETROOTS: 1
  BELL: 0.001
  BIRCH_LEAVES: 3
  BIRCH_LOG: 1
  BLUE_ORCHID: 1
  BONE_BLOCK: 1
  BOOKSHELF: 1
  BRAIN_CORAL_BLOCK: 0.5
  BROWN_MUSHROOM: 2
  BUBBLE_CORAL_BLOCK: 0.5
  BUDDING_AMETHYST: 0.5
  CACTUS: 2
  CALCITE: 2
  CARROTS: 1
  CAVE_VINES: 0.5
  CHERRY_LEAVES: 3
  CHEST: 1
  CHISELED_COPPER: 0.1
  CHISELED_STONE_BRICKS: 0.5
  CLAY: 20
  COAL_ORE: 1.0
  COARSE_DIRT: 5
  COBBLESTONE: 12
  COBWEB: 0.5
  COPPER_BULB: 0.1
  COPPER_GRATE: 0.1
  COPPER_ORE: 0.5
  CORNFLOWER: 0.5
  CRAFTER: 0.05
  CREAKING_HEART: 0.001
  CRYING_OBSIDIAN: 0.5
  CUT_COPPER: 0.1
  DANDELION: 0.5
  DARK_OAK_LEAVES: 3
  DARK_OAK_LOG: 1
  DARK_PRISMARINE: 2
  DEAD_BUSH: 0.5
  DEEPSLATE: 70
  DEEPSLATE_COAL_ORE: 1.0
  DEEPSLATE_COPPER_ORE: 0.5
  DEEPSLATE_DIAMOND_ORE: 0.1
  DEEPSLATE_GOLD_ORE: 0.25
  DEEPSLATE_IRON_ORE: 1.0
  DEEPSLATE_LAPIS_ORE: 0.25
  DEEPSLATE_REDSTONE_ORE: 0.4
  DIAMOND_ORE: 0.1
  DIORITE: 20
  DIRT: 70
  DRIPSTONE_BLOCK: 3
  FERN: 1
  FIRE_CORAL_BLOCK: 0.5
  FLOWERING_AZALEA: 0.5
  FLOWERING_AZALEA_LEAVES: 3
  GLASS: 1
  GLOW_LICHEN: 0.5
  GOLD_BLOCK: 0.1
  GOLD_ORE: 0.25
  GRANITE: 20
  SHORT_GRASS: 1
  GRASS_BLOCK: 70
  GRAVEL: 10
  HANGING_ROOTS: 0.5
  HEAVY_CORE: 0.05
  HORN_CORAL_BLOCK: 0.5
  ICE: 1
  INFESTED_DEEPSLATE: 3
  IRON_ORE: 1.0
  JUNGLE_LEAVES: 3
  JUNGLE_LOG: 1
  KELP_PLANT: 1
  LAPIS_ORE: 0.25
  LARGE_FERN: 0.5
  LAVA: 10
  LILAC: 0.5
  LILY_OF_THE_VALLEY: 0.5
  LILY_PAD: 0.5
  MANGROVE_LEAVES: 3
  MANGROVE_LOG: 1
  MANGROVE_ROOTS: 1
  MANGROVE_WOOD: 1
  MELON: 5
  MOSS_BLOCK: 1
  MOSSY_COBBLESTONE: 5
  MOSSY_STONE_BRICKS: 2
  MUD: 8
  MUDDY_MANGROVE_ROOTS: 4
  MYCELIUM: 10
  OAK_LEAVES: 3
  OAK_LOG: 1
  OBSIDIAN: 5
  OPEN_EYEBLOSSOM: 0.05
  ORANGE_TULIP: 0.5
  OXEYE_DAISY: 0.5
  PACKED_ICE: 2
  PALE_HANGING_MOSS: 0.5
  PALE_MOSS_BLOCK: 0.5
  PALE_MOSS_CARPET: 0.5
  PALE_OAK_LEAVES: 3
  PALE_OAK_LOG: 1
  PEONY: 0.5
  PINK_PETALS: 0.5
  PINK_TULIP: 0.5
  PISTON: 0.1
  PODZOL: 5
  POINTED_DRIPSTONE: 1
  POPPY: 0.5
  POTATOES: 0.5
  PRISMARINE: 1
  PUMPKIN: 5
  RAW_COPPER_BLOCK: 1.2
  RAW_IRON_BLOCK: 1.2
  RED_MUSHROOM: 2
  RED_SAND: 5
  RED_SANDSTONE: 3
  RED_TULIP: 0.5
  REDSTONE_ORE: 0.4
  RESIN_BLOCK: 0.05
  ROOTED_DIRT: 4
  ROSE_BUSH: 0.5
  SAND: 30
  SANDSTONE: 10
  SCULK: 0.3
  SCULK_CATALYST: 0.05
  SCULK_SENSOR: 0.05
  SCULK_SHRIEKER: 0.02
  SCULK_VEIN: 0.3
  SEA_LANTERN: 1
  SEA_PICKLE: 1
  SEAGRASS: 0.5
  SMALL_DRIPLEAF: 0.5
  SMOOTH_BASALT: 2
  SNOW_BLOCK: 10
  SPAWNER: 0.001
  SPONGE: 0.05
  SPORE_BLOSSOM: 0.5
  SPRUCE_LEAVES: 3
  SPRUCE_LOG: 1
  STICKY_PISTON: 0.08
  STONE: 140
  STONE_BRICKS: 2
  SUGAR_CANE: 5
  SUNFLOWER: 0.5
  SUSPICIOUS_GRAVEL: 5
  SWEET_BERRY_BUSH: 0.5
  TALL_GRASS: 0.5
  TARGET: 0.05
  TNT: 0.05
  TRIAL_SPAWNER: 0.001
  TUBE_CORAL_BLOCK: 0.5
  TUFF: 20
  VAULT: 0.01
  WATER: 10
  WHEAT: 1
  WHITE_CONCRETE_POWDER: 0.5
  WHITE_TULIP: 0.5
  WHITE_WOOL: 0.5
  WITHER_ROSE: 0.05

1.21.4

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21.4
SkyGrid.jar180 KBSHA-1 5979a49d3e20bbc0c932b228a0d90f9ab040cb84获取文件 SkyGrid.jar
展开更新日志

bug fix for crops

  • Fixed bug preventing WHEAT, CARROTS, POTATOES, BEETROOTS, MELON_STEM, PUMPKIN_STEM from growing.
  • Added an event check for CAVE_VINES, CAVE_VINES_PLANT to prevent growth unless attached to a solid block.

1.21.4

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21.4
SkyGrid.jar179.6 KBSHA-1 f7fb1faba4f5d4ccaf9f5868fe34455fa150ee5c获取文件 SkyGrid.jar
展开更新日志

Chest Example

  • Resolved an issue where custom mob spawners weren't applying your configuration settings correctly after updating to the 1.21.4 API. They will now function as intended instead of using the hardcoded defaults.
  • Further enhanced both the chest and spawner systems. You can now increase chest counts without issues; I tested it with 100% chest density, and it didn't crash (though I don't recommend this). For example, use 5% instead of 0.05% if you want more chests in the Overworld. The same applies to spawners.

1.21.4

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21 · 1.21.1 · 1.21.2 · 1.21.3 · 1.21.4
SkyGrid.jar170.5 KBSHA-1 4cdd30c4af7104cef12861e046f4ea25110353ae获取文件 SkyGrid.jar
展开更新日志

Chest Settings

  • Added RESIN_CLUMP as a possible chest loot item for the overworld.

Spawner Settings

  • Added the CREAKING mob as a possible selection for overworld spawners

Overworld Skygrid Materials

  • RESIN_BLOCK
  • PALE_HANGING_MOSS
  • PALE_MOSS_BLOCK
  • PALE_MOSS_CARPET
  • PALE_OAK_LOG
  • PALE_OAK_LEAVES
  • OPEN_EYEBLOSSOM
  • CREAKING_HEART

Other Changes

  • Changed the default processDelay to be zero instead of 10.
  • Paper check added to fist boot for force loaded async chunks while initial generation.
  • Moved to 1.21.4 API for Paper and Spigotmc

1.21.3

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21 · 1.21.1 · 1.21.2 · 1.21.3
SkyGrid.jar169 KBSHA-1 d0dca55bba198618240b6956100727235b2abbb5获取文件 SkyGrid.jar
展开更新日志

Bug Fix

  • Resolved an issue where ore replacement for stone blocks failed when generated by water sources, as the plugin previously only handled lava-based generation.

1.21.3

正式版
加载器
bukkit · paper · purpur · spigot
MC 版本
1.21 · 1.21.1 · 1.21.2 · 1.21.3
SkyGrid.jar168.6 KBSHA-1 b600837fdc161b538977023b3fd1985cb1e400dd获取文件 SkyGrid.jar
展开更新日志
  • Fixed a bug that caused chest item max limits set in configuration files to be exceeded.
  • Updated to improve performance and memory efficiency and migrated to the 1.21.3 API.
  • Updated the beehive handling to directly place bees into beehives, leveraging new options available in the latest API.
  • Removed the Pregenerator functionality and spun it off into a standalone plugin, offering more settings and customizations like autorun when server is empty and more. It can be found here: chunker

skygrid

1.21

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6 · 1.21
SkyGrid.jar214.9 KBSHA-1 446169eeb1adc71989e3bf273ec39241a52d455f获取文件 SkyGrid.jar
展开更新日志

New:

  • Basalt Ore Generation: Added support for generating ores in basalt blocks when basalt is formed.

ore generation gif

Bug Fix:

  • Fixed an issue with the BlockFromToEvent where the plugin was incorrectly checking adjacent blocks of the destination block. This prevented liquids from flowing as they should when updated by any blocks touching the source block. The event handler now correctly checks the adjacent blocks of the source block, ensuring proper event cancellation when necessary.

Configuration:

  • Updated ores.yml: Added default ores/block generation configurations for basalt.

If you just want normal basalt generation, you can set it up like this:

BASALT:
  BASALT: 100

If not, here is the new default file:

# Ore Replacement Chances

# This file is used to specify the chances of different ores being chosen for replacement
# when lava or water generates stone blocks in the world. The stone generated in the world can be replaced by any block you want as long as it's in the Bukkit materials list: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html

# Format: Material_Name:Percentage
# The percentage represents the chance (in whole numbers) of the ore being chosen
# for replacement out of the total replacements when lava or water generates stone.

# Each line represents one ore with its corresponding replacement chance.
# Lines starting with '#' are considered comments and will be ignored by the code.

# Example:
# DIAMOND_ORE:5
# This means that there is a 5% chance of a diamond ore block being chosen
# when lava or water generates a stone block.

# The total sum of percentages should be less than or equal to 100.
# If the sum exceeds 100, the probabilities will be scaled down proportionally
# to fit within the 0-100 range.

# For example, if the total sum of percentages exceeds 100 as follows:
# DIAMOND_ORE:40
# COAL_ORE:60
# IRON_ORE:30
# GOLD_ORE:20

# The total sum is 40 + 60 + 30 + 20 = 150, which exceeds 100.
# To fit within the 0-100 range, the probabilities will be scaled down proportionally:
# DIAMOND_ORE: 40 * (100 / 150) = 26 (approximately 27)
# COAL_ORE: 60 * (100 / 150) = 40
# IRON_ORE: 30 * (100 / 150) = 20
# GOLD_ORE: 20 * (100 / 150) = 13 (approximately 13)

# The adjusted probabilities now add up to 26 + 40 + 20 + 13 = 99, which is within the 0-100 range.

# For if the block generated is stone
STONE:
  STONE: 98
  COAL_ORE: 0.3
  COPPER_ORE: 0.4
  DIAMOND_ORE: 0.1
  EMERALD_ORE: 0.1
  GOLD_ORE: 0.2
  IRON_ORE: 0.4
  LAPIS_ORE: 0.2
  REDSTONE_ORE: 0.3

# For if the block generated is cobblestone
COBBLESTONE:
  DEEPSLATE: 98
  DEEPSLATE_COAL_ORE: 0.3
  DEEPSLATE_COPPER_ORE: 0.4
  DEEPSLATE_DIAMOND_ORE: 0.1
  DEEPSLATE_EMERALD_ORE: 0.1
  DEEPSLATE_GOLD_ORE: 0.2
  DEEPSLATE_IRON_ORE: 0.4
  DEEPSLATE_LAPIS_ORE: 0.2
  DEEPSLATE_REDSTONE_ORE: 0.3

# For if the block generated is basalt
BASALT:
  ANCIENT_DEBRIS: 0.1
  BASALT: 44.9
  BLACKSTONE: 20
  GILDED_BLACKSTONE: 3.0
  NETHER_GOLD_ORE: 3.0
  NETHER_QUARTZ_ORE: 5.0
  POLISHED_BASALT: 12
  POLISHED_BLACKSTONE: 12

1.21

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6 · 1.21
SkyGrid.jar215.8 KBSHA-1 571f60a973d86620b1e292926577a0cd1be856c2获取文件 SkyGrid.jar
展开更新日志

Update:

  • The pregen command's default radius now adapts to the world's border instead of being hardcoded to 29999984, ensuring compatibility with custom world borders.
  • you can use this if set your world border manually using /worldborder set #
  • Usage: /pregen <PrintUpdateDelayin(Seconds/Minutes/Hours)> <Radiusin(Blocks/Chunks/Regions) or default>

Command Examples:

  • /pregen 6 5s world 1000b
  • /pregen 2 2m world_nether 500c
  • /pregen 1 12h world_the_end 100r
  • /pregen 4 10s world default

1.21

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6 · 1.21
SkyGrid.jar215.5 KBSHA-1 6bc91cd619cfda54ef119a0362e12b525b237b0e获取文件 SkyGrid.jar
展开更新日志

1.21 Update:

Added chest items for Overworld:

  • MACE
  • OMINOUS_BOTTLE
  • OMINOUS_TRIAL_KEY
  • TRIAL_KEY
  • BREEZE_ROD

Added spawner entities for Overworld:

  • BREEZE
  • BOGGED

Added blocks for Overworld

  • CHISELED_COPPER
  • COPPER_BULB
  • COPPER_GRATE
  • VAULT
  • TRIAL_SPAWNER
  • HEAVY_CORE

For VAULT and TRIAL_SPAWNER there is a 50% chance applied to determine if it will be set Ominous.

Note: These blocks where added to the default files, you can still add any other blocks from the available in the materials page. https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html

Pre-generator Rework:

  • Usage: /pregen <PrintUpdateDelayin(Seconds/Minutes/Hours)> <Radiusin(Blocks/Chunks/Regions)>

For more information you can check out the page here.

Bug Fixed

  • Fixed some issues with pregenerator unloading chunks to soon,
  • Extend unloading until chunk is entity ticking to ensure chunks are fully generated

New Datapack

  • Made my own simple data pack Void-Biomes-1.21, currently Void Worldgen has not been updated to 1.21 yet, so in the future if you want you can use that instead.
  • The data pack only generate the biome data for the Minecraft worlds, the only structure is the end portal and pillars
  • The Void-Biomes-1.21 data pack should improve performance (~20%) if used in place of the old Void Worldgen data pack since it is not generating structure boundary boxes for any structures.

1.20.6

正式版推荐
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6
SkyGrid.jar203.1 KBSHA-1 c71e01fefcaa76e2aee9bea78103e51084fb869b获取文件 SkyGrid.jar
展开更新日志

Optimization and Memory Usage Reduction:

  • Boosted pregenerator performance by up to 25%
  • Enhanced generator, custom chest, spawner, and related utility classes to utilize the fastutil library, yielding a performance increase of up to 3-7% and significantly reducing memory usage (observed differences of up to 1.5GB in certain scenarios).
  • Optimized the custom chest class by minimizing the number of times the chest block is accessed. Used a "fake" chest represented by an array for item placement calculations, accessed the chest instance only twice, and implemented multithreading to significantly reduce processing time to get random chest items.
  • Improved material loading by adopting a new alias, resulting in more balanced loading between materials with and without biomes. Fetching random materials for both world and biome is now notably faster, reducing thread blocking during operations like /tpr. Additionally, precomputing wherever feasible and implementing caching mechanisms have been employed to further reduce fetch times for random materials. CPU usage during /tpr decreased from consistently hitting 100% across all cores for 2-3 seconds to a range of 80-90% for less than a second (test done with simulation-distance=8 and view-distance=8).

Note: Many main classes have been almost fully overhauled to use the fastutil library. If you encounter any issues, please submit them on the GitHub issue page. I tried my best to test every scenario I can think of, but I can't always catch every issue.

1.20.6

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6
SkyGrid.jar148.9 KBSHA-1 6926ffa4fbe7c816d832a31009890ea97c9bf956获取文件 SkyGrid.jar
展开更新日志

Updated Command:

  • /gclogs(on)/(off): Updated to /eclogs(on)/(off). This change comes as the more general event control has been introduced and it's no longer just growth control.

Updated Permissions:

  • gc.gclogson: Updated to ec.gclogson. Grants permission to enable event control logging using /eclogson. (Default OP)
  • gc.gclogsoff: Updated to ec.gclogsoff. Grants permission to disable event control logging using /gclogsoff. (Default OP)

New Configuration Settings:

TPR Command Settings:

  • Added a new option for the server to randomly teleport players on first join, onFirstJoin by default is false, this provides servers without a spawn the option to random teleport the player only the first time they connect to the server.
  • Added a new delay option for usage of /tpr commands, b2bDelay adds a fourth timer to prevent players from using the /tpr command back-to-back. Players must wait for this duration before they can use any /tpr commands again.
  • Moved the list of blocks considered unsafe to teleport to settings file, under DANGEROUSBLOCKS, this list is used by the code to determine what materials you do not want the player to be teleported on top of when they use the /tpr command.

Event Control Settings:

  • EventControl: Lets you turn off and on all the newly added grid integrity checks, these monitor server events to prevent the following: BlockIgniteEvent, BlockFadeEvent, BlockFromToEvent, StructureGrowEvent, BlockSpreadEvent, BlockGrowEvent, BlockFormEvent, and EntityChangeBlock.
  • There is also a new list of materials in GRAVITY_AFFECTED_BLOCKS which is used to determine what blocks you do not want snow to form on in the grid or general gravity-affected blocks that you do not want to fall due to server overload.
# Configuration

# Generator settings
generator:
  # Delay in ticks before processing chunks after chunk load event.
  # A shorter delay increases server load, while a longer delay may affect player immersion.
  processDelay: 5
  
  # Max and Min height for blocks placed in the Grids for all Environments.
  # Keep within increments of 4 starting from the current min or max.
  # i.e. 0, 4, 8, 12, 16 ... or 128, 124, 120, 116, 112 ...
  # Exceeding max heights for worlds will result in errors.

    # Nether settings (min 0, max 128)
  nether:
    minY: 0
    maxY: 128
  
  # End settings (min 0, max 128)
  end:
    minY: 0
    maxY: 128
  
  # Normal world settings (min -64, max 256)
  normal:
    minY: -64
    maxY: 64
  
  # Default settings for unspecified environments (min and max depend on your custom environment)
  default:
    minY: 0
    maxY: 128

# TPR Command settings
tprCommand:
  # Randomly teleports the player using /tpr when they first join.
  # Set to true to enable.
  onFirstJoin: false
  
  # The delay in seconds to prevent players from using the /tpr command back-to-back.
  # Players must wait for this duration before they can use the /tpr command again.
  b2bDelay: 10
  
  # Delay in seconds before teleporting in the overworld
  tprDelay: 30
  
  # Delay in seconds before teleporting in the nether
  tprNetherDelay: 30
  
  # Delay in seconds before teleporting in the end
  tprEndDelay: 30
  
  # Maximum X coordinate for random teleport (max 29999983)
  maxX: 29999983
  
  # Maximum Z coordinate for random teleport (max 29999983)
  maxZ: 29999983
  
  # Minimum X coordinate for random teleport (max -29999983)
  minX: -29999983
  
  # Minimum Z coordinate for random teleport (max -29999983)
  minZ: -29999983
  
  # Default Y coordinate for teleport destination (min -64, max 256, try to get it somewhere in between all your environments)
  destinationY: 64
  
  # These are materials that the tpr command considers dangerous and will prevent players from being placed on them when /tpr is used.
  DANGEROUSBLOCKS:
    Materials:
    - AIR
    - ALLIUM
    - AZURE_BLUET
    - BEETROOTS
    - BIG_DRIPLEAF
    - BLUE_ORCHID
    - BROWN_MUSHROOM
    - CACTUS
    - CAMPFIRE
    - CARROTS
    - CAVE_VINES_PLANT
    - COBWEB
    - CORNFLOWER
    - CRIMSON_FUNGUS
    - CRIMSON_ROOTS
    - DANDELION
    - DEAD_BUSH
    - FERN
    - FIRE
    - GLOW_LICHEN
    - HANGING_ROOTS
    - KELP
    - KELP_PLANT
    - LARGE_FERN
    - LAVA
    - LAVA_CAULDRON
    - LILAC
    - LILY_OF_THE_VALLEY
    - MAGMA_BLOCK
    - MELON_STEM
    - NETHER_SPROUTS
    - NETHER_WART
    - ORANGE_TULIP
    - OXEYE_DAISY
    - PEONY
    - PINK_TULIP
    - PITCHER_PLANT
    - POINTED_DRIPSTONE
    - POPPY
    - POTATOES
    - POWDER_SNOW
    - PUMPKIN_STEM
    - RED_MUSHROOM
    - RED_TULIP
    - ROSE_BUSH
    - SCULK_VEIN
    - SEAGRASS
    - SHORT_GRASS
    - SMALL_DRIPLEAF
    - SNOW
    - SOUL_FIRE
    - SPORE_BLOSSOM
    - SUGAR_CANE
    - SUNFLOWER
    - SWEET_BERRY_BUSH
    - TALL_GRASS
    - TALL_SEAGRASS
    - TORCHFLOWER
    - TORCHFLOWER_CROP
    - TWISTING_VINES
    - VINE
    - VOID_AIR
    - WARPED_FUNGUS
    - WARPED_ROOTS
    - WATER
    - WEEPING_VINES
    - WHEAT
    - WHITE_TULIP
    - WITHER_ROSE

# Fog settings
fog:
  # Auto-enable fog setting
  # Set to true to automatically enable fog when the plugin starts.
  autoEnable: false

# Event Control settings
EventControl:
  # (true to enable event check, false to disable)
  # BlockIgniteEvent - Prevents lava from causing fires to near by flammable grid blocks
  BlockIgniteEvent: true
  
  # BlockFadeEvent - Prevents ice from melting if it's in the grid and fire from burning out
  BlockFadeEvent: true
  
  # BlockFromToEvent - Prevents lava and water from flowing due to server overload
  BlockFromToEvent: true
  
  # StructureGrowEvent - Prevents saplings in floating in grid from growing
  StructureGrowEvent: true
  
  # BlockSpreadEvent - Prevents bamboo sapling from growing since it does not trigger with StructureGrowEvent
  BlockSpreadEvent: true
  
  # BlockGrowEvent is used for KELP_PLANT, SUGAR_CANE, CACTUS, and TWISTING_VINES_PLANT (not logged in /eclogson, to much spam)
  BlockGrowEvent: true
  
  # BlockFormEvent - Prevents block updates that mess up the grid in snow biomes, snow forming on top of blocks
  BlockFormEvent: true
  
  # EntityChangeBlock - Prevents gravity-affected blocks from randomly falling due to overload
  EntityChangeBlockEvent: true
  
  # This list is for blocks that you want to monitor the BlockFormEvent and EntityChangeBlock events.
  GRAVITY_AFFECTED_BLOCKS:
    Materials:
    - SAND
    - RED_SAND
    - GRAVEL
    - KELP_PLANT
    - ANVIL
    - SUSPICIOUS_SAND
    - SUSPICIOUS_GRAVEL
    - DRAGON_EGG
    - BLACK_CONCRETE_POWDER
    - BLUE_CONCRETE_POWDER
    - BROWN_CONCRETE_POWDER
    - CYAN_CONCRETE_POWDER
    - GRAY_CONCRETE_POWDER
    - GREEN_CONCRETE_POWDER
    - LIGHT_BLUE_CONCRETE_POWDER
    - LIGHT_GRAY_CONCRETE_POWDER
    - LIME_CONCRETE_POWDER
    - MAGENTA_CONCRETE_POWDER
    - ORANGE_CONCRETE_POWDER
    - PINK_CONCRETE_POWDER
    - PURPLE_CONCRETE_POWDER
    - RED_CONCRETE_POWDER
    - WHITE_CONCRETE_POWDER
    - YELLOW_CONCRETE_POWDER

Generator Update:

  • Auto populates BEEHIVE and BEE_NEST, currently only 2 are added to reduce the use of resources.
  • Updated generator to improve efficiency, offloading some of the work off the main thread when possible.

Other Updates:

  • Grid and Block Pallets: New block pallet changes for more variety and better distribution.
  • The chest loading has been simplified and optimized. Improved method for filling chests with items to increase performance.
  • Updated FirstBootChecker to consider any missing files as a first boot not just the world.txt file in the SkygridBlocks folder.
  • Reduced the chunks preloaded in the initial check on first boot to 4 chunk distance instead of 16.
  • Update chest settings to add the missing biome THE_END to the end chest settings.

Thank you for your continued support! Please report any bugs/issues/feature suggestions on my GitHub.

1.20.6

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6
SkyGrid.jar143.1 KBSHA-1 ca142f87178973a1c2dd294d312ac3a65618c7e2获取文件 SkyGrid.jar
展开更新日志

New Features, Commands, Permissions, and Performance Improvements

New Features and Commands:

New Commands

  • /tpro: Random teleport in the Overworld.
  • /tprn: Random teleport in the Nether.
  • /tpre: Random teleport in the End.
  • These are shorthand versions of the previous /tpr [world] command with the advantage of being able to set the permissions individually.

Updated Command

  • /tpr [world]: Random teleport in the Overworld, Nether, or End. Updated to add overworld to the autocomplete. Using /tpr with no arguments still defaults to overworld.

Permissions:

Added Permissions for every command

  • sg.tpr: Allows teleportation to Overworld, Nether, and End using the /tpr [world] command. (Default all)
  • sg.tpr.overworld: Grants permission to use the /tpro command for teleportation in the Overworld. (Default all)
  • sg.tpr.nether: Grants permission to use the /tprn command for teleportation in the Nether. (Default all)
  • sg.tpr.end: Enables usage of the /tpre command for teleportation in the End. (Default all)
  • sg.tpr.*: Provides access to all teleportation commands. (Default OP)
  • sg.fogon: Allows enabling fog using the /fogon command. (Default OP)
  • sg.fogoff: Allows disabling fog with the /fogoff command. (Default OP)
  • sg.gclogson: Grants permission to enable GrowthControl logging using /gclogson. (Default OP)
  • sg.gclogsoff: Grants permission to disable GrowthControl logging using /gclogsoff. (Default OP)
  • sg.pregen: Grants permission to use the pre-generation command with customizable parameters. (Default OP)
  • sg.pregenoff: Grants permission to disable pre-generation using the /pregenoff command. (Default OP)
  • sg.patch: Allows patching files to update materials and entities to another version. (Default OP)
  • sg.regen: Grants permission to regenerate all loaded chunks using the /regen command. (Default OP)
  • sg.*: Provides access to all SkyGrid commands. (Default OP)

Configuration:

New Configuration File settings.yml

Generator Settings

  • processDelay: Delay in ticks before processing chunks after chunk load event (default: 10).
  • Environment-specific grid generation height minY and maxY settings for Nether, End, and Normal worlds.

TPR Command Settings

  • Delay in seconds before using the /tpr commands again (default: 30). You can change it individualy for each environment.
  • Max and Min coordinates for random teleportation.
  • Default Y coordinate for teleport destination.

Fog Settings

  • autoEnable: Automatically enable fog when the plugin starts (default: false).
# Configuration

# Generator settings
generator:
  # Delay in ticks before processing chunks after chunk load event.
  # A shorter delay increases server load, while a longer delay may affect player immersion.
  processDelay: 10
  
  # Max and Min height for blocks placed in the Grids for all Environments. 
  # Keep within increments of 4 starting from the current min or max.
  # i.e. 0, 4, 8, 12, 16 ... or 128, 124, 120, 116, 112 ...
  # Exceeding max heights for worlds will result in errors.

    # Nether settings (min 0, max 128)
  nether:
    minY: 0
    maxY: 128
  
  # End settings (min 0, max 128)
  end:
    minY: 0
    maxY: 128
  
  # Normal world settings (min -64, max 256)
  normal:
    minY: -64
    maxY: 64
  
  # Default settings for unspecified environments (min and max depend on your custom environment)
  default:
    minY: 0
    maxY: 128

# TPR Command settings
tprCommand:
  # Delay in seconds before teleporting in the overworld
  tprDelay: 30
  
  # Delay in seconds before teleporting in the nether
  tprNetherDelay: 30
  
  # Delay in seconds before teleporting in the end
  tprEndDelay: 30
  
  # Maximum X coordinate for random teleport (max 29999983)
  maxX: 29999983
  
  # Maximum Z coordinate for random teleport (max 29999983)
  maxZ: 29999983
  
  # Minimum X coordinate for random teleport (max -29999983)
  minX: -29999983
  
  # Minimum Z coordinate for random teleport (max -29999983)
  minZ: -29999983
  
  # Default Y coordinate for teleport destination (min -64, max 256, try to get it somewhere in between all your environments)
  destinationY: 64

# Fog settings
fog:
  # Auto-enable fog setting
  # Set to true to automatically enable fog when the plugin starts.
  autoEnable: true

Performance Improvements:

  • Made the plugin faster and more efficient by using better data handling methods.
  • Reduced unnecessary code execution to improve speed.

Bug Fixes:

  • Fixed the problem with empty chunks in the spawn chunk region. Spawn chunks are now force-loaded using Paperlib async operations before the player connects, then regenerated to prevent the issue or fix it if present.

I hope you enjoy the new features, performance improvements, and added flexibility with configurations! Feel free to reach out with any feedback or issues :) https://github.com/DavidS-Repo/SkyGridx/issues

1.20.6

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6
SkyGrid.jar127.2 KBSHA-1 1833c0f088f6a1704b22131d9f4cf4165c5cb72e获取文件 SkyGrid.jar
展开更新日志

Made significant improvements and added new features

New Features:

  • /regen Command:
    • Introducing the /regen command, allowing you to refresh all currently loaded areas with new materials from your configuration file. This is useful for those who modify biomes in the files and helps fix any bugged areas with empty chunks.

gif

Performance Improvements:

  • Material Manager Enhancements:
    • Made the plugin run faster and handle large amounts of data more efficiently.
    • Reading files is now quicker, making the plugin respond faster.
    • Optimized how materials are loaded and distributed to improve overall performance.

Material Loading Process:

  • Separated Loaders:
    • The process of loading materials is now divided into two types:
      • Basic Material Loader:
        • For simpler setups without specific biomes.
        • Ensures materials are evenly distributed across all biomes.
      • Advanced Material Loader:
        • For setups that include specific biomes.
        • Uses a system that distributes materials based on their specified weights.
        • Requires all biomes to be listed in the configuration file to prevent missing areas in the game.
    • You can play around with using either one or see what works best for you, all the biomes are listed in the world text files.

Bug Fixes:

  • Teleportation Cooldown:
    • Fixed an issue where players could bypass the cooldown for teleportation by disconnecting and reconnecting. Now, cooldowns are enforced properly.

Additional Improvements:

  • Updated Descriptions:
    • Improved world text file descriptions to better explain the new material loaders, making it easier to understand and use all the features.

I hope you enjoy the new features and improvements!

Feel free to reach out with any feedback or issues :)

1.20.6

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6
SkyGrid.jar117.4 KBSHA-1 2176a579e0f391a94f3a7c8083b1c7c53a5b4795获取文件 SkyGrid.jar
展开更新日志

Dynamic Bamboo Leaves & Bug Fixes!

What’s New:

  • Updated generator to add randomly sized bamboo leaves when bamboo is picked.
  • Fixed a bug where the first boot message was displayed after first boot.
  • Other general improvements to generator performance.

1.20.6

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6
SkyGrid.jar115.7 KBSHA-1 6e39c5fd631534c58131447948e5c998f6699332获取文件 SkyGrid.jar
展开更新日志

Fix Spawn Chunk Generation Issue

Resolved an issue where spawn chunks were not generating properly in experimental versions of 1.20.6 for Paper.

1.20.6

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6
SkyGrid.jar115.7 KBSHA-1 21b420ee860131ba9df396da1196b533813ac13f获取文件 SkyGrid.jar
展开更新日志

General Bug Fixes

Fixed issues with block distribution logic, Updated world files to explain how to use the generation features.

When using 1.20.6 paper there might be issues cause by the experimental build. If you get any errors in console, send them over.

1.20.6

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4 · 1.20.5 · 1.20.6
SkyGrid.jar111.6 KBSHA-1 2d732a503e484f9d639e8be31ea4f5fec8040322获取文件 SkyGrid.jar
展开更新日志

Introducing Armadillo Scuttles and Patching Command

What’s New:

Armadillo Scuttles in Chest Loot Tables

  • I've temporarily added Armadillo Scuttles to the chest loot tables for the overworld, giving players quick access to new update items.

Armadillos in Overworld Spawner Settings

  • Armadillos have been permanently added to the Overworld entity list in Spawner Settings.

Introducing the /patch Command

  • The new /patch command allows for the forced patching of files to their new versions, ideal for servers with default settings. It replaces old files with new ones containing updated materials or entities. For heavily modified files, manual updating is recommended.

New Items and Entities

  • The new items introduced are ARMADILLO_SCUTE and WOLF_ARMOR, while the ARMADILLO entity has been added as well.

I plan to further enhance compatibility by adding support for specific versions to the /patch command in the future and their associated items and entities.

1.20.4

正式版推荐
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4
SkyGrid.jar106.7 KBSHA-1 6ca8e842fb068227ca44ee93a2183c9df0a9aab2获取文件 SkyGrid.jar
展开更新日志

What’s New:

Pre-Generator Feature:

  • Built in async pregenerator feature that allows for efficient world generation. This feature is accessible through the /pregen command, with customizable parameters for chunks per cycle and print update delay.

  • Works best on paper servers, on none paper servers the async functionality will not be used. Recommend you go into your paper server paper-global.yml and update these.

chunk-system:
  gen-parallelism: 'true'
  io-threads: 12
  worker-threads: 12
  • Adjust io-threads and worker-threads to match your CPU’s thread count. Default settings utilize only half.

  • Usage: /pregen chunksPerCycle PrintUpdate(DelayinMinutes)

    • For "chunksPerCycle" It’s recommended to match the number of threads your system has. For example, 12 threads yielded 50-80 chunks per second on a 5600x CPU, depending on server activity and other system tasks.
  • I left some headroom on CPU usage to decrease the likelihood of unintended block updates. I don't recommend playing while the pregeneration is happening, you can just let it run for a while if you don't want to play in a server and just want to generate the world, about 24 hours should be good enough.

Command Updates:

  • Removed the "/sgon" command, eliminating the need for user-triggered commands to turn on SkyGrid generation. It now starts automatically during the first boot or subsequent server restarts/reloads. This modification improves the user experience by providing a more user-friendly and automated approach to SkyGrid generation, making the plugin more intuitive for server administrators.

This update is all about making your life easier and your server more efficient. I have been testing pregen for the last two months, if you run into any issue, please let me know (here).

1.20.4

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4
SkyGrid.jar66.8 KBSHA-1 aad2c5ebb499ecacf3cf4742834e847c4c04be93获取文件 SkyGrid.jar
展开更新日志

Biome generation, Fog feature Updates and performance improvements

Updated Generator for enhanced biome generation, Fog feature Improvements and performance improvements

  • Added support for multiple biomes: Modified the code to support multiple biomes in the header of the material files. You can now specify multiple biomes separated by commas.
-OCEAN,COLD_OCEAN,DEEP_COLD_OCEAN,DEEP_FROZEN_OCEAN,DEEP_LUKEWARM_OCEAN,DEEP_OCEAN,FROZEN_OCEAN,LUKEWARM_OCEAN-
SAND:80
SANDSTONE:9.0
SEA_PICKLE:1.0
TUBE_CORAL:1.0
TUBE_CORAL_FAN:1.0
HORN_CORAL:1.0
HORN_CORAL_FAN:1.0
FIRE_CORAL:1.0
FIRE_CORAL_FAN:1.0
BUBBLE_CORAL:1.0
BUBBLE_CORAL_FAN:1.0
BRAIN_CORAL:1.0
BRAIN_CORAL_FAN:1.0
-WARM_OCEAN-
SAND:80
SANDSTONE:20
  • Updated Generator: Previously, the biome generation was done once per chunk, but it has been updated to check the biome for every block generated in the grid. This change ensures more accurate biome-specific generation and avoids issues where biomes don't extend all the way underground.
  • Generator optimizations: Optimized to improve performance. Changes include storing constant values in local variables, minimizing block data modifications inside the loop, and reducing exception handling to enhance efficiency.
  • Updates to Fog feature: Improved user experience by changing how the resource pack is installed. Previously, the resource pack was installed every time a player joined the server while the plugin was enabled. Now, the resource pack is only asked to be installed when the fogon command is used. This change provides a better experience for users who do not use the fog feature but were previously asked to install the resource pack every time they joined.

These changes allow for more precise biome-based block generation and improve the overall performance of the plugin. The updates ensure that the generated biomes are accurately represented throughout the world, overcoming limitations of the previous chunk-based approach.

1.20.4

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20.1 · 1.20.2 · 1.20.3 · 1.20.4
SkyGrid.jar66.2 KBSHA-1 f14de54b7622c24dc2439c3af467d4afedb6aeac获取文件 SkyGrid.jar
展开更新日志

Full Overhaul

New Feature and Improvements

Check out the updated installation Instructions

  • Generator Overhaul: Completely revamped the generator for a 2x efficiency boost. Eliminated unnecessary chunk clearing checks, relying entirely on the datapack for smoother operation. Moved away from reliance on files to keep track of data, the only files now needed are in the OreGenBlock folder and SkygridBlocks folder.
  • Introduction of GrowthControl Class: Ensures regulated growth of sugarcane and cactus generated by the system. Includes optional log commands (toggleable with 'gclogson' and 'gclogsoff') for tracking controlled plants, enhancing server management. This maintains the integrity of the skygrid over time with minimal performance impact. Even under simulated heavy loads, such as a high 'randomtickspeed' for 300 players, no discernible TPS drop occurred.
  • Built-in Fog Feature: Added a new fog feature accompanied by a texture pack. Admins can enable it using '/fogon' and disable with '/fogoff'. This feature allows lower render distances without disrupting immersion. Upon server connection, users will receive a prompt to install a datapack for the fog; failure to install may result in a white bar at the top when the fog feature is activated. The texture pack conceals this UI change, crucial for the feature to function properly, as it cannot be implemented directly into the server's datapack files due to its nature. fog example
  • Reworked Ore Generation: Enhanced control allowing customization of stone and cobblestone generation via a new yml format. Preserves existing txt files for those with modifications, enabling an easy port-over to the new format.
# Ore Replacement Chances

# This file is used to specify the chances of different ores being chosen for replacement
# when lava or water generates stone blocks in the world. The stone generate in the world can be replaced by any block you want as long as its in the bukkit materials list https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html

# Format: Material_Name:Percentage
# The percentage represents the chance (in whole numbers) of the ore being chosen
# for replacement out of the total replacements when lava or water generates stone.

# Each line represents one ore with its corresponding replacement chance.
# Lines starting with '#' are considered comments and will be ignored by the code.

# Example:
# DIAMOND_ORE:5
# This means that there is a 5% chance of a diamond ore block being chosen
# when lava or water generates a stone block.

# The total sum of percentages should be less than or equal to 100.
# If the sum exceeds 100, the probabilities will be scaled down proportionally
# to fit within the 0-100 range.

# For example, if the total sum of percentages exceeds 100 as follows:
# DIAMOND_ORE:40
# COAL_ORE:60
# IRON_ORE:30
# GOLD_ORE:20

# The total sum is 40 + 60 + 30 + 20 = 150, which exceeds 100.
# To fit within the 0-100 range, the probabilities will be scaled down proportionally:
# DIAMOND_ORE: 40 * (100 / 150) = 26 (approximately 27)
# COAL_ORE: 60 * (100 / 150) = 40
# IRON_ORE: 30 * (100 / 150) = 20
# GOLD_ORE: 20 * (100 / 150) = 13 (approximately 13)

# The adjusted probabilities now add up to 26 + 40 + 20 + 13 = 99, which is within the 0-100 range.


#For if the block generated though water and lava is stone
STONE:
  STONE: 98
  COAL_ORE: 0.3
  COPPER_ORE: 0.4
  DIAMOND_ORE: 0.1
  EMERALD_ORE: 0.1
  GOLD_ORE: 0.2
  IRON_ORE: 0.4
  LAPIS_ORE: 0.2
  REDSTONE_ORE: 0.3

#For if the block generated though water and lava is cobblestone
COBBLESTONE:
  DEEPSLATE: 98
  DEEPSLATE_COAL_ORE: 0.3
  DEEPSLATE_COPPER_ORE: 0.4
  DEEPSLATE_DIAMOND_ORE: 0.1
  DEEPSLATE_EMERALD_ORE: 0.1
  DEEPSLATE_GOLD_ORE: 0.2
  DEEPSLATE_IRON_ORE: 0.4
  DEEPSLATE_LAPIS_ORE: 0.2
  DEEPSLATE_REDSTONE_ORE: 0.3

1.20.4

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2 · 1.20.3 · 1.20.4
SkyGrid.jar76.3 KBSHA-1 f05ab136ef04fb9d41a85c923db6f0c2612cb081获取文件 SkyGrid.jar
展开更新日志

General Fixes

Synchronized Chunk Clearing:

  • Resolved an issue with out-of-sync chunk clearing between the Void Worldgen Data pack and the plugin's block placement, preventing blocks from being placed in chunks not yet processed by the data pack. Increased delay for chunk processing after loading to minimize potential conflicts, particularly during high server loads. Despite this mitigation, during periods of extreme overload, the generator and datapack may still go out of sync intermittently. To further reduce the chance of chunk errors during high loads, consider reducing player render distance. Typically, a reasonable distance is around 6 chunks, but further reduction may be necessary on less capable servers to maintain stability and prevent chunk-related issues.

Performance Optimization:

  • Adjusted generator settings to optimize performance on less capable servers. Previously, block placements for the overworld covered a range from -64 to 256, while the nether and end were limited to 0 to 128. Modified block placements to unify the height across all dimensions, reducing load by restricting overworld block placements from -64 to 64, resulting in uniform grids of 128 blocks in height across all dimensions. This adjustment aims to alleviate server load, particularly in environments with higher user activity.

These adjustments aim to enhance synchronization between the plugin and the data pack, ensuring smoother block generation while optimizing server performance for a better user experience.

1.20.2

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2
SkyGrid.jar75.8 KBSHA-1 4af0ce326a8e646bbec5450fcfbaeb4ce2adebf5获取文件 SkyGrid.jar
展开更新日志

Chest Support Added

New Feature: Chest Support Added

Key Features:

  • Flexible Loot Customization: Tailor chest loot settings with precision, specifying the items, percentages, and amounts.
  • Tiered Loot Distribution: Items are distributed into tiers, adding variety and complexity to the loot. Each tier has its own set of items with different probabilities.
  • Biome-Specific Chests: Customize chest loot for specific biomes, allowing for a more immersive and thematic distribution of items based on the environment.
  • Easy Configuration: Edit the ChestSettings.yml file located in the SkygridBlocks folder to define the loot settings for each chest. Use compact or expanded formatting for easy customization.

How to Use:

  1. Update your plugin to the latest version.
  2. Configure Chests: Open the ChestSettings.yml file located in the plugin's SkygridBlocks folder.
  3. Customize Loot Settings: Define the loot settings for each chest in the configuration file. Use the provided examples as a guide.
# The available items for use can be found at https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
# The available biomes can be found here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html

# In YAML, identifiers or keys (such as "Chest1" in your example) are subject to certain rules.

# - Do's -
# Alphanumeric Characters: Identifiers can contain letters (both uppercase and lowercase) and numbers. For example, "Chest1" is a valid identifier.
# Underscores: You can use underscores (_) in identifiers. For instance, "my_chest" is a valid identifier.
# Hyphens in Quoted Strings: If an identifier contains special characters or spaces, you can enclose it in single or double quotes. For example, "'Special Chest'" or "\"Special Chest\"" are valid.

# - Don'ts -
# Special Characters: Avoid using special characters like !, @, #, $, %, etc., in identifiers without enclosing them in quotes. For example, "Chest@123" should be written as "'Chest@123'" if you want to use special characters.
# Leading Spaces: Identifiers should not have leading spaces. For instance, " MyChest" with a space at the beginning is not a valid identifier.
# Trailing Spaces: Similarly, identifiers should not have trailing spaces. "MyChest " with a space at the end is not valid.
# Spaces in the Middle: While you can use spaces within identifiers if they are enclosed in quotes, it's generally a good practice to avoid spaces within identifiers for clarity. For example, "My Chest" is valid, but "MyChest" is more commonly used.
# Reserved Keywords: Avoid using YAML reserved keywords as identifiers. These keywords have special meaning in YAML and should not be used as keys. For example, "true," "false," and "null" are reserved keywords.
# Case Sensitivity: YAML is case-sensitive. "myChest" and "MyChest" would be considered as two different identifiers.

# ChestSettings: This is the top-level section of the YAML configuration and acts as the main container for all chest settings.
# Chest1: This represents the first chest configuration, which we'll be using as an example. The code will look for a chest configuration with the key "Chest1." The key can be whatever you want; it serves as an identifier.
# Items: Under the "Chest1" configuration, there is an "Items" section. The code will process the items listed here to determine what should be placed in the chest's inventory. Formatting: "- ITEM_NAME:PERCENTAGE:MAX_AMOUNT"
# Biomes: This section lists the biomes in which the chest's item configuration will apply. Formatting: "- BIOME_NAME"

Example with Expanded Formatting:

ChestSettings:
  Chest1:
    Items:
      - MYCELIUM:30:5
      - RED_MUSHROOM:20:5
      - BROWN_MUSHROOM:20:5
      - RED_MUSHROOM_BLOCK:10:5
      - BROWN_MUSHROOM_BLOCK:10:5
      - MUSHROOM_STEM:10:5
    Biomes:
      - MUSHROOM_FIELDS

# The YAML above will be interpreted as follows:

# For a chest located in the "MUSHROOM_FIELDS" biome, the code will use the specified item settings to randomly populate the chest's inventory. The percentage chances and amount ranges for each item will be considered when filling the chest.
# MYCELIUM:30:5 - This line specifies an item with the name "MYCELIUM" with a chance of 30% (percentage) of being placed in the chest, and the max amount of this item is 5. The code will randomly select a value between 1 and 5 for the number of MYCELIUM to place in the chest.

Example with Compact Formatting:

ChestSettings:
  Chest1:
    Items: [WOODEN_AXE:20:1, WOODEN_PICKAXE:20:1, CROSSBOW:20:1, ...]
    Biomes: [BADLANDS, BAMBOO_JUNGLE, BIRCH_FOREST, ...]

# This is a more compact way of formatting the above. Both versions are valid.
# How to format item entries: [ITEM_NAME:PERCENTAGE:MAX_AMOUNT]. If there is more than one item, you can do [ITEM_NAME:PERCENTAGE:MAX_AMOUNT, ITEM_NAME:PERCENTAGE:MAX_AMOUNT].
# If you are doing multiple biomes, this is also a more compact way of formatting it.
# How to format biome entries: [BIOME_NAME]. If there is more than one biome, you can do [BIOME_NAME, BIOME_NAME].

Sample of 10 chest from the Overworld, Nether, and End with the included Pre-Configuration.

Sample Chest Generation

1.20.2

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2
SkyGrid.jar62.3 KBSHA-1 bb64f62054e435a3d186abbfcaaf91996fc5510f获取文件 SkyGrid.jar
展开更新日志

Spawner Support Added

New Feature: Customize Mob Spawner Settings

Elevate your Skygrid adventures with the new Spawner Support feature, offering complete control over mob spawner settings. Customize spawner attributes, including the types of entities, spawn rates, and other parameters.

Key Features:

  • Fine-Tune Spawner Settings: Precisely adjust the spawner settings, specifying the entity, delay, max nearby entities, and more.
  • Random Entity Selection: Set the spawn weights for entities to add unpredictability to your gameplay. The plugin will select entities randomly based on these weights.
  • Worldwide Customization: Customize spawners for all biomes across all world dimensions, ensuring a seamless and immersive experience.
  • Grid Block Inclusion: To enable the Spawner Support feature, be sure to add the SPAWNER block to your world.txt, world_nether.txt, or world_the_end.txt configuration in the SkygridBlocks folder. The Spawner code won't be called unless the SPAWNER block is added.
  • Biome-Specific Spawners: Customize spawners for specific biomes at the block level, adding a new layer of customization. For example, if you specify the biome as "DEEP_DARK," you can configure spawners to spawn WARDEN entities exclusively in that biome.

How to Use:

  1. Update your plugin to the latest version.
  2. Configure Spawners: Open the SpawnerSettings.yml file located in the plugin's folder.
  3. Customize Settings: Define the settings for each spawner in the configuration file, specifying the entity, delay, max nearby entities, and more. You can use either of the following YML formatting styles, and they will both be read the same by the YML parser:
# The available entities for use can be found at https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html
# The available biomes can be found here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/block/Biome.html
 
# Entities - Define entities and their chances of being chosen for the spawner. Formatting "- DOLPHIN:33.33"
# Biomes -  List the biomes where this spawner will spawn. Formatting "- BEACH"
# Delay: - Set the spawner's delay. If set to -1, the delay will be randomized (randomly choose a delay between min and max spawn delays).
# MaxNearbyEntities - Set the maximum nearby entities (of the same type) allowed. Default value is 16.
# MaxSpawnDelay - The maximum spawn delay amount (in ticks). This value must be greater than 0 and less than or equal to MaxSpawnDelay. Default value is 800 ticks.
# MinSpawnDelay - The minimum spawn delay amount (in ticks). Default value is 200 ticks.
# PlayerRange - Set the range for player activation (given that there are players online). Default value is 16.
# SpawnCount - Set how many mobs attempt to spawn. Default value is 4.
# SpawnRange - Set the radius around which the spawner will attempt to spawn mobs in. Default value is 4.

Example with Expanded Formatting:

SpawnerSettings:
  Spawner1:
    Entities:
      - SKELETON:100
      - ZOMBIE:100
    Biomes:
      - FOREST
      - PLAINS
    Delay: -1
    MaxNearbyEntities: 16
    MaxSpawnDelay: 800
    MinSpawnDelay: 200
    PlayerRange: 16
    SpawnCount: 4
    SpawnRange: 4

Example with Compact Formatting:

SpawnerSettings:
  Spawner1:
    Entities: [SKELETON:100, ZOMBIE:100]
    Biomes: [FOREST, PLAINS]
    Delay: -1
    MaxNearbyEntities: 16
    MaxSpawnDelay: 800
    MinSpawnDelay: 200
    PlayerRange: 16
    SpawnCount: 4
    SpawnRange: 4

In these examples, "Spawner1" can spawn both SKELETON and ZOMBIE entities with equal chances.

Random Entity Selection: Create a list of entities with associated spawn weights to add unpredictability to your spawners.

Entities: [SKELETON:10, ZOMBIE:10, CREEPER:5]

In these examples, "Spawner1" can spawn both SKELETON and ZOMBIE entities with equal chances.

With Spawner Support, you have the freedom to tailor your spawner settings to your liking. Enjoy the flexibility to customize spawners for all biomes across all world dimensions, making your Skygrid experience truly unique. Stay tuned for more updates, as I am working on additional features such as chest support. Your feedback and suggestions are highly valued as we continue to improve the plugin.

1.20.2

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2
SkyGrid.jar58.2 KBSHA-1 ee67843811aefa8d3cc45a27a7a5d664128491db获取文件 SkyGrid.jar
展开更新日志

Biome Generation Support

New Feature: Biome-Specific Block Generation

  • Customize the block generation in your world based on different biomes. Specify unique block materials and percentages for each biome in the world.
  • Enjoy a more immersive and dynamic Skygrid experience with biome-specific block generation.

How to Use:

  1. Update your plugin to the latest version.
  2. Configure Biome-Specific Blocks:
  3. Open the text files for each world dimension (e.g., world.txt, world_nether.txt, world_the_end.txt) located in the plugin's folder.
  4. Specify block materials and their respective percentages for each biome in your world.

For example:

DIRT:20 
STONE:20 
GRASS_BLOCK:20 
-OCEAN- 
SAND:50 
WATER:50 
-DESERT- 
SAND:100​ 
  • In this example, when generating chunks in the "OCEAN" biome, there's a 50% chance of generating "SAND" blocks and a 50% chance of generating "WATER" blocks. In the "DESERT" biome, only "SAND" blocks will be generated. For the blocks above they will be generated on all biomes not specified in the file for that dimension. So, if you only want to have 1 custom biome with the rest having another variety of blocks you can do that.
  • Biomes are signified by the -BIOME_NAME-, everything under the biome header will generate only in that biome, unless there is another biome under it like in the example above.

Here is another example,

-OCEAN-
SAND:80
SANDSTONE:9
SEA_PICKLE:1
TUBE_CORAL:1
TUBE_CORAL_FAN:1
HORN_CORAL:1
HORN_CORAL_FAN:1
FIRE_CORAL:1
FIRE_CORAL_FAN:1
BUBBLE_CORAL:1
BUBBLE_CORAL_FAN:1
BRAIN_CORAL:1
BRAIN_CORAL_FAN:1
  • Supported biomes can be found here: Biomes

zoomed out biome support

zoomed in biome support

I hope this new feature adds a layer of depth to your Skygrid adventures. As always, we value your feedback and suggestions to further improve the plugin. Feel free to reach out with any questions or comments. Next features being worked on right now is spawner and chest support, no ETA.

1.20.2

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2
SkyGrid.jar57.7 KBSHA-1 9c499de9a9edab1b7fee882d6a156f29298db4ad获取文件 SkyGrid.jar
展开更新日志

/TPR hotfix

Issues:

  • Fixed an issue were server desync while using /TPR would result in the player teleporting to the void resulting in them falling to their death

Remedies:

  • Introduced more safety mechanism to detect desync and prevent players from being teleported to unsafe places.

1.20.2

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2
SkyGrid.jar58.2 KBSHA-1 a45b4d2fc044f145ccefc945dcd7382be5fb1f9b获取文件 SkyGrid.jar
展开更新日志

Fixed "moved too quickly" Warnings

Issues:

  • Warning spam when players used /tpr command
  • Example: [99:99:99 WARN]: Go0fy_Go0ber moved too quickly! 999,999,999

Remedies:

  • Resolved the issue of "moved too quickly" warnings spam by enhancing the block identification system, ensuring players are less likely to be teleported onto dangerous blocks.

1.20.2

正式版
加载器
bukkit · paper · spigot
MC 版本
1.20 · 1.20.1 · 1.20.2
SkyGrid.jar57.8 KBSHA-1 7dfb124e002c7cccc0594f2033945db04d2093c1获取文件 SkyGrid.jar
展开更新日志

Critical Update: Data Safety!

Issues:

  • Thread Safety: The original code was not thread-safe, which could lead to data inconsistency when multiple threads access and modify the clearedChunks set simultaneously.
  • Saving Chunks: The plugin needed to save cleared chunks periodically, but there was no mechanism to do so at regular intervals.
  • Chunk Clearing: The code clears chunks in response to the ChunkLoadEvent, but it was necessary to ensure that the chunks were not cleared repeatedly.

Remedies:

  • Thread Safety: Used a ConcurrentHashMap.newKeySet() for the clearedChunks set to make it thread-safe. Additionally, I added the synchronized keyword to the saveClearedChunks method to ensure that the saving process is thread-safe.

  • Saving Chunks: Implemented a scheduled task using Bukkit's scheduler to call the saveClearedChunks method at regular intervals (e.g., every 5 seconds) to save cleared chunks.

  • Chunk Clearing: Introduced a check in the clearChunk method to ensure that chunks are not cleared again if they have already been cleared. This helps prevent repeated clearing of chunks in the same session.

By making these changes, the plugin should now handle data more safely and efficiently, especially in multi-threaded environments, and ensure that cleared chunks are saved periodically.