ResourceLoader
2.5.2A simple and flexible resource pack loader and merger plugin for your servers.
2.5.2latestResourceloader 2.5.2Sep 26, 2026 Resourceloader 2.5.2Runs on Minecraft 1.13 through 26.3 again
Since 2.3, Resourceloader refused to load on anything older than 1.21, and every version needed Java 17 (which most 1.13–1.16 servers don't run), even though older versions were listed. 2.5.2 runs on every version from 1.13 to 26.3, on the Java version that server already uses (Java 8 or newer). It was tested end to end (loading, autoload, enforcement, URL packs, merging, the merge GUI,/checkpack, languages) on Paper 1.13.2, 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20.2, 1.20.4, 1.20.6, 1.21.4, 1.21.11 and 26.3. What depends on the server version: - 1.18+: under enforcement, the pack prompt shows the pack as required. - Before 1.20.2:/mergepackwrites the server's own pack format into the merged pack, since clients that old only readpack_format. Players there don't get an "incompatible" warning. - 1.20.3+: packs have ids, so a pack added by/autoloadinuse-server-propertiesmode stacks on top of the server.properties pack. On older versions it replaces it, because clients before 1.20.3 hold one server pack at a time.2.5.1Resourceloader 2.5.1Sep 25, 2026 Resourceloader 2.5.1Fixes
- Players are no longer kicked for declining or failing an optional pack. With enforcement off (the default), declining a pack sent by/load, or failing to download it, kicked the player, and operators withresourceloader.bypasswere kicked as well. Kicks now only happen whenenforcement.enabledis on, and only for the pack enforced on join. A pack a player picks later can be declined freely. - Packs copied into the `packs` folder while the server was off are now detected on startup and on/resourcereload. Before, only packs added while the server was running got registered. Files that aren't valid zips are skipped with a warning. Customstorage.resource-pack-directoryfolders are now watched too. - Merged packs work on 1.21.9+ and 26.x./mergepacknever actually saved the updatedpack.mcmetainto the zip, and its version table stopped at 1.21, so 26.x clients saw merged packs as incompatible. Merged packs now declare a format range covering every input pack and the server's own version, in the layout newer clients require (min_format/max_format, plussupported_formatsfor older ones). - Merge priority with 3+ packs: a file from a middle pack could be overridden by the first pack. Later packs now always win. - Merging no longer drops content from lower packs: language strings, texture atlas sources andsounds.jsonentries are combined the way the game combines stacked packs. Models are no longer broken by gluing together elements from different packs. - `/autoload` now works with URL packs (it used to do nothing), matches pack names case-insensitively, and players with bypass still get their own autoload pack on join. - Enforcement: the enforced pack is now sent as required.enforcement.restrict(blocking/tp,/home,/spawn… and interactions until the pack has loaded) now works. An autoload preference pointing at a removed pack no longer lets a player skip the enforced pack. - URL packs: if the pack's host is down, the cached copy is used instead of failing. Unchanged packs are no longer re-downloaded after a restart. An interrupted download no longer leaves a broken cached file.cache.enabled: falseno longer breaks URL packs. - `enforcement.use-server-properties`:/autoloadpreferences now apply on join, and a preferred pack is added on top of the server.properties pack instead of replacing it. - `/checkpack`: accepts 1.21.9+/26.x packs that usemin_format/max_format, flags the samepack.mcmetamistakes the game refuses to load, warns when a pack's version doesn't match the server, stops reporting vanilla textures as missing, and no longer shows "successful" next to critical issues. - Merge GUI: selected packs now show "✓ Selected", and clicking items in your own inventory no longer triggers the Merge/Cancel buttons. -/mergepackoutput names are cleaned up, so a name can no longer write outside the packs folder. - A warning is logged at startup whenserver.addressis empty and the detected address is a loopback or Docker one, the usual reason pack downloads fail on Docker/Pterodactyl hosts. - Packs are no longer re-hashed on every send, which cuts join lag with large packs. -/loadwith a URL pack shows "Loading…" once instead of twice.2.5Resourceloader 2.5Sep 25, 2026 Resourceloader 2.5Fixes
- Misplaced pack entries are repaired automatically (#11). Pack entries written at the top level ofconfig.ymlinstead of underresource-packs:used to be silently ignored, so/loadand/packlistshowed nothing. They are now moved intoresource-packson startup and/resourcereload(a backup is saved asconfig.yml.pre-repair.bak) and the correct layout is explained in the log. - Warns when enforcement is enabled butserver-packis empty. - Missing-pack warnings now show the full path the file was expected at. -/loadmatches pack names case-insensitively. -/removepackno longer errors whenresource-packsis missing. -/checkpackhonours a customstorage.resource-pack-directory. - Fixed messages with more than one placeholder being corrupted.Translations
- Newlanguageoption inconfig.yml:en,ru,tr,ko,zh(locale-style values likeru_RUorzh-CNalso work). Translations are extracted tolang/messages_<code>.ymland fall back to English for any missing key. - All chat, help, version-check,/removepack,/checkpackand merge GUI text is now inmessages.yml, so every message can be customised. - Added the missingkick.declinedandenforcement.restricted-commandmessage keys.2.4ResourceLoader 2.4May 19, 2026 Added startup and reload config migration for bundled YAML files that preserves existing server values and creates backups. Improved custom pack directory handling, URL encoding, async pack hashing, resource-pack server safety, and enforcement config key usage.2.3ResourceLoader 2.3Nov 22, 2025 * Fixed config reading issues * Improved logging * Improved merged pack integrity2.2ResourceLoader 2.2Jul 13, 2025 Resource Pack Validation System
- Added/checkpack <packname>command for comprehensive pack validation - Validates pack structure, JSON files, and texture references - Checks pack.mcmeta format and compatibility with server version - Provides detailed error reports and warnings - Supports both local and URL-based pack validationPerformance Optimizations
- Implemented SHA1 hash caching system to prevent redundant downloads - Added automatic cache cleanup with configurable retention periods - Optimized pack serving with reduced memory footprint - Enhanced file system event batching to reduce server loadImproved Pack Merging
- Enhanced JSON merging with intelligent handling of model files and blockstates - Automatic pack format detection and compatibility adjustment - Better conflict resolution for duplicate textures and assets - Improved metadata preservation during merge operationsFile System Operations
- Resolved recursive renaming loops and duplicate notifications - Fixed file watcher to properly batch events and prevent spam - Added processing locks and delays to handle rapid file system changes - Improved file operation error handling and recoveryMonitoring and Statistics
- Added pack usage tracking and performance metrics - Implemented player preference history with configurable limits - Enhanced cache statistics and monitoring capabilities - Improved validation result reporting with formatted outputSecurity and Stability
- Added input sanitization for pack names and file paths - Enhanced permission validation throughout command execution - Implemented safer file operations with atomic writes where possible - Improved configuration protection against corruption2.1ResourceLoader 2.1May 29, 2025 - Fixed/autoload- Added functionality for utilizingserver.propertiesto load resource pack before player joins - Added customizable resource pack folder path - Allowed auto-detection to be toggle-able - Fixed bugs in messages - Added newmessages.yml- Made resource pack merging more efficient and space conscious - Made resource pack loading smoother and more dynamic2.0.1ResourceLoader 2.0.1May 25, 2025 Recompiled with Java 17 instead of 23.2.0ResourceLoader 2.0May 25, 2025 New Features
1. Resource Pack Enforcement - Server owners can now require players to use resource packs - Players can be kicked or restricted if they decline the pack - Admins can give special players permission to bypass this requirement - Better messages when packs are loading, accepted, or fail 2. Smart Caching System - Resource packs now load much faster for returning players - Server automatically cleans up old cached packs - Less bandwidth usage for both server and players - Better handling of connection issues 3. Performance Improvements - Much faster resource pack loading - Better handling of large packs - Reduced server resource usage - Smoother experience when switching packsQuality of Life Updates
- Better error messages when something goes wrong - Clearer feedback when loading packs - More reliable pack merging - Updated for latest Minecraft versionFor Server Admins
New configuration options inconfig.yml:enforcement: enabled: false # Turn on/off required resource packs action: kick # What happens when players decline (kick or restrict) decline-message: "You must accept the resource pack!"cache: enabled: true # Turn on/off pack caching days: 7 # How long to keep cached packs auto-cleanup: true # Automatically remove old cache1.3ResourceLoader 1.3Dec 31, 2024 /mergepack added
Users can now merge multiple resource packs on their server into a single pack right in their server itself!1.2ResourceLoader 1.2Dec 29, 2024 Rewrote the entire file path support.
The webserver that's created for hosting the resource pack files locally is now more secure and optimized.Added a version checking command
/resourceversion (/rv) now tells you the version of Resourceloader you're running.1.1ResourceLoader 1.1Dec 27, 2024 Added file path support
Resource packs can now be locally hosted on the server and be referenced through file path.Added /autoload
Players can now automatically set a preferred resource pack to load when they join the server using /autoload1.0ResourceLoader 1.0Dec 26, 2024 Initial version
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.3MSueta
Chunky
Pre-generates chunks, quickly and efficiently
20.8MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta