🌾 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 |
|---|---|---|---|
| 🥕 Carrots | 0 | skiesfarming.crop.carrots | 4 |
| 🥔 Potatoes | 10 | skiesfarming.crop.potatoes | 6 |
| 🌾 Wheat | 20 | skiesfarming.crop.wheat | 8 |
| 🌱 Beetroots | 50 | skiesfarming.crop.beetroots | 15 |
| 🔴 Nether Wart | 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

