PistonFarmHelper
A lightweight, high-performance Paper/Spigot plugin designed to prevent item loss in Minecraft automatic farms by launching piston-broken crops (sugarcane, bamboo, cactus, etc.) forward in the piston's extending direction.
🚀 Features
- Smart Item Ejection: Launches drops forward by applying physical velocity when broken by a piston, preventing items from getting stuck on crop blocks.
- Column-Based Detection: Scans the vertical column above the broken block, ensuring items dropped from higher blocks are also correctly directed and launched.
- Highly Optimized: Tracks piston actions using lightweight HashMaps and a 2-tick task scheduler, ensuring zero performance impact or server lag (TPS friendly).
- Dynamic Multi-Language Support: Automatically translates system and admin messages into German (
de), Spanish (es), Russian (ru), Turkish (tr), and English (en) based on the player's client language (player.getLocale()).
- Fully Customizable: Adjust the launch velocity (horizontal/vertical) and the target materials list easily through
config.yml.
⚙️ Configuration (config.yml)
# Default language fallback.
default-language: "en"
# Enable server metrics tracking (bStats).
bstats: true
# Enable debug mode to log piston triggers and ejection vectors to the console.
debug: false
# Launch Velocity Settings
velocity:
# Horizontal launch power (multiplies velocity in the direction the piston extends)
# Recommended value: between 0.1 and 0.6
horizontal: 0.2
# Vertical launch power (adds slight upward velocity to prevent items from catching on block edges)
# Recommended value: between 0.1 and 0.2
vertical: 0.15
# Crop Materials to be launched when broken by pistons
# Use official Minecraft Material enum names.
target-materials:
- "SUGAR_CANE"
- "BAMBOO"
- "BAMBOO_SAPLING"
- "CACTUS"
- "MELON"
- "PUMPKIN"
- "COCOA"
- "KELP"
- "KELP_PLANT"
🛠️ Commands & Permissions
/pistonfarmhelper reload (Alias: /pfh reload) - Reloads the configuration and language files.
- Permission:
pistonfarmhelper.admin
🏗️ Installation & Building
- Build the plugin using the included Maven Wrapper:
.\mvnw.cmd clean package
- Copy the compiled JAR file from the
target/ directory to your server's plugins/ directory.
- Restart or reload (
/reload) your server.