xChunkHoppers is the ultimate solution for Survival, SkyBlock, and Factions servers. It allows you to create "Magic Hoppers" that automatically collect items within a specific radius or the entire Chunk without the need for water streams or lag.
Optimized for high performance, with support for Hex Colors, Effects, GUI Menu, and a complete API for developers.
- π‘οΈ Extreme Performance: Smart caching and
PersistentDataContainer(PDC). Zero lag. - π‘ Multi-Types: Create infinite hopper types (VIP, GOD, BASIC) with configurable ranges (8x8, 64x64, Full Chunk).
- π¨ Premium Design: Full support for HEX colors (
&#RRGGBB) and gradients. - π₯οΈ GUI Menu: Visual admin panel to obtain items (
/xch menu). - πΎ Data Persistence:
data.ymlsystem to save locations across restarts. - π΅ Visual Effects: Fully configurable sounds and particles when placing blocks.
- π Developer API: Simple API to integrate with other plugins.
- βοΈ Filtering: Whitelist or blacklist of materials (e.g., only Cactus and Iron).
- Download
xChunkHoppers.jarfrom the releases page. - Place it in your server's
/plugins/folder. - (Optional) Install PlaceholderAPI to use variables.
- Restart the server.
- Configure the hopper types in
config.ymland enjoy!
Click the image above to watch the showcase video.
| Command | Description | Permission |
|---|---|---|
/xch give <player> <type> [amount] |
Gives a specific ChunkHopper to a player. | xchunkhoppers.admin |
/xch menu |
Opens the GUI menu with all hoppers. | xchunkhoppers.admin |
/xch reload |
Reloads the configuration and database. | xchunkhoppers.admin |
xchunkhoppers.placeΒ» Allows placing Chunk Hoppers.xchunkhoppers.breakΒ» Allows breaking and retrieving Chunk Hoppers.
π Click to view the default config.yml
# ___ _ _
#__ __ / __\ |__ _ _ _ __ | | __ /\ /\___ _ __ _ __ ___ _ __ ___
#\ \/ // / | '_ \| | | | '_ \| |/ // /_/ / _ \| '_ \| '_ \ / _ \ '__/ __|
# > </ /___| | | | |_| | | | | </ __ / (_) | |_) | |_) | __/ | \__ \
#/_/\_\____/|_| |_|\__,_|_| |_|_|\_\/ /_/ \___/| .__/| .__/ \___|_| |___/
# |_| |_|
# Web: [https://xplugin.es](https://xplugin.es)
# Wiki: [https://xplugin.es/xchunkhoppers](https://xplugin.es/xchunkhoppers)
# Discord: [https://discord.xplugin.es](https://discord.xplugin.es)
settings:
# Enable or disable full plugin functionality
enabled: true
# If true: Only collects items in 'filter-list'.
# If false: Collects everything EXCEPT items in 'filter-list'.
use-whitelist: false
# List of materials (Use Bukkit Material enum names)
filter-list:
- "COBBLESTONE"
- "DIRT"
- "ROTTEN_FLESH"
# GUI Menu
menu:
title: "&#B3B3B3Admin hoppers menu"
size: 27
fill:
enabled: true
material: "BLACK_STAINED_GLASS_PANE" # Material to fill empty slots
# Hoppers
hopper-types:
default:
radius: -1
name: "�ff00Chunk Hopper &7(16x16)"
lore:
- "&8 Special Item"
- ""
- "&f Place this block to"
- "&f collect all items"
- "&f in this chunk automatically."
- ""
- "&eUnique Chunk!"
- ""
vip:
radius: 4
name: "&#ffaa00Hopper &lVIP &7(8x8)"
lore:
- "&8 VIP Item"
- ""
- "&f Place this block to"
- "&f collect all items"
- "&f in this chunk automatically."
- ""
- "&eUnique Chunk!"
- ""
god:
radius: 32
name: "&#ff0000Hopper &lGOD &7(64x64)"
lore:
- "&8 GOD Item"
- ""
- "&f Place this block to"
- "&f collect all items"
- "&f in this chunk automatically."
- ""
- "&eUnique Chunk!"
- ""
# Configuration of effects when placing the Hopper and using the Menu
effects:
sound:
enabled: true
# Sound names: [https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html)
type: "ENTITY_PLAYER_LEVELUP"
volume: 1.0
pitch: 1.0
particles:
enabled: true
type: "VILLAGER_HAPPY"
count: 15
permissions:
admin: "xchunkhoppers.admin"
place: "xchunkhoppers.place"
break: "xchunkhoppers.break"
messages:
prefix: "&8[&d&lxCH&8] "
no-permission: "&cYou do not have permission to do this."
reload: "�ff00Configuration and Data reloaded successfully."
player-not-found: "&cPlayer not found."
give-success: "&aYou gave &e%amount% &f%type% &a to &f%player%&a."
received: "&aYou have received a &dChunk Hopper&a."
placed: "�ff00Chunk Hopper placed! It will now collect items in this range."
broken: "&eYou have removed the Chunk Hopper."
already-exists: "&cA Chunk Hopper already exists here."
type-not-found: "&cThat Hopper type does not exist in the config."
version: 1.0.0To use the API in your plugin, add xChunkHoppers as a dependency in your plugin.yml.
Add the jar as a local library to your project.
import jn.willfrydev.xchunkhoppers.xChunkHoppers;
import jn.willfrydev.xchunkhoppers.api.ChunkHopperAPI;
import org.bukkit.Chunk;
import org.bukkit.plugin.java.JavaPlugin;
public class YourPlugin extends JavaPlugin {
public void checkHopper(Chunk chunk) {
ChunkHopperAPI api = xChunkHoppers.getAPI();
if (api.hasHopper(chunk)) {
getLogger().info("There is a magic hopper in this chunk!");
// Get location and perform actions
Location loc = api.getHopperLocation(chunk);
}
}
}Made with β€οΈ by WillfryDev for the community.
Β© 2026 xPlugins
