Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
๐ง In Progress v7.0.0 Performance Overhaul The old architecture hit a hard wall. Having 10โ25 farmers at once was tanking server TPS, so I'm completely rebuilding the backend. Iโve already ported the core over to PaperMC, but making sure it's 100% stable and actually scales is going to take some time. By bypassing heavy vanilla loot tables and batching inventory updates, the goal is to handle 100โ200+ players farming simultaneously with zero lag. Flying solo on this, so I'm stress-testing everything properly before dropping the release. It'll be out once I know it won't melt your server.
Replenish++ ๐พ
Auto-replant QoL plugin for Spigot/Paper, inspired by Hypixel's Replenish mechanic.

What it does
- ๐พ Auto-replants Wheat, Carrots, Potatoes, Nether Wart, Cocoa, Beetroots
- ๐ฑ Immature crops keep their current growth stage
- ๐ Optional seed consumption (on by default)
- ๐ฆ Optional direct pickup into your inventory (on by default)
- ๐ช Requires the correct tool (Hoes / Axes)
- ๐งญ Correctly replants Cocoa with the proper facing
- ๐ Fortune enchantments works normally
- ๐ Fully configurable sounds
Quick install
- Drop the JAR into
plugins/ - Start the server
- Edit
plugins/Replenish/config.ymlif desired - Done.
Default behavior (no config edits)
-
Breaking a mature crop:
- Replants at age 0
- Consumes 1 seed from your inventory (or off-hand) if
requirePlayerSeedistrue - Drops go straight to you if
directPickupistrue
-
Breaking an immature crop:
- Replants at the same age (no seed needed)
Commands & permissions
| Command | Description |
|---|---|
/replenish status |
Show current settings |
/replenish version |
Show plugin version |
/replenish toggle |
Enable/disable the plugin |
/replenish reload |
Reload the configuration |
Permissions:
replenish.status(default: true)replenish.version(default: true)replenish.use(default: op)replenish.toggle(default: op)replenish.reload(default: op)replenish.*(default: op)
Configuration
Common settings
enabled: true
requirePlayerSeed: true
directPickup: true
replantDelayTicks: 1
maxReplantsPerTick: 1024
checkUpdates: true
Full default config.yml
# ============================================
# REPLENISH CONFIG
# ============================================
# --------------------------
# GENERAL SETTINGS
# --------------------------
config-version: 5 # DON'T TOUCH THIS!!!
enabled: true # master switch: false disables all replanting globally
requirePlayerSeed: true # consume 1 seed from inventory on mature harvest
directPickup: true # drops go straight to the player
replantDelayTicks: 1 # 1 tick = 50ms
maxReplantsPerTick: 1024 # maximum crops replanted per tick (20 ticks/second)
# raise this on beefier servers if replants lag behind
# lower it on weaker servers to reduce load
checkUpdates: true # check GitHub for new releases on server startup
# --------------------------
# CROP TOGGLES (turn on/off)
# --------------------------
crops:
wheat: true
carrots: true
potatoes: true
nether_wart: true
cocoa: true
beetroots: true
# --------------------------
# CHAT MESSAGES (customize these)
# --------------------------
# Placeholders: {crop}, {tool}, {seed}, {count}
messages:
inventory-full: "&8[&eReplenish&8] &8ยป &7Your inventory was full, so some items dropped on the ground instead."
requires-tool: "&8[&eReplenish&8] &8ยป &7You need a &e{tool} &7to harvest &e{crop}&7."
need-seed: "&8[&eReplenish&8] &8ยป &7You need &e{count}x {seed} &7in your inventory to replant this."
# --------------------------
# SOUND EFFECTS (customize or disable)
# --------------------------
# Each of the four feedback sounds can be individually enabled/disabled
# and customized with any Bukkit Sound, volume, and pitch.
#
# sound: Must match a Bukkit Sound enum name (case-insensitive).
# Full list: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
# Invalid names log a warning and fall back to the default.
# volume: 0.0 (silent) to 1.0 (loudest)
# pitch: 0.5 (low) to 2.0 (high); 1.0 = normal
#
# To disable a sound entirely, set enabled: false.
sounds:
# Played when harvested crops go into your inventory
pickup:
enabled: true
sound: ENTITY_ITEM_PICKUP
volume: 1.0
pitch: 1.0
# Played when your inventory is full and items drop on the ground
inventory-full:
enabled: true
sound: BLOCK_NOTE_BLOCK_BASS
volume: 1.0
pitch: 0.5
# Played when you try to harvest without the required tool
denied-tool:
enabled: true
sound: ENTITY_VILLAGER_NO
volume: 1.0
pitch: 0.5
# Played when you try to harvest but lack a seed to replant
denied-seed:
enabled: true
sound: ENTITY_VILLAGER_NO
volume: 1.0
pitch: 0.5
๐ก Contributions & Pull Requests
Managing direct PRs gets a bit overwhelming for me, so I keep them disabled for this project to protect my peace. But I'm open to discussion! If you have a features, optimizations, bug fixes, improvements etc., open an issue first. We can chat about it there and see if it fits the project. Otherwise, you are highly encouraged to fork or clone this repo and do whatever you want with it. Vibe-code, rip it apart, and build what you want not what other people expect you to build. Everyone starts somewhere, and you are goated. You matter, so go start now.
License
This project is licensed under the GNU Affero General Public License v3.0.


