1. We are planning scheduled maintenance on this website on Friday 5 March at 4:00 am UTC. It is estimated that this maintenance will last 15 minutes. You can view this time in your local timezone here. Thanks.
    Dismiss Notice

ForgeModBlocker 1.3.1

Control which mods your players can use

  1. Mas
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    Source Code:
    Mas (developer + author), Okx (code contributions)
    Take control over the mods used on your server
    What is it?

    ForgeModBlocker is a configurable plugin allowing you to allow or disallow the use of certain Forge mods on your Spigot server. This is the first fully customisable and completely free plugin of its kind.


    ForgeModBlocker no longer requires any plugin dependencies in order to run!

    ForgeModBlocker does however require at least Java 8 to run. If you are still on Java 7, now is the time to update (or ask your host to)!


    Here is the current config file for the plugin:

    If there is an update which makes additions to the config, you will need to delete your config file upon installing the update. It will be regenerated with the new options.

    Blocking Mods

    To add a mod to the mods list in the config, you must find its mod ID. You can do this by opening Forge with the mod installed, clicking "Mods" on the title screen, finding the mod and looking at the "Mod ID" field:
    Mod IDs are case sensitive

    There are also some hacked clients which work through acting as Forge mods. If you add any these mods to the config, you can reliably ban for them.


    - Configurable:
    Choose as many mods as you like to whitelist or blacklist and deicde what happens when a player uses disallowed mods.

    - Lightweight:
    ForgeModBlocker won't have any impact on your server performance.

    - Cross-Version Compatible:
    ForgeModBlocker will work on all Spigot versions 1.8.8 and above, and will most likely automatically support any future versions.

    Versions lower than 1.8.8 are not supported and there are no plans to ever support them.

    - Free:
    Unlike any other Forge mod detector out there (at the time of release), this is the only fully configurable and customisable Forge mod blocker where all functions are available for free!

    Commands and Permissions

    Main command, shows the mod version and lists subcommands.
    Permission: fmb.main_command

    /fmb reload
    Reloads the plugin
    Permission: fmb.reload_command

    /mods <player>
    Lists a player's loaded mods
    Permission: fmb.mods_command

    Other Permissions

    Gives all plugin permissions
    This permission is not given to opped players by default

    Players with this permission will receive notifications for available plugin updates

    Users with this permission will be exempt from the mod whitelist/blacklist

    This permission is not given to opped players by default

    Additional Notes

    ForgeModBlocker uses an auto-update system to keep you up-to-date on the latest plugin version without having to do anything! Players with the "fmb.update_notification" permission will be alerted when a new update is available and the plugin will attempt to download it.

    If a plugin update cannot be downloaded, the plugin will re-attempt the download twice before giving up. Players with permission will be given an alert informing them that a new version is available.

    The plugin also uses bStats to record metrics about servers the plugin is run on. Information such as your server IP is not recorded.
    If you really don't want to contribute metrics from your server, you can disable them by opening the /plugins/bStats/config.yml file and setting "enabled" to false.

    After a player joins, there will be a small delay before their mods are detected and the commands are executed upon them (if needed). Unfortunately, it just isn't possible to completely remove this delay and still detect the player's mods.

    Finally, although ForgeModBlocker will detect a user's mods with 100% accuracy in the common scenario - it is possible to bypass the system in multiple ways which cannot be prevented.


    As well as all the above, ForgeModBlocker can hook into PlaceholderAPI if it is installed on your server.
    Placeholders are registered under the "forgemodblocker" id.
    Usable placeholders:
    - forge: Whether a player is using forge - Returns "true" or "false"
    - mods: All the mods a player is using - Eg: FML, mcp, Forge

    Future Features

    - Developer API

    If you have any ideas for any new features for ForgeModBlocker, please suggest them either in the "Discussion" tab or in a review.

    Source Code & License

    The source code for this project can be found on my GitHub:

    Any code issues/suggestions should be made with Issues or Pull Requests.

    ForgeModBlocker project is licensed under Mozilla Public License 2.0
    Simple terms:
    - If you wish to use code from my plugin, you can, provided that you leave credit and a link to the original project.
    - If you use my code and make any changes, that's okay, as long as you again leave credit, and also open source the changes you make.


    Reviews are not the place to complain about errors, they are for constructive feedback. All constructive and helpful reviews are encouraged :)
    Errors can be fixed much more quickly if you either PM them to me or send them in the Discussion tab.

Recent Reviews

  1. Gynzel
    Version: 1.3.1
    [17:46:27] [Server thread/ERROR]: Error occurred while enabling ForgeModBlocker v1.3.1 (Is it up to date?)
    java.lang.NoClassDefFoundError: me/clip/placeholderapi/external/EZPlaceholderHook
    at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[?:?]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151) ~[?:?]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:163) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:202) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:107) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:96) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
    at me.itsmas.forgemodblocker.ForgeModBlocker.onEnable(ForgeModBlocker.java:36) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugin(CraftServer.java:494) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at org.bukkit.craftbukkit.v1_16_R3.CraftServer.enablePlugins(CraftServer.java:408) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at net.minecraft.server.v1_16_R3.MinecraftServer.loadWorld(MinecraftServer.java:435) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at net.minecraft.server.v1_16_R3.DedicatedServer.init(DedicatedServer.java:218) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:809) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at java.lang.Thread.run(Thread.java:832) [?:?]
    Caused by: java.lang.ClassNotFoundException: me.clip.placeholderapi.external.EZPlaceholderHook
    at java.net.URLClassLoader.findClass(URLClassLoader.java:435) ~[?:?]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:167) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:96) ~[spigot.jar:git-Spigot-5bde311-b5eb2f5]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
    ... 20 more
  2. jeesh1230
    Version: 1.3.1
    please update for 1.15.2

  3. Nacho4785
    Version: 1.3.1
    Doesn't work in bungeecord.

  4. extral1f3
    Version: 1.3.1
    PLEASE UPDATE FOR USE WITH BUNGEECORD!!!!!! This is a WONDERFUL plugin! Give us the rest of it :)
  5. xibo1212
    Version: 1.3.1
    The plugin is excellent! But Xray is not in the mod list. How to find his name? I tried several names, but none of them worked.
  6. IAlekseyI
    Version: 1.3.1
    The plugin is excellent! But does not work with Bungee. As soon as the problem is eliminated, I will put a score of 5.
  7. LovesAsuna
    Version: 1.3.1
    This plugin work well on spigot server.But it seem that it can't work with bungeecord server.When I use <mods (player)>server answer I don't use forge,but I am actually using Forge
  8. Burnszh
    Version: 1.3.1
    Add My Server On Server Using ForgeModBlocker
    I Like This Plugin Dude, Thank you!
    1. Mas
      Author's Response
      Thanks for your review!
      I'm unable to ping your server, if you mistyped it leave a message on my profile with the correct one
  9. talyakuza
    Version: 1.3.1
    nice plugin but not work on 1.7.10 my friend can't use this plugin

    but for me is GOOD WORK GUY
    1. Mas
      Author's Response
      Hi, thanks for your review! There are currently no plans to support versions lower than 1.8.
  10. BSHeep87
    Version: 1.3.1
    This plugin would be alright if it would work it always says is not using forge This server is running Paper version of git-paper-1301 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)
    and running in a network with bungeecord online and paper as offline i reset my rate if the plugin works for me thanks ps: my server is a german server mc.FamilySky.me with 30-40 votes/player per day

    its dont work with Bungecord :(