1.20.4
Compatibility
Changes
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).
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:ihjAiP7L:HzXmKUO2"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ihjAiP7L:HzXmKUO2"
}

