SMP Harvest
Advanced Minecraft Harvesting Suite with Upgradable Hoes, XP, Tokens, Crop Rewards, Prestige, Events, Farming Zones, and Full Configurability for SMP, Survival, Paper, and Folia Servers
Advanced Minecraft Harvesting Suite with Upgradable Hoes, XP, Tokens, Crop Rewards, Prestige, Events, Farming Zones, and Full Configurability for SMP, Survival, Paper, and Folia Servers
Overview
SMP Harvest is a full Minecraft harvesting plugin for SMP servers, survival servers, economy servers, and Donut-style gameplay servers that want more than simple crop XP.
This resource turns farming into a real progression system.
Players can harvest configured crops, earn XP, tokens, Vault money, bonus drops, and even command rewards. Servers can build a complete farming economy around upgradable hoes, tool progression, leaderboards, prestige, seasonal stats, harvest events, and farming zones.
Unlike basic farming plugins, SMP Harvest is designed as a harvesting suite. It supports plain vanilla hoe fallback progression, custom SMPHarvest-issued hoes, per-crop configuration, hybrid MiniMessage + legacy color support, token economy, Vault support, multilingual language files, and 1.8–1.21 compatibility with Folia support.
If you are searching for a Minecraft harvester hoe plugin, crop XP plugin, SMP farming progression plugin, Donut-style harvesting plugin, Paper/Folia farming plugin, or a configurable farming rewards plugin, SMP Harvest is built for that exact use case.
Why SMP Harvest
Most crop plugins only give one reward and stop there.
SMP Harvest is built as a complete farming gameplay loop.
It can reward players with configurable crop XP, tokens, Vault money, bonus item drops, console/player command rewards, and output routing such as normal drops, auto-collect, and direct sell. It includes tool profiles, tool enchants, tool levels, plain hoe conversion, crop requirements, prestige scaling, harvest events, zones with regeneration, and anti-exploit protections.
That makes it strong for survival economy servers, prison-style farming loops, skyblock harvesting systems, grind SMPs, Donut-inspired economies, PvE progression servers, and large networks that need Paper/Folia-ready behavior.
Core Harvesting System
Each configured crop can define its own XP logic, reward chance, reward mode, and extra reward systems.
For every crop you can configure:
- enable or disable rewards
- single or random XP
- chance-based reward control
- crop progression requirements
- auto-replant
- harvest output mode
- sell prices
- tokens per harvest
- Vault money rewards
- bonus item drops
- bonus command rewards
- external hooks for mcMMO, AuraSkills, and Jobs Reborn
This means farming is not one flat reward table. Every crop can behave differently and can be balanced independently.
Harvest Tool System
SMP Harvest includes a full harvest tool progression system.
The plugin ships with a vanilla_hoe fallback profile plus multiple custom issued hoe profiles such as:
- Starter Hoe
- Field Hoe
- Rancher Hoe
- Trader Hoe
- Industrial Hoe
- Netherite Hoe
- Vine Hoe
- Melon Master
Each tool profile can define:
- valid hoe materials
- display name and lore
- owner binding
- issued-item requirements
- shop availability
- token price
- Vault price
- purchase mode
- first-join grant
- one-time claims
- multipliers
- progression settings
- allowed enchants
This makes SMP Harvest useful both for servers that want simple vanilla hoe progression and for servers that want premium custom harvesting tools.
Vanilla Hoe Fallback and Automatic Conversion
One of the strongest parts of SMP Harvest is the plain hoe conversion system.
If a player uses a plain hoe with no custom name and no lore, the plugin can automatically treat it as the configurable vanilla_hoe fallback profile. That means vanilla hoes can still:
- earn XP
- earn tokens
- show progression lore
- level up
- use configured progression values
- be recognized by tool systems
At same time, custom named/lored items can be exempted from fallback conversion to avoid conflicts with other plugins or custom items.
This gives owners a clean progression path without forcing every player to start with an issued tool item.
Harvest Tool Enchants and Upgrades
SMP Harvest includes configurable tool enchant definitions and upgrade purchasing.
Current bundled upgrade types include:
- Auto Replant
- Auto Collect
- Auto Sell
- XP Finder
- Token Finder
Each enchant can define:
- display name
- internal type
- max level
- base cost
- cost scaling
- value per level
- purchase mode
This gives server owners a clean way to build upgradeable harvester hoes without hardcoding progression into one rigid path.
Reward Routing and Economy Integration
SMP Harvest supports multiple ways to deliver harvest rewards.
Per crop, you can route harvest output as:
- drop
- collect
- sell
You can also combine this with:
- token rewards
- Vault money rewards
- bonus item drops
- console/player command rewards
- external progression hooks
This allows many economy designs, from simple crop XP all the way to fully monetized automated farming systems.
World Rules, Farming Zones, and Anti-Exploit Controls
The plugin includes multiple control layers for production servers.
You can configure:
- per-world whitelist / blacklist behavior
- natural-growth-only exploit prevention
- tracked player-placed blocks
- shared farming zones with regeneration timers
- manual zone rescans
- captcha protection against suspicious farming behavior
- alert thresholds based on harvest rate
- command-driven failure actions
This makes SMP Harvest useful not only as a reward plugin, but as a server-safe farming system.
Stats, Progression, Prestige, and Events
SMP Harvest also includes long-term progression and replayable loops.
Players and admins can use:
- personal stats
- other-player stats
- all-time and seasonal leaderboards
- crop progression requirements
- prestige tiers with reward multipliers
- harvest events with timed scoring
- top-page rankings
- event reward commands
That gives farming real retention instead of one-time utility.
Language, Formatting, and Compatibility
SMP Harvest supports MiniMessage and legacy & color codes in player-facing messages. It also ships with a language folder and bundled locale files.
Current bundled locales include:
- English
- Spanish
- Portuguese
- German
- French
- Russian
The plugin is built for Minecraft 1.8–1.21 and marks Folia support, while also supporting modern optional hooks such as Vault, PlaceholderAPI, mcMMO, Jobs, and AuraSkills.
Feature Summary
Code:
✔ Per-crop XP configuration
✔ Single or random reward logic
✔ Chance-based reward control
✔ Per-crop tokens
✔ Per-crop Vault money rewards
✔ Per-crop bonus drops
✔ Per-crop bonus console/player commands
✔ Per-crop external hooks (mcMMO / AuraSkills / Jobs)
✔ Auto-replant support
✔ Harvest output modes: drop / collect / sell
✔ Vanilla hoe fallback conversion
✔ Custom issued hoe profiles
✔ Tool progression, levels, XP, harvest counts
✔ Tool enchants and upgrade costs
✔ Token economy
✔ Vault economy support
✔ Shop + claim flow for harvest tools
✔ First-join starter tool support
✔ World whitelist / blacklist rules
✔ Farming Zones with regeneration
✔ Anti-exploit natural-growth-only mode
✔ Captcha protection and alerts
✔ Stats, top, seasonal buckets
✔ Crop progression requirements
✔ Prestige tiers and multipliers
✔ Harvest Events with rewards
✔ GUI-based management
✔ MiniMessage + legacy formatting
✔ Multi-language support
✔ 1.8–1.21 compatibility
✔ Paper + Folia support
Commands
Code:
/harvestxp
/hxp
/hxp version
/hxp help
/hxp reload
/hxp gui
/hxp worldgui
/hxp blockname <BlockKey> <true|false>
/hxp blockname <BlockKey> random <true|false>
/hxp blockname <BlockKey> single <Amount>
/hxp blockname <BlockKey> min <Amount>
/hxp blockname <BlockKey> max <Amount>
/hxp blockname <BlockKey> create
/hxp cropname <legacy alias support>
#/ Player Commands
/hxp toggle
/hxp stats [player]
/hxp top <all|xp|BlockKey> [alltime|daily|weekly|monthly] [page]
/hxp progress [player]
/hxp prestige [player|up]
#/ Harvest Event
/hxp event <status|top|start|stop>
#/ Farming Zones
/hxp zones <status|rescan> [zone|all]
#/ Captcha
/hxp captcha <status|force|clear> [player]
#/ Tokens
/hxp tokens balance
/hxp tokens pay <player> <amount>
/hxp tokens top [page]
/hxp tokens shop
#/ Harvest Tools
/hxp tool give <player> <profile> [amount]
/hxp tool info [player]
/hxp tool list
/hxp tool menu
/hxp tool shop
/hxp tool claim <profile>
/hxp tool enchant buy <enchant> [tokens|money]
/hxp tool enchant set <player> <enchant> <level>
Permissions
Code:
harvestxp.admin
harvestxp.admin.reload
harvestxp.admin.modify
harvestxp.admin.gui
harvestxp.admin.worldgui
harvestxp.toggle
harvestxp.gain
harvestxp.stats
harvestxp.stats.others
harvestxp.top
harvestxp.progress
harvestxp.progress.others
harvestxp.prestige
harvestxp.prestige.up
harvestxp.prestige.others
harvestxp.event.view
harvestxp.event.admin
harvestxp.zones.view
harvestxp.zones.admin
harvestxp.captcha.admin
harvestxp.captcha.alerts
harvestxp.tool.give
harvestxp.tool.info
harvestxp.tool.info.others
harvestxp.tool.enchant.buy
harvestxp.tool.enchant.set
harvestxp.tool.menu
harvestxp.tool.shop
harvestxp.tool.claim
harvestxp.tool.list
Soft Dependencies / Hooks
Code:
PlaceholderAPI
Vault
mcMMO
Jobs
AuraSkills
bStats
Installation
Drop the jar into your plugins folder, start the server once, edit the files below, then restart or reload.
If you want economy rewards or purchases, install Vault with a supported economy provider.
If you want placeholder support, install PlaceholderAPI.
If you want extra progression hooks, install mcMMO, Jobs, or AuraSkills.
Configuration Files
Below are the current bundled configuration files.
Code:
name: HarvestXP
version: ${project.version} # Placeholder to retrieve version from pom.xml
main: com.arkflame.harvestxp.HarvestXP
api-version: 1.13
folia-supported: true
author: ArkFlame Development
description: Configurable plugin allowing players to gain experience points (XP) from harvesting crops. Features per-crop settings, including enabling/disabling, single or random XP amounts, adjustable min/max XP, and management via commands and in-game GUIs. Compatible with Minecraft 1.8-1.21 and Folia-ready scheduling.
website: ${project.url}
# Define bStats dependency if needed for server admins
softdepend: [ bStats, PlaceholderAPI, Vault, mcMMO, Jobs, AuraSkills ] # Optional: Let server admins know bStats might be used
commands:
harvestxp:
description: Main command for HarvestXP plugin.
aliases: [hxp]
usage: /<command> [subcommand] [args...]
permissions:
harvestxp.admin:
description: Grants access to all HarvestXP admin commands (/hxp reload, /hxp cropname ..., /hxp gui, /hxp worldgui). Recommended for Ops.
default: op
children:
harvestxp.admin.reload: true
harvestxp.admin.modify: true
harvestxp.admin.gui: true
harvestxp.admin.worldgui: true
harvestxp.tool.give: true
harvestxp.tool.info: true
harvestxp.tool.info.others: true
harvestxp.tool.enchant.set: true
harvestxp.tool.menu: true
harvestxp.tool.shop: true
harvestxp.tool.claim: true
harvestxp.tool.list: true
harvestxp.zones.view: true
harvestxp.zones.admin: true
harvestxp.event.admin: true
harvestxp.captcha.admin: true
harvestxp.captcha.alerts: true
harvestxp.toggle:
description: Allows players to toggle their personal XP rewards on/off.
default: true
harvestxp.gain:
description: Allows players to gain XP from harvesting crops. Can be further restricted by specific block keys (harvestxp.gain.<blockkey>).
default: true
harvestxp.admin.reload:
description: Allows reloading the HarvestXP configuration (/hxp reload).
default: op
harvestxp.admin.modify:
description: Allows modifying global crop settings via commands (/hxp cropname ...) or the GUI (/hxp gui).
default: op
harvestxp.admin.gui:
description: Allows opening and using the global crop management GUI (/hxp gui).
default: op
harvestxp.admin.worldgui:
description: Allows opening and using the world-specific whitelist/blacklist GUI (/hxp worldgui).
default: op
harvestxp.stats:
description: Allows viewing HarvestXP farming stats.
default: true
harvestxp.stats.others:
description: Allows viewing other players' HarvestXP farming stats.
default: op
harvestxp.top:
description: Allows viewing HarvestXP leaderboards.
default: true
harvestxp.progress:
description: Allows viewing crop progression requirements.
default: true
harvestxp.progress.others:
description: Allows viewing other players' crop progression requirements.
default: op
harvestxp.prestige:
description: Allows viewing prestige status.
default: true
harvestxp.prestige.up:
description: Allows prestiging yourself.
default: true
harvestxp.prestige.others:
description: Allows viewing other players' prestige status.
default: op
harvestxp.event.view:
description: Allows viewing Harvest Event status and live standings.
default: true
harvestxp.event.admin:
description: Allows starting and stopping Harvest Events.
default: op
harvestxp.zones.view:
description: Allows viewing Farming Zone status.
default: op
harvestxp.zones.admin:
description: Allows rebuilding Farming Zone tracked blocks.
default: op
harvestxp.captcha.admin:
description: Allows managing farming captcha sessions.
default: op
harvestxp.captcha.alerts:
description: Allows receiving farming-rate alerts.
default: op
harvestxp.tool.give:
description: Allows issuing HarvestXP tool items.
default: op
harvestxp.tool.info:
description: Allows inspecting the held HarvestXP tool.
default: op
harvestxp.tool.info.others:
description: Allows inspecting another player's held HarvestXP tool.
default: op
harvestxp.tool.enchant.buy:
description: Allows upgrading the held Harvest Tool using Harvest Tokens.
default: true
harvestxp.tool.enchant.set:
description: Allows setting Harvest Tool enchant levels on another player's held tool.
default: op
harvestxp.tool.menu:
description: Allows opening the Harvest Tool upgrade menu for the held tool.
default: true
harvestxp.tool.shop:
description: Allows opening the Harvest Tool profile shop.
default: true
harvestxp.tool.claim:
description: Allows buying or claiming a Harvest Tool profile directly.
default: true
harvestxp.tool.list:
description: Allows listing all configured Harvest Tool profiles.
default: true
# Optional: Permission to gain XP from harvesting (if you want to restrict it)
# harvestxp.harvest:
# description: Allows the player to gain XP from harvesting crops.
# default: true # Grant to everyone by default
Code:
# Configuration for SMPHarvest Plugin
#
# For each block, you can configure:
# enabled: true/false - Whether XP should drop for this block.
# mode: 'single' or 'random' - How the XP value is determined.
# single-value: (Only if mode is 'single') The exact amount of XP to drop.
# random-min: (Only if mode is 'random') The minimum XP value to drop.
# random-max: (Only if mode is 'random') The maximum XP value to drop.
# chance: (Integer 0-100) The percentage chance (e.g., 75 for 75%) that XP will be awarded for this harvest.
# requirements:
# enabled: false
# type: "block-harvests"
# amount: 500
# enforcement: "deny-break"
# auto-replant:
# enabled: false
# harvest-tool:
# enabled: false
# profile: "starter_hoe"
# enforcement: "deny-rewards"
# harvest-output:
# mode: "drop"
# sell-price: 0.00
#
# Note: Values must be non-negative integers. random-max must be >= random-min. Chance must be between 0 and 100 inclusive.
# Requirement type supports `global-harvests` or `block-harvests`.
# Requirement enforcement supports `deny-break` or `deny-rewards`.
# Requirement checks use all-time stats from stats.yml.
# Auto-Replant v1 only applies to wheat, beetroot, carrots, potatoes, nether wart, and cocoa.
# The plugin consumes one natural replant item from the crop's natural drops when possible.
# If no valid replant item is present, auto-replant is skipped and normal break behavior is used.
# Zone-managed blocks do not use auto-replant because Farming Zones already regenerate.
# Harvest Output Routing v1 supports `drop`, `collect`, and `sell`.
# `collect` sends natural crop drops to the player's inventory and drops overflow naturally.
# `sell` sells only the crop's sellable produce items and drops any non-sellable remainder naturally.
# v1 uses the existing Vault economy hook only for money delivery.
# v1 does not sell bonus drops.
#
# *** External Hooks ***
# Each block can also have an optional 'hooks' section to award native progression or economy rewards.
# blocks.<BLOCK_KEY>.hooks.mcmmo:
# enabled: true/false - Whether mcMMO farming XP is awarded.
# farming-xp: The mcMMO farming XP amount to award.
# blocks.<BLOCK_KEY>.hooks.auraskills:
# enabled: true/false - Whether AuraSkills farming XP is awarded.
# farming-xp: The AuraSkills farming XP amount to award.
# blocks.<BLOCK_KEY>.hooks.jobs-reborn:
# enabled: true/false - Whether Jobs Reborn rewards are awarded.
# money: The Jobs Reborn money amount to award.
# experience: The Jobs Reborn experience amount to award.
#
# Example (commented):
# STONE:
# hooks:
# mcmmo:
# enabled: true
# farming-xp: 10.0
# auraskills:
# enabled: true
# farming-xp: 4.5
# jobs-reborn:
# enabled: true
# money: 2.50
# experience: 1.0
#
# *** Bonus Drops ***
# Each block can also have an optional 'bonus-drops' section to grant extra item rewards.
# blocks.<BLOCK_KEY>.bonus-drops.<REWARD_MATERIAL>:
# mode: 'single' or 'random' - How the drop amount is determined.
# single-value: (Only if mode is 'single') The exact amount to drop.
# random-min: (Only if mode is 'random') The minimum amount to drop.
# random-max: (Only if mode is 'random') The maximum amount to drop.
# chance: (Integer 0-100) The percentage chance that the bonus item will be awarded.
# item: Optional rich item metadata. Existing simple material-only drops still work.
# name: Display name for the dropped item.
# lore: Optional lore lines.
# glow: true/false - Adds the glow effect.
# custom-model-data: Optional custom model data value.
# enchants: Optional list of ENCHANTMENT:LEVEL entries.
# flags: Optional list of ItemFlag enum names.
#
# Note: custom-model-data is ignored on legacy servers that do not support it.
# Invalid enchant and flag names are ignored safely.
# This step does not add NBT, skull textures, or sell-price support.
#
# Example (commented):
# STONE:
# enabled: true
# mode: "single"
# single-value: 1
# random-min: 0
# random-max: 0
# chance: 50
# bonus-drops:
# COAL:
# mode: "random"
# single-value: 1
# random-min: 1
# random-max: 2
# chance: 20
# item:
# name: "&bRare Gem"
# lore:
# - "&7Custom lore line 1"
# - "&7Custom lore line 2"
# glow: true
# custom-model-data: 123
# enchants:
# - "DURABILITY:1"
# flags:
# - "HIDE_ENCHANTS"
# IRON_INGOT:
# mode: "single"
# single-value: 1
# random-min: 1
# random-max: 1
# chance: 5
#
# *** Command Rewards (bonus-commands) ***
# Each block can have an optional 'bonus-commands' section to execute console or player commands.
# blocks.<BLOCK_KEY>.bonus-commands.<reward-id>:
# enabled: true/false - Whether this command reward is active.
# executor: 'console' or 'player' - Execute as console or as the harvesting player.
# mode: 'single' or 'random' - How the command execution count is determined.
# single-value: (Only if mode is 'single') Number of times to execute each command.
# random-min: (Only if mode is 'random') Minimum execution count.
# random-max: (Only if mode is 'random') Maximum execution count.
# chance: (Integer 0-100) Percentage chance that this command set executes.
# commands:
# - "crates give %player% vote %amount%"
# - "eco give %player% 100"
#
# Available placeholders for command rewards:
# %player% - Player name
# %uuid% - Player UUID
# %world% - World name
# %block% - Block material name
# %x%, %y%, %z% - Block coordinates
# %amount% - Execution count (from single-value or random roll)
#
# Example (commented):
# WHEAT:
# enabled: true
# mode: "single"
# single-value: 1
# random-min: 0
# random-max: 0
# chance: 100
# bonus-commands:
# daily_reward:
# enabled: true
# executor: "console"
# mode: "random"
# single-value: 1
# random-min: 1
# random-max: 3
# chance: 50
# commands:
# - "crates give %player% vote %amount%"
# - "eco give %player% 100"
#
# *** Vault Money Rewards (vault-money) ***
# Each block can have an optional 'vault-money' section to grant economy currency.
# Requires Vault and an economy provider.
# blocks.<BLOCK_KEY>.vault-money:
# enabled: true/false - Whether this money reward is active.
# mode: 'single' or 'random' - How the money amount is determined.
# single-value: (Only if mode is 'single') Exact amount to give.
# random-min: (Only if mode is 'random') Minimum amount.
# random-max: (Only if mode is 'random') Maximum amount.
# chance: (Integer 0-100) Percentage chance that money is awarded.
#
# Example (commented):
# WHEAT:
# enabled: true
# mode: "single"
# single-value: 1
# random-min: 0
# random-max: 0
# chance: 100
# requirements:
# enabled: true
# type: "global-harvests"
# amount: 1000
# enforcement: "deny-break"
# auto-replant:
# enabled: true
# harvest-output:
# mode: "sell"
# sell-price: 2.50
# vault-money:
# enabled: true
# mode: "random"
# single-value: 0
# random-min: 10
# random-max: 50
# chance: 25
#
# *** Version Compatibility ***
# Some blocks listed below might not exist in your specific Minecraft server version.
# The plugin will automatically ignore settings for incompatible blocks based on the server version.
# If you update your server, the plugin will attempt to automatically add default configurations
# for newly available blocks during startup or reload.
#
# Block Keys: Names generally match Bukkit Material names (e.g., WHEAT, CARROTS).
# Note: Legacy 'crops' section is still accepted on upgrade.
# Any valid block material key can be configured manually or through commands.
#
settings:
log-loading-messages: true
reward-delivery:
mode: "orb"
reward-feedback:
chat:
enabled: false
message: "<green>+%formatted_xp% XP</green> <gray>(%block%)</gray>"
number-format:
mode: "raw"
sound:
enabled: true
names:
- ENTITY_EXPERIENCE_ORB_PICKUP
- ORB_PICKUP
volume: 1.0
pitch: 1.0
actionbar:
enabled: true
message: "&a+%xp% XP"
title:
enabled: false
title: "+%xp% XP"
subtitle: "%block%"
fade-in: 10
stay: 20
fade-out: 10 # Set to true to see detailed loading messages, including version compatibility checks and default additions.
exploit-prevention:
# Blocks XP from tracked player-placed crops until they grow legitimately
natural-growth-only:
enabled: false
captcha:
enabled: false
# Random captcha trigger chance after valid harvest activity. Range: 0.0 to 1.0.
random-trigger-chance: 0.0
timeout-seconds: 30
max-failures: 3
block-harvests-while-active: true
failure-action:
mode: "command"
command: "kick %player% Failed farming captcha"
gui:
title: "&8Farming Captcha"
size: 27
target-material: "EMERALD"
filler-material: "GRAY_STAINED_GLASS_PANE"
distractor-material: "COAL"
target-display-name: "&aClick this item"
distractor-display-name: "&7Wrong item"
alerts:
enabled: false
# Based on valid harvest activity only.
rolling-window-ticks: 20
alert-threshold-bps: 15.0
# At or above this threshold, a captcha can be forced immediately.
captcha-threshold-bps: 25.0
permission: "smpharvest.captcha.alerts"
message: "&c[SMPHarvest] %player% reached %bps% blocks/sec."
prestige:
tiers:
"1":
required-global-harvests: 10000
xp-multiplier: 1.10
sell-money-multiplier: 1.10
"2":
required-global-harvests: 50000
xp-multiplier: 1.25
sell-money-multiplier: 1.20
# Harvest Event
# score-mode supports "harvests" or "xp"
# reward commands run as console
# available reward placeholders: %player%, %uuid%, %position%, %score%, %duration%
harvest-event:
enabled: false
auto-start:
enabled: false
interval-seconds: 3600
duration-seconds: 300
top-places: 5
score-mode: "harvests"
rewards:
"1":
commands:
- "eco give %player% 1000"
player-message: "<green>You placed #1 in the Harvest Event.</green>"
"2":
commands:
- "eco give %player% 500"
player-message: "<green>You placed #2 in the Harvest Event.</green>"
# Farming Zones v1
# This first version is shared/global only and does not use player-specific or packet-driven zone detection.
# Crop keys must match one of the plugin's configured crop keys under blocks.
# Zone blocks are scanned on startup and on manual rescan.
# Set up the zone with already-grown or ready crops for the intended gameplay.
farming-zones:
enabled: false
zones:
wheat_farm:
world: "world"
crop: "WHEAT"
pos1: "0,64,0"
pos2: "15,70,15"
regen-seconds: 20
harvest-tool-enchants:
definitions:
auto_replant:
display-name: "Auto Replant"
type: "auto-replant"
max-level: 1
base-cost: 150
cost-scale: "1.0"
value-per-level: "0.0"
purchase-mode: "either"
auto_collect:
display-name: "Auto Collect"
type: "output-collect"
max-level: 1
base-cost: 250
cost-scale: "1.0"
value-per-level: "0.0"
purchase-mode: "either"
auto_sell:
display-name: "Auto Sell"
type: "output-sell"
max-level: 1
base-cost: 450
cost-scale: "1.0"
value-per-level: "0.0"
purchase-mode: "either"
xp_finder:
display-name: "XP Finder"
type: "xp-multiplier"
max-level: 15
base-cost: 125
cost-scale: "1.18"
value-per-level: "0.05"
purchase-mode: "either"
token_finder:
display-name: "Token Finder"
type: "token-multiplier"
max-level: 15
base-cost: 150
cost-scale: "1.20"
value-per-level: "0.05"
purchase-mode: "either"
harvest-tools:
# Plain Hoe Conversion: allows players holding plain (vanilla) hoes
# to receive SMPHarvest rewards without needing a SMPHarvest-issued tool.
plain-hoe-conversion:
# Set to true to enable plain hoe conversion.
enabled: true
# When true, hoes with a custom name or lore are NOT converted to vanilla hoe fallback.
# They must match a custom profile or receive no SMPHarvest tool benefits.
exempt-named-or-lore-items: true
# The profile used as fallback for plain hoes. Must be vanilla-compatible,
# must not require an issued item, must not be owner-bound, and must accept the hoe material.
fallback-profile: "vanilla_hoe"
currency-providers:
tokens-enabled: true
vault-enabled: true
profiles:
# Custom HXP starter tool. Not a generic fallback for plain hoe materials.
# Players must claim this via first-join or shop. Requires SMPHarvest-issued item to function.
# This profile REQUIRES an issued item to be active -- plain hoes cannot use it.
starter_hoe:
display-name: "Starter Hoe"
valid-materials:
- "WOOD_HOE"
- "STONE_HOE"
- "IRON_HOE"
- "GOLD_HOE"
- "DIAMOND_HOE"
- "NETHERITE_HOE"
custom-model-data: -1
required-enchantments: {}
allowed-enchants:
- "auto_replant"
- "auto_collect"
- "auto_sell"
- "xp_finder"
- "token_finder"
issued-item:
required: true
owner-bound: false
material: "WOOD_HOE"
name: "<green>Starter Hoe</green>"
lore:
- "<gray>SMPHarvest Starter Tool</gray>"
- "<gray>Level: <white>%tool_level%</white></gray>"
- "<gray>XP: <white>%tool_xp%</white><dark_gray>/<white>%tool_xp_to_next%</white></dark_gray>"
- "<gray>Harvests: <white>%tool_harvests%</white></gray>"
- "<gray>Enchants: <white>%tool_enchants%</white></gray>"
glow: false
custom-model-data: -1
enchants: []
flags: []
vanilla-compatible: false
acquisition:
shop-enabled: true
token-price: 0
vault-price: 0
purchase-mode: "either"
one-time-claim: true
first-join-grant: true
multipliers:
xp: "1.00"
sell-money: "1.00"
vault-money: "1.00"
bonus-drops: "1.00"
tokens: "1.00"
progression:
enabled: true
max-level: 10
xp-per-harvest: 1
base-xp-to-next-level: 50
xp-scale: "1.12"
per-level-bonuses:
xp: "0.03"
sell-money: "0.02"
vault-money: "0.00"
bonus-drops: "0.00"
tokens: "0.01"
# Vanilla Hoe -- FALLBACK FOR PLAIN HOES ONLY.
# === vanilla_hoe fallback profile ===
# Plain hoes with no display name and no lore auto-convert to `vanilla_hoe`.
# Converted plain hoes must keep vanilla display name.
# Lore/progression/tags apply immediately.
# `vanilla_hoe` is fallback only, not shop item, not claim item.
# Custom HXP hoes keep their own profile and still earn rewards on generic crops.
vanilla_hoe:
display-name: "Vanilla Hoe"
valid-materials:
- "WOOD_HOE"
- "STONE_HOE"
- "IRON_HOE"
- "GOLD_HOE"
- "DIAMOND_HOE"
- "NETHERITE_HOE"
vanilla-compatible: true
issued-item:
required: false
owner-bound: false
name: ""
apply-display-name: false
lore:
- "<gray>Level: <white>%tool_level%</white></gray>"
- "<gray>XP: <white>%tool_xp%</white><dark_gray>/<white>%tool_xp_to_next%</white></dark_gray>"
- "<gray>Harvests: <white>%tool_harvests%</white></gray>"
- "<gray>Enchants: <white>%tool_enchants%</white></gray>"
acquisition:
shop-enabled: false
token-price: 0
vault-price: 0
purchase-mode: "either"
one-time-claim: false
first-join-grant: false
multipliers:
xp: "1.00"
sell-money: "1.00"
vault-money: "1.00"
bonus-drops: "1.00"
tokens: "1.00"
progression:
enabled: true
max-level: 5
xp-per-harvest: 1
base-xp-to-next-level: 25
xp-scale: "1.10"
per-level-bonuses:
xp: "0.02"
sell-money: "0.01"
vault-money: "0.00"
bonus-drops: "0.00"
tokens: "0.01"
allowed-enchants: []
field_hoe:
display-name: "Field Hoe"
valid-materials:
- "STONE_HOE"
custom-model-data: -1
required-enchantments: {}
allowed-enchants:
- "auto_replant"
- "auto_collect"
- "xp_finder"
- "token_finder"
issued-item:
required: true
owner-bound: true
material: "STONE_HOE"
name: "<green>Field Hoe</green>"
lore:
- "<gray>Reliable starter upgrade.</gray>"
- "<gray>Level: <white>%tool_level%</white></gray>"
- "<gray>XP: <white>%tool_xp%</white><dark_gray>/<white>%tool_xp_to_next%</white></dark_gray>"
- "<gray>Harvests: <white>%tool_harvests%</white></gray>"
- "<gray>Enchants: <white>%tool_enchants%</white></gray>"
glow: false
custom-model-data: -1
enchants: []
flags: []
acquisition:
shop-enabled: true
token-price: 250
vault-price: 50.00
purchase-mode: "either"
one-time-claim: false
first-join-grant: false
multipliers:
xp: "1.05"
sell-money: "1.05"
vault-money: "1.00"
bonus-drops: "1.00"
tokens: "1.00"
progression:
enabled: true
max-level: 15
xp-per-harvest: 1
base-xp-to-next-level: 70
xp-scale: "1.14"
per-level-bonuses:
xp: "0.04"
sell-money: "0.03"
vault-money: "0.00"
bonus-drops: "0.00"
tokens: "0.02"
rancher_hoe:
display-name: "Rancher Hoe"
valid-materials:
- "IRON_HOE"
custom-model-data: -1
required-enchantments: {}
allowed-enchants:
- "auto_replant"
- "auto_collect"
- "auto_sell"
- "xp_finder"
- "token_finder"
issued-item:
required: true
owner-bound: true
material: "IRON_HOE"
name: "<aqua>Rancher Hoe</aqua>"
lore:
- "<gray>Balanced farming tool.</gray>"
- "<gray>Level: <white>%tool_level%</white></gray>"
- "<gray>XP: <white>%tool_xp%</white><dark_gray>/<white>%tool_xp_to_next%</white></dark_gray>"
- "<gray>Harvests: <white>%tool_harvests%</white></gray>"
- "<gray>Enchants: <white>%tool_enchants%</white></gray>"
glow: false
custom-model-data: -1
enchants: []
flags: []
acquisition:
shop-enabled: true
token-price: 850
vault-price: 100.00
purchase-mode: "either"
one-time-claim: false
first-join-grant: false
multipliers:
xp: "1.10"
sell-money: "1.10"
vault-money: "1.05"
bonus-drops: "1.05"
tokens: "1.05"
progression:
enabled: true
max-level: 20
xp-per-harvest: 2
base-xp-to-next-level: 90
xp-scale: "1.15"
per-level-bonuses:
xp: "0.04"
sell-money: "0.03"
vault-money: "0.01"
bonus-drops: "0.01"
tokens: "0.02"
trader_hoe:
display-name: "Trader Hoe"
valid-materials:
- "GOLD_HOE"
custom-model-data: -1
required-enchantments: {}
allowed-enchants:
- "auto_replant"
- "auto_collect"
- "auto_sell"
- "xp_finder"
- "token_finder"
issued-item:
required: true
owner-bound: true
material: "GOLD_HOE"
name: "<gold>Trader Hoe</gold>"
lore:
- "<gray>Optimized for profit.</gray>"
- "<gray>Level: <white>%tool_level%</white></gray>"
- "<gray>XP: <white>%tool_xp%</white><dark_gray>/<white>%tool_xp_to_next%</white></dark_gray>"
- "<gray>Harvests: <white>%tool_harvests%</white></gray>"
- "<gray>Enchants: <white>%tool_enchants%</white></gray>"
glow: false
custom-model-data: -1
enchants: []
flags: []
acquisition:
shop-enabled: true
token-price: 1750
vault-price: 200.00
purchase-mode: "either"
one-time-claim: false
first-join-grant: false
multipliers:
xp: "1.05"
sell-money: "1.25"
vault-money: "1.15"
bonus-drops: "1.00"
tokens: "1.10"
progression:
enabled: true
max-level: 20
xp-per-harvest: 2
base-xp-to-next-level: 90
xp-scale: "1.16"
per-level-bonuses:
xp: "0.03"
sell-money: "0.04"
vault-money: "0.02"
bonus-drops: "0.00"
tokens: "0.03"
industrial_hoe:
display-name: "Industrial Hoe"
valid-materials:
- "DIAMOND_HOE"
custom-model-data: -1
required-enchantments: {}
allowed-enchants:
- "auto_replant"
- "auto_collect"
- "auto_sell"
- "xp_finder"
- "token_finder"
issued-item:
required: true
owner-bound: true
material: "DIAMOND_HOE"
name: "<blue>Industrial Hoe</blue>"
lore:
- "<gray>High-end farming equipment.</gray>"
- "<gray>Level: <white>%tool_level%</white></gray>"
- "<gray>XP: <white>%tool_xp%</white><dark_gray>/<white>%tool_xp_to_next%</white></dark_gray>"
- "<gray>Harvests: <white>%tool_harvests%</white></gray>"
- "<gray>Enchants: <white>%tool_enchants%</white></gray>"
glow: true
custom-model-data: -1
enchants: []
flags: []
acquisition:
shop-enabled: true
token-price: 4000
vault-price: 500.00
purchase-mode: "either"
one-time-claim: false
first-join-grant: false
multipliers:
xp: "1.20"
sell-money: "1.30"
vault-money: "1.20"
bonus-drops: "1.05"
tokens: "1.15"
progression:
enabled: true
max-level: 25
xp-per-harvest: 2
base-xp-to-next-level: 110
xp-scale: "1.16"
per-level-bonuses:
xp: "0.04"
sell-money: "0.04"
vault-money: "0.02"
bonus-drops: "0.01"
tokens: "0.03"
netherite_hoe:
display-name: "Netherite Hoe"
valid-materials:
- "NETHERITE_HOE"
custom-model-data: -1
required-enchantments: {}
allowed-enchants:
- "auto_replant"
- "auto_collect"
- "auto_sell"
- "xp_finder"
- "token_finder"
issued-item:
required: true
owner-bound: true
material: "NETHERITE_HOE"
name: "<dark_red>Netherite Hoe</dark_red>"
lore:
- "<gray>Top-tier harvest tool.</gray>"
- "<gray>Level: <white>%tool_level%</white></gray>"
- "<gray>XP: <white>%tool_xp%</white><dark_gray>/<white>%tool_xp_to_next%</white></dark_gray>"
- "<gray>Harvests: <white>%tool_harvests%</white></gray>"
- "<gray>Enchants: <white>%tool_enchants%</white></gray>"
glow: true
custom-model-data: -1
enchants: []
flags: []
acquisition:
shop-enabled: true
token-price: 8500
vault-price: 1000.00
purchase-mode: "either"
one-time-claim: false
first-join-grant: false
multipliers:
xp: "1.30"
sell-money: "1.45"
vault-money: "1.30"
bonus-drops: "1.10"
tokens: "1.25"
progression:
enabled: true
max-level: 30
xp-per-harvest: 3
base-xp-to-next-level: 130
xp-scale: "1.18"
per-level-bonuses:
xp: "0.04"
sell-money: "0.05"
vault-money: "0.02"
bonus-drops: "0.01"
tokens: "0.03"
vine_hoe:
display-name: "Vine Hoe"
valid-materials:
- "NETHERITE_HOE"
vanilla-compatible: false
issued-item:
required: true
owner-bound: true
material: "NETHERITE_HOE"
name: "<dark_green>Vine Hoe</dark_green>"
lore:
- "<gray>Master of vines and fungi.</gray>"
- "<gray>Level: <white>%tool_level%</white></gray>"
- "<gray>XP: <white>%tool_xp%</white><dark_gray>/<white>%tool_xp_to_next%</white></dark_gray>"
- "<gray>Harvests: <white>%tool_harvests%</white></gray>"
- "<gray>Enchants: <white>%tool_enchants%</white></gray>"
glow: true
custom-model-data: -1
enchants: []
flags: []
acquisition:
shop-enabled: true
token-price: 5000
vault-price: 750.00
purchase-mode: "either"
one-time-claim: false
first-join-grant: false
multipliers:
xp: "1.15"
sell-money: "1.20"
vault-money: "1.10"
bonus-drops: "1.05"
tokens: "1.15"
progression:
enabled: true
max-level: 25
xp-per-harvest: 2
base-xp-to-next-level: 100
xp-scale: "1.16"
per-level-bonuses:
xp: "0.04"
sell-money: "0.04"
vault-money: "0.02"
bonus-drops: "0.01"
tokens: "0.03"
allowed-enchants:
- "auto_replant"
- "auto_collect"
- "auto_sell"
- "xp_finder"
- "token_finder"
melonmaster_hoe:
display-name: "Melon Master"
valid-materials:
- "DIAMOND_HOE"
vanilla-compatible: false
issued-item:
required: true
owner-bound: true
material: "DIAMOND_HOE"
name: "<green>Melon Master</green>"
lore:
- "<gray>Specialized for melon farming.</gray>"
- "<gray>Level: <white>%tool_level%</white></gray>"
- "<gray>XP: <white>%tool_xp%</white><dark_gray>/<white>%tool_xp_to_next%</white></dark_gray>"
- "<gray>Harvests: <white>%tool_harvests%</white></gray>"
- "<gray>Enchants: <white>%tool_enchants%</white></gray>"
glow: true
custom-model-data: -1
enchants: []
flags: []
acquisition:
shop-enabled: true
token-price: 3000
vault-price: 400.00
purchase-mode: "either"
one-time-claim: false
first-join-grant: false
multipliers:
xp: "1.15"
sell-money: "1.35"
vault-money: "1.15"
bonus-drops: "1.10"
tokens: "1.10"
progression:
enabled: true
max-level: 20
xp-per-harvest: 2
base-xp-to-next-level: 85
xp-scale: "1.15"
per-level-bonuses:
xp: "0.04"
sell-money: "0.05"
vault-money: "0.02"
bonus-drops: "0.02"
tokens: "0.02"
allowed-enchants:
- "auto_replant"
- "auto_collect"
- "auto_sell"
- "xp_finder"
- "token_finder"
blocks:
WHEAT:
enabled: true
mode: 'random'
single-value: 1
random-min: 1
random-max: 2
chance: 100
harvest-tool:
enabled: true
profile: "vanilla_hoe"
enforcement: "deny-rewards"
tokens:
enabled: true
amount: 1
PITCHER_CROP:
enabled: true
mode: 'random'
single-value: 2
random-min: 2
random-max: 4
chance: 100
harvest-tool:
enabled: true
profile: "vanilla_hoe"
enforcement: "deny-rewards"
tokens:
enabled: true
amount: 2
TORCHFLOWER:
enabled: true
mode: 'random'
single-value: 2
random-min: 2
random-max: 4
chance: 100
harvest-tool:
enabled: true
profile: "vanilla_hoe"
enforcement: "deny-rewards"
harvest-output:
mode: "drop"
sell-price: 3.25
tokens:
enabled: true
amount: 3
Code:
# Canonical localized messages live in /lang/. messages.yml is compatibility fallback.
# Canonical messages for SMPHarvest Plugin
# Player-facing messages support MiniMessage or legacy '&' codes.
# PlaceholderAPI placeholders are parsed when PlaceholderAPI is installed and a player context exists.
# %command% is the main command alias.
prefix: "&e[SMPHarvest] &r"
# General Errors
error_no_permission: "&cYou do not have permission to use this command."
error_player_only: "&cThis command can only be run by a player."
error_invalid_command: "&cInvalid command usage."
command_blockname_missing_args: "&cMissing arguments for 'blockname'."
command_cropname_missing_args: "&cMissing arguments for 'cropname'."
error_unknown_subcommand: "&cUnknown subcommand '%subcommand%'."
command_blockname_invalid_action: "&cInvalid action or missing arguments for block '%block%'."
command_value_invalid_type: "&cInvalid value type '%valuetype%'."
error_see_help: "&cUse /%command% help for assistance."
error_invalid_block: "&cInvalid or incompatible block key: %block%. Please use a loaded, server-compatible block key (see /%command% gui or /%command% help)."
error_invalid_boolean: "&cInvalid value. Please use 'true' or 'false'."
error_invalid_number: "&cInvalid number: %value%. Please enter a non-negative integer."
error_min_max_mismatch: "&cError: random-max (%max%) must be greater than or equal to random-min (%min%)."
error_saving_config: "&cAn error occurred while saving the configuration. Check console for details."
block_create_success: "&aBlock configuration for '%block%' created/updated successfully."
block_create_exists: "&eBlock configuration for '%block%' already exists."
autoreplant_replanted: "&aAuto-replanted %block%."
autoreplant_skipped_missing_cost: "&eAuto-replant skipped for %block% because no replant item was found in natural drops."
harvest_output_collect_summary: "&aCollected %amount% item(s) from %block%."
harvest_output_sell_summary: "&aSold %amount% item(s) from %block% for %money%."
harvest_output_sell_no_economy: "&eSell mode is configured for %block%, but no economy provider is currently available."
# Reload Command
reload_success: "&aConfiguration files reloaded successfully. Version compatibility checked."
reload_fail: "&cFailed to reload configuration files. Check console for errors."
# Block Toggle Command & GUI Toggle
toggle_enabled_success: "&aXP drops for %block% have been enabled."
toggle_disabled_success: "&cXP drops for %block% have been disabled."
# Mode Command & GUI Mode Toggle
mode_set_single: "&aXP drop mode for %block% set to SINGLE."
mode_set_random: "&aXP drop mode for %block% set to RANDOM."
# Value Set Command & GUI Value Set
value_set_success: "&aSet %valuetype% value for %block% to %value%."
note_min_max_adjusted: "&eNote: Random Max was automatically adjusted to %max% to be >= Min."
# Version Info
version_info: "&eSMPHarvest Premium v%version% by %author%. Made possible by %codella%."
# World GUI Messages
world_mode_set_success: "&aSet mode for world '%world%' to %mode%."
world_mode_set_fail: "&cFailed to set mode for world '%world%'. Check console."
world_block_add_success: "&aAdded block '%block%' to %list% for world '%world%'."
world_block_remove_success: "&eRemoved block '%block%' from %list% for world '%world%'."
world_block_modify_fail: "&cFailed to modify block list for world '%world%'. Check console."
# GUI Messages
gui_open_crop_error: "&cAn error occurred while opening the Crop GUI. Check console."
gui_open_world_error: "&cAn error occurred while opening the World GUI. Check console."
gui_crop_config_missing: "&cError: Crop configuration missing!"
gui_value_negative: "&cValue cannot be negative."
gui_world_unloaded: "&cError: World '%world%' is no longer loaded."
gui_world_list_mode_required: "&eSwitch to WHITELIST or BLACKLIST to configure crops for this world."
gui_identify_block_add_error: "&cError: Could not identify block to add."
gui_identify_block_remove_error: "&cError: Could not identify block to remove."
gui_identify_drop_material_error: "&cError: Could not identify drop material."
gui_bonus_drop_add_error: "&cError: Could not add bonus drop."
gui_vault_config_missing: "&cError: Vault money configuration missing!"
gui_drop_config_missing: "&cError: Drop configuration not found."
gui_bonus_drop_remove_error: "&cError: Could not remove bonus drop."
gui_max_below_min: "&cCannot decrease Max below Min."
# Help Messages
help_header: "&e--- SMPHarvest Commands (%command%) ---"
help_version: "&a/%command% version &7- Shows plugin version and author."
help_reload: "&a/%command% reload &7- Reloads configuration files & version checks."
help_gui: "&a/%command% gui &7- Opens the graphical global block management interface."
help_worldgui: "&a/%command% worldgui &7- Opens the GUI for world-specific block settings."
help_toggle_cmd: "&a/%command% blockname <BlockKey> <true|false> &7- (Command) Enable/disable XP for a block globally."
help_mode_cmd: "&a/%command% blockname <BlockKey> random <true|false> &7- (Command) Set global XP mode (true=random, false=single)."
help_set_single_cmd: "&a/%command% blockname <BlockKey> single <Amount> &7- (Command) Set global single XP amount."
help_set_min_cmd: "&a/%command% blockname <BlockKey> min <Amount> &7- (Command) Set global random min XP."
help_set_max_cmd: "&a/%command% blockname <BlockKey> max <Amount> &7- (Command) Set global random max XP."
help_blockname_create_cmd: "&a/%command% blockname <BlockKey> create &7- (Command) Create a new block configuration."
help_legacy_note: "&7Note: Legacy /%command% <cropname> commands still function as aliases for /%command% <blockname>."
help_zones: "&a/%command% zones <status|rescan> [zone|all] &7- View or rebuild Farming Zones."
help_toggle_player: "&a/%command% toggle &7- Toggle your personal XP rewards on/off."
help_stats: "&a/%command% stats [player] &7- View your own or another player's farming stats."
help_top: "&a/%command% top <all|xp|BlockKey> [alltime|daily|weekly|monthly] [page] &7- View farming leaderboards."
help_event: "&a/%command% event <status|top|start|stop> &7- View or manage the Harvest Event."
help_progress: "&a/%command% progress [player] &7- View crop progression requirements."
help_prestige: "&a/%command% prestige [player|up] &7- View or increase prestige."
help_captcha: "&a/%command% captcha <status|force|clear> [player] &7- Manage farming captcha sessions."
help_tool: "&a/%command% tool <give|info|enchant|menu|shop|claim> [args] &7- Issue or inspect SMPHarvest tools."
help_tool_menu: "&a/%command% tool menu &7- Open your Harvest Tool upgrade menu."
help_tool_shop: "&a/%command% tool shop &7- Open the Harvest Tool profile shop."
help_tool_claim: "&a/%command% tool claim <profile> &7- Buy or claim a Harvest Tool profile directly."
help_tool_enchant: "&a/%command% tool enchant <buy|set> [args] &7- Buy or set Harvest Tool enchants."
help_tool_list: "&a/%command% tool list &7- List all configured Harvest Tool profiles."
help_tool_list_empty: "&eNo harvest tool profiles configured."
help_tool_list_header: "&e--- Harvest Tool Profiles ---"
help_tool_list_entry: "&f%id% &7- %display%%flags%"
help_tool_list_flag_shop: " &a[SHOP]"
help_tool_list_flag_first_join: " &e[FIRST-JOIN]"
help_tool_list_flag_vanilla: " &b[VANILLA]"
help_tool_give: "&a/%command% tool give <player> <profile> [amount] &7- Give a harvest tool."
help_tool_info: "&a/%command% tool info [player] &7- Inspect a harvest tool or compatible vanilla hoe."
help_tool_enchant_buy: "&a/%command% tool enchant buy <enchant> [tokens|money] &7- Buy or upgrade an enchant."
help_tool_enchant_set: "&a/%command% tool enchant set <player> <enchant> <level> &7- Set enchant level."
help_tokens: "&a/%command% tokens <balance|pay|top|shop> [args] &7- Manage Harvest Tokens."
block_create_hint: "&7Run /%command% blockname %block% create first to configure this block."
# Zones
zones_disabled: "&eFarming Zones are disabled in config.yml."
zones_status_header: "&e--- Farming Zones ---"
zones_status_line: "&7Enabled: &f%enabled% &7| Loaded Zones: &f%zones% &7| Tracked Blocks: &f%blocks% &7| Pending Regens: &f%pending% &7| Scanning: &f%scanning%"
zones_rescan_all_success: "&aQueued rebuild for &f%count%&a Farming Zones."
zones_rescan_one_success: "&aQueued rebuild for Farming Zone &f%zone%&a."
zones_rescan_already_running: "&eFarming Zone &f%zone%&e is already rebuilding."
zones_rescan_world_unavailable: "&cCannot rebuild Farming Zone &f%zone%&c because its world is not loaded."
zones_rescan_missing: "&cUnknown Farming Zone: %zone%."
# Player Toggle
player_toggle_enabled: "&aXP rewards enabled. You will receive XP from harvesting."
player_toggle_disabled: "&eXP rewards disabled. You will no longer receive XP from harvesting."
# Harvest Event
harvest_event_disabled: "&eHarvest Event is disabled in config.yml."
harvest_event_usage: "&cUsage: /%command% event <status|top|start|stop> [value]"
harvest_event_already_active: "&eA Harvest Event is already active."
harvest_event_not_active: "&eNo Harvest Event is currently active."
harvest_event_start_success: "&aHarvest Event started for %duration% seconds."
harvest_event_stop_success: "&eHarvest Event stopped."
harvest_event_status_active: "&aHarvest Event active. Score mode: %score_mode%. Time left: %time_left%s."
harvest_event_status_inactive: "&eNo Harvest Event is active. Next auto-start in: %time_next%s."
harvest_event_top_empty: "&eThere are no Harvest Event scores yet."
harvest_event_top_header: "&e--- Harvest Event Top Page %page%/%pages% ---"
harvest_event_top_entry: "&6#%position% &f%player% &7- &a%score%"
# Stats and Leaderboards
stats_header_self: "&e--- Your SMPHarvest Stats ---"
stats_header_other: "&e--- SMPHarvest Stats: %player% ---"
stats_total_harvests: "&aTotal Harvests: &f%amount%"
stats_total_xp: "&aTotal XP Earned: &f%amount%"
stats_block_breakdown_header: "&eTop Block Breakdown:"
stats_block_line: "&7- %block%: &f%harvests% harvests &7| &f%xp% XP"
stats_no_data_for_player: "&eNo SMPHarvest stats recorded yet for %player%."
progress_no_requirements_configured: "&eNo crop progression requirements are configured."
progress_header_self: "&e--- Your Crop Progression ---"
progress_header_other: "&e--- Crop Progression: %player% ---"
progress_line_unlocked: "&a%block% &7- unlocked &8(%current%/%required%, %percent%%, %type%)"
progress_line_locked: "&c%block% &7- locked &8(%current%/%required%, %remaining% remaining, %percent%%, %type%)"
progress_locked_break: "&cYou have not unlocked %block% yet. &7Progress: %current%/%required% (%percent%%)"
progress_locked_rewards: "&eYou broke %block%, but rewards are locked until %current%/%required% (%percent%%)."
progress_no_data_for_player: "&eNo tracked progression data for %player%."
# Crop Requirement Messages
harvest_tool_required_break: "&cYou must use %profile% to harvest %block% rewards here."
harvest_tool_required_rewards: "&eYou broke %block%, but this crop's rewards require %profile%."
tool_plain_hoe_supported: "<gray>Plain hoes auto-convert to Vanilla Hoe progression when eligible.</gray>"
# Harvest Tool Messages
tool_target_missing: "&cPlayer &f%player%&c is not online."
tool_profile_missing: "&cHarvest Tool profile &f%profile%&c does not exist."
tool_issue_failed: "&cHarvest Tool &f%profile%&c could not be created from the current config."
tool_shop_profile_unavailable: "&cHarvest Tool profile &f%profile%&c is not available in the shop."
tool_shop_tokens_unavailable: "&cHarvest Tool purchases are unavailable because tokens are not enabled."
tool_shop_insufficient_tokens: "&cYou do not have enough tokens for that tool. Cost: &f%cost%"
tool_shop_insufficient_money: "&cYou do not have enough money for that tool. Cost: &f%cost%"
tool_shop_purchase_success: "&aPurchased Harvest Tool profile &f%profile%&a for &f%cost%&a tokens."
tool_claim_success: "&aYou received Harvest Tool profile &f%profile%&a for &f%cost%&a tokens."
tool_claim_already_claimed: "&eYou already claimed Harvest Tool profile &f%profile%&e."
tool_claim_issue_failed: "&cHarvest Tool profile &f%profile%&c could not be issued from the current config."
tool_give_success_sender: "&aGave &f%amount%x %profile%&a to &f%player%&a."
tool_give_success_target: "&aYou received &f%amount%x %profile%&a."
tool_info_header: "&6Harvest Tool Info"
tool_info_none: "&eThe inspected item is not a SMPHarvest-issued tool."
tool_info_line: "&7Player: &f%player% &7| Profile: &f%profile% &7| Display: &f%display% &7| Owner: &f%owner% &7| Owner-Bound: &f%ownerbound% &7| Required: &f%required%"
tool_level_up: "&aYour %profile% reached level &f%level%&a!"
tool_info_progress_line: "&7Level: &f%level% &7| XP: &f%xp% &7| To Next: &f%next% &7| Harvests: &f%harvests%"
tool_info_progress_disabled: "&7Progression: &fDisabled"
tool_info_enchants_header: "&6Harvest Tool Enchants"
tool_info_enchants_none: "&7Enchants: &fNone"
tool_info_enchant_line: "&7- %enchant%: &f%level%&7/&f%max%"
tool_enchant_not_allowed: "&cThat enchant is not allowed on the held Harvest Tool."
tool_enchant_maxed: "&eThat enchant is already at its maximum level."
tool_enchant_tokens_unavailable: "&cHarvest Tokens are not available right now."
tool_enchant_insufficient_tokens: "&cYou do not have enough tokens for that enchant upgrade."
tool_enchant_buy_success: "&aUpgraded %enchant% to level &f%level%&a for &f%cost%&a tokens."
tool_enchant_set_success: "&aSet %player%'s %enchant% enchant to level &f%level%&a."
tool_enchant_set_success_target: "&aYour %enchant% enchant is now level &f%level%&a."
tool_first_join_granted: "&aYou received starter Harvest Tool profile &f%profile%&a."
# Prestige Messages
prestige_header_self: "&e--- Your Prestige ---"
prestige_header_other: "&e--- Prestige: %player% ---"
prestige_status_line: "&7Level: &f%level% &7| Next Requirement: &f%required% &7| Progress: &f%current%"
prestige_up_success: "&aYou are now prestige %level%."
prestige_up_no_next: "&eYou are already at the highest configured prestige."
prestige_up_requirement_not_met: "&eYou need %required% total harvests to prestige. Current: %current%."
# Top Leaderboard Messages
top_usage: "&cUsage: /%command% top <all|xp|BlockKey> [alltime|daily|weekly|monthly] [page]"
top_range_alltime: "All-Time"
top_range_daily: "Daily"
top_range_weekly: "Weekly"
top_range_monthly: "Monthly"
top_scope_all: "All Crops"
top_scope_xp: "Total XP"
top_invalid_scope: "&cInvalid leaderboard scope: %scope%."
top_empty: "&eNo leaderboard data recorded yet for %scope%."
top_header: "&e--- SMPHarvest Top (%scope%) Page %page%/%pages% ---"
top_entry: "&6#%position% &f%player% &7- &a%amount%"
# Admin Bonus Drop Messages
chance_set_success: "&aSet XP chance for %block% to %chance%%."
bonus_drop_add_success: "&aAdded bonus drop %drop% to %block%."
bonus_drop_remove_success: "&eRemoved bonus drop %drop% from %block%."
bonus_drop_mode_set_single: "&aSet bonus drop mode for %drop% on %block% to SINGLE."
bonus_drop_mode_set_random: "&aSet bonus drop mode for %drop% on %block% to RANDOM."
bonus_drop_value_set_success: "&aSet %valuetype% for %drop% on %block% to %value%."
bonus_drop_chance_set_success: "&aSet bonus drop chance for %drop% on %block% to %chance%%."
# Admin Vault Money Messages
vault_hook_missing: "&eVault money reward for %block% is configured, but no Vault economy provider is currently available."
vault_money_enabled_success: "&aEnabled Vault money reward for %block%."
vault_money_disabled_success: "&eDisabled Vault money reward for %block%."
vault_money_set_success: "&aSet Vault money reward value for %block% to %value%."
vault_money_mode_set_single: "&aSet Vault money reward mode for %block% to SINGLE."
vault_money_mode_set_random: "&aSet Vault money reward mode for %block% to RANDOM."
vault_money_chance_set_success: "&aSet Vault money reward chance for %block% to %chance%%."
command_rewards_yaml_only_note: "&eCommand rewards for %block% are configured in config.yml under bonus-commands."
# Captcha Messages
captcha_status_inactive: "&eNo active farming captcha for %player%."
captcha_status_active: "&e%player% currently has an active farming captcha. Time left: %time%s. Failures: %fails%/%maxfails%."
captcha_force_success: "&aForced a farming captcha for %player%."
captcha_clear_success: "&aCleared the farming captcha session for %player%."
captcha_already_active: "&e%player% already has an active farming captcha."
captcha_started: "&ePlease complete the farming captcha to continue."
captcha_blocked: "&cYou must complete the farming captcha before harvesting again."
captcha_success: "&aCaptcha completed successfully."
captcha_fail: "&cWrong item. Failures: %fails%/%maxfails%."
captcha_timeout: "&cYou took too long to complete the farming captcha."
# Token Messages
tokens_balance_self: "&eYour token balance: &f%amount%"
tokens_balance_other: "&e%player%'s token balance: &f%amount%"
tokens_pay_success_sender: "&aYou paid %amount% tokens to %player%."
tokens_pay_success_target: "&aYou received %amount% tokens from %player%."
tokens_pay_invalid_amount: "&cEnter a valid positive token amount."
tokens_pay_insufficient: "&cYou do not have enough tokens."
tokens_pay_self: "&cYou cannot pay yourself."
tokens_admin_set: "&aSet %player%'s token balance to %amount%."
tokens_admin_give: "&aGave %amount% tokens to %player%."
tokens_admin_remove: "&aRemoved %amount% tokens from %player%."
tokens_admin_reset: "&aReset %player%'s token balance."
tokens_top_header: "&e--- Token Top Page %page%/%pages% ---"
tokens_top_entry: "&6#%position% &f%player% &7- &e%amount%"
tokens_shop_opening: "&aOpening token shop..."
token_shop_not_configured: "&cToken shop is not configured."
token_shop_page_not_found: "&cToken shop page not found: %page%"
tokens_shop_insufficient: "&cYou do not have enough tokens."
tokens_shop_purchase_success: "&aPurchased %item% for %amount% tokens."
tokens_reward_received: "&e+%amount% tokens"
# Purchase / Provider Messages
purchase_no_providers: "<red>No payment providers available."
purchase_insufficient: "<red>Insufficient funds."
purchase_not_purchasable: "<red>This item cannot be purchased."
purchase_requires_title: "<gold>Cost:"
purchase_requires_one_title: "<gold>Cost (choose one):"
purchase_requires_both_title: "<gold>Cost (both required):"
purchase_requirement_tokens: "<white>Tokens: <yellow>%amount%"
purchase_requirement_money: "<white>Money: <yellow>%amount%"
purchase_paid_tokens: "<green>Paid %amount% tokens."
purchase_paid_money: "<green>Paid %amount% money."
purchase_paid_both: "<green>Paid %tokens% tokens and %money% money."
# GUI Labels
gui_already_claimed: "<gray>Already Claimed"
gui_free_unavailable: "<gray>Free / Unavailable"
What Makes SMP Harvest Valuable
SMP Harvest is not a tiny crop XP utility.
It is a complete harvesting progression suite with configurable crop rewards, vanilla fallback hoes, custom harvest tools, upgradeable tool enchants, token + Vault economy integration, prestige, events, zones, anti-exploit controls, and multilingual support.
If you want a Minecraft harvesting plugin, harvester hoe progression plugin, SMP farming economy plugin, or Donut-style farming suite that gives server owners real control instead of one fixed gimmick, SMP Harvest is built for that role.
SMP Harvest
Real farming progression. Real upgrade paths. Real configurable harvesting gameplay.
