COWMODSКаталог модов

ImprovedHoppers

Smart, claim-aware item routing

Автор: OneLonePlayer3922обновлён 5 февр. 2026 г.
Механики игрыТехнологии

Описание

✨ Why admins love it

  • One smart hopper per system → far fewer ticking blocks, lower server load.
  • Remote routing across the same world with priorities, filters, round-robin/fill-first.
  • Lag-aware batching, skips blocked/unloaded targets, optional bounded retry queue.
  • Claim & trust built-in (or hook your region plugin); admin bypass supported.
  • No commands needed for normal play — everything via a clear in-game GUI.
  • Optional power system (free, redstone, or fuel chest → power units).
  • Demo: YouTube – Quick Tour

📦 Requirements & Compatibility

  • Hard dependency: Vault (for economy; needed for smelter unlocks & upgrades).

  • Soft dependencies:

  • Servers: Paper/Spigot 1.20+ (API 1.21 targeted).

  • Regions: Works with GriefPrevention/WorldGuard; ships a lightweight internal claim system if absent.


🚀 What it does (Core Features)

Remote Item Routing

Link one Improved Hopper to many containers in the same world. Configure:

  • Per-target priority (higher first)
  • Whitelist/blacklist item filters
  • Distribution: Round-robin or Fill-first

Full In-Game GUI

Right-click: manage links, filters, power, trust, stats, simulate routes, toggle visuals.

Chat Search for Filters

Click the compass, type to search; Esc or “cancel” to exit.

Power Modes

  • None: free operation
  • Redstone: requireRedstonePower or pauseWhenPowered
  • Fuel: link a Fuel Chest; fuel items convert to Power Units based on distance & amount

Trust & Claims

Hoppers must be claimed; owner can /trust users; admins bypass. Crafted nodes auto-claim.

Lag-Aware Batching

Per-tick caps & smart skipping of empty inputs/blocked/unloaded targets.

Visual Tools

Particle beams to targets; transfer trails; filter-focus visualization.

Built-in Smelter (optional)

Virtual smelting with Vault unlock & upgrades.

Craftable

Recipes configurable for both Improved Hopper and Fuel Chest.


🛠️ Installation

  1. Place the JAR in /plugins.
  2. Ensure Vault is installed and an economy plugin is active.
  3. (Optional) Install DecentHolograms, LuckPerms, and your Skyblock plugin.
  4. Start server. Edit /plugins/ImprovedHoppers/config.yml if desired.
  5. /improvedhoppers reload to apply changes.

⚡ Quick Start (Player)

  1. Craft an Improved Hopper (and a Fuel Chest if using Fuel mode).
  2. Place & Claim the hopper (crafted nodes auto-claim).
  3. Open GUI → Add Targets → click containers to link
    Tip: /improvedhoppers wand for fast multi-link.
  4. Set filters, priorities, and distribution mode.
  5. Choose Power Mode. If Fuel, link Fuel Chest and insert fuel.
  6. (Optional) Add redstone depending on redstone settings.

⌨️ Commands

CommandDescriptionPermission
/improvedhoppersShow subcommands(none)
/improvedhoppers wandGet link wand for multi-linkingimprovedhoppers.user.wand
/improvedhoppers settingsOpen settings (node or admin view)improvedhoppers.user.settings / improvedhoppers.admin.settings
/improvedhoppers remoteRemote controller (view/manage anywhere)improvedhoppers.user.remote
/improvedhoppers reloadReload configimprovedhoppers.admin.reload
/improvedhoppers power applyRe-apply power settingsimprovedhoppers.admin

🔐 Permissions

User

  • improvedhoppers.user.wand (default: true)
  • improvedhoppers.user.settings (default: true)
  • improvedhoppers.user.remote (default: true)
  • improvedhoppers.user.* (default: true)
  • improvedhoppers.user.restore (default: true)

Admin

  • improvedhoppers.admin (default: op) — moderation bypass
  • improvedhoppers.admin.reload (default: op)
  • improvedhoppers.admin.settings (default: op)
  • improvedhoppers.admin.* (default: op)

Limits (override config)

  • improvedhoppers.limit.player.<n>
  • improvedhoppers.limit.island.<n>
  • improvedhoppers.limit.links.<n>
  • improvedhoppers.limit.trusted.<n>
  • improvedhoppers.limit.filter.<n>
  • improvedhoppers.hopper.power.<n>

🧪 Crafting

Improved Hopper — shaped recipe (all items configurable)

I C I
R H R
I C I

Fuel Chest — configurable (e.g., coal + chest)
See recipes.yml for exact materials, names, and NBT settings.


⚙️ Config Highlights (sample)

general:
  storage: YAML          # YAML | SQLITE
  locale: en_US
  holograms:
    enabled: true
    update_ticks: 20
  particles:
    enabled: true
    transfer_trail: true
    filter_focus: true

claims:
  required: true
  auto_claim_on_craft: true
  admin_bypass: true

routing:
  link:
    max_distance: 256
    owner_must_be_online: false
    cleanup_interval_ticks: 200
  distribution: ROUND_ROBIN   # ROUND_ROBIN | FILL_FIRST
  filters:
    default_mode: WHITELIST   # WHITELIST | BLACKLIST
    per_hopper_max: 32

transfer:
  interval_ticks: 10
  per_tick_item_cap: 256
  suction:
    radius: 2.5
    enabled: true
    cost_per_item: 0
  retry_queue:
    enabled: true
    max_entries: 2048

power:
  mode: NONE                  # NONE | REDSTONE | FUEL
  redstone:
    require_power: false
    pause_when_powered: true
  fuel:
    enabled: false            # flip to true to use fuel
    capacity: 10000
    regen_per_tick: 0
    distance_cost_per_block: 0.25
    amount_cost_per_item: 0.05
    auto_refuel: true
    link_limit: 1
    max_link_distance: 16
    fuels:
      COAL: 160
      CHARCOAL: 160
      BLAZE_ROD: 240

smelter:
  enabled: true
  base_cook_ticks: 200
  queue_size: 128
  unlock_cost: 1000           # Vault currency
  upgrade_costs:
    level_2: 2500
    level_3: 5000

limits:
  per_player: 20
  per_island: 50
  links_per_material: 4
  trusted_slots: 8

storage:
  type: yaml                      # Storage backend: yaml, sqlite, h2, or mysql (yaml default)
  save:
    debounceTicks: 30             # Delay in ticks before saving after changes (0 = immediate)
    intervalSeconds: 0            # Periodic autosave interval in seconds (0 = disabled)
  h2:
    file: hoppers                 # H2 database file (stored in plugin folder)
    options: ""                   # Optional H2 connection options (e.g. AUTO_SERVER=TRUE)
    username: "sa"
    password: ""
  mysql:
    host: localhost
    port: 3306
    database: improvedhoppers
    username: root
    password: ""
    parameters: "useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true"

Note: Vanilla InventoryMoveItemEvent/InventoryPickupItemEvent are cancelled for claimed nodes to avoid conflicts.


🧭 Routing Logic (at a glance)

  1. Pull up to per_tick_item_cap from source inventory.
  2. Filter items (whitelist/blacklist).
  3. Order targets by priority, remove unloaded or blocked.
  4. Distribution:
    • Round-robin: cycle targets per item type.
    • Fill-first: fill the first valid target until it can’t accept more.
  5. Power accounting (if enabled): distance & amount → PU cost.
  6. Apply retry queue if a move fails and queue is enabled.

📈 Performance Notes

  • Batches and caps per tick to keep TPS smooth.
  • Skips empty sources & blocked/unloaded targets to save time.
  • Optional distance-scaled power discourages extreme cross-map links.
  • Visualizer is per-player; filter-focused trails reduce particle spam.

🧩 Compatibility & Hooks

  • Hooks: Vault, LuckPerms, DecentHolograms, SuperiorSkyblock2, BentoBox, GriefPrevention, WorldGuard.
  • Ships internal claims if none detected.

🧰 Admin Tools

Look at a node and run /improvedhoppers settings (admin view) to live-tune: link distance, suction/transfer caps, fuel values, smelter rates, limits, particles/holograms, world allowlists, recipes, and more.


🧑‍💻 API & Events (for developers)

Events (examples)

  • HopperSorterTransferEvent — per successful transfer
  • HopperSorterFuelConsumeEvent — on fuel → power conversion
  • HopperSorterClaimEvent — when ownership/claims change
  • Overflow & alert hooks

Example Listener

@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onTransfer(HopperSorterTransferEvent e) {
    Player owner = e.getOwner();
    ItemStack stack = e.getItem();
    Location from = e.getSource();
    Location to = e.getTarget();
    int moved = e.getAmount();
    // e.getCostPU() if fuel mode; e.isSimulated() for dry runs
    if (owner != null && owner.isOnline()) {
        owner.sendActionBar(Component.text("§aMoved " + moved + "x " + stack.getType() + " → " + pretty(to)));
    }
}

Minimal API sketches available for fuel providers & virtual targets.


💾 Storage & Persistence

  • YAML (default) or SQLite.
  • Persists node power, names, particle colors, links, smelter state safely.

❓ FAQ

Q: Can I disable the power system?
A: Yes. It’s off by default; set power.fuel.enabled: true to use Fuel.

Q: Can players manage hoppers remotely?
A: Yes. /improvedhoppers remote opens a network overview or the node GUI.

Q: Do vanilla hopper pulls still happen on claimed nodes?
A: No. We cancel vanilla move/pickup events for claimed nodes to prevent conflicts.


🧪 Troubleshooting

  • No transfers happening → Check claims/ownership and power mode.
  • Hologram missing → Install/enable DecentHolograms and ensure holograms.enabled: true.
  • Skyblock limits ignored → Ensure SSB2/BentoBox present; confirm LuckPerms dyn-limits if using permission overrides.
  • High distance cost → Lower power.fuel.distance_cost_per_block or increase capacity.

Последние версии

Все версии →
release

ImprovedHoppers 1.1.4

1.1.4
5 февр. 2026 г.75Minecraft: 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21bukkit, paper, purpur
Скачать
Что нового
- Added `/ImprovedHoppers restore` command to recover broken hoppers, including permission `improvedhoppers.user.restore` and restore guidance messages. - Can be held or right-clicked with after command has ran. - Fixed MAJOR dupe exploit
release

ImprovedHoppers 1.1.3

1.1.3
5 февр. 2026 г.15Minecraft: 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.20, 1.21bukkit, paper, purpur
Скачать
Что нового
- Add H2/MySQL storage options - Prevent self-transfer duplication
release

ImprovedHoppers 1.1.1

1.1.1
26 сент. 2025 г.100Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21bukkit, paper
Скачать
Что нового
# ImprovedHoppers v1.1.1 – Performance & Stability Update This update focuses on performance optimizations, caching improvements, and safer handling of unloaded chunks, ensuring smoother operation and reduced server load. --- ## 🔑 Highlights ### Caching Enhancements - Cached transfer task rate lookups, transferable item checks, and smelt/fuel settings. - Cached disabled world configs, link distance checks, GUI particle colors, and particle color lookups. - Cached suction entity buckets, smelter values, hopper filter totals, and experience task nodes. - Added per-tick link resolution cache for transfer tasks. - Integrated primitive `LongHashSet` and long maps for efficient XP orb handling. ### Performance Optimizations - Optimized XP orb scanning and bucketing for experience hoppers. - Limited XP searches to boundary chunks to reduce overhead. - Batched hopper movement stat updates. - Avoided hopper holder lookups and simplified inventory detection. - Used live block states for inventories to improve accuracy. ### Stability & Compatibility - Guarded hopper transfers and particle rendering against unloaded chunks. - Prevented eager chunk loads when resolving containers or handling XP orbs. - Adjusted chunk loading behavior in transfer tasks. - Refined hopper activation checks. - Adjusted internals for Java 8 compatibility. ### User Experience - Return to the filter submenu automatically after linking a single item. - Experience bottles are now returned when breaking hoppers.
release

ImprovedHoppers 1.1.0

1.1.0
26 сент. 2025 г.121Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper, purpur
Скачать
Что нового
# 🧪 ImprovedHoppers v1.1.0 — The Bottled Experience & Localization Update A feature-rich update focused on **XP storage & bottling**, a **localization overhaul**, and lots of stability and integration improvements. ## ✨ Highlights - **Experience Storage & Bottling** - Store hopper-generated XP and **bottle it** directly from the menu. - Supports **partial withdrawals**, **per-XP bottle queues**, and localized metadata/lore. - PRs: #924, #925, #927, #928, #929, #930, #931, #932, #933 - **Localization Overhaul** - New `messages.yml` and **MessageService** powering **all** menus, prompts, and command feedback. - Covers settings, filters, links, network views, stats, admin/trusted menus, holograms, and more. - PRs: #820–#852 (selected) - **Compatibility & Integrations** - **Guarded hologram hook** when DecentHolograms isn’t present. (#806) - **Runtime particle adapter** and legacy-safe item metadata helpers. (#812, #809) - Graceful **NamespacedKey** handling on older servers. (#813, #814) - **1.21 shaped recipe category** support. (#815) - **Relaxed BentoBox startup gating**. (#818) - **Performance & Stability** - Coalesced **async hopper node saves** and prevented tasks from loading distant chunks. (#926, #934) - Reloads config **before** applying power settings. (#819) - Shared data directory **migration** for cleaner upgrades. (#807) - **UI/UX Tweaks** - New **main menu entrypoint** for hoppers. (#919) - **Back button** in filter browser; **Search** moved above **Simulate**. (#923, #922) - Trimmed settings button from filter list where redundant. (#920) - Compatibility icons (e.g., **Experience Bottle**, End Crystal, Redstone Torch). (#921, #903, #904) ## 🔧 Additional Improvements & Fixes (selected) - Refactors and helpers for sound/particle lookups across legacy runtimes. (#901, #911–#918) - Safer fallbacks for GUIs, icons, dyes, panes, and comparator/stats visuals on older servers. (#878–#882, #879, #880) - Misc. legacy guards (API availability, version detection) and cleanups. (#870, #877, #887, #883) ---
release

ImprovedHoppers 1.0.9

1.0.9
26 сент. 2025 г.14Minecraft: 1.8, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.8.7, 1.8.8, 1.8.9, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.10, 1.10.1, 1.10.2, 1.11, 1.11.1, 1.11.2, 1.12, 1.12.1, 1.12.2, 1.13, 1.13.1, 1.13.2, 1.14, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper
Скачать
Что нового
# 🚀 ImprovedHoppers v1.0.9 – Full Legacy & Modern Support Bringing **full compatibility from 1.8 through 1.21**, this update backports the plugin for legacy servers while retaining modern features. Now, ImprovedHoppers runs seamlessly across nearly every active Minecraft version. ## 🔑 Highlights - ✅ Full version support from **Minecraft 1.8 → 1.21** - ✅ Backported codebase to **Java 8** for maximum server compatibility - ✅ Added **versioned NMS adapters** for each legacy release - ✅ Introduced particle, sound, and GUI compatibility fallbacks for older servers ## 🛠 Technical Improvements - Added adapters for versions **1.8 → 1.21** ensuring stable support. - Backported features with **Java 8 compatibility** (compiler target set to 8). - Introduced **compatibility helpers** (particles, sounds, GUIs, icons, items). - Dual-shaded JARs with split descriptors for smoother legacy loading. - Refactored key handling and fallback guards for missing APIs on older servers. ## 🎉 Why This Matters This update makes ImprovedHoppers one of the **most version-flexible hopper plugins available**, giving server owners confidence whether they’re running cutting-edge 1.21 builds or long-standing 1.8 setups.
release

ImprovedHoppers 1.0.8

1.0.8
22 сент. 2025 г.16Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper
Скачать
Что нового
# ✨ Improved Hoppers – Release Notes This update introduces **full GUI localization support** and a new **Message Service** system to centralize and configure all in-game messages. ## 🔑 New Features - **`messages.yml`** file added for complete GUI text localization. - **Message Service** implemented to manage all configurable messages. ## 🛠 Enhancements All hopper menus, prompts, and system messages have been routed through the new message service, making them customizable and translatable: - Hopper settings, filter, fuel link, type change, and link detail menus - Network overview, item search, simulation, and stats menus - Trusted player management, admin tools, and hologram displays - Remote controller, command feedback, and link session messages - Place/break messages, unclaim warnings, and smelt unlock/queue alerts - Rename prompts, copy filter listeners, and other interactive prompts ## 🐛 Fixes & Stability - Corrected hopper management denial messages. - Localized hopper limit warnings. - Added safeguards for node saving when the data store is unavailable. ## 🙌 Special Thanks A huge thank you to [**Gudu666**](https://www.spigotmc.org/members/gudu666.2270401/) for suggesting this update!
release

ImprovedHoppers 1.0.7

1.0.7
21 сент. 2025 г.22Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper
Скачать
Что нового
# 📦 ImprovedHoppers – Update Release This update addresses several critical bugs and improves plugin reliability across different setups. ### 🛠 Fixes - **Hopper Filters & Holograms** - Fixed: Filters would not save to specified hoppers when *DecentHolograms* was not installed. - Fixed: On updating to a newer version, hoppers no longer revert to vanilla named hoppers—they now retain their ImprovedHoppers data. - **BentoBox Compatibility** - Fixed: Plugin no longer stalls on servers running *BentoBox* without AcidIsland. - Improved startup logic to properly handle alternative world names (e.g., `bskyblock_world`) instead of being locked to `acidisland_world`. - **Configuration Reload** - Fixed: Config watcher now properly reloads updated settings from disk. - Manual edits to `config.yml` are immediately recognized without requiring `/ImprovedHoppers reload`. --- ✅ With these fixes, ImprovedHoppers is now more stable, compatible, and responsive to server environments.
release

ImprovedHoppers 1.0.6

1.0.6
20 сент. 2025 г.28Minecraft: 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8bukkit, paper
Скачать
Что нового
# 📦 ImprovedHoppers v1.0.6 ### ✨ New Features - **GitHub Release Update Checker** Integrated directly with GitHub releases to notify users when new versions are available. PR: #796 by @JakeHoolz - **Website Link in Update Notifications** Update messages now include a direct project website link for easier access. PR: #799 by @JakeHoolz ### ⚙️ Improvements - **Storage Prioritization** In *average mode*, storage links are now prioritized before void links for better consistency. PR: #797 by @JakeHoolz - **Startup Banner Enhancements** Update info is now shown directly in the startup banner for improved visibility. PR: #800 by @JakeHoolz - **Improved Release Parsing** More reliable parsing of release data during update checks. PR: #802 by @JakeHoolz - **API-Based Update Checker Restored** Restored API-based update checking for stability and accuracy. PR: #804 by @JakeHoolz ### 🐞 Fixes - **Update Checker Patterns** Fixed escaping issues with single quotes in update checker patterns. PR: #803 by @JakeHoolz - **Update Checker Tests** Rewritten to support JSON responses, improving validation robustness. PR: #805 by @JakeHoolz ### 🔧 Technical Enhancements - **Scraping GitHub Releases** Update checker now scrapes GitHub releases in addition to using the API, providing redundancy. PR: #798 by @JakeHoolz --- # 📦 Previous Releases ### v1.0.5 - Unified cleanup flow for remote/manual unclaims (loads hopper chunk, refunds smelts, clears containers, and returns Improved Hopper if inventory space allows; otherwise cancels with warning). - Remote controllers now validate ownership/trust before opening, preventing stale access. - Network menu quick links skip secondary destinations without coordinates, preventing `NullPointerException`. ### v1.0.4 - Fixed chest-linking issues when single → double chest conversion happens. - Prevented compilation failure caused by missing location comparison helper. - Streamlined test dependencies to remove Paper API conflicts. - Added planned logic to drop links when linked containers are destroyed. - Enhanced double-chest linking so links persist if one half is removed. ### v1.0.3 - Added **TransferMode enum** (`PRIORITY`, `AVERAGE`) for per-hopper item distribution control. - Expanded HopperNode to remember next destination index per material and mode. - Added GUI toggle for transfer mode display. - Updated smelt-output and transfer logic to rotate evenly in *AVERAGE* mode. - Persisted transfer mode across YAML and SQLite backends. ### v1.0.2 - Enabled Maven resource filtering (#769 by @JakeHoolz). - Dropped Improved Hopper item on node break (#770 by @JakeHoolz). ### v1.0.1 - **Seamless Startup:** Bundled `bStats` into plugin JAR, fixing `NoClassDefFoundError`. - **Modern Compatibility:** Standardized builds on Java 17 for Paper compatibility.