BottleStacker
BottleStacker is a Minecraft Spigot plugin that allows stacking of bottles, potions, splash potions, and lingering potions beyond the default stack size of 1. It is designed for performance and compatibility, giving server administrators control over potion stacking while maintaining stability.
Key Features
Core Functionality
- Universal stacking of all bottle and potion types (regular, splash, lingering)
- Supports Minecraft versions 1.12 and above with automatic version detection
- Supports custom potions from other plugins like Brewery and Disease
- Preserves potion effects, custom names, and lore during stacking
- Set different stack limits for each potion typ
- Built-in throttling to prevent server lag
- Debug mode for troubleshooting
- Hot reload for configuration changes without restarting the server
- Multiple layers of anti-duplication protection
- Performance monitoring and automatic throttling
- Version compatibility validation
- Memory efficient design
Installation
- Download the latest BottleStacker-1.0.0.jar from the releases
- Place the jar file in your server's plugins/ directory
- Start the server to generate configuration files
- Edit the config.yml file in plugins/BottleStacker/
- Reload the plugin using /bottlestacker reload or restart the server
# Default maximum stack size for all bottles/potions
default-limit: 64
# Specific limits for individual potion types
specific-limits:
WATER_BOTTLE: 64
SPLASH_HEALING: 32
SPLASH_HARMING: 32
SPLASH_REGENERATION: 32
SPLASH_POISON: 32
SPLASH_STRENGTH: 32
SPLASH_WEAKNESS: 32
SPLASH_SLOWNESS: 32
SPLASH_SWIFTNESS: 32
SPLASH_FIRE_RESISTANCE: 32
SPLASH_WATER_BREATHING: 32
SPLASH_INVISIBILITY: 32
SPLASH_NIGHT_VISION: 32
LINGERING_HEALING: 16
LINGERING_HARMING: 16
LINGERING_REGENERATION: 16
LINGERING_POISON: 16
LINGERING_STRENGTH: 16
LINGERING_WEAKNESS: 16
LINGERING_SLOWNESS: 16
LINGERING_SWIFTNESS: 16
LINGERING_FIRE_RESISTANCE: 16
LINGERING_WATER_BREATHING: 16
LINGERING_INVISIBILITY: 16
LINGERING_NIGHT_VISION: 16
# Enable debug messages (only for admins)
debug: false
# Performance settings
max-stack-check-groups: 5
max-items-per-check: 50
Configuration Options
- max-items-per-check: Maximum items per stacking operation (default 50)
Commands and Permissions
Commands
- /bottlestacker (alias /bs): Main plugin command, e.g., /bottlestacker reload
- bottlestacker.*: Access to all features
- bottlestacker.admin: Admin commands and messages (default OP)
Technical Architecture
Core Components
- StackManager: Handles stacking logic and validation
- ConfigManager: Loads and validates configuration
- InventoryListener: Monitors inventory interactions
- VersionCompatibleListener: Ensures cross-version compatibility
- AntiDupeUtils: Prevents item duplication exploits
- Asynchronous processing for non-blocking stack operations
- Throttled operations to prevent server lag
- Memory optimization with efficient item handling
- Smart event listener priorities
Supported Items
Stackable Items
- Glass bottles (empty)
- Potions (vanilla and modded/plugin)
- Splash potions
- Lingering potions
- Water bottles
- Automatically detects and supports custom potions from plugins like Brewery and Disease
Performance Optimization
Built-in Protections
- Rate limiting to prevent spam clicking exploits
- Batch processing for efficiency
- Automatic memory cleanup
- Thread-safe concurrent operations
- Real-time performance metrics
- Automatic throttling when lag is detected
- Debug mode for performance analysis
- Memory usage tracking
Troubleshooting
Common Issues
- Potions not stacking: Ensure potion types are identical (effects, duration, amplifier)
- Server lag: Reduce max-stack-check-groups and max-items-per-check
- Custom potions not working: Load custom potion plugin before BottleStacker
- Permission errors: Verify operators have bottlestacker.admin permission
- Enable debug: true in config.yml
- Check server console for logs
Version Compatibility
Minecraft Versions Supported
- 1.12.x: Fully supported
- 1.13.x to 1.20.x: Compatible
- 1.8.x to 1.11.x: Limited support
License
- MIT License
Author
- HiDefinition: Development, optimization, compatibility (Ballistik on SpigotMC)
Contributing
- Contributions welcome via pull requests
- Open issues for major changes
Statistics
- Lines of code: ~1,200
- Classes: 10
- Supported potion types: 50+
- Memory footprint: under 5MB
- Performance impact: Minimal (<0.1% TPS)
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.12, 1.13, 1.14
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Bottle Stacker is a free Minecraft Java mod. Compatible with Minecraft 1.12, 1.13, 1.14, 1.15 and newer. Downloaded 141 times (via Spigot). Download it and open it directly in the game.