
InfiniteBuckets
Infinite water and lava buckets for Minecraft Versions 1.17 - 1.21.8
📖About InfiniteBuckets
InfiniteBuckets
Customizable infinite water and lava buckets for modern Paper servers. Give your players endless fluids in a safe, configurable way — with beautiful names/lore using MiniMessage, per-bucket permissions, optional Nether restrictions, and smart behavior like waterlogging support. Fully Folia compatible.

✨ Features
Player-friendly
- Right-click to place water or lava
- Automatically waterlogs blocks when possible
Fully customizable
- Define any number of infinite buckets in
config.yml - Custom name, lore, material, permission, and Nether rules
- Define any number of infinite buckets in
Permission-driven
- Control access per bucket (
infb.use.water,infb.use.lava, or your own)
- Control access per bucket (
Modern & safe
- Paper API 1.21
- Java 17+
- Folia supported
- Async update notifier for admins
Integrations
- Hooks prepared for WorldGuard, GriefPrevention, Towny, Lands, PlotSquared, Residence
- Explicit build-privilege check for SuperiorSkyblock2
Performance-friendly
- Lightweight and optimized for busy servers
Custom branding
- MiniMessage support for gradients, colors, and lore
Ready out-of-the-box
- Comes with Infinite Water & Lava Buckets preconfigured
📥 Installation
Requirements:
- Paper/Paper-fork 1.21+ (Folia supported)
- Java 17+
Download the latest jar from Modrinth and place it in your server’s
pluginsfolderStart the server to generate default configuration,
config.yml, andmessages.yml
📜 Commands
/infinitebuckets(aliases:/infb,/ib)help— Show help menureload— Reload config, messages, buckets, and hooksgive <player> <bucketId> [amount]— Give infinite bucket items
Examples:
/infb help/infb reload/infb give Steve water 1/infb give Alex lava 16
🔒 Permissions
infb.admin— Admin access (/infb reload,/infb give, tab completion)infb.use.water— Use the Infinite Water Bucketinfb.use.lava— Use the Infinite Lava Bucketinfb.use.<bucketId>— Custom buckets use their own permissions
⚙️ Configuration
plugins/InfiniteBuckets/config.yml # =================================================================== # # GENERAL SETTINGS # # =================================================================== #Enable this to see detailed diagnostic messages in the console.
This is useful for debugging issues with hooks or bucket usage.
debug-mode: false
Enable automatic update checking and notifications for admins
update-checker:
enabled: true
notify-admins: true
check-interval: 24 # hours
Performance and safety settings
performance:
Maximum number of blocks that can be affected by drain-area buckets per use
max-drain-blocks: 1000
Global cooldown between bucket uses (in ticks, 20 ticks = 1 second)
global-cooldown: 5
Enable async processing for large drain operations
async-processing: true
Integration settings for protection plugins
integrations:
Automatically detect and hook into protection plugins
auto-detect-hooks: true
List of protection plugins to explicitly enable/disable
hooks:
worldguard: true
griefprevention: true
towny: true
lands: true
plotsquared: true
residence: true
superiorskyblock: true
World restrictions
world-settings:
Worlds where infinite buckets are completely disabled
disabled-worlds: []
Default nether restrictions (can be overridden per bucket)
default-nether-restriction: false
Worlds with special rules
world-rules:
# Example:
# nether:
# allow-water-buckets: false
# allow-lava-buckets: true
===================================================================
BUCKET DEFINITIONS
===================================================================
Bucket definitions have been moved to buckets.yml for better organization
and more advanced configuration options. Please refer to buckets.yml to
configure all bucket types and behaviors.
plugins/InfiniteBuckets/buckets.yml===================================================================
InfiniteBuckets - Advanced Configuration
Author: djtmk
===================================================================
This configuration file defines all bucket types available on the server.
It includes built-in presets that can be toggled, plus custom buckets
defined by server administrators.
Schema Version: 1
version: 1
===================================================================
BUILT-IN PRESETS
===================================================================
These are the default bucket types that come with the plugin.
You can disable any of them by setting enabled: false
presets:
Standard water bucket behavior
water_bucket:
id: "water_bucket"
displayName: "Infinite Water Bucket"
lore:
- "<!italic>• Never runs out of water"
- "<!italic>• Right-click to place water"
- "<!italic>• Works in most dimensions"
icon: "minecraft:water_bucket"
mode: "vanilla_like"
fluids: ["minecraft:water"]
capacity: 1
crafting:
enabled: false
permissions:
use: "buckets.use.water"
craft: ""
enabled: true
Standard lava bucket behavior
lava_bucket:
id: "lava_bucket"
displayName: "Infinite Lava Bucket"
lore:
- "<!italic>• Never runs out of lava"
- "<!italic>• Right-click to place lava"
- "<!italic>⚠ Use with caution!"
icon: "minecraft:lava_bucket"
mode: "vanilla_like"
fluids: ["minecraft:lava"]
capacity: 1
crafting:
enabled: false
permissions:
use: "buckets.use.lava"
craft: ""
enabled: true
Sponge-like bucket that drains water from an area
empty_sponge_bucket:
id: "sponge_bucket"
displayName: "Infinite Sponge Bucket"
lore:
- "<!italic>• Absorbs water in a 5x5x5 area"
- "<!italic>• Right-click to drain water"
- "<!italic>• Removes waterlogging too!"
icon: "minecraft:bucket"
mode: "drain_area"
behavior:
radius: 2 # 5x5x5 cube around use point
maxBlocksPerUse: 200
cooldown: 10 # ticks
waterlogged: true # removes waterlogging from blocks
fluids: ["minecraft:water"] # only drains water
crafting:
enabled: false
permissions:
use: "buckets.use.sponge"
craft: ""
enabled: true
===================================================================
CUSTOM BUCKETS
===================================================================
Define your own custom bucket types here. Each bucket must have a unique ID.
Available modes:
- vanilla_like: Normal bucket behavior (fill from source, place fluid)
- drain_area: Sponge-like behavior (drain fluids in radius)
For vanilla_like buckets, specify fluids/fluidTags to control what can be collected
For drain_area buckets, use the behavior section to configure drain behavior
customBuckets:
- id: "milk_bucket"
displayName: "Infinite Milk Bucket"
lore:
- "<!italic>Cures all that ails you."
icon: "minecraft:milk_bucket"
mode: "EFFECT"
action: "CLEAR_EFFECTS"
permissions:
use: "buckets.use.milk"
enabled: true
===================================================================
EXAMPLE CUSTOM BUCKETS
===================================================================
Here are some examples of custom buckets you can create.
Remove the # at the beginning of each line to enable them.
Example 1: Multi-fluid bucket that can hold any fluid
#customBuckets:
- id: "custom:universal_bucket"
displayName: "Universal Fluid Bucket"
icon: "custom:universal_bucket"
mode: "vanilla_like"
fluidTags: ["#minecraft:fluids"] # accepts any fluid
capacity: 5 # can hold 5 units
permissions:
use: "buckets.use.universal"
craft: "buckets.craft.universal"
crafting:
enabled: true
recipe: "universal_bucket_recipe"
enabled: true
Example 2: Super sponge that drains large areas
- id: "custom:super_sponge"
displayName: "Super Absorbent Sponge"
icon: "custom:super_sponge"
mode: "drain_area"
behavior:
radius: 4 # 9x9x9 cube
maxBlocksPerUse: 500
cooldown: 20
waterlogged: true
fluidTags: ["#minecraft:water"] # drains all water-type fluids
permissions:
use: "buckets.use.supersponge"
craft: "buckets.craft.supersponge"
crafting:
enabled: true
recipe: "super_sponge_recipe"
enabled: true
Example 3: Lava-specific drain bucket
- id: "custom:lava_absorber"
displayName: "Lava Absorber"
icon: "custom:lava_absorber"
mode: "drain_area"
behavior:
radius: 3 # 7x7x7 cube
maxBlocksPerUse: 300
cooldown: 40
waterlogged: false # doesn't affect waterlogged blocks
fluids: ["minecraft:lava"] # only drains lava
permissions:
use: "buckets.use.lavaabsorber"
craft: ""
enabled: true
===================================================================
CONFIGURATION NOTES
===================================================================
Field Descriptions:
id: Unique identifier for the bucket (required)
displayName: Name shown to players (required)
icon: Item icon/texture identifier (optional)
mode: Bucket behavior type - "vanilla_like" or "drain_area" (required)
capacity: How many fluid units can be stored (optional, default: 1)
fluids: Array of specific fluid IDs this bucket can handle (optional)
fluidTags: Array of fluid tags this bucket accepts (optional)
enabled: Whether this bucket is available (optional, default: true)
For vanilla_like buckets:
- Must specify either fluids or fluidTags (or both)
- Capacity determines how much fluid can be stored
For drain_area buckets:
- behavior section is required
- radius: Manhattan distance for drain area (max 6 without unsafe flag)
- maxBlocksPerUse: Safety limit on blocks drained per use (max 5000 without unsafe)
- cooldown: Ticks between uses
- waterlogged: Whether to remove waterlogging from blocks
- unsafe: Set to true to bypass safety limits (not recommended)
Permissions:
- use: Permission required to use this bucket type
- craft: Permission required to craft this bucket (if crafting enabled)
Crafting:
- enabled: Whether this bucket can be crafted
- recipe: Recipe identifier for crafting system
Security Notes:
- Large radius or maxBlocksPerUse values can cause server lag
- Use the unsafe flag only if you understand the performance implications
- Consider setting appropriate permissions for powerful buckets
Supports MiniMessage formatting → docs here
🔗 Integrations
Respects build rules when possible. Hooks initialized for:
- WorldGuard
- GriefPrevention
- Towny
- Lands
- PlotSquared
- Residence
- SuperiorSkyblock2 (explicit
BUILDprivilege check implemented)
---
🚀 Why Use InfiniteBuckets?
- Save players from the hassle of refilling buckets
- Prevent griefing with fine-grained permission and Nether rules
- Lightweight and performance-friendly — designed for modern Paper/Folia servers
- Out-of-the-box ready with water & lava buckets, plus easy customization for more
- Trusted by protection plugins, so your server stays safe