For the complete documentation index, see llms.txt. This page is also available as Markdown.

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:

Type
Use it for

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:

Level
What it controls

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