-
Notifications
You must be signed in to change notification settings - Fork 0
Config File
This guide will walk you through every setting in your config.yml file. We'll explain what each option does, what the available choices are, and how you can best configure your server.
These are the basic settings at the top of your file.
| Option | Type | Description |
|---|---|---|
config-version |
String |
Do not change this! This is used by the plugin to manage updates. |
language |
String |
Sets the language for all plugin messages. Supported: EN (English), TR (Turkish). |
This section tells the Farmer plugin how to "hook into" other plugins you have on your server for things like regions, economy, and NPCs.
| Option | Type | Description |
|---|---|---|
region-hook |
String |
Required. Specifies which land protection plugin you use. This is how the farmer knows where its "region" is. See the file for a full list of supported plugins (e.g., Lands, SuperiorSkyblock2, GriefPrevention, Towny). |
money-hook |
String |
Required. Sets your economy plugin. This is how the plugin charges for farmers and pays for crops. Vault is the most common. |
price-source-hook |
String |
Sets where the plugin gets item prices for selling crops. If you use a shop plugin like ShopGUIPlus or EconomyShopGUI, set it here. default uses the plugin's internal pricing. |
interaction-hook |
String |
Sets which plugin will be used to spawn and manage the farmer NPC. If you use Citizens or FancyNpcs, set it here. Leave it blank if you are not using one. |
This is where all your farmer data (owner, upgrades, contents) is stored.
| Option | Type | Description |
|---|---|---|
driver |
String |
The type of database to use. SQLITE is simple and stores data in a file. MYSQL is recommended for larger servers or multi-server networks. |
host |
String |
The IP address of your MySQL database (e.g., localhost). |
database |
String |
The name of the database to use. |
username |
String |
The username for your MySQL database. |
password |
String |
The password for your MySQL database. |
port |
Integer |
The port for your MySQL database (default is 3306). |
use-ssl |
Boolean |
Whether to use a secure connection (SSL) to your database. |
Configure this if you run a network (like BungeeCord/Velocity) and want farmers to sync across servers.
| Option | Type | Description |
|---|---|---|
enabled |
Boolean |
Set to true if you are using more than one server. |
redis-host |
String |
The host address for your Redis server, which is required for multi-server syncing. |
This section controls the core logic, economy, and behavior of your farmers.
| Option | Type | Description |
|---|---|---|
disabled-worlds |
List |
A list of worlds where farmers will not work (e.g., world_nether, world_the_end). |
farm-logic |
String |
Chooses the farming simulation system (restart required): • MODERN: (Recommended, 1.20.6+) Best performance. Simulates all growth; does not place/break blocks. • CLASSIC: Good performance. Allows crops to grow but resets their age instead of breaking them. • LEGACY: (Not recommended) Worst performance. Physically breaks and replants blocks. |
collect-dropped-items |
Boolean |
If true, the farmer will suck up matching items dropped on the ground within its region. |
collect-custom-items |
Boolean |
If true, the farmer will collect items that have custom names or lore. If false, it ignores them. |
upgrade-all-upgrades-everything |
Boolean |
If false, /farmer upgrade-all only upgrades items the farmer has collected before. If true, it upgrades everything in the farmer's storage. |
upgrade-all-discount |
Integer |
A percentage discount (0-100) to apply when using the "upgrade-all" function. 50 means 50% off. |
place-farmer-on-region-creation |
Boolean |
If true, a farmer is automatically placed when a player creates a new region (e.g., an island or claim). |
farmer-command-opens-gui |
Boolean |
If true, /farmer opens the main GUI. |
farmer-command-opens-buy-menu |
Boolean |
If true and the player doesn't have a farmer, /farmer will open the purchase menu. |
disable-buy-command |
Boolean |
If true, disables /farmer buy. The only way to get farmers would be via admin-given eggs. |
sell-all-requires-confirmation |
Boolean |
If true, players must confirm before selling all items to prevent accidents. |
adding-member-requires-permission |
Boolean |
If true, players need the uxmfarmer.addmember permission to add members to their farmer. |
add-new-region-members-to-farmer |
Boolean |
If true, automatically adds new island/claim members as farmer members. |
remove-leaving-region-members-from-farmer |
Boolean |
If true, automatically removes players from the farmer's member list when they leave the island/claim. |
default-click-actions |
List |
A list of actions (as Strings) to perform when a player clicks the farmer NPC. Default opens the main menu and plays a sound. |
disable-transfer |
Boolean |
If true, players cannot give their farmer to another player. |
maximum-farmer-per-player |
Integer |
The default maximum number of farmers a player can own. Grant uxmfarmer.maxfarmer.<amount> to allow more. |
tax-price |
Double |
The default tax rate (as a decimal) taken from all sales. 0.25 = 25% tax. |
farmer-price |
Double |
The flat cost to buy one new farmer. |
return-price-on-delete |
Boolean |
If true, the owner gets money back when their farmer is deleted (e.g., by staff). |
return-percent |
Integer |
The percentage of the farmer-price a player gets back when they use /farmer return. 75 = 75% back. |
This only works when place-farmer-on-region-creation is enabled. It configures the exact coordinates and rotation of the automatically placed farmer relative to the region center.
| Option | Type | Description |
|---|---|---|
enabled |
Boolean |
Set to true to use this automatic location feature. |
modify-by |
String |
The X, Y, Z offset (relative to region center) where the farmer will be placed (e.g., -5.5, 1.5, 3.5). |
rotation |
String |
The Pitch, Yaw rotation values for the farmer's head (e.g., -88, 0.8). |
This section controls the behavior when a player attempts to add a member to their farmer.
| Option | Type | Description |
|---|---|---|
required-online |
Boolean |
If true, the player being added must be online to be successfully added as a member. |
input-type |
String |
How to take the target player's name: CHAT (typing in chat) or SIGN (anvil/sign GUI). |
chat-timeout |
Integer |
How long (in seconds) the plugin waits for the player to enter input via chat before timing out. |
This section configures how the player provides a specific quantity (e.g., of XP or items) to take from the farmer.
| Option | Type | Description |
|---|---|---|
input-type |
String |
How to take player input: CHAT (typing in chat) or SIGN (anvil/sign GUI). |
chat-timeout |
Integer |
How long (in seconds) the plugin waits for the player to enter input via chat before timing out. |
This section is for using custom models from plugins like ModelEngine, ItemsAdder, or BetterModel.
| Option | Type | Description |
|---|---|---|
default-entity |
String |
The default Minecraft Entity to use if no model is applied (e.g., VILLAGER). |
model-source |
String |
Which plugin is providing the custom model: ModelEngine, ItemsAdder, or BetterModel. |
model-name |
String |
The ID/name of the model you want to use from the source plugin. |
Manages the plugin's logs to save database space.
| Option | Type | Description |
|---|---|---|
enabled |
Boolean |
Set to true to enable automatic log cleaning. Be careful! The comments warn this could cause lag the first time it runs on old databases. |
clean-old-logs-after |
Integer |
The total number of logs to wait for before cleaning. |
logs-to-clean |
Integer |
The number of oldest logs to remove once the threshold is met. |
Controls the floating text hologram that appears above the farmer NPC. Requires the internal Holograms hook.
| Option | Type | Description |
|---|---|---|
enabled |
Boolean |
Set to true to show holograms above farmers. |
billboard |
String |
How the hologram rotates: CENTER (always faces player), FIXED, VERTICAL, HORIZONTAL. |
view-range |
Integer |
How far away (in blocks) a player can be and still see the hologram. |
height |
Double |
The default height (in blocks) above the NPC's head to display the hologram. |
scale |
String |
The X, Y, Z scale of the hologram (e.g., 1, 1, 1). |
update-period |
Integer |
How often (in ticks) to update the hologram. 1200 = 1 minute. Higher is better for performance.
|
see-through-blocks |
Boolean |
If true, the hologram can be seen through walls. |
shadow |
Boolean |
If true, the hologram text has a drop shadow. |
text-opacity |
Integer |
How transparent the text is (0-255). 255 is fully opaque. |
background-color |
Integer |
The ARGB integer for the hologram's background. Use the ARGB calculator linked in the config. |
brightness |
Integer |
The brightness level of the hologram (1-1000). |
text-alignment |
String |
How the text is aligned: CENTER, LEFT, or RIGHT. |
content |
List |
The lines of text (as Strings) to display. Uses MiniMessage formatting (e.g., <#ff7700>, <bold>). |
entity-specific-height |
Map |
A list to override the default height for specific entity types. Key is EntityType (String), value is height (Double). |
Controls the appearance and properties of the farmer NPC itself.
| Option | Type | Description |
|---|---|---|
name |
String |
The MiniMessage-formatted name for the NPC. |
use-name |
Boolean |
If true, shows the NPC's nameplate in addition to the hologram. Default is false. |
default-type |
String |
The default EntityType to use (e.g., VILLAGER, ALLAY, IRON_GOLEM). |
default-villager-profession |
String |
If the default-type is VILLAGER, this sets its Profession (e.g., FARMER, LIBRARIAN). |
default-glowing |
Boolean |
If true, the farmer NPC will have the glowing effect by default. |
default-glowing-color |
String |
The default color of the glow (e.g., BLUE, RED, GREEN). |
| Option | Type | Description |
|---|---|---|
skin-texture |
String |
The Base64-encoded texture value for the skin. |
skin-signature |
String |
The Base64-encoded signature value for the skin. |
skin-name |
String |
An alternative to texture/signature. Enter a player's name (e.g., "Notch") to use their skin. |
permission-skins |
Map |
A list of skins that players can use if they have the associated permission. Key is skin name (String), value is permission (String). |
| Option | Type | Description |
|---|---|---|
scale |
Double |
A general size multiplier for the NPC. 1.0 is default size. |
entity-specific-scales |
Map |
A list to override the default scale for specific entity types. Key is EntityType (String), value is scale (Double). |
Sets the time (in seconds) players must wait between using certain commands.
| Option | Type | Description |
|---|---|---|
move-cooldown |
Integer |
Cooldown for moving the farmer. |
sell-all-cooldown |
Integer |
Cooldown for selling all products. |
sell-xp-cooldown |
Integer |
Cooldown for selling experience. |
change-glowing-cooldown |
Integer |
Cooldown for changing the farmer's glow color. |
change-entity-cooldown |
Integer |
Cooldown for changing the farmer's entity type. |
change-profession-cooldown |
Integer |
Cooldown for changing the farmer's villager profession. |
return-cooldown |
Integer |
Cooldown for returning (deleting) the farmer. |
Defines the Sounds played for specific plugin events.
| Option | Type | Description |
|---|---|---|
on-cooldown |
String |
Sound played when a command is on cooldown. |
try-again |
String |
Sound played for a minor error (e.g., failed input). |
already-using-that-glow-color |
String |
Sound played when trying to select the currently active glow color. |
blacklisted-world |
String |
Sound played when trying to use a farmer command in a disabled world. |
This is for developers and support staff.
| Option | Type | Description |
|---|---|---|
debug |
Boolean |
Keep this false! Enabling it will spam your console with detailed information, which can cause lag. Only enable it if a developer asks you to. |