Tags
Creators
Details
4.4.0
Compatibility
Changes
CobbleOptimizer 4.4.0 — Release Notes
New optimization: Berry ticker backport (Cobblemon 1.8 → 1.7.3)
Added a new patch that eliminates the per-tick BlockEntityTicker overhead from BerryBlock, ported from how Cobblemon 1.8 handles berry growth.
What it does
- Cancels the original BerryBlock.getTicker() registration (no more per-tick callback on every loaded berry tree).
- Adds hasRandomTicks / randomTick / scheduledTick overrides that drive berry growth via vanilla random ticking instead, with delta-time compensation so average maturation time stays identical to vanilla Cobblemon.
- Mature berries (age = 5) and rooted berries don't tick at all → zero per-tick cost.
Performance
- Before: every loaded BerryBlockEntity ran a callback 20×/s → linear cost scaling with the number of loaded berry trees.
- After: each berry block is visited on average ~once per 68 s (at randomTickSpeed=3), with the elapsed game-time subtracted in one batch from stageTimer.
- On servers with large berry farms, this removes a constant per-tick overhead proportional to the farm size.
Configuration
- Config key: patches.berry_ticker_optimization
- Default: true (enabled out of the box for new installs; existing config files preserve their previous values).
- To disable: edit cobbleoptimizer.toml or run /cobbleoptimizer set patches.berry_ticker_optimization false and reload.
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:TTnnNQT0"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:qPJLoYyi:TTnnNQT0"
}

