Force Resourcepacks is the enhanced version of my free resourcepacks plugins. In addition to being able to set different resourcepacks per world, server or on your whole proxy network (if installed in Bungee's or Velocity's plugin folder) you can also react on whether the user accepted downloading the pack and send them a message or even kick them if they did not do that!

It even notices when a Bukkit server behind the proxy sends a resourcepack and applies the server's pack status rules on it! That way it is compatible with minigames plugins that manage their own server resourcepacks while still providing the ability to kick a user from the game's server when they did not download the pack!



  • Kick players or prevent them from joining servers/worlds if they don't accept the pack!
  • Display a custom message on the prompt screen for clients above 1.17 and use the required-pack functionality.
  • Set different server resourcepacks per world, server or whole BungeeCord/Velocity network
  • Match server/world names with regex!
  • Only send resource packs if they really are necessary. (E.g. you can configure your lobby to not have a pack and only send packs once the player joins one of your minigames servers)
  • Per-version packs! Send the correct pack depending on the client's version and kick player if he uses a version without an available pack (requires ViaVersion or ProtocolSupport) when used on a Spigot server and not Bungee or Velocity!)
  • Automatically exclude Geyser/Floodgate players (does not work with Geyser standalone without Floodgate)
  • Automatically generates the sha1 hashes!
  • Set packs via WorldGuard flags (requires WorldGuard above version 6.1.3)
  • Override xray texture packs (e.g. with a pack like this, please note that this isn't 100% reliable and could be bypassed using mods)
  • Language system with messages depending on the locale of the client
  • Extended MineDown formatting support for click and hover messages
  • Configurable delay before sending the pack to a player
  • Inform the user which pack the server send them if it was done automatically
  • Let users select a pack themselves. The pack can be re-applied on each login and will be used for resets on servers that don't have the pack
  • Remembers which pack a user has currently applied and doesn't resend the same pack on server switch (does not work on 1.20.2 clients du to changes in the Minecraft client and how Minecraft proxies work. Fixed with 1.20.3+)
  • Kick players from the server which don't accept the resourcepack or send them to a specific server (that way you can have two versions of the same server, one with resourcepacks and one without)
  • Execute commands based on whether or not the player accepted the pack
  • Send a message or title to the player when he accepts, loads, denies or fails to download the resourcepack
  • Load screen ESC bypass protection with a timeout
  • Stop the user from joining a certain server in your network if he didn't accepted an optional the resourcepack before
  • Different set of actions for when it is the first time a player joins your server
  • ResourcePackStatusEvent for developers to react on the accepting or denying of a pack in their own plugins
  • Compatible with AuthMe Reloaded, AuthMeVelocity, OpenLogin, NLogin, LibrePremium, JPremium.
  • Do you need it to be compatible with more plugins? Contact me!
  • PlaceholderAPI placeholders to read the pack and statuses


The plugin uses bStats to track some basic usage. You can opt-out by changing the config option disable-metrics in the plugin's config.yml or in the plugins/bStats/config.yml file!

You can see the tracked metrics here:

The plugin also includes an update checker querying my own server to provide you with information regarding new versions in the console/log or if you have certain permissions, that checker can be disabled with the setting update-check.

Not bought yet?

Buy on Spigot Buy with Crypto Currency