Ever needed the ability to force resource packs upon users? Here is your chance!
- Native Minecraft Version:
- 1.16
- Tested Minecraft Versions:
- 1.16
- 1.17
THIS PLUGIN IS NO LONGER MAINTAINED
Using this plugin will allow you to make sure that users HAVE to use the resource pack you specify.
Usage:
Download the plugin and add it to your server.
Go to the PackForcer/config.yml file and add your download link for your resource pack like this:
~~~~
ResourceLink: https://www.dropbox.com/s/8348ruhdfdhf3/MC pack.zip?dl=1
~~~~~
Then, type `/PackForcer reload` in the console, and away you go!
NOTE: Do NOT set the sha1 in the server.properties file. It will most likely cause issues!
Config:
Status: True -> On || False -> Off
ResourceLink: Link for Resource Pack
Messages: Kick messages shown when a user isn't using the pack
LoadMessage: When a user finishes loading a pack the message will be sent!
Permissions:
PackForcer.loadpack = Allowed to use the /pf loadpack command
PackForcer.clearpack = Allowed to use the /pf clearpack command
PackForcer.reload = Allowed to use the /pf reload command
PackForcer.help = Allowed to use the /pf help command
PackForcer.* = Allowed to use all commands
Commands:
Main Command: /pf or /packforcer
Arguments:
/pf loadpack (player) - sends the pack to a player
/pf clearpack (player) - removes the custom pack from a player
/pf reload - reloads the config
/pf help - shows the help command
Support:
Either send me a message on Spigot
Thanks and please feel free to leave a review!
![]()

Resource Pack Forcer - Compulsory Packs for users 1.2.2
Making Resource packs compulsory for the user to join!
-
SancLovin likes this.
Recent Updates
- Proper Sha1 usage Jan 7, 2022
- Bug Fix Oct 27, 2021
- Message Updates & Pack refreshing Oct 16, 2021
Recent Reviews
-
Zyriom
- 3/5,
Caused by: org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here
in 'reader', line 7, column 39:
... iledDownload: Internal Exception: java.net.socketexception: Conn ...
^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:910) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:400) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:251) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:628) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:166) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:59) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:45) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:140) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:119) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeScalarNode(Composer.java:214) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:184) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:314) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:305) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:286) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:188) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:314) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:305) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:286) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:188) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:314) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:305) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:286) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:188) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:115) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:142) ~[snakeyaml-1.30.jar:?]
at org.yaml.snakeyaml.Yaml.compose(Yaml.java:575) ~[snakeyaml-1.30.jar:?]
at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:102) ~[paper-api-1.18.1-R0.1-SNAPSHOT.jar:?]
... 27 more
[17:28:26 WARN]: [PackForcer] The Link is not Set -
HarukoWoods
- 5/5,
I love this plugin, it is exactly what I was looking for, if possible, a command to load the resources to all would be perfect in every aspect
-
-
EEGAR901
- 5/5,
AWESOME PLUGIN, DIDN'T WORK BUT HE PERSONALLY FIXED IT FOR ME. WORKS PERFECTLY AND HE WAS SUPER PATIENT