SkiesFarming
A feature-rich farming progression plugin for Minecraft servers that transforms farming into a rewarding skill-based system. Players gain experience from harvesting crops, level up their farming abilities, and unlock new crops as they progress.
✨ Features
🎯 Progression System
- XP-based leveling - Gain experience by harvesting mature crops
- Customizable progression - Choose between LINEAR, EXPONENTIAL, or CUSTOM growth modes
- Persistent data - Player progress automatically saved to disk
- Visual feedback - Action bar displays with progress bars and level-up notifications
🔓 Crop Unlocking
Gate which crops a player can plant using one of two modes (unlock-mode in config.yml):
LEVEL(default) – players must reach a specific farming level to plant a crop.PERMISSION– players must hold a permission node per crop (skiesfarming.crop.<material>). Without it, planting is blocked. Great for rank/donor-based progression with permission plugins like LuckPerms.
| Crop | Unlock Level | Permission Node | XP per Harvest |
|---|---|---|---|
| 0 | skiesfarming.crop.carrots | 4 | |
| 10 | skiesfarming.crop.potatoes | 6 | |
| 20 | skiesfarming.crop.wheat | 8 | |
| 50 | skiesfarming.crop.beetroots | 15 | |
| 100 | skiesfarming.crop.nether_wart | 24 |
🔄 Auto-Refarm
- Automatically replants crops after harvesting
- Configurable delay (default: 5 seconds)
- Optional: Only activate when not using a hoe
- Perfect for AFK farming setups
⏱️ Growth Control
- VANILLA mode - Standard Minecraft crop growth mechanics
- FIXED mode - Crops grow at a consistent, configurable rate
- Ideal for server economy balancing
🛡️ Crop Protection
- Prevents accidental breaking of immature crops
- Requires a hoe to break crops that aren't fully grown
- Helps players maximize their XP gains
🏆 PlaceholderAPI Integration
Compatible with PlaceholderAPI for scoreboards, holograms, and more:
%skiesfarming_level%- Player's current farming level%skiesfarming_top_1%to%skiesfarming_top_10%- Leaderboard entries (format:PlayerName:Level)
🎁 Quality of Life
- Auto-pickup of harvested crops
- Overflow protection (items drop if inventory is full)
- Visual progress bars in action bar
- Real-time percentage display
⌨️ Commands
Base command: /skiesfarming (aliases: /sf, /farming). Requires the skiesfarming.admin permission.
| Command | Description |
|---|---|
/skiesfarming xp set <player> <amount> | Set a player's farming XP to an exact amount |
/skiesfarming xp add <player> <amount> | Add XP to a player |
/skiesfarming xp reset <player> | Reset a player's farming XP to 0 |
Targets can be online or offline players (matched by name). Changes are saved immediately.
🔑 Permissions
| Permission | Default | Description |
|---|---|---|
skiesfarming.admin | op | Access to the /skiesfarming admin commands |
skiesfarming.crop.* | false | Grants every crop permission (used when unlock-mode: PERMISSION) |
skiesfarming.crop.<material> | false | Allows planting a specific crop, e.g. skiesfarming.crop.potatoes |
Crop permissions are only enforced when
unlock-modeis set toPERMISSION. InLEVELmode they are ignored.
📋 Requirements
- Minecraft: 1.15.1 or higher
- Server: Spigot, Paper, or compatible forks
- Java: Version 21 or higher
- Optional: PlaceholderAPI for placeholder support
📥 Installation
- Download the latest release from the Releases page
- Place
skiesfarming-1.0.jarin your server'splugins/folder - Restart your server
- Configure the plugin (optional - see Configuration)
- Enjoy!
⚙️ Configuration
config.yml
# XP earned per mature crop harvested
crop-xp:
CARROTS: 4
POTATOES: 6
WHEAT: 8
BEETROOTS: 15
NETHER_WART: 24
# How crops are gated before planting:
# LEVEL - require a farming level (uses unlock-levels below)
# PERMISSION - require permission node skiesfarming.crop.<material>
unlock-mode: LEVEL
# Farming level required to plant each crop (used when unlock-mode: LEVEL)
unlock-levels:
CARROTS: 0
POTATOES: 10
WHEAT: 20
BEETROOTS: 50
NETHER_WART: 100
# Auto-refarm settings
auto-refarm:
enabled: true
delay-ticks: 100 # 5 seconds (20 ticks = 1 second)
only-when-not-using-hoe: true
# Crop growth settings
growth:
mode: VANILLA # Options: VANILLA or FIXED
fixed-grow-ticks: 1200 # 60 seconds (only applies when mode is FIXED)
levels.yml
Choose your preferred progression system:
LINEAR Growth
Fixed XP increase per level:
growth-mode: LINEAR
linear:
base: 100 # XP for level 1
increment: 50 # Additional XP per level
round-to: 5 # Round to nearest 5
Example: Level 1 = 100 XP, Level 2 = 150 XP, Level 3 = 200 XP
EXPONENTIAL Growth
Multiplier-based progression:
growth-mode: EXPONENTIAL
exponential:
base: 100 # XP for level 1
multiplier: 1.15 # 15% increase per level
round-to: 5 # Round to nearest 5
Example: Level 1 = 100 XP, Level 2 = 115 XP, Level 3 = 132 XP
CUSTOM Levels
Define each level manually:
growth-mode: CUSTOM
levels:
1: 100
2: 150
3: 200
4: 300
5: 500
default-per-level: 300 # Fallback for undefined levels
🎮 Usage
For Players
- Start Farming: Begin by planting and harvesting Carrots (available at level 0)
- Gain XP: Break fully grown crops to earn experience points
- Track Progress: Watch your progress bar in the action bar
- Level Up: Reach new levels to unlock more valuable crops
- Advanced Farming: Use the auto-refarm feature for efficient farming
Tips:
- Only mature crops give XP
- Use a hoe to break immature crops if needed
- Higher-level crops give more XP but require progression
- Your progress is automatically saved
For Server Administrators
Managing Player Data:
- Player data is stored in
plugins/skiesfarming/players.yml - Format: UUID-based with XP and last known name
- Automatically saved on player quit and server shutdown
Balancing Tips:
- Adjust XP values to control progression speed
- Modify unlock levels to create gating
- Use FIXED growth mode for predictable farming
- Tune auto-refarm delay for server performance
Performance Considerations:
- Plugin uses minimal resources
- Auto-refarm uses delayed tasks, not continuous checking
- Player data is only loaded when players join
📊 PlaceholderAPI Examples
Scoreboard
- "&7Farming Level: &a%skiesfarming_level%"
Leaderboard Hologram
- "&6&l⭐ Top Farmers ⭐"
- "&e1. &f%skiesfarming_top_1%"
- "&e2. &f%skiesfarming_top_2%"
- "&e3. &f%skiesfarming_top_3%"
Chat Format
format: "&7[&aLv%skiesfarming_level%&7] &f{PLAYER}: {MESSAGE}"
🗺️ Roadmap
Future features we're considering:
- Additional crop types (melons, pumpkins, cocoa beans)
- Custom farming tools with bonuses
- Team/Guild farming progression
- Farming quests and achievements
- API for developers
- SQLite/MySQL support for larger servers
Have a feature request? Request it in the Discord!
🐛 Bug Reports
Found a bug? Please report this in the Discord with:
- Minecraft version
- Server software and version
- Plugin version
- Steps to reproduce
- Expected vs actual behavior
- Any error messages from console
📄 License
All rights reserved. This plugin is provided as-is for use on Minecraft servers. Redistribution or modification without permission is prohibited.
👥 Authors
- ItzAcat - Lead Developer
- SuperrSohrab - Co-Developer
Made with ❤️ for the Minecraft community
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
ItemSwapper
Inventory update concept for hotswapping items.
2.1MSueta
EssentialsX
The essential plugin suite for Paper and Spigot servers.
832.5KSueta
Grim Anticheat
Fully async, multithreaded, predictive, open source, 3.01 reach, 1.005 timer, 0.01% speed, 99.99% antikb, "bypassable" 1.8-1.21 anticheat
820.3KSueta
Orbital Strike Cannon
This datapack/mod/plugin adds an Orbital Strike Cannon like wemmbu!
791KSueta