Skip to content

Config File

Ali Arslan edited this page Dec 10, 2025 · 8 revisions

uxmFarmer Configuration Documentation

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.

General Settings

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).

🔌 Hooks (Plugin Integrations)

This section details the various hooks used by the Farmer plugin to integrate with other plugins on your server.

Region Hooks

These settings determine how the plugin interacts with land management and claim plugins to define farmer boundaries and membership.

Option Type Description
region-hook String Required. Tells the farmer which land protection or island plugin should be used for checking region boundaries, ownership, and members.

Supported Plugins:
  • uxmClaims
  • DeluxeSkyblock
  • IridiumSkyblock
  • SuperiorSkyblock2
  • Lands
  • RealmCore
  • GriefPrevention
  • GriefDefender
    Tip: It’s recommended to disable place-farmer-on-region-creation when using GriefDefender.
  • RClaim
  • Towny (for TownyAdvanced)
  • UltimateClaims
  • FabledSkyBlock
  • ProtectionStones
    Format: ProtectionStones:<claim world name>
  • BentoBox:BSkyBlock
    Format: BentoBox:<island world friendly name>
  • BentoBox:OneBlock
    Format: BentoBox:<island world friendly name>

Economy Hooks

This setting defines the primary plugin used for all money transactions.

Option Type Description
money-hook String Required. Sets the plugin used for all economy transactions (purchasing farmers, selling crops, taxes).
Supported Plugins:
  • Vault (Most common)
  • PlayerPoints

Price Source Hooks

This setting specifies where the plugin looks to determine the market price of items for the farmer's selling mechanism.

Option Type Description
price-source-hook String Sets the plugin used to determine the price of crops and materials for the farmer's internal selling mechanism. Use default if no external shop plugin is used.
Supported Plugins:
  • ShopGUIPlus
  • EconomyShopGUI or EconomyShopGUI-Premium
  • ExcellentShop
  • default

NPC/Interaction Hooks

These settings specify which plugin handles the farmer's visual representation and physical interaction logic.

Option Type Description
interaction-hook String Specifies which plugin handles the farmer's NPC entity model and interaction logic. Leave empty if relying only on internal systems.
Supported Plugins:
  • FancyNpcs
  • Citizens
  • ZNPCsPlus
  • PlayerNpc
  • Internal/Model Hooks: Holograms (internal text display) and ModelSystem (for custom models via ModelEngine, ItemsAdder, BetterModel)

🗄️ Database

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.

🌐 Multi-Server

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.

⚙️ Main Settings

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.
disabled-products-grow-physically Boolean If true, products that are have their collection status disabled by the farmer owner/member will grow physically and will not be simulated. This can cause critical performance issues, not recommended to enable.
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, farmer managers will need the permission uxmfarmer.addmember to add new members.
add-new-region-members-to-farmer Boolean If true, new region members (like island member or trusted player in a claim) will be added to farmer as members too.
remove-leaving-region-members-from-farmer Boolean If true, region members who have left the region will be removed from farmer members
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.

🧭 First Location (Automatic Placement)

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).

🧑‍🤝‍🧑 Add Member Input (/farmer addmember)

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.

📦 Take Amount Input (/farmer take...)

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.

🎨 Model Settings

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.

🧹 Log Cleaner

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.

💬 Hologram

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).

🧍 NPC

Controls the appearance and properties of the farmer NPC itself.

General Appearance

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).

NPC Skin (for PLAYER entities)

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).

NPC Scale

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).

⏳ Cooldowns

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.

🔊 Sounds

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.

🐛 Debug

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.

Clone this wiki locally