All Mods Resource Packs Data Packs Shaders Modpacks Plugins
ResourceLoader

ResourceLoader

by defectivevortex • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

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

  1. Download the latest release
  2. Place the JAR file in your server's plugins folder
  3. Start/restart your server
  4. A packs folder will be created in plugins/Resourceloader/
  5. Place your resource pack files in the packs folder
  6. Configure the packs in config.yml
  7. Use /resourcereload to apply changes

File-based Resource Packs

To use file-based resource packs:

  1. Place your .zip resource pack files in the plugins/Resourceloader/packs/ folder
  2. In config.yml, use just the filename (e.g., "my-pack.zip") instead of a full URL
  3. The plugin will automatically look for the file in the packs folder

URL-based Resource Packs

For URL-based packs:

  1. Use the complete URL in config.yml (e.g., "https://example.com/pack.zip")
  2. Ensure the URL is directly downloadable
  3. 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.

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3 26.2 26.1.x +9
Bukkit Paper Purpur Spigot
22h ago 1
26.3 26.2 26.1.x +1
Bukkit Paper Purpur Spigot
22h ago 1
26.3 26.2 26.1.x +1
Bukkit Paper Purpur Spigot
22h ago 1
26.1.x 1.21.x
Bukkit Paper Purpur Spigot
22h ago 1
1.21.x
Bukkit Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
22h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
22h ago 1
[2.5.2] Resourceloader 2.5.2 by defectivevortex on Oct 15, 2026
Download
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.

[2.5.1] Resourceloader 2.5.1 by defectivevortex on Oct 15, 2026
Download
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.

[2.5] Resourceloader 2.5 by defectivevortex on Oct 15, 2026
Download
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.

[2.4] ResourceLoader 2.4 by defectivevortex on Oct 15, 2026
Download
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.3] ResourceLoader 2.3 by defectivevortex on Oct 15, 2026
Download
  • Fixed config reading issues
  • Improved logging
  • Improved merged pack integrity
[2.2] ResourceLoader 2.2 by defectivevortex on Oct 15, 2026
Download
### 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
[2.1] ResourceLoader 2.1 by defectivevortex on Oct 15, 2026
Download
  • 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
[2.0.1] ResourceLoader 2.0.1 by defectivevortex on Oct 15, 2026
Download
Recompiled with Java 17 instead of 23.
[2.0] ResourceLoader 2.0 by defectivevortex on Oct 15, 2026
Download
## 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
``
[1.3] ResourceLoader 1.3 by defectivevortex on Oct 15, 2026
Download
## /mergepack added
Users can now merge multiple resource packs on their server into a single pack right in their server itself!
[1.2] ResourceLoader 1.2 by defectivevortex on Oct 15, 2026
Download
## 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.1] ResourceLoader 1.1 by defectivevortex on Oct 15, 2026
Download
## 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 /autoload
[1.0] ResourceLoader 1.0 by defectivevortex on Oct 15, 2026
Download
Initial version
ResourceLoader Icon
Download ResourceLoader
Select game version
Select platform