Farm Types
Farm Types
Farm types are configured in farms.yml under types.
Most farm-type changes should be made while the server is stopped, followed by a restart. Existing placed farms store their current level values and may not update cleanly if a type is removed or heavily restructured while the server is running.
At least one farm type must be enabled and valid. BetterFarming disables itself on startup if no farm types are configured.
Type Key and Name
Each entry under types has a key:
types:
crop:
enabled: true
name: "&eCrop Farm"The key is used for the generated limit ID, such as player_farms_crop.
The player command uses the display name with spaces replaced by dashes and color removed. For example, name: "&eCrop Farm" is obtained with:
/farm get Crop-Farm
Names are case-insensitive.
The first enabled farm type that loads successfully becomes the default type for /farm get when no type is entered.
Farm Mode
type controls the farm behavior:
NORMAL
Crops or blocks that BetterFarming grows by age or interval.
TREE
Saplings and tree-like growth handled through tree growth events.
Item
item defines the farm item given by /farm get and /farm admin give.
The item supports names, lore, materials, custom heads, custom model data, and compatible custom item providers used by PluginFramework.
Farmland
farmland controls whether BetterFarming replaces the ground around the farm.
Set it to AIR to disable farmland creation.
The replacement filter is configured in config.yml under farm.creation.farm-land.filter.
Cost and Economy
cost is the price of one farm item from /farm get.
The active economy comes from config.yml: Vault, experience, levels, or item currency.
Fuel
Enable fuel if farms should pause when they run out of time.
initial is the fuel time a new farm starts with. max is the maximum stored fuel time. Each fuel item adds the configured number of seconds per item.
If strict is true, the item name and lore must match too. Otherwise, BetterFarming compares the item more loosely.
Levels
Farm levels define upgrade paths.
BetterFarming supports these level types:
interval
Seconds between growth cycles. Lower values are better, so they are sorted from slowest to fastest.
storage
Internal storage slots.
radius
Horizontal farm radius.
Each level key must be unique. The first sorted level is used for newly created farm items.
Growth
growth.visualization.enabled controls whether BetterFarming visually updates block growth stages.
growth.visualization.instant controls whether visual growth updates happen immediately.
growth.stages controls whether crops use multiple growth stages. If enabled, total time until harvest is based on the interval and the crop's stages.
Owner Online Requirement
require-owner-online pauses farms of this type while their owner is offline.
World Blacklist
world-blacklist blocks a specific farm type from being placed in listed worlds.
The global list of worlds where any farm can be created is configured in config.yml under general.worlds_list.
Recipe
Use recipe to allow players to craft a farm item.
Use an empty list to disable crafting.
Minion NPC
If minion.enabled is true, BetterFarming places the configured armor stand instead of the farm block.
Harvestable Blocks
blocks defines what the farm can track, grow, and harvest.
The section key is used as the material unless you set block.
item is the item players place or plant. harvest is the list of item drops the farm adds to storage when the block is harvested.
min and max randomize the drop amount. chance controls the drop chance.
Set a harvest item to enabled: false to disable that drop. For enabled harvest items, chance values are treated as percentages.
Custom Items and Model Data
You can apply custom model data, names, lore, enchantments, and custom heads to farm items, fuel items, planted items, and harvest drops.
Example custom head harvest:
General item options are documented in GUI Menus.
Last updated