Tags
Creators
Details
4.4.3
Compatibility
Changes
[4.4.3] - 2026-10-11
Includes all changes since the published 4.2.0 release.
Added
- Console and Direct Filling: Fill containers directly from console, command blocks or in-game commands using a world, coordinates, radius and loot source.
- Saved Areas: Save radius or cuboid selections with their world, loot source and container types. Manage them through commands or a menu with search, favourites and last-operation results.
- Operation Review: Review the selected area, loot table, container types and Skip/Replace setting before starting a bulk fill.
- Sample Loot Preview: View actual generated items in a read-only inventory, including names, lore and enchantments, with Reroll, Use This Table and Back controls.
- Job Management: Added status, cancellation, detailed results and player boss bars showing loading, inspection and filling phases. Console receives periodic progress updates.
- Preview and Undo: Inspect how many containers would be filled without changing them. Undo fills and clears, including partial or cancelled operations, while skipping inventories changed afterwards.
- Persistent History: Optionally retain undo records and recent results across restarts, with configurable expiry and storage limits.
- Scheduled Restocking: Automatically refill saved areas at configured intervals, with pause controls, cooldowns and Skip/Replace settings. Scheduling is disabled by default.
- Mixed Loot Tiers and Container Assignments: Mix common, rare and jackpot tables within an area, or assign a specific loot source to an individual container.
- Loot Balancing Tools: Added separate selection weights, drop chances and quantity ranges, plus simulation reports showing item frequency, average quantities and empty results.
- Container Filters: Target chests, barrels, shulker boxes or selected container materials. Shared double-chest inventories are processed once.
- Permissions and Integrations: Added per-area permissions, vanilla lock checks, optional WorldGuard protection, cancellable container-access events and job started/finished events for other plugins.
- Table Management Commands: List, validate and sample loot tables, and reload settings, tables and saved areas when jobs are idle.
Changed
- Cleaner Container Browser: Simplified labels to names such as Chest • Empty and Barrel • Filled. Coordinates, distance and available actions now appear in tooltips.
- Simplified Menu Controls: Previous, Filter, Sort, Fill and Next remain visible. Clear, Refresh, Undo and job controls are grouped in an Actions menu, with separate confirmation for destructive operations.
- Consistent Colours and Feedback: Teal navigation, mint success, orange primary actions and red destructive actions, with quiet, configurable menu sounds.
- Optimized Filling Engine: Reduced repeated container snapshots, inventory copies and writes. Each successful fill now replaces its inventory once.
- Chunk Preloading: Fast asynchronous jobs load up to 16 selected chunks ahead, configurable up to 32. Barrels and single chests avoid unnecessary neighboring chunk loads.
- Improved Loot Preparation: Custom tables are prepared once per job/table, only relevant tables are copied, and repeated random-selection setup is reused.
- Faster Default Processing: Fast mode allows up to 10,000 shared operations within a 25 ms tick budget. Older default configurations upgrade automatically; legacy speed controls remain available.
- Unlimited Selection Size: Removed plugin limits on area radius, cuboid size, total chunks and container counts. Large selections are traversed lazily, while workload, concurrency and storage controls remain active.
- Clearer Results: Reports distinguish successful changes, skips, container failures and chunk failures, with elapsed time, container work and chunk-wait timing.
- Safer Existing-Item Handling: Fills skip occupied containers by default. Replacing contents requires an explicit option and overwrite permission.
- VexorCore.studios Branding: Updated plugin author, website and package metadata to VexorCore.studios.
Fixed
- Random Loot Failures: Unstackable items such as swords no longer cause invalid quantity errors during random generation.
- Pending Vanilla Loot: Filling clears pending loot-table metadata so opening a container cannot replace its new contents. Undo restores the original metadata.
- Chunk Loading and Cleanup: Failed or timed-out loads no longer leave jobs waiting indefinitely. Temporary chunk tickets are released on completion, cancellation, failure and shutdown.
- Double-Chest Handling: Shared inventories are deduplicated, and boundary chests retain their required chunks while loading and filling.
- Undo Storage Exhaustion: Filling and clearing continue when retained undo storage is full. Results identify changes without undo coverage, while failed changes still use immediate rollback.
- Menu Interaction Safety: Read-only previews block item transfers, lower-inventory clicks cannot activate menu controls, and returning to menus restores their listeners.
- Editor and Table Reliability: Copies and renames preserve table settings and item data. Invalid table files report actionable errors, and renaming saves the replacement before removing the original.
- Browser Responsiveness: Filtering and sorting use scan results instead of synchronously reloading every discovered chunk.
Console Examples
Run these commands without a leading slash in console. Replace world with your world name. Coordinates come before the radius.
Fill chests and barrels within 150 blocks of X 427, Y 147, Z -362 with mineshaft loot:
fillloot fill world 427 147 -362 150 vanilla minecraft:chests/abandoned_mineshaft --types=chests,barrels
Existing items are skipped by default. To replace their contents:
fillloot fill world 427 147 -362 150 vanilla minecraft:chests/abandoned_mineshaft --types=chests,barrels --overwrite
Vanilla table names use namespaced paths such as minecraft:chests/abandoned_mineshaft, rather than chests.abandoned_mineshaft.
Use an existing custom table named starter_loot:
fillloot fill world 427 147 -362 150 custom starter_loot --types=chests,barrels
Generate random loot:
fillloot fill world 427 147 -362 150 random --types=chests,barrels
Save the selection as an area, inspect eligible targets and fill it later:
fillloot area create arena world 427 147 -362 150 vanilla minecraft:chests/abandoned_mineshaft --types=chests,barrels
fillloot preview arena
fillloot fill arena
Check progress, cancel or undo a job (replace JOB_ID with the ID reported when it starts):
fillloot status JOB_ID
fillloot cancel JOB_ID
fillloot undo JOB_ID
Cancellation stops further work. Undo restores retained snapshots of unchanged inventories; changes made beyond the undo-storage limit have no retained undo coverage.
Compatibility
- Requires Paper 1.21.4 and Java 21 or newer.
- Existing player commands and saved-data paths remain compatible. Integrations using the previous Java package must update their imports.
- Restocking and persistent undo are optional. Undo remains bounded; reaching its storage limit does not stop a fill.
- All inventory changes run on the main server thread. Actual fill time depends on chunk loading, loot complexity, protection integrations and server load.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:v4DiPBhC:rquN6Jw7"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:v4DiPBhC:rquN6Jw7"
}

