ForcePack icon

ForcePack -----

Resource pack handling utilities and enforcement, with Velocity and multiple resource packs support.




What's Changed
New Contributors
Full Changelog: https://github.com/SamB440/ForcePack/compare/1.3.71...1.3.72
----------, Apr 30, 2025


What's Changed
New Contributors
Full Changelog: https://github.com/SamB440/ForcePack/compare/1.3.6...1.3.7
----------, Dec 17, 2024

Full Changelog: 1.3.5...1.3.6
----------, Sep 3, 2024

What's Changed
  • Added 1.20.5+ support
Full Changelog: https://github.com/SamB440/ForcePack/compare/1.3.4...1.3.5
----------, Jul 16, 2024





The 1.3.0 update is finally here!
Note: ForcePack is now also available on Modrinth at https://modrinth.com/plugin/forcepack. Downloading from Modrinth also helps support me thanks to their rewards program.

This update adds support for 1.20.3+ clients and multiple resource pack support. It also adds support for MiniMessage/adventure text formatting on Spigot-based servers. You will need to update your language files - default ones can be found here.

There is now the ability to self-host resource packs. Please see the new documentation at https://fortitude.islandearth.net/forcepack/configuration for information on how to configure this.

Velocity now has support for server groups. See https://fortitude.islandearth.net/forcepack/configuration#groups.

Many bugs have also been fixed and the overall quality of the plugin has been improved significantly, especially with new documentation. This update took many months to finish, if you would like to support my work you can do so at https://ko-fi.com/samb440.

What's Changed
New Contributors
Full Changelog: https://github.com/SamB440/ForcePack/compare/1.2.9...1.3.0
----------, Jan 4, 2024



Fixes
Features
Full Changelog: 1.2.6...1.2.7

Spigot Config changes
Code (YAML):

# How many ticks to delay sending a resource pack by
# Use this if you have a plugin teleporting someone after joining which closes the resource pack screen
delay-pack-sending-by
: 0
 


Velocity Config changes
Code (Text):

# How many ticks to delay sending a resource pack by
# Use this if you have a plugin teleporting someone after joining which closes the resource pack screen
delay-pack-sending-by = 0
 
----------, Dec 18, 2022




ForcePack 1.2.3 fixes a Minecraft client bug where updating only the hash would cause issues with the client. The fix simply appends your hash as an achor to the URL. ItemsAdder support has also been added.

It also adds the ability to use the old resource pack screen - the custom message will still display. The benefit of this is your kick message will function when the client clicks on "disconnect".

Config changes:
Spigot:
Code (YAML):
# Appends the hash to your URL to fix this bug.
enable-mc-164316-fix
: true

# Should ForcePack load on the first tick after the server has started?
# Ensures we load after any plugin you may be hosting a resource pack on
# So that you can use its hosting feature
load-last
: false

# Should we wait for items adder to load resource pack?
await-items-adder-host
: true

# Should we use the 1.17+ force resource pack screen, or the old one?
# You can still define a custom message that will show even if this is false for 1.17+ clients
# Note that with this true, the custom disconnect message will not work because the client forcefully kicks itself
use-new-force-pack-screen
: true
Velocity:
Code (Text):
# Appends the hash to your URL to fix this bug.
enable-mc-164316-fix = true

# Should we use the 1.17+ force resource pack screen, or the old one?
# You can still define a custom message that will show even if this is false for 1.17+ clients
# Note that with this true, the custom disconnect message will not work because the client forcefully kicks itself
use-new-force-pack-screen = true

Commits (new -> old):
----------, Sep 16, 2022


ForcePack 1.2.1 adds global Velocity resource packs and compatibility between your Velocity proxy and backend servers.

If you wish to use features such as actions, movement, and damage prevention whilst ForcePack is installed on your Velocity proxy, you should also install ForcePack on your backend server and set velocity-mode to true.

Commits (new -> old):
----------, Jul 30, 2022

ForcePack 1.2.0 adds several new verification features and fixes various bugs. One of note is that minimessage support was broken with a recent Velocity update, this has been fixed.

*Click read more for more info*

The following settings have been added to your config.yml:
Code (YAML):
# Should we forcefully send a resource pack that has an invalid size for the player's client version? (requires ViaVersion)
force-invalid-size
: false
 
And on Velocity, your config.toml:
Code (Text):
# Should we forcefully send a resource pack that has an invalid size for the player's client version?
force-invalid-size = false
 

If you have "verify" enabled, then your URL endings and client version resource pack sizes will now be verified.

Commits (new -> old):
----------, May 28, 2022


This version adds support for clients <= 1.12 from bypassing using the esc key.

On Spigot, this requires ViaVersion. You will also need to set "Update GUI" to true in your config. For velocity, this is defaulted to true automatically.
Config changes (Spigot)
Config changes (Velocity)
----------, Feb 6, 2022

----------, Jan 17, 2022

----------, Jan 14, 2022

This is the default velocity configuration:
Code (Text):
# ForcePack Velocity config.
# ForcePack uses MiniMessage for message formatting.
# You can check the MiniMessage documentation for how to use it: https://docs.adventure.kyori.net/minimessage#format
# Need help? Join our Discord: https://discord.gg/fh62mxU

# Whether to ignore geyser players. Only enable this if you use geyser.
#  Java clients can spoof this and bypass the ResourcePack!
geyser = false

# Whether to verify that your resource packs have the correct hash.
# May reduce startup time, but makes problems less obvious and can be a security risk.
verify-resource-packs = true

# Whether to enable debug mode. Prints some extra info.
debug = false

[unload-pack]
    # Whether to send an empty ResourcePack when joining a server without one configured, and the player has one applied
    enable = true
    # The URL of the unload pack
    url = "https://www.convallyria.com/files/BlankPack.zip"
    # The hash of the unload pack file
    hash = "118AFFFC54CDCD308702F81BA24E03223F15FE5F"

[servers]
    # You can specify any server name here that is configured in velocity.
    [servers.build]
        # The ResourcePack URL. This must be a direct URL, ending with .zip. For Dropbox URLs, add ?dl=1 to the end.
        resourcepack.url = "https://faithfulpack.com/dl/104/"
        # Use a site such as http://onlinemd5.com/ or the hash provided when uploading to https://mc-packs.net/.
        resourcepack.hash = "BA52452AD77CAAA7530876950C8E2D020699EBDD"
        # The prompt message for clients on 1.17+.
        resourcepack.prompt = "<yellow>Please accept our resource pack to improve your experience."
        [servers.build.actions]
            # List of valid actions: https://jd.velocitypowered.com/3.0.0/com/velocitypowered/api/event/player/PlayerResourcePackStatusEvent.Status.html
            [servers.build.actions.ACCEPTED]
                kick = false
                commands = []
            [servers.build.actions.DECLINED]
                kick = true
                message = "<color:#FF5555>Please accept our ResourcePack to play on the server!"
                commands = []
            [servers.build.actions.FAILED_DOWNLOAD]
                kick = true
                message = "<color:#FF5555>The ResourcePack download failed. Please try rejoining."
                commands = []
            [servers.build.actions.SUCCESSFUL]
                kick = false
                commands = []
----------, Dec 23, 2021

The configuration has been redone and improved. Geyser support has been added.
Comments are now shown in the configuration file when it is newly generated. Your existing config file will be converted to the new format. Any type of resourcepack status can now be configured and set to kick individually. New configuration:
Code (YAML):
Server:
  ResourcePack
:
    # The ResourcePack URL. This must be a direct URL, ending with .zip. For Dropbox URLs, add ?dl=1 to the end.
    url
: https://faithfulpack.com/dl/104/
    # Use a site such as http://onlinemd5.com/ or the hash provided when uploading to https://mc-packs.net/.
    hash
: BA52452AD77CAAA7530876950C8E2D020699EBDD
  Actions
:
    # To disable commands, you can do Command: []
    # List of valid actions: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerResourcePackStatusEvent.Status.html
    ACCEPTED
:
      kick
: true
      Command
:
       - say [player ] accepted the resource pack!
    DECLINED
:
      kick
: true
      Command
:
       - say [player ] denied the resource pack!
    FAILED_DOWNLOAD
:
      kick
: true
      Command
:
       - say [player ] failed to download the resource pack!
  # Speed in ticks at which the ResourcePack prompt will be resent to the player (prevents escaping out)
  Update GUI Speed
: 20
  # Whether to ignore geyser players. Only enable this if you use geyser.
  #  Java clients can spoof this and bypass the ResourcePack!
  geyser
: false
  # Whether to enable debug mode. Prints some extra info.
  debug
: false
----------, Dec 18, 2021

Removed an accidental debug message.
----------, Oct 3, 2021

You still need this plugin on 1.17 servers. Players can bypass the Vanilla method by spoofing a failed download.

It is now recommended you use Paper. In Paper, you can now set a custom resourcepack message and show the "requires resourcepack" screen! Please make sure to regenerate language files.
2021-09-27_21.34.46.jpg
----------, Sep 27, 2021

  • Fixes Languagy loading
----------, Oct 16, 2020

  • Fixes some loading issues.
----------, Oct 15, 2020

You must update to Languagy 2.0.2, or delete the Languagy plugin.

  • Languagy is no longer required. ForcePack still utilises Languagy but is shaded into the plugin. Having the Languagy plugin on your server will enable the additional features languagy offers.
  • Add support for Languagy 2.0.2
----------, Aug 2, 2020

  • Fixed commands not executing correctly
----------, May 6, 2020


  • Fixed message spam
----------, Feb 2, 2019

  • Multiple commands can now be added
  • Commands can now be completely disabled by changing the list to []
----------, Feb 1, 2019

  • Removed time out option, and replaced with a better one which resends the menu when they try to esc out of the choosing.
  • Fixed kick even though it was disabled
  • Added ResourcePack url and hash to config which is now used instead of server.properties
----------, Jan 30, 2019

  • Solved some issues, update not needed but recommended for 1.13+ support
  • Version remains the same
----------, Jan 29, 2019

ForcePack has been completely recoded, and the following has been added;
  • Added option in config whether or not to kick players on decline.
  • Resource pack changes will be caught live instead of only when the player joins.
This update should work with 1.9-1.13.
----------, Jan 29, 2019

You can view this commit here: 20ae451
  • Added support for Minecraft 1.13
  • Code cleanup for future updates
----------, Jul 23, 2018

  • Added permission ForcePack.bypass to bypass the resourcepack.
  • Added command actions on accept/deny/failure
  • Added placeholder [player] (players name)
New config:
Code (Text):
Server:
  Messages:
    Declined_Message: '&cYou must accept the resource pack to play on our server.
      Don''t know how? Check out &ehttp://www.islandearth.net/rp.html.'
    Accepted_Message: '&aThank you for accepting our resource pack! You can now play.'
    Failed_Download_Message: '&cThe resource pack download failed. Please reconnect
      and try again.'
  Actions:
    On_Accept:
      Command: say [player] accepted the resource pack!
    On_Deny:
      Command: say [player] denied the resource pack!
    On_Fail:
      Command: say [player] failed to download the resource pack!
  Timeout_ticks: 550
As always, a like or review is appreciated!
----------, Aug 11, 2017

Resource Information
Author:
----------
Total Downloads: 42,660
First Release: Aug 10, 2017
Last Update: Apr 30, 2025
Category: ---------------
All-Time Rating:
46 ratings
Find more info at fortitude.islandearth.net...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings