Tags
Creators
Details
4.8.0
Compatibility
Changes
Drop in a new version of the mod and cobbleoptimizer.toml now picks up any new options automatically on startup. Your existing settings are kept exactly as they were - only missing keys are added, and comments are refreshed.
No more editing the file by hand or deleting it to force a regeneration.
The server log tells you what happened, for example:
[CobbleOptimizer] Config updated with 3 new option(s):
batch_despawn.spawn_grace_period_ticks, batch_despawn.protect_player_npc,
patches.fix_cobbreeding_semver
If your config fails validation, the file is left untouched so you can see and correct the offending values.
Note: if you have been running the mod for a while, your config may be missing options that were added in earlier releases and never appeared in your file. This update adds them. patches.fix_cobbreeding_semver is a common example.
FIXES
-
Settings could silently fail to save. Running "/cobbleoptimizer set ..." and then stopping the server within a few seconds lost the change. Config writes were asynchronous and were not flushed on shutdown. They are now written to disk immediately.
-
spawn_grace_period_ticks is now actually adjustable. This is the window that protects freshly spawned Pokemon near a player, so a fishing catch is not swept away mid-reel. It existed and was in use, but was locked at 600 ticks (30 seconds) with no way to change it and was never saved to the config file. It is now a real, editable option.
-
Removed a dead setting. batch_despawn.despawn_on_chunk_load appeared in command tab-completion but had nothing behind it, and returned "Invalid key or value" if you tried to set it. It has been removed.
-
Wild Pokemon could accumulate without ever being cleaned up. Affects some 4.7 builds only. Pokemon holding an item, and Combee working saccharine trees, were incorrectly treated as permanent. Because Cobblemon does not despawn those on its own either, they could pile up over time and cost TPS. Only deliberately persistent Pokemon are protected now.
NEW CONFIG OPTIONS
[batch_despawn]
# Protect player-made NPC Pokemon from despawn (Pokemon whose vanilla
# PersistenceRequired flag was set via /data modify, e.g. pokemon center
# receptionists)
protect_player_npc = true
# Newly spawned Pokemon near a player are protected for this many ticks,
# so fishing/spawn results are not swept away
# (600 = 30 seconds, 0 = disabled)
spawn_grace_period_ticks = 600
Both are also settable in game:
/cobbleoptimizer set batch_despawn.protect_player_npc false
/cobbleoptimizer set batch_despawn.spawn_grace_period_ticks 1200
"/cobbleoptimizer status" now lists player_npc among the active protections.
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:qPJLoYyi:D78ayY4V"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:qPJLoYyi:D78ayY4V"
}

