World Resourcepacks icon

World Resourcepacks -----

Easily set server resource packs per world or your whole server!




After a long time I finally got around to invest time into drafting up a new release so here it is. Below will be a list of the major changes that were already included in the latest development builds, see the commit history since the last release for a detailed list of changes!

Major additions and changes
  • Support Minecraft versions up to the current 1.21.8 release
  • This includes multi-pack support starting with 1.20.3 clients (defined via the packs option). Older client versions will still only apply one pack (the first from the list)
  • On 1.20.3 or newer clients packs are now removed directly when they should no longer apply rather than the empty pack being used to reset it
  • Added a config option to toggle the appending of the hash to the pack's url (append-hash-to-url, enabled by default to keep old behaviour. On modern Minecraft client versions this should no longer be necessary as MC-164316 was fixed in 1.20.3)
  • Added the ability for the plugin to automatically update the hash of a pack based on a path on the machine the plugin is running on. (local-path pack config option, this does not host the pack!)
    Useful for when your webserver runs on the same machine as you Minecraft server or you can deploy the pack in your pack build setup to both your webserver and Minecraft server at the same time. Please note that if you are running in a container like Pterodactyl you need to do additional configuring to expose the files inside the container!
  • Added support for more authentication plugins
  • Added a warning for when certain hosts are used for packs that have been known to cause pack downloads to break (Dropbox, Google Drive, Mediafire. The last two are blocked completely)
  • Added new language files: Simplified Chinese by Q2297045667 and Brazilian Portuguese by Logikoz
----------, Jul 22, 2025

  • Added 1.17.x support and pack format 6
  • Added command to remove packs (/<command> removepack <pack>)
  • Added workaround for MC-164316 by applying the file-hash to the URL. This might increase the client-side storage requirement but will correctly re-download new versions of the packs
  • Fix editing of the global assignment via commands not saving to config
  • Added Sponge support
See the commit history for all changes
----------, Jun 8, 2021

  • Added 1.16.x support and pack format 6
  • Added ability to define protocol/Minecraft version directly for a pack instead of just the format
  • Added ability to define multiple variants of a pack to simplify defining different packs per version or permission
  • Improved the return message of /usepack in case of an error
  • Fix MineDown not working
  • Fix resend parameter of the reload command not working correctly
  • Fix empty values getting written to config
----------, Oct 1, 2020

  • Includes support up to 1.15.x
  • Adds new sub commands to add and manage packs as well as assignments to /wrp and /brp respectively. (addpack <name> <url>, pack <pack> [url|hash|format|restricted|permission], listassignments, deleteassignment <assignment>, assignment <assignment>, globalassignment)
  • Add /resetpack command to send the empty pack
  • Add MineDown support
  • Add multi language support. All messages are now configured in language-depending language files in the languages folder
  • Add regex world/server filtering with the regex key
  • Add ProtocolSupport and ViaVersion support
  • Lots of other smaller fixes and changes
----------, Feb 2, 2020

I have been getting numerous reports about issues while sending a resource pack to the client regarding a client freeze and how I could or should fix it so here is some info about it and the explanation why I cannot do anything about that from the server/plugin side:

When a server resource pack is send to a client it will shortly freeze after the download is complete. (Same as manually applying a local pack) This happens because the client has to reload all resources, check which resources overlap and do some other calculation and manipulation with them. (Like stitching all the textures together to a single image like they were in the first texture pack format) It's not a download issue as the client will locally cache the pack files and not re-download them if their hash didn't change.

How long this takes generally depends on the PC's performance and the size of the textures (HD packs take longer) that are used in all resource packs that the player has applied. (So even if the server resource pack doesn't contain any HD textures or textures at all the client will still completely reload all locally applied resource packs) This is something that has to be fixed in the client by Mojang for example by only reloading resources that changed. There's not a lot I can do about that other than advice people to put pressure on Mojang to improve that behaviour.
----------, Aug 21, 2017

  • Update to 1.12
  • Fix issues when clearing pack on backend server
  • Added send-delay config option
  • Added bstats metrics
  • Fix some issues with older Bukkit versions
  • Fix a bug with the /usepack command
----------, May 23, 2017

  • Fix access of the ViaVersion API
----------, Nov 28, 2016

  • 1.11 Update
  • Support for pack format 3
  • Requires ViaVersion 1.0.0 or higher if you want support for different pack formats!
----------, Nov 22, 2016

  • Plugin now requires at least Java 8!
  • 1.10 Support!
  • Add ability to use all log levels in debug config variable, OFF completely disables debug logging
  • Make hashes supported under Bukkit
  • Fix /usepack resending the same pack the user already had
  • Automatically generate resource pack file hashes
  • Add generatehashes sub command to generate the hashes manually
  • Add config option to disable automatic hash generation on startup (autogeneratehashes)
  • Don't generate config entries and hashes for backend packs
  • Fix packs with the same hash/url causing issues (-> you can't use the same hash/url anymore)
  • Fix an error when calculating which pack the user should have
  • Don't call PackSendEvent if we don't want to set the pack when the user already has it
  • Fix useauthme config option not being changeable via reload
  • Fix some issues with how a user's pack is tracked when using the config reload
----------, Nov 10, 2016

  • Really fix the secondary pack resolving which wasn't quite right when no main pack was defined.
  • Added MetricsLite, if you don't want that you can opt-out in the PluginMetrics/config.yml
----------, Jun 8, 2016

  • Updated to support 1.9.4
  • Fixed wrong resolving of secondary packs
  • Fixed issue while getting the server version in some cases
If you want to support me, I now have a patreon with some rewards that might interest you ;)
[​IMG]
----------, May 14, 2016

  • Added an option to set the format of the pack as 1.9 introduced a new one with the version 2.
    Players with 1.8 will get packs with version 1/no version and players that connect with 1.9 get version 2 if available.
    The defined pack and then the secondary list is used to resolve which pack a player gets from the top to bottom. To resolve the player's version you need to have ViaVersion installed!
  • Added option to restrict a pack so that only players with the permission to use it will get it send. You can also set your own permission if you want.
Example on how the new config options could be integrated:
Code (Text):
packs:
  lobbypack:
    url: http://example.com/resourcepack.zip
    hash: abcdef012345678abcdef012345678abcdef0123
    format: 2
    restricted: true
    permission: worldresourcepacks.pack.lobbypack
  • /usepack without any arguments now lists all the packs a player has access to via the /usepack command.
    You can set these new message via the config entries "packlisthead" and "nopacks".
  • Experimental AuthMe Reloaded support. (If you want support for more authentication plugins contact me!) It tries to send the pack after a player logged in.
----------, May 2, 2016

  • This update changes the plugin message channel from the plugin name to "Resourcepack" to make this plugin compatible to the update of BungeeResourcepacks which was needed to resolve some issues with 1.7 servers because the old channel name was longer than 16.
----------, Mar 9, 2016

  • Fix first secondary pack being send if the user already has the empty pack
  • Fix a possible NPE
  • Add Javadocs
You might ask yourself "Where are versions 1.5.1 and 1.5.2?": I decided to synchronize the version numbers of all three of my resourcepacks plugins. As the next version for my Force Resourcepacks plugin would've been 1.5.3 I decided to use that as the next version for all of them.
----------, Feb 25, 2016

Resource Information
Author:
----------
Total Downloads: 28,417
First Release: Feb 23, 2016
Last Update: Jul 22, 2025
Category: ---------------
All-Time Rating:
42 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings