Home Permissions Commands Config

In the most recent versions of the oh so popular Factions (1.7 and above), you may have noticed that the faction chat feature was removed. Faction chat really comes in handy at times to easily talk with whole groups, whether you're planning with your allies to take down that faction you just hate that or discussing top secret plans with your clan. This plugin is there to fill in that gap and bring back this high demand feature, aiming to replicate what has now been removed from Factions.

The author of FactionChat is constantly updating to make sure that FactionChat is designed to work without any bugs and function at top-notch performance out-of-the-box.


  • Faction-only, ally, truce and enemy chat modes
  • Send a message to other factions, even if you're not allies with them
  • Staff chat channels
  • Ability to spy on all messages
  • Easy to use chat-mode toggles/commands

Development Builds

Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Development builds can be found here

To-do/possible updates.

  • Create a help command (/fc help)
  • I'm always open to suggestions!

Support and like my work? Donate to keep development going.

I have spent many hours creating and perfecting this plugin for public use, and I expect many more hours still to come through updating and adding features requested by the community. You can even spare a buck or two, after all, every little bit helps! If you are unable to donate, it would still be awesome if you could let me know how the plugin is working for you and leave a thanks in the comments section.


Plugin demo: lolnet.co.nz

Author debug access.

In the v1.5 update, I have added a new config option called "AllowAuthorDebugAccess". If set to true and your server is running in online-mode, then it allows me, james137137, to use the follow commands: /fchatother, /fc jrmod, /fc mod, /fc srmod, /fc jradmin, /fc admin, /fc spy, /fc update, and /fc reload. Please note that this does not give me the ability to use any other commands. You may never even need to enable this, unless you personally need help and have invited me to test something for/with you. This feature is enabled by default, however it can easily be toggled through the configuration.


This plugin utilizes Hidendra's metrics system in order to keep track of the plugin's popularity, as well as other metadata. The following information is collected and sent to mcstats.org:

  • Unique identifier
  • Java version
  • Offline/online mode
  • FactionChat version
  • Server version (i.e. Bukkit 1.6.4, Spigot 1.7.2)
  • OS name, version and architecture
  • Amount of CPU cores
  • Amount of players online
  • Metrics version

Opting out of this service can be done by editing the config.yml and changing MetricsOptOut to true.

Inbuilt Updater

This plugin utilizes an external version checking system, which means that the plugin makes a connection to curseforge.com and the following may occur:

  • The plugins version checked
  • Downloading of the plugin files

The update can only occur when a player with permission "FactionChat.Update" runs the command "/fc update" or any /FactionChat alias with "update".


FactionChat is a stable plugin that is used by about 1,400 servers worldwide; that's a lot! Thanks to everyone who make this happen.


Repository Information for Maven Projects



You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of james137137 james137137 Oct 19, 2016 at 05:09 UTC - 0 likes

    Hello guys. Just letting you know that even though there hasn't been any updates in FactionChat in a few months, this version should still be up to date. If you have any problems or suggestion please feel free to post here or PM me or make a ticket

    Last edited Oct 19, 2016 by james137137

    A proud Administrator a Minecraft server of lolnet.co.nz helping players and improving the fun :D Lolnet.co.nz

    My IRC Channel


  • Avatar of james137137 james137137 Jul 09, 2016 at 20:37 UTC - 0 likes

    @Exigopro: Go

    Yeah.... FactionChat was built with the latest snapshot tho I didn't expect there would of been a change from the 1.5, anyway glad it was fixed.

    Thanks for you feedback about my plugin :D

  • Avatar of Exigopro Exigopro Jul 09, 2016 at 10:15 UTC - 0 likes

    @james137137: Go

    Here's the pastebin, sorry for the big text thing ;) http://pastebin.com/s8LBsj4k For reference, this error only appears when I chat in-game, not on random occasions.

    Also I am using Mcmmo 1.5.

    EDIT: updating to the newest snapshot version of mcmmo (not the one on bukkit), it seems to be fixed. Thanks for pointing it out and good luck developing your plugin it's awesome :) -Exi

    Last edited Jul 09, 2016 by Exigopro
  • Avatar of james137137 james137137 Jul 08, 2016 at 20:53 UTC - 0 likes

    @Exigopro: Go

    also. what version of McMMO are you using? make sure its 1.5 or above

    Last edited Jul 08, 2016 by james137137
  • Avatar of james137137 james137137 Jul 08, 2016 at 20:50 UTC - 0 likes

    @Exigopro: Go

    could you pastebin that. its very hard to read as it is.

  • Avatar of Exigopro Exigopro Jul 08, 2016 at 20:02 UTC - 0 likes

    I get an error every time I say something in chat:

    [16:00:22 ERROR]: Could not pass event FactionChatPlayerChatEvent to FactionChat v1.10.0-PRE-2 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [spigot.jar:git-Spigot-7745d45-02d704b] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot.jar:git-Spigot-7745d45-02d704b] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-7745d45-02d704b] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-7745d45-02d704b] at nz.co.lolnet.james137137.FactionChat.FactionChatListener.onChat(FactionChatListener.java:140) [FactionChat.jar:?] at nz.co.lolnet.james137137.FactionChat.FactionChatListener.onPlayerChat(FactionChatListener.java:121) [FactionChat.jar:?] at nz.co.lolnet.james137137.FactionChat.FactionChatListener$1.execute(FactionChatListener.java:58) [FactionChat.jar:?] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot.jar:git-Spigot-7745d45-02d704b] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-7745d45-02d704b] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot.jar:git-Spigot-7745d45-02d704b] at net.minecraft.server.v1_10_R1.PlayerConnection.chat(PlayerConnection.java:1273) [spigot.jar:git-Spigot-7745d45-02d704b] at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:1211) [spigot.jar:git-Spigot-7745d45-02d704b] at net.minecraft.server.v1_10_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [spigot.jar:git-Spigot-7745d45-02d704b] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [?:1.7.0_80] at java.util.concurrent.FutureTask.run(FutureTask.java:262) [?:1.7.0_80] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [?:1.7.0_80] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [?:1.7.0_80] at java.lang.Thread.run(Thread.java:745) [?:1.7.0_80] Caused by: java.lang.NoClassDefFoundError: com/gmail/nossr50/util/player/UserManager at nz.co.lolnet.james137137.FactionChat.API.McMMOAPI.onPlayerFactionChat(McMMOAPI.java:30) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.7.0_80] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [?:1.7.0_80] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [?:1.7.0_80] at java.lang.reflect.Method.invoke(Method.java:606) [?:1.7.0_80] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [spigot.jar:git-Spigot-7745d45-02d704b] ... 17 more

    Last edited Jul 08, 2016 by Exigopro
  • Avatar of james137137 james137137 Jun 30, 2016 at 19:44 UTC - 0 likes

    @L2BORG: Go

    It should work from 1.6 upwards.

    If it doesn't let me know and I'll support it

  • Avatar of L2BORG L2BORG Jun 30, 2016 at 16:05 UTC - 0 likes

    @james137137: Go

    Does it still work with 1.8.8 and latest Factions? :)

  • Avatar of james137137 james137137 Jun 30, 2016 at 05:54 UTC - 1 like

    @L2BORG: Go

    hmmmmm...... using % in the config isn't a good idea..... :-)

    I think I will have to change that. Fixing now. Version is now 1.10.0-PRE-2

  • Avatar of L2BORG L2BORG Jun 29, 2016 at 20:21 UTC - 0 likes
    [05:36:28] [Async Chat Thread - #22/ERROR]: Could not pass event AsyncPlayerChatEvent to FactionChat v1.10.0-SNAPSHOT
    java.lang.IllegalArgumentException: Illegal group reference: group index is missing
    	at java.util.regex.Matcher.appendReplacement(Matcher.java:819) ~[?:1.8.0_92]
    	at java.util.regex.Matcher.replaceAll(Matcher.java:955) ~[?:1.8.0_92]
    	at java.lang.String.replaceAll(String.java:2223) ~[?:1.8.0_92]
    	at nz.co.lolnet.james137137.FactionChat.FactionChatMessage.toString(FactionChatMessage.java:91) ~[?:?]
    	at nz.co.lolnet.james137137.FactionChat.ChatChannel.fChatF(ChatChannel.java:65) ~[?:?]
    	at nz.co.lolnet.james137137.FactionChat.FactionChatListener.onChat(FactionChatListener.java:169) ~[?:?]
    	at nz.co.lolnet.james137137.FactionChat.FactionChatListener.onPlayerChat(FactionChatListener.java:121) ~[?:?]
    	at nz.co.lolnet.james137137.FactionChat.FactionChatListener$1.execute(FactionChatListener.java:58) ~[?:?]
    	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched.jar:git-TacoSpigot-"758e09a"]
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched.jar:git-TacoSpigot-"758e09a"]
    	at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [patched.jar:git-TacoSpigot-"758e09a"]
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:483) [patched.jar:git-TacoSpigot-"758e09a"]
    	at net.minecraft.server.v1_8_R3.PlayerConnection.chat(PlayerConnection.java:1116) [patched.jar:git-TacoSpigot-"758e09a"]
    	at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1031) [patched.jar:git-TacoSpigot-"758e09a"]
    	at net.minecraft.server.v1_8_R3.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [patched.jar:git-TacoSpigot-"758e09a"]
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_92]
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_92]
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_92]
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_92]
    	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]

    regex issues?


Date created
Jan 25, 2013
Last update
Jul 10, 2016
Development stage
  • enUS
MIT License
Curse link
Reverse relationships
Recent files



Optional dependency