FarmAssistant
Effortless crop planting and harvesting for Spigot servers.
The plugin assists with planting and harvesting crops. It's able to plant/harvest entire fields at once. Everything is configurable and survival friendly!
Whether your server has small survival farms, large economy fields, skyblock crop platforms, or carefully organized community farms, FarmAssistant removes the repetitive parts while keeping the familiar Minecraft farming flow intact.
Key Features
- Assisted planting and harvesting for farmland crops, nether wart, sugar cane, cocoa beans, melons, and pumpkins.
- Direction-aware row detection, so players decide where the action goes simply by facing the right way.
- Smart line and row traversal for larger fields, using a lawnmower-style pattern that feels natural on rectangular farms.
- Optional harvesting directly into the player's inventory.
- Server-wide admin configuration with per-player preferences on top.
- Fine-grained permissions for global access, planting, harvesting, and individual crop types.
How It Works
FarmAssistant enhances normal farming interactions. Players plant by right-clicking valid soil with seeds or crops, and harvest by breaking mature crops. When the action is allowed, FarmAssistant expands that single action into a smart assisted action.
For most crops, the plugin starts from the clicked block and scans forward in the direction the player is facing. That first line determines the shape of the field. If the field continues to the side, FarmAssistant moves row by row and alternates direction, like mowing a lawn:
Row 1: > > > > > Row 2: < < < < < Row 3: > > > > > Row 4: < < < < <
This means direction matters. If you face along the crop row, FarmAssistant treats that as the row direction. A slight left or right angle decides which side the next rows are added on. For large fields, this lets players choose the exact section they want to plant or harvest just by standing in the right place and facing the right way.
FarmAssistant also understands common farm layouts. Full-field crops can bridge small water gaps in rows, partially planted rows can be continued cleanly, and unripe crops are avoided when harvesting. Sugar cane uses a different shoreline-aware pattern so it can follow connected water banks, bends, and curves instead of only straight rectangular rows.
Using FarmAssistant
Planting
To plant with FarmAssistant:
- Hold the crop or seed you want to plant.
- Face along the row you want to fill.
- Right-click the valid soil block where planting should begin.
FarmAssistant will plant as many matching blocks as it can, up to the amount of items in your hand and the plugin limit. In survival mode, planted items are removed from your stack. In creative mode, your stack is not consumed.
Harvesting
To harvest with FarmAssistant:
- Face along the row you want to harvest.
- Break a mature supported crop.
FarmAssistant will harvest mature matching crops in the detected line and nearby rows, up to the configured harvest limit. Unripe crops are left alone. If harvest_to_inventory is enabled, drops go directly into your inventory where possible. Any leftover items are dropped naturally in the world.
Sugar cane harvesting works by breaking a cane block above the base. FarmAssistant follows connected shoreline cane at the same height and preserves the base stalks, making large cane farms much easier to clear without replanting.
Direction Tips
For the most predictable results:
- Face down a row to plant or harvest that row.
- Angle slightly left or right to choose which side additional rows should continue on.
- Start at a corner or edge of a field for the most predictable large-field results.
- If only the clicked block fits the detected first row, FarmAssistant stops there instead of guessing at unrelated side rows.
One action can handle a whole clean section of farm, but players still decide the direction, side, and starting point.
Configuration
FarmAssistant has two configuration layers.
Admin Configuration
Admins control the server-wide defaults. These settings live in config.yml and can also be changed in game with admin commands.
assist_planting: true assist_harvesting: true harvest_limit: 256 harvest_to_inventory: true send_messages: true assist_planting_wheat: true assist_planting_carrot: true assist_planting_potato: true assist_planting_beetroot: true assist_planting_melon: true assist_planting_pumpkin: true assist_planting_netherwart: true assist_planting_cocoabean: true assist_planting_sugarcane: true assist_harvesting_wheat: true assist_harvesting_carrots: true assist_harvesting_potatoes: true assist_harvesting_beetroot: true assist_harvesting_netherwart: true assist_harvesting_sugarcane: true
The server-wide settings define what is allowed at all. If an admin disables a feature globally, players cannot enable it for themselves.
Player Configuration
Players can customize their own FarmAssistant behavior with /farmassistant commands. Player settings are saved separately and are applied on top of the server defaults.
For example, a player can disable assisted harvesting for themselves while still keeping assisted planting enabled. They can also toggle individual crop types if they only want FarmAssistant active for specific farms.
If a player enables something that is disabled globally, FarmAssistant will keep the global admin setting in charge and notify the player.
Commands
The main command is:
/farmassistant
Player commands:
/farmassistant status /farmassistant plant <true|false> /farmassistant plant <crop> <true|false> /farmassistant harvest <true|false> /farmassistant harvest <crop> <true|false> /farmassistant toInventory <true|false>
Admin commands:
/farmassistant admin status /farmassistant admin plant <true|false> /farmassistant admin plant <crop> <true|false> /farmassistant admin harvest <true|false> /farmassistant admin harvest <crop> <true|false> /farmassistant admin harvestLimit <amount> /farmassistant admin toInventory <true|false> /farmassistant admin sendMessages <true|false>
Plant crop names:
wheat, carrot, potato, beetroot, melon, pumpkin, netherwart, cocoabeans, sugarcane
Harvest crop names:
wheat, carrot, potato, beetroot, netherwart, sugarcane
Permissions
Basic permissions:
farmassistant.use farmassistant.admin farmassistant.plant farmassistant.harvest
Plant permissions:
farmassistant.plant.wheat farmassistant.plant.carrot farmassistant.plant.potato farmassistant.plant.beetroot farmassistant.plant.melon farmassistant.plant.pumpkin farmassistant.plant.netherwart farmassistant.plant.cocoabean farmassistant.plant.sugarcane
Harvest permissions:
farmassistant.harvest.wheat farmassistant.harvest.carrot farmassistant.harvest.potato farmassistant.harvest.beetroot farmassistant.harvest.netherwart farmassistant.harvest.sugarcane
By default, farmassistant.use is granted to everyone and includes the standard planting and harvesting permissions. farmassistant.admin defaults to operators.
Requirements
FarmAssistant will run on any server using Minecraft version 1.13 or higher.


