
ResourceLoader
A simple and flexible resource pack loader and merger plugin for your servers.
Автор: defectivevortex4,8 тыс.20обновлён 26 сент. 2026 г.
УправлениеТехнологииУтилиты
Описание
Resourceloader
A simple and flexible resource pack loader and merger plugin for Minecraft servers. Load different resource packs and merge multiple packs into one with ResourceLoader!
Features
- Load the server's default resource pack with a simple command
- Configure and load multiple additional resource packs
- Merge multiple resource packs in the plugin itself
- Support for both URL and file-based resource packs
- Easy-to-use commands
- Permission-based access control
- Simple configuration
Commands
/load- Load the default server resource pack/load <packname>- Load a specific resource pack/mergepack <output-file>.zip <pack1> <pack2> [pack3...]- Merge existing resource packs in the plugin itself/listpacks- List all available resource packs/resourcereload- Reload the plugin configuration/resourceversion- Check the version of ResourceLoader you're running
Permissions
resourceloader.load- Allows using the /load command (default: true)resourceloader.list- Allows using the /listpacks command (default: true)resourceloader.reload- Allows reloading the plugin configuration (default: op)resourceloader.admin- Allows access to all the admin commands of ResourceLoader (default: op)
Configuration
# Main server resource pack
# Can be either a URL or a file name in the packs folder
# For URLs: "https://example.com/server-pack.zip"
# For files: "server-pack.zip"
server-pack: "server-pack.zip"
# Web server settings
server-port: 40021 # Default port, can be changed to any open port on your host
localhost: false # Set to false for production servers, true only for local testing
server-address: "" # Will try to auto-detect if empty
fallback-address: "localhost" # Used if auto-detection fails
# Additional resource packs
# Can use either URLs or files from the packs folder
# For URLs: "https://example.com/examplepack.zip"
# For files: "example-pack.zip"
resource-packs:
exampleurlpack: "https://example.com/examplepack.zip"
examplefilepack: "example-pack.zip"
Installation
- Download the latest release
- Place the JAR file in your server's
pluginsfolder - Start/restart your server
- A
packsfolder will be created inplugins/Resourceloader/ - Place your resource pack files in the
packsfolder - Configure the packs in
config.yml - Use
/resourcereloadto apply changes
File-based Resource Packs
To use file-based resource packs:
- Place your .zip resource pack files in the
plugins/Resourceloader/packs/folder - In config.yml, use just the filename (e.g., "my-pack.zip") instead of a full URL
- The plugin will automatically look for the file in the packs folder
URL-based Resource Packs
For URL-based packs:
- Use the complete URL in config.yml (e.g., "https://example.com/pack.zip")
- Ensure the URL is directly downloadable
- The URL must point to a valid Minecraft resource pack .zip file
Requirements
- Minecraft 1.13 or newer
- Spigot/Paper server
Support
If you encounter any issues or have suggestions, please contact @vortexunwanted on discord.
Последние версии
Все версии →release
Resourceloader 2.5.2
2.5.226 сент. 2026 г.389Minecraft: 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.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
Resourceloader 2.5.2
### Runs 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:** `/mergepack` writes the server's own pack format into the merged pack, since clients that old only read `pack_format`. Players there don't get an "incompatible" warning.
- **1.20.3+:** packs have ids, so a pack added by `/autoload` in `use-server-properties` mode 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.
release
Resourceloader 2.5.1
2.5.125 сент. 2026 г.10Minecraft: 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.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
Resourceloader 2.5.1
### Fixes
- **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 with `resourceloader.bypass` were kicked as well. Kicks now only happen when `enforcement.enabled` is 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. Custom `storage.resource-pack-directory` folders are now watched too.
- **Merged packs work on 1.21.9+ and 26.x.** `/mergepack` never actually saved the updated `pack.mcmeta` into 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`, plus `supported_formats` for 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 and `sounds.json` entries 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: false` no longer breaks URL packs.
- **`enforcement.use-server-properties`:** `/autoload` preferences 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 use `min_format`/`max_format`, flags the same `pack.mcmeta` mistakes 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.
- `/mergepack` output names are cleaned up, so a name can no longer write outside the packs folder.
- A warning is logged at startup when `server.address` is 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.
- `/load` with a URL pack shows "Loading…" once instead of twice.
release
Resourceloader 2.5
2.525 сент. 2026 г.13Minecraft: 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.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3bukkit, paper, purpur, spigot
Что нового
Resourceloader 2.5
### Fixes
- **Misplaced pack entries are repaired automatically** (#11). Pack entries written at the top level of `config.yml` instead of under `resource-packs:` used to be silently ignored, so `/load` and `/packlist` showed nothing. They are now moved into `resource-packs` on startup and `/resourcereload` (a backup is saved as `config.yml.pre-repair.bak`) and the correct layout is explained in the log.
- Warns when enforcement is enabled but `server-pack` is empty.
- Missing-pack warnings now show the full path the file was expected at.
- `/load` matches pack names case-insensitively.
- `/removepack` no longer errors when `resource-packs` is missing.
- `/checkpack` honours a custom `storage.resource-pack-directory`.
- Fixed messages with more than one placeholder being corrupted.
### Translations
- New `language` option in `config.yml`: `en`, `ru`, `tr`, `ko`, `zh` (locale-style values like `ru_RU` or `zh-CN` also work). Translations are extracted to `lang/messages_<code>.yml` and fall back to English for any missing key.
- All chat, help, version-check, `/removepack`, `/checkpack` and merge GUI text is now in `messages.yml`, so every message can be customised.
- Added the missing `kick.declined` and `enforcement.restricted-command` message keys.
release
ResourceLoader 2.4
2.419 мая 2026 г.863Minecraft: 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.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2bukkit, paper, purpur, spigot
Что нового
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.
release
ResourceLoader 2.3
2.322 нояб. 2025 г.1,5 тыс.Minecraft: 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.8, 1.21.9, 1.21.10bukkit, paper, purpur, spigot
Что нового
* Fixed config reading issues
* Improved logging
* Improved merged pack integrity
release
ResourceLoader 2.2
2.213 июл. 2025 г.895Minecraft: 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.8, 1.21.9, 1.21.10bukkit, paper, purpur, spigot
Что нового
### 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 validation
### Performance 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 load
### Improved 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 operations
### File 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 recovery
### Monitoring 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 output
### Security 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 corruption
release
ResourceLoader 2.1
2.129 мая 2025 г.263Minecraft: 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.5bukkit, paper, purpur, spigot
Что нового
- Fixed `/autoload`
- Added functionality for utilizing `server.properties` to load resource pack before player joins
- Added customizable resource pack folder path
- Allowed auto-detection to be toggle-able
- Fixed bugs in messages
- Added new `messages.yml`
- Made resource pack merging more efficient and space conscious
- Made resource pack loading smoother and more dynamic
release
ResourceLoader 2.0.1
2.0.125 мая 2025 г.81Minecraft: 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.5bukkit, paper, purpur, spigot
Что нового
Recompiled with Java 17 instead of 23.
release
ResourceLoader 2.0
2.025 мая 2025 г.106Minecraft: 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.5bukkit, paper, purpur, spigot
Что нового
## 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 packs
## Quality of Life Updates
- Better error messages when something goes wrong
- Clearer feedback when loading packs
- More reliable pack merging
- Updated for latest Minecraft version
## For Server Admins
New configuration options in `config.yml`:
```yaml
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!"
```
```yaml
cache:
enabled: true # Turn on/off pack caching
days: 7 # How long to keep cached packs
auto-cleanup: true # Automatically remove old cache
```
release
ResourceLoader 1.3
1.331 дек. 2024 г.452Minecraft: 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.4bukkit, paper, purpur, spigot
Что нового
## /mergepack added
Users can now merge multiple resource packs on their server into a single pack right in their server itself!