A custom pickup plugin compatible with both Paper and Folia server cores.
A plugin that allows fully customizable pickup behavior for both players and mobs, completely rewriting and replacing Minecraft's vanilla item pickup logic. It supports customizing pickup range, item merging, pickup delay, and more—delivering better performance than the vanilla system while being fully compatible with Folia's multi-threaded architecture.
/up or /pickup: Main command for all pickup management functions/up true: Enable pickup functionality (disables vanilla pickup)/up false: Disable pickup functionality (restores vanilla mechanics)/up status: View plugin status and current configuration/up set <key> <value>: Dynamically modify configuration settings/up reload: Reload configuration from disk/mc restart: Restart the Minecraft server (requires an external startup script)pickup.admin permission for all commands (default: OP)config.yml, hot-reload with /up reloadPickUp.jar in your plugins/ folder/up status to verify installation/up set or edit config.yml/up help # Show all commands
/up true # Enable smart pickup
/up set pickup.range 2.5 # Set pickup range to 2.5 blocks
/up set mode.player-driven true # Enable player-driven mode
/up reload # Apply configuration changes
/reload?Bukkit/Spigot's native /reload command carries a significant risk of memory leaks and is no longer recommended by the official teams. To ensure long-term server stability, the PickUp plugin employs a "soft shutdown + external restart" mechanism for safe reloading.
/mc restartrestart.flag marker file in the plugin directoryBukkit.shutdown() to gracefully shut down the serverrestart.flag → automatically restarts the server✅ The entire process is free of memory leaks and class loading conflicts, suitable for production environments.
start.bat)@echo off
chcp 936 >nul
title Minecraft服务器
cd /d "%~dp0"
echo [%date% %time%] 正在启动服务器...
java -Xmx2G -Xms1G -Dfile.encoding=GBK -jar folia-1.21.11-9.jar nogui
echo [%date% %time%] 服务器已关闭。
if exist restart.flag (
del restart.flag
echo [%date% %time%] 检测到重启请求,5秒后重新启动...
timeout /t 5 >nul
goto restart
)
echo.
echo 未检测到重启请求,5秒后自动退出...
timeout /t 5 >nul
📝 Usage Instructions:
- Save this script as
start.batin the same directory as yourpaper-*.jar- Always start the server by double-clicking
start.bat- After executing
/mc reload, the server will automatically restart and apply new configuration
Simply write an equivalent shell script (start.sh) with the same logic:
#!/bin/bash
while true; do
java -Xmx1G -Xms1G -jar paper-1.21.10-115.jar nogui
if [ -f "restart.flag" ]; then
rm -f restart.flag
echo "Restart request detected, restarting in 5 seconds..."
sleep 5
else
echo "Normal exit."
break
fi
done
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.