Very simple plugin wich prevent unpermitted players to break crops by jumping on them.
Break it, bank it. Auto-collect crops into an unlimited virtual warehouse and sell them in one click
Direct download from SpigotMC · 0 downloads
DreamFarm is a plugin for Paper / Spigot servers, made by Dream_Xing_Chen. Break it, bank it. Auto-collect crops into an unlimited virtual warehouse and sell them in one click.
It supports Minecraft 1.12 – 1.21. That puts it at #409 of the 420 admin and permission plugins listed here. The last update came out on Nov 7, 2026.
The newest is 1.0.1, released on Nov 7, 2026.
| Version | Released | Type |
|---|---|---|
1.0.1 | Nov 7, 2026 | Release |
The commands named on the SpigotMC page of DreamFarm:
/dfPermission nodes named there, to give with a plugin like LuckPerms:
dreamfarm.usedreamfarm.admindreamfarm.autocollectdreamfarm.reloadDreamFarm
Automatic crop collection · Virtual warehouse · One-click selling
1.12 – 26.x ▪ Folia ready ▪ Java 8+ ▪ Only Vault required
[HR][/HR]
Stop chasing dropped items across your farm.
DreamFarm turns harvesting into a single action: break a mature crop and it goes straight into the player's virtual warehouse. No item entities, no lost drops, no lag from hundreds of stacked items on the ground.
Players open one menu to browse their warehouse, withdraw what they need, and sell the rest for money — while the server keeps a hard limit on how much can be sold per crop each day.
[HR][/HR]
[HEADING=2]Feature Highlights[/HEADING]
Automatic collection
Mature crops are stored the moment they are broken; vanilla drops are suppressed. Immature crops are left alone.
Virtual warehouse
One unlimited warehouse per player, paginated, with three withdraw granularities.
One-click selling
Sell everything at once. Price = unit price × amount, no tax. Per-crop daily limits.
Anti-abuse by design
Crops grown with bone meal never enter the warehouse, so the "bone meal → instant growth → sell" loop is closed.
Four storage backends
YAML, SQLite, MySQL and Redis — switch by editing one line and running
Code (Text):
/df reload
.
Fully configurable GUI
Titles, materials, lore, slots and placeholders all live in YAML.
Built-in localisation
English (default) and Simplified Chinese, with automatic fallback for missing keys.
Folia support
Detects Folia and switches to region scheduling automatically. The same jar runs on Spigot/Paper.
No extra libraries
Only Vault is required. The GUI is native, no third-party GUI library to install.
[HR][/HR]
[HEADING=2]1. Automatic Collection[/HEADING]
How it behaves
Four harvest mechanisms
Type
Crops
Behaviour
Code (Text):
ageable
Wheat, Carrot, Potato, Beetroot, Nether Wart, Cocoa
Reads the block age; only fully grown blocks are collected.
Code (Text):
stacking
Sugar Cane, Cactus, Bamboo
Breaking any part walks up the column and stores the whole column, so nothing scatters on the ground.
Code (Text):
right-click
Sweet Berries
Right-click harvesting stores the berries without breaking the bush.
Code (Text):
fruit
Melon, Pumpkin
The fruit block has no growth stage, so the adjacent stem is checked instead (see below).
How melon and pumpkin are handled
A melon or pumpkin block is only farm produce when a stem produced it. DreamFarm verifies this:
Code (Text):
Break a pumpkin / melon block
├─ adjacent ATTACHED_*_STEM (fruit attached) → mature, collect
├─ adjacent *_STEM with maximum age → mature, collect
└─ no stem at all (decorative block) → ignore, vanilla drops
This means a player cannot place a pumpkin block, break it, and farm money. The check also works on 1.12, where the melon block is still called
Code (Text):
MELON_BLOCK
.
[HR][/HR]
[HEADING=2]2. Virtual Warehouse[/HEADING]
Code (Text):
[current/total]
and grey out at the boundaries.
Withdraw rules
Action
Amount
Left click
One stack
Right click
One item
Shift + click
Everything (limited by free inventory space)
The amount is clamped to the free space in the player's inventory. If giving items partially fails, the remainder is returned to the warehouse — nothing is ever swallowed.
[HR][/HR]
[HEADING=2]3. One-Click Selling[/HEADING]
Code (Text):
min(stock, remaining daily allowance)
.
Code (Text):
daily-limit: 0
means unlimited.
Crash-safe by ordering
Code (Text):
Main thread : validate stock and limit → deduct in memory → take a snapshot
Async thread: persist snapshot + write the sale log
Main thread : deposit money → update statistics → message and sound
Persisting happens
before the money is paid. A crash can at worst leave items deducted without payment (an admin can refund) — money is never created out of thin air. If the economy plugin throws or the deposit fails, the deduction is rolled back both in memory and in storage.
[HEADING=2]4. Daily Reset[/HEADING]
Clock format or cron, your choice:
Code (Text):
daily-reset-time: "00:00" # every day at 00:00
daily-reset-time: "04:30:00" # every day at 04:30:00
daily-reset-time: "0 0 4 * * ?" # cron: every day at 04:00
daily-reset-time: "0 0 4 * * 1" # cron: every Monday at 04:00
daily-reset-time: "0 0 0 1 * *" # cron: monthly, 1st at 00:00
Code (Text):
*
,
Code (Text):
?
, ranges, steps and comma lists; weekday
Code (Text):
0
and
Code (Text):
7
both mean Sunday.
[HR][/HR]
[HEADING=2]5. Storage Backends[/HEADING]
Code (Text):
storage:
type: sqlite # yaml | sqlite | mysql | redis
flush-interval-seconds: 30
Type
Data location
Good for
Code (Text):
yaml
Code (Text):
plugins/DreamFarm/playerdata/<UUID>.yml
Small servers, hand editing
Code (Text):
sqlite
Code (Text):
plugins/DreamFarm/data.db
Single server, balanced
Code (Text):
mysql
Tables
Code (Text):
<table-name>_warehouse
,
Code (Text):
_player
,
Code (Text):
_daily_limit
,
Code (Text):
_log
Multi-server, central backup
Code (Text):
redis
Keys prefixed with
Code (Text):
dreamfarm:
Very high throughput, multi-server
Code (Text):
storage.type
, run
Code (Text):
/df reload
; the old backend is flushed, the new one initialised, the cache cleared and re-read.
Code (Text):
DELETE
Code (Text):
INSERT
inside one transaction, so stale rows cannot resurrect old amounts.
[HR][/HR]
[HEADING=2]6. GUI and Placeholders[/HEADING]
The main menu and the warehouse menu are entirely YAML-driven. Titles, glass pane decorations, crop card slots, materials, custom model data and lore are all configurable, and the sell button is placed
automatically on the row below its crop card (
Code (Text):
slot + 9
) — no need to maintain two numbers per crop.
Available placeholders
Placeholder
Meaning
Code (Text):
{crop_name}
Display name of the crop
Code (Text):
{amount}
Amount stored in the warehouse
Code (Text):
{daily_sold}
Amount sold today
Code (Text):
{daily_limit}
Daily limit (
Code (Text):
∞
when configured as 0)
Code (Text):
{can_sell}
Amount that can be sold right now
Code (Text):
{total_value}
Total value of the sellable amount
Code (Text):
{status}
Auto-collect status (toggle button only)
Example crop entry
Code (Text):
crops:
WHEAT:
name: "&2Wheat"
price: 3.0
daily-limit: 10000
slot: 15
lore:
- "&aType: &f{crop_name}"
- "&aAmount: &e{amount} &fitems"
- "&aSold today: &e{daily_sold} &7/ &f{daily_limit}"
sell:
material: GOLD_NUGGET
name: "&dSell all {crop_name}"
lore:
- "&aSellable now: &f{can_sell} &fitems"
- "&aTotal value: &e{total_value} &fcoins"
[HR][/HR]
[HEADING=2]7. Commands[/HEADING]
Command
Description
Permission
Code (Text):
/df
Open the main menu
Code (Text):
dreamfarm.use
Code (Text):
/df reload
Reload config and player data; hot-switch storage if changed
OP or
Code (Text):
dreamfarm.admin
Code (Text):
/df crops <crop> <amount> [player]
Grant crops into a warehouse
OP or
Code (Text):
dreamfarm.admin
Crop names accept the config key, an English alias or the display name, for example:
Code (Text):
/df crops WHEAT 1000 give yourself 1000 wheat
/df crops carrot 500 Steve give an online player
/df crops POTATO 500 Notch offline players work too
[HR][/HR]
[HEADING=2]8. Permissions[/HEADING]
Node
Description
Default
Code (Text):
dreamfarm.use
Use the main command
true
Code (Text):
dreamfarm.autocollect
Use automatic collection
true
Code (Text):
dreamfarm.admin
Reload and grant crops
op
Code (Text):
dreamfarm.reload
Reload (child of admin)
op
[HR][/HR]
[HEADING=2]9. Multi-Language[/HEADING]
Code (Text):
plugins/DreamFarm/lang/
at startup, so you can edit and switch freely.
Code (Text):
en_us
→ built-in default. A partially translated file never shows blank text.
Code (Text):
en_us.yml
, translate it, then set
Code (Text):
language:
in
Code (Text):
config.yml
.
[HR][/HR]
[HEADING=2]10. Compatibility and Performance[/HEADING]
Server
Spigot / Paper / Purpur 1.12 – 26.x, and Folia
Java
8 or newer
Dependencies
Vault + any economy plugin
Optional hooks
Residence / GriefPrevention / WorldGuard / Towny
Zero IO on the main thread
Stage
Thread
Work
Pre-login
Async
Database read only, into cache
Harvest / open menu
Main
Memory only; loads asynchronously if not ready
Selling
Main → async → player region
Deduct → persist → pay and update stats
Quit
Main → async
Snapshot and drop cache, persist asynchronously
Periodic flush
Async
Persistence only, never touches game objects
Measured hot-path cost
-
Code (Text):
add()
per harvest ≈ 25 ns (about 39 million ops/s)
-
Code (Text):
getAmount()
≈ 5.9 ns
At 10,000 harvests per minute the hot path uses roughly 0.0004% of a single core.
Folia
DreamFarm declares
Code (Text):
folia-supported: true
, detects the regionised server at startup, and routes every task by semantics: global timers to the global region scheduler, async IO to the async scheduler, and messages, menus and payments to the owning player's entity scheduler. Block events on a region boundary step aside instead of touching player state across regions.
[HR][/HR]
[HEADING=2]11. Installation[/HEADING]
Code (Text):
plugins/
.
Code (Text):
plugins/DreamFarm/
.
Code (Text):
config.yml
,
Code (Text):
Inventory/*.yml
and
Code (Text):
lang/*.yml
.
Code (Text):
/df reload
.
[HR][/HR]
[HEADING=2]12. FAQ[/HEADING]
Players say crops are not stored. What should I check?
Check in order: is the crop listed under
Code (Text):
crops:
· is it fully grown · was it grown with bone meal · does the player have
Code (Text):
dreamfarm.autocollect
and auto collection enabled.
Do I need to restart after editing the config?
No. Changes apply within 2 seconds, or run
Code (Text):
/df reload
.
Does
Written by Dream_Xing_Chen. Read it with pictures on SpigotMC.
Make sure your server runs Paper and Spigot on Minecraft 1.12 – 1.21.
Download the .jar file from SpigotMC and put it in the plugins folder of your server.
Restart the server. Avoid /reload, many plugins do not handle it well.
Type /plugins in the console: DreamFarm should be listed in green. Its config files are created in the plugins folder on the first start.
Full guide: How to install plugins on a Minecraft server
| Resource | Downloads | Versions | Last update | Price |
|---|---|---|---|---|
| DreamFarmthe one you looked at | 0 | 1.12 – 1.21 | 4 days ago | Free |
| NoJumbBreakCropsSlowJulien | 366 | 1.16 – 26.x | 27 days ago | Free |
| 145K | 1.18 – 26.x | Oct 4, 2026 | Free | |
| 44K | 1.19 – 26.x | Apr 24, 2026 | Free |
Not yet. The newest version it supports is Minecraft 1.21.
Yes. DreamFarm is free to download from SpigotMC.
DreamFarm runs on Paper and Spigot servers.
Yes. The last update came out in the past day.
The closest ones are NoJumbBreakCrops, MinerTrack Anti XRay and ExcellentEconomy. Compare all alternatives
Very simple plugin wich prevent unpermitted players to break crops by jumping on them.
MinerTrack Anti XRayPlugins · 1.18 – 26.xThe Powerful antixray, help you auto catch X-rayers and punish them according to your configuration.
ExcellentEconomyPlugins · 1.19 – 26.xA modern and lightweight economy system with unlimited virtual currencies.
MinerTrackPlugins · 1.18 – 26.xThe Powerful Anti-Xray, help you auto catch X-rayers and punish them according to your configuration.
PlayerKits 2Plugins · 1.8 – 26.xAn easy to use but powerful plugin to create survival kits and claim them on a GUI.
Geyser and Floodgate auto uploaderPlugins · 1.16 – 26.xAn automatic updater plugin for GeyserMC / Floodgate/MCXboxBroadcast./viaversion/viabackwards/ Supports Spigot (and forks like Paper), BungeeCord, and Velocity.
Log in to leave a review.