VHOPPERS CONFIGURATIONS
config.yml
Main behavior, integrations, holograms, task timings, protection hooks, and module runtime settings.
Config
This page mirrors the default config.yml file from the plugin.
config.yml
# ============================================================================
# VHoppers main configuration
# ----------------------------------------------------------------------------
# This file contains global behavior, safety rules, integrations, task timings,
# holograms, and container settings.
#
# Other configuration files:
# - messages.yml = player-facing messages
# - database.yml = storage backend and SQL settings
# - modules.yml = module item appearance and glow colors
# - upgrades.yml = upgrade levels, prices, and currencies
# - currencies.yml = custom command-based currencies
# - prices.yml = local Seller Module prices
# - compress.yml = Compressor Module recipes
# - menus/*.yml = GUI layouts and menu items
# ============================================================================
# Internal config format version. Used for future automatic config upgrades.
config-version: 1
# ============================================================================
# Diagnostics
# ============================================================================
# Enables verbose console logs for troubleshooting.
# Keep this false on production servers unless you are debugging an issue.
debug: false
# ============================================================================
# Update Checker
# ============================================================================
update-checker:
# Checks the Maven metadata asynchronously when the plugin starts/reloads.
enabled: true
# ============================================================================
# Integrations
# ============================================================================
# Select which stacked-item plugin VHoppers should hook into.
# Supported values:
# - none
# - VortexStacker
# - RoseStacker
# - WildStacker
#
# Use "none" if your server does not use a stacker plugin.
stacker: none
# ============================================================================
# General Gameplay Settings
# ============================================================================
hopper-item:
# Material:
# Bukkit material name. Example: PAPER, FEATHER, DIAMOND
# You can also use HDB-12345 if HeadDatabase is installed.
material: HOPPER
# Name:
# Supports MiniMessage, hex colors, legacy colors and PlaceholderAPI.
name: "&bVHopper"
# Texture:
# Optional. Only works if material is PLAYER_HEAD.
texture: ""
lore:
- "&7An upgradeable custom hopper."
- "&7Can be expanded with modules."
- ""
- "&eRight-click after placing: &fOpen menu"
unbreakable: false
custom-model-data: -1
tooltip-style: ""
max-stack-size: -1
glow: false
attributes: {}
enchantments: {}
item-flags: []
settings:
# If true, automation only works in chunks that are already loaded.
# Recommended: true, to avoid loading chunks from module tasks.
work-only-loaded-chunks: true
# If false, modules can only link containers in the same world as the player.
allow-cross-world-linking: false
# Maximum distance between the player/module and a linked container.
# Set to 0 or lower to allow any distance.
max-link-distance: 64
# Default maximum number of VHoppers a player may own.
# Permission-based limit nodes can override this later.
default-hopper-limit: 10
# Maximum number of module slots a VHopper can use.
# Current v1 GUI/storage supports 1-10 module slots.
# This also caps the module-slots upgrade maximum at runtime.
max-module-slots: 10
# If true, only the owner can pick up a VHopper through the pickup menu.
only-owner-can-pickup: true
# If true, custom VHoppers cannot be used as vanilla hoppers.
# This prevents inserting items, pulling from containers, or feeding them
# through other hoppers.
disable-vanilla-hopper-behavior: true
# If true, custom VHoppers cannot be broken normally.
# If false, breaking can return the VHopper item and module items.
prevent-normal-breaking: true
# If true, upgrades require economy payment.
# If false, upgrades are free even when Vault or other currencies are installed.
require-economy: true
# Folia safety guard for module-linked inventories.
# If the server is running Folia, linked containers must be in the same chunk
# as the VHopper. This avoids unsafe cross-region inventory access.
folia-require-linked-containers-same-chunk: true
# ============================================================================
# Protection Hooks
# ============================================================================
protection:
# Prevents players from linking modules to containers in protected areas where
# they do not have access.
prevent-linking-protected-containers: true
# Checks WorldGuard regions with the BUILD query.
worldguard: true
# Checks Towny plot permissions with SWITCH access on the linked container.
towny: true
# ============================================================================
# Hologram
# ============================================================================
hologram:
# Shows a TextDisplay hologram above placed VHoppers.
enabled: true
# Vertical offset above the hopper block.
y-offset: 1.35
# Maximum holograms refreshed per tick during reload/startup.
refresh-batch-size: 50
# TextDisplay background mode.
# none = no background
# default = Minecraft default text background
# custom = use background-color below
background-type: custom
# Custom background color for background-type: custom.
# Format: #AARRGGBB or #RRGGBB. If alpha is not provided, 80 is used.
background-color: "#50000000"
# Lines displayed above each VHopper.
# Supports legacy color codes with &.
# Available placeholders:
# {owner} = VHopper owner name
lines:
- "&b&lVHopper"
- "&7Owner: &f{owner}"
- "&7Right-click to open"
# ============================================================================
# Module Tasks
# ============================================================================
collector:
# Collector task interval in ticks.
# 20 ticks = 1 second.
interval-ticks: 20
# Maximum active collector hoppers processed per collector tick.
# Lower values spread the work over time on large servers.
max-hoppers-per-cycle: 100
# Base collector horizontal radius for level 1.
# Upgrade levels use the plugin's collector-range upgrade table.
base-radius-xz: 2
# Base collector vertical radius for level 1.
base-radius-y: 1
# Legacy option. Collector now always tries safe partial stacked-item moves
# when the selected stacker API supports changing the source stack amount.
stacked-partial-mode: api-partial
# Cooldown for repeated debug logs when a partial stacked item move is skipped.
partial-skip-debug-cooldown-seconds: 30
dealer:
# Dealer task interval in ticks.
# Capacity upgrades increase moved amount; this should usually stay 8.
interval-ticks: 8
# Maximum active dealer/seller/smelter/compressor/void hoppers processed per dealer tick.
# Lower values spread the work over time on large servers.
max-hoppers-per-cycle: 100
# Number of sample item slots in the dealer filter GUI.
filter-size: 9
seller:
# Selects where Seller Module prices come from.
# Supported values:
# - LOCAL = use prices.yml
# - ShopGUIPlus = use ShopGUI+ sell prices
# - EconomyShopGUI = use EconomyShopGUI/EconomyShopGUI-Premium sell prices
backend: LOCAL
# Currency used to pay players after items are sold.
# Supports the same syntax as upgrades.yml:
# Vault, CoinsEngine:<currency>, ExcellentEconomy:<currency>, Custom:<id>
currency: Vault
# Maximum item amount a single Seller Module may sell each dealer cycle.
# Higher values are faster, but do more inventory/economy work per cycle.
max-items-per-cycle: 64
# Short cache for external shop price lookups.
# This reduces repeated ShopGUIPlus/EconomyShopGUI calls when many sellers run.
price-cache-millis: 5000
# Maximum external shop price lookups a single seller module may do per cycle.
# Cached prices do not need backend work; LOCAL prices are not affected.
max-price-lookups-per-cycle: 16
vcontainer:
# If true, VContainer inserts are checked with a before/after contents diff.
# This is safer for debugging, but costs two getItems calls per insert.
# Keep false on production unless you suspect VContainer add failures.
verify-adds: false
# ============================================================================
# Containers
# ============================================================================
containers:
# Materials that modules may link as valid containers.
# The block must also expose a Bukkit Container inventory.
supported:
- CHEST
- TRAPPED_CHEST
- BARREL
- HOPPER
- DROPPER
- DISPENSER