
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
Found a bug?
Report it via our ticket system and we'll look into it as soon as possible.