
A plugin that allows crops and animals to grow even if users are not online or chunks are not loaded.
Crops and passive mobs keep maturing while chunks are unloaded: when someone loads the area again, the plugin applies the “missing” progress in one shot so growth feels natural instead of time-gated by online players.
KeepMeGrowing tracks when plant blocks and supported animals were last persisted for a chunk. On chunk load, it looks at wall-clock time since last unload, applies your configured pacing, and advances growth (crops, stems, saplings, vines, etc.) plus passive mob ageing where enabled. Requires Spigot/Paper 1.13+ (API); passive mob simulation needs Minecraft 1.10+. WorldGuard is optional via the offline-growth flag.
Drop your marketing screenshots into assets/ as crops.png and animals.png so the images below render on GitHub.


When a chunk that contains tracked plants or eligible animals is loaded, the plugin knows roughly how long that chunk (or its saved state) sat unloaded. It does not simulate every tick in real time; instead it fast-forwards growth using that elapsed time and your config.yml pacing so players see crops and mobs “catch up” as if they had been progressing the whole time.
Here is a concrete example using the default pacing for carrots in config.yml (20 minutes ≈ “full maturity” for pacing purposes — you can change this per crop):
Exact behaviour depends on crop type, block state, modifiers (/growth rate, sprint, freeze), and WorldGuard offline-growth. Tune every crop in plants-minutes-to-full-growth and mobs in mobs-minutes-to-full-growth to match your server.
These are handled with offline-style progression (names match common Bukkit materials / farm blocks):
If the server version allows mob tracking, these types can receive offline-style ageing / special cases (e.g. baby → adult pacing, sheep wool regrowth where implemented):
/growth multipliers when players are nearby offline-growth flag (DENY blocks simulation in that region) config.yml) keepmegrowing-2.0.jar (or keepmegrowing-bundled-2.0.jar if you need all DB drivers in one file). plugins folder. plugins/KeepMeGrowing/. config.yml, then /growth reload or /keepmegrowing reload (same permission).Upgrading from older “OfflineGrowthPro” folders: rename/copy plugins/OfflineGrowthPro/ → plugins/KeepMeGrowing/ so existing data stays with the new plugin name. Legacy scoreboard tags are not migrated automatically.
| Command | Aliases | Permission | Description |
|---|---|---|---|
/keepmegrowing |
/kmg |
keepmegrowing.admin |
Help / same subcommands as /growth |
/growth |
/gth |
keepmegrowing.admin |
reload, debug, sprint, freeze, unfreeze, rate <n> |
| Permission | Default | Description |
|---|---|---|
keepmegrowing.admin |
op | All admin commands above |
Main file: plugins/KeepMeGrowing/config.yml.
| Section | Purpose |
|---|---|
plants-minutes-to-full-growth |
Pacing hint per crop (lower = faster offline catch-up) |
mobs-minutes-to-full-growth |
Same idea for supported passive mobs |
growth-rate |
Base and sprint multipliers |
loaded-chunk-growth |
Extra ticks while chunks stay loaded |
unload-chunk-scan-crops |
Optional full-chunk scan on unload (heavier) |
blacklisted-worlds / disable-spawn-chunks |
World policy |
database |
JSON or SQL/Mongo settings |
YAML keys are stable; adjust comments and values only.
Paper and Spigot, Minecraft 1.13+ for the API baseline; mob features need 1.10+ game behaviour as noted above. WorldGuard soft-depend.
This plugin sends anonymous usage metrics to bStats — keepmegrowing (plugin ID 31246): server software, Minecraft version, player counts, and adoption trends — no personal player data.
KeepMeGrowing enables Metrics with ID 31246 on enable. The shadow JAR relocates org.bstats into com.keepmegrowing so it does not clash with other plugins’ bStats copies.
If your server does not show on the chart yet: the first payload is delayed a few minutes, and bStats refreshes around :00 and :30 each hour. Server owners can opt out via the global bStats config under plugins/ (server owner docs).