Spigot VentureChat 3.2.2

#1 Channels Chat plugin! Spigot + Bungee. Supports PlaceholderAPI + JSON formatting. New Hex Colors!

  1. Well, I totally misread it and assumed you wanted me to add Discord plugin support.

    Here it is... it's literally just a channel attached to my Heroes and Generals channel, but it should work.
  2. Didn't work, you need to make an instant invite.
  3. Sorry for no new features in a long time, but I'm busy with school and it has gotten to the point where adding new features will require structural rewrites for lots of older sections of the code. I personally would like to redo the entire networking section of the plugin that communicates with BungeeCord, but that will take time to complete and users will more than likely not notice many differences, which is why it can be hard to focus on backend updates.
    • Optimistic Optimistic x 1
  4. I know you're busy and have other things to get to before this, so just putting this in the back of your mind if you get to it -- I was wondering if it's possible to let a player use /ignore to completely cut out the target player's messages even from chat channels, like the way it works with Essentials? Having that capability was a lifesaver when we used Essentials chat, but we also have no desire to go back to that. Definitely cuts down the drama. From what I understand right now it only keeps the target from private messaging the user. Thanks!
  5. @mercurialmusic
    Code (Text):
    # If true, /ignore will block chat from the ignored player as well as PM's
    ignorechat: false
    Should see this about half down the config. Will block the chat just like in Essentials.
  6. Is there a built-in way I can implement my own chat replacement tag, for instance, for a chat title or a rank within a home-brew factions plugin? Or should I have these plugins handle their own chat replacement?
  7. @Foxtrek_64 If you are talking about placeholders you can add your own custom placeholders to PlaceholderAPI by using the PlaceholderAPI API (I know API API:)) in your plugin and then use those in VentureChat.
    • Winner Winner x 1
  8. I'm looking for some cool images to use on the overview page to show some of the features of the plugin in picture format. If anyone has cool moderation GUI's or other chat formats they would like to share for a photo, it would be appreciated!
  9. @Aust1n46 hello i got a question we have venture chat installed and had a problem with colourcodes if i have to much then it just says proxy lost and you get kicked out of the game so we fixed that but sometimes we get the proxy lost agian.

    can you help us?

  10. @critting The only thing I can think of is I'm sending packets that are too large to handle over BungeeCord. I still have no idea why it would ever kick players, that sounds like a flaw on BungeeCords side to me, but I never get any responses when I make forum posts on the BungeeCord forum... I'll have to look into when I have time, but I have exams and other work coming up so I really don't have too much time right now, sorry.
    • Like Like x 1
  11. Plugin not working after /reload:

    [22:36:07] [Async Chat Thread - #1/ERROR]: Could not pass event AsyncPlayerChatEvent to VentureChat v2.11.0
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[spigot.jar:git-Spigot-625bc00-7dd77d7]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[spigot.jar:git-Spigot-625bc00-7dd77d7]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at net.minecraft.server.v1_11_R1.PlayerConnection.chat(PlayerConnection.java:1275) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:1213) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at net.minecraft.server.v1_11_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:?]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:?]
    at java.lang.Thread.run(Unknown Source) [?:?]
    Caused by: java.lang.NullPointerException
    at mineverse.Aust1n46.chat.listeners.ChatListener.onAsyncPlayerChatEvent(ChatListener.java:92) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:?]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:?]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[spigot.jar:git-Spigot-625bc00-7dd77d7]
    ... 11 more

    And error on command /vc in console:

    [22:36:54] [Server thread/WARN]: Unexpected exception while parsing console command "vc"
    org.bukkit.command.CommandException: Unhandled exception executing command 'vc' in plugin VentureChat v2.11.0
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-625bc00-7dd77d7]
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-625bc00-7dd77d7]
    at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServer.java:650) ~[spigot.jar:git-Spigot-625bc00-7dd77d7]
    at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchServerCommand(CraftServer.java:636) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at net.minecraft.server.v1_11_R1.DedicatedServer.aM(DedicatedServer.java:437) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:678) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:576) [spigot.jar:git-Spigot-625bc00-7dd77d7]
    at java.lang.Thread.run(Unknown Source) [?:?]
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_11_R1.command.ColouredConsoleSender cannot be cast to org.bukkit.entity.Player
    at mineverse.Aust1n46.chat.command.chat.Venturechat.execute(Venturechat.java:26) ~[?:?]
    at mineverse.Aust1n46.chat.command.MineverseCommandExecutor.onCommand(MineverseCommandExecutor.java:21) ~[?:?]
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-625bc00-7dd77d7]
    ... 8 more

    Spigot 1.11.2.
  12. @En_0t_S You don't use /reload. Restart your server if you want to make major changes. And please follow the directions on the overview and use Pastebin to contain a log. Don't just spam it on the forum.
  13. @Aust1n46 kk i don't know what i'm failing at here but any %player_name% or {player} doesn't work I've tried a fair few for translating in game what the hell is it suppose to be?
    #5253 Notlas, Apr 28, 2017
    Last edited: Apr 28, 2017
  14. @Notlas Use PlaceholderAPI and set it up properly. You have to download placeholder packs to use it. PlaceholderAPI uses bracket placeholders in chat (so everywhere in VentureChat).
    Code (Text):
    /papi ecloud download Player
    {player_name} is what you want, but you will have to reference the list for others that I can't recall off the top of my head. There are thousands of valid placeholders on his list.
  15. Had the cooldown bug again today. It's pretty frustrating that you aren't even willing to investigate the bug. I don't even know why I'm bothering to post again. Removed cooldown from my server since you wont bother with it.

    Spy command works cross-server. It'd be nice if it was single server only. I imagine this is a DB issue or something, but regular chat doesn't have this issue. Also, when someone messages you you get the message twice.
  16. @Nyquest Because my real life work is more important than investigating non-gamebreaking bugs in a free Minecraft plugin. I don't have the time to sit at this computer and spend hours testing VentureChat when I have final exams in 2 weeks...
  17. Here's an idea. Github the code and let me find it for you. My perm-muted players at the hand of your plugin don't agree that it's not "game-breaking."

    I like your plugin. I don't want to change. Maybe in the future, instead of saying its fixed and calling someone a liar, you can try the approach of "I have to focus on my studies, I'll look into it when I have time." I can understand having a busy life, but being outright rude earns you a sour response.
  18. Can you plz add support for LuckPerms? i have all the required stuff and vault. but the prefixes using the default config file are not showing up.
    Or am i doing something wrong?
  19. @Nyquest I'm at a loss to what you find rude about my post.

    Leads to ->
    Both posts are at similar levels of "rudeness" if that's a term. I never called anyone a liar, but I'm totally willing to dish out what I receive...

    Code (Text):
    Calendar currentDate = Calendar.getInstance();
            SimpleDateFormat formatter = new SimpleDateFormat("dd:HH:mm:ss");
            String date = formatter.format(currentDate.getTime());
            String[] datearray = date.split(":");
            int time = (Integer.parseInt(datearray[0]) * 86400) + (Integer.parseInt(datearray[1]) * 3600) + (Integer.parseInt(datearray[2]) * 60) + (Integer.parseInt(datearray[3]));
            int datetime = (Integer.parseInt(datearray[0]) * 1440) + (Integer.parseInt(datearray[1]) * 60) + (Integer.parseInt(datearray[2]));
            if(eventChannel.hasCooldown()) {
                chCooldown = eventChannel.getCooldown();
            try {
                if(mcp.hasCooldown(eventChannel)) {
                    int timemark = mcp.getCooldowns().get(eventChannel).intValue();
                    if(time < timemark + chCooldown) {
                        int remaining = timemark + chCooldown - time;
                        String keyword = "seconds";
                        if(remaining == 1) keyword = "second";
                        mcp.getPlayer().sendMessage(ChatColor.RED + "" + remaining + " " + keyword + " of cooldown remaining.");
                        bungee = false;
                if(eventChannel.hasCooldown() && !event.isCancelled()) {
                    if(!mcp.getPlayer().hasPermission("venturechat.cooldown.bypass")) {
                        mcp.addCooldown(eventChannel, time);
            catch(NumberFormatException e) {
    Basic overview of the code:
    Everytime a player chats, first check for bypass perm, if no perm, save the current time (converted to seconds) to the player. The next time the player chats, check and see if the current second is greater than the last saved second + the cooldown. If not, calculate the difference and send message to player while cancelling the event.

    But, I'm a pretty nice guy so here is the code for you to look at. It's all enclosed right here, both adding a new cooldown and checking for an existing one. I have a private repo on BitBucket, but I will not use a public site like github for my private projects. I really don't need people forking my work/sending pull requests to me because I am just too busy for that.

    @woodzykiler Any Vault supporting permissions plugin works with VentureChat. I've personally used GroupManager, zPermissions, bPermissions, PermissionsEX, and the premium plugin PowerfulPerms with no issues. All of these are EXTREMELY popular permissions plugins so unless LuckPerms (which I've never hard of before) is some niche special plugin, it should work fine.
    #5259 Aust1n46, May 3, 2017
    Last edited: May 3, 2017
    • Agree Agree x 1
  20. Where I come from letting someone know that you don't believe them is the same as calling them a liar. This you have done. This is the 3rd time I've reported this same issue. Each time you've said there isn't a problem and brushed it off. I had been polite until it happened yet again.

    Thank you for posting snippet of code. I will look when I have time. Now is very late.