Spigot VentureChat 3.4.1

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

  1. how to make it so that a specific character is specified in the command place?
     
  2. @chrissamael So you're using the BungeeCord settings for DiscordSRV? That is a single instance of DiscordSRV on your network?

    I can mark it as a to-do to look into the full extent of the issue. This feature has some constraints (which make it not commonly used unfortunately)

    @VladKristal I don't understand what you're asking.
     
  3. Getting a long error in my console. Seems to only happen when trying to use chat while having a nickname. Attached is all the error info, and a picture of our plugins. thanks.

    CONSOLE
    Code (Text):
    [19:12:26 INFO]: [§xG] [Citizen]  Snaz2150§x:§x trying to figure out the kara issue?
    [19:12:33 WARN]: [VentureChat] Plugin VentureChat v2.20.1 generated an exception while executing task 646162
    java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.lang.String.substring(String.java:1967) ~[?:1.8.0_265]
        at mineverse.Aust1n46.chat.utilities.Format.convertPlaceholders(Format.java:121) ~[?:?]
        at mineverse.Aust1n46.chat.utilities.Format.convertToJson(Format.java:66) ~[?:?]
        at mineverse.Aust1n46.chat.listeners.ChatListener.handleTrueAsyncPlayerChatEvent(ChatListener.java:483) ~[?:?]
        at mineverse.Aust1n46.chat.listeners.ChatListener$1.run(ChatListener.java:56) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:99) ~[patched_1.16.3.jar:git-Paper-207]
        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.16.3.jar:git-Paper-207]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.16.3.jar:git-Paper-207]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_265]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_265]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_265]
     
    CONFIG
    Code (YAML):
    #===============================================================
    #                     VentureChat Config                       =
    #                      Author: Aust1n46                        =
    #===============================================================

    # - regex1,regex2
    # Simple regex tips: Use \b to "cut" a section of the word or phrase.  Example: \bass,donuts
    # Example filtered sentence: You are an ass.  Will become: You are an donuts.
    # Example filtered sentence: You caught a bass.  Will stay: You caught a bass.
    # Example filtered sentence: You are an asshole.  Will become: You are an donutshole.
    # Default filters by Jabelpeeps
    filters
    :
    - nigger, I am a living NPC that thinks saying racist stuff is funny
    # command without the /
    blockablecommands
    :
    - vote
    - me

    # blacklisted nicknames
    nicknames
    :
    - Notch

    nickname-in-tablist
    : true

    commandspy
    :
      worldeditcommands
    : true

    antispam
    :
      enabled
    : false

      # number of messages to be spam
      spamnumber
    : 5

      # amount of time in seconds for it to be spam
      spamtime
    : 10

      # amount of time in minutes for the mute to last, use 0 for untimed mute
      mutetime
    : 10

    # Logging chat and commands to a mysql database
    mysql
    :
      enabled
    : false
      user
    : minecraftadmin
      port
    : 3306
      password
    : Password
      host
    : localhost
      database
    : Database

    # Login and logout messages
    # Use Default for the vanilla login and logout messages
    login
    :
      enabled
    : true
      message
    : '&a{player} +'
    logout
    :
      enabled
    : true
      message
    : '&a{player} -'

    # Loglevel feature is still in the works for adding of debug messages
    # Valid loglevels:
    # Info: Regular logging
    # Debug: Show extra messages and caught errors for debugging
    # Severe: Only show severe messages
    loglevel
    : info

    # saveinterval is in minutes
    saveinterval
    : 30

    # The time in seconds between each check to remove timed mutes
    unmuteinterval
    : 60

    # The color of the private messages
    tellcolor
    : yellow

    # Enables or disabled BungeeCord messaging
    bungeecordmessaging
    : true

    # This will allow vanished players to be exempt from being sent private messages, and will act as if they aren't online
    vanishsupport
    : false

    # {playerto} : player receivings name
    # {playerfrom} : player sendings name
    # use Default for the basic formatting
    tellformatto
    : '&e[PM] &d- &e{playerfrom} -> {playerto}:'
    tellformatfrom
    : '&e[PM] &d- &e{playerfrom} -> {playerto}:'
    tellformatspy
    : '&e[PM] &d- &e{playerfrom} -> {playerto}:'
    replyformatto
    : '&e[PM] &d- &e{playerfrom} -> {playerto}:'
    replyformatfrom
    : '&e[PM] &d- &e{playerfrom} -> {playerto}:'
    replyformatspy
    : '&e[PM] &d- {playerfrom} -> {playerto}:'

    # {sender} : player sendings name
    # {player} : player receivings name
    # {time} : time mail was sent
    # use Default for the basic formatting
    mailformat
    : Default

    # {host} : party hosts name
    # {player} : player name
    # use Default for the basic formatting
    partyformat
    : Default

    broadcastafk
    : false
    formatcleaner
    : false

    # If true, /ignore will block chat from the ignored player as well as PM's
    ignorechat
    : false

    # The message shown to players alerting them no one is in the channel to hear them
    emptychannelalert
    : "&6No one is listening to you."

    messageremoverpermissions
    : '&cYou need additional permissions to view this message!'
    messageremovertext
    : '&c&o<message removed>'

    # The name of the group is the permissions node for the format
    # Example: venturechat.json.Moderator | venturechat.json.Police is the node for the group Owner
    # A lower priority overrides a higher priority if a player has more than 1 group
    # Possible options for click_name and click_prefix are suggest_command, run_command, and open_url
    jsonformatting
    :
      Default
    : # This default format is required!  Do not delete or rename it!
        priority
    : 2147483647 # Integer.MAX_VALUE 2147483647
        hover_name
    :
       - '&7I have no rank!'
        click_name
    : 'suggest_command'
        click_name_text
    : '/vwhisper {player_name}'
        hover_prefix
    :
       - '&dI am default!'
        click_prefix
    : 'suggest_command'
        click_prefix_text
    : '/vwhisper {player_name}'
        hover_suffix
    :
       - ''
        click_suffix
    : 'suggest_command'
        click_suffix_text
    : '/vwhisper {player_name}'
      Developer
    :
        priority
    : 2
        hover_name
    :
        click_name
    : 'suggest_command'
        click_name_text
    : '/vwhisper {player_name}'
        hover_prefix
    :
       - '&cDeveloper of the server!'
        - '&bMessage me to report issues'
        click_prefix
    : 'suggest_command'
        click_prefix_text
    : '/vwhisper {player_name}'
        hover_suffix
    :
        click_suffix
    :
        click_suffix_text
    :
      Moderator
    :
        priority
    : 3
        hover_name
    :
       - '&6In the land of the seeing'
        - '&6blind Lady Justice is Queen'
        click_name
    : 'suggest_command'
        click_name_text
    : '/vwhisper {player_name}'
        hover_prefix
    :
       - '&cModerator of the server!'
        - '&bMessage me for help!'
        click_prefix
    : 'suggest_command'
        click_prefix_text
    : '/vwhisper {player_name}'
        hover_suffix
    :
        click_suffix
    :
        click_suffix_text
    :
      Police
    :
        priority
    : 6
        hover_name
    :
       - '&1I am a Corvarian Law Officer'
        click_name
    : 'suggest_command'
        click_name_text
    : '/vwhisper {player_name}'
        hover_prefix
    :
       - '&9To Protect and Serve Corvaria'
        click_prefix
    : 'suggest_command'
        click_prefix_text
    : '/vwhisper {player_name}'
        hover_suffix
    :
        click_suffix
    :
        click_suffix_text
    :

    # The icon is the block shown in the GUI
    # The text is the display name of the block icon
    # Include a slash (/) before the command
    # Permissions are the name of the button and automatically include "venturechat."
    # Example: mute equals venturechat.mute
    venturegui
    :
      mute
    :
        icon
    : 'REDSTONE_BLOCK'
        durability
    : 0
        text
    : '&cMute {player_name}'
        permission
    : 'mute'
        command
    : '/mute {player_name} {channel} 10'
        slot
    : 1
      unmute
    :
        icon
    : 'DIAMOND_BLOCK'
        durability
    : 0
        text
    : '&bUnmute {player_name}'
        permission
    : 'mute'
        command
    : '/unmute {player_name} {channel}'
        slot
    : 2
      removemessage
    :
        icon
    : 'DIAMOND_AXE'
        durability
    : 0
        text
    : '&cRemove Message'
        permission
    : 'removemessage'
        command
    : '/removemessage {hash} {channel}'
        slot
    : 7

    guiicon
    : '&c.'
    guitext
    : '&cOpen Moderation GUI'
    guirows
    : 1

    # All clickable URL's will be underlined if set to true
    underlineurls
    : true

    # broadcast information
    broadcast
    :
      color
    : red
      permissions
    : venturechat.adminchannel
      displaytag
    : '[Broadcast]'

    # Use $ to include arguments into the message
    # Valid component types are:
    # Command: Sends a message or command in chat
    # Message: Sends a message to the player
    # Broadcast: Sends a broadcast to all players on the server
    # Permissions automatically include "venturechat."
    # Example: permissions: alert equals venturechat.alert
    # Use None for no permissions
    # The number of arguments is the minimum number of required arguments, use 0 for no required arguments
    alias
    :
      vote
    :
        arguments
    : 0
        permissions
    : None
        components
    :
        - 'Message
    : &6Vote here: www.votelinkhere.com'
      bane
    :
        arguments
    : 2
        permissions
    : bane
        components
    :
        - 'Command
    : /ban $ appeal at www.site.com'
        - 'Command
    : /st banned $'
      alert
    :
        arguments
    : 1
        permissions
    : alert
        components
    :
        - 'Broadcast
    : &c<Alert> $'
      donate
    :
        arguments
    : 0
        permissions
    : None
        components
    :
        - 'Message
    : &bDonate here: www.mywebsite.com'
      website
    :
        arguments
    : 0
        permissions
    : None
        components
    :
        - 'Message
    : &aThis is our website: www.site.net'
      tell
    :
        arguments
    : 0
        permissions
    : None
        components
    :
        - 'Command
    : /vtell$'
      whisper
    :
        arguments
    : 0
        permissions
    : None
        components
    :
        - 'Command
    : /vwhisper$'
      w
    :
        arguments
    : 0
        permissions
    : None
        components
    :
        - 'Command
    : /vwhisper$'
      msg
    :
        arguments
    : 0
        permissions
    : None
        components
    :
        - 'Command
    : /vmessage$'
      message
    :
        arguments
    : 0
        permissions
    : None
        components
    :
        - 'Command
    : /vmessage$'
      pm
    :
        arguments
    : 0
        permissions
    : None
        components
    :
        - 'Command
    : /vmessage$'
      r
    :
        arguments
    : 0
        permissons
    : None
        components
    :
        - 'Command
    : /reply $'

    # Valid modes are:
    # * Everyone
    # v Voice and up
    # h HalfOp and up
    # q Owner
    # o Op and up
    # Enter components like console commands
    # Arguments are accepted
    irc
    :
      enabled
    : false
      nick
    : 'VentureChatBot'
      login
    : 'VentureChatbot'
      server
    : 'irc.freenode.net'
      port
    : 6667
      channel
    : '#venturechat'
      trustallcertificates
    : true
      # the delay before the bot logs into the channel in seconds
      # increase the time if the bot fails to login
      channeldelay
    : 60
      commands
    :
        mute
    :
          mode
    : 'v'
          components
    :
         - 'mute'
        ban
    :
          mode
    : 'o'
          components
    :
         - 'ban'
        kick
    :
          mode
    : 'v'
          components
    :
         - 'kick'

    # Enables the creation of special Towny channels: Town and Nation
    # To create these channels, simply name two channels below "Town" and "Nation"
    # Bungeecord must be set to false for these channels!
    enable_towny_channel
    : false

    # Enables the creation of a special faction only channel using the Factions plugin
    # To create this channel, simply name a channel below "Faction"
    # Bungeecord must be set to false for this channel!
    # WARNING: May not work for all versions of Factions!
    enable_factions_channel
    : false

    # color = [channel] color
    # chatcolor = text color
    # cooldown is in seconds
    # bungeecord overrides distance
    # channel permissions are configurable
    # channels can be changed, and new channels can be created
    # Permissions automatically include "venturechat."
    # Example: permissions: staff equals venturechat.staff
    # Use None for no permissions

    # Use PlaceholderAPI placeholders please!!!
    # Use PlaceholderAPI placeholders please!!!
    # Use PlaceholderAPI placeholders please!!!
    # Legacy Placeholders:
    # {name} : player name
    # {nickname} : player nickname or name if they have no nickname
    # {prefix} : player prefix and color
    # {suffix} : player suffix and color
    # Use '' or "" around format, example: '[&2global&f] {prefix}{name}&2:'
    # You must have prefixes and suffixes set in a Vault compatible permissions plugin to avoid errors
    # Use "" as the prefix or suffix to have none
    # use Default for the basic formatting
    channels
    :
      Global
    :
        color
    : dark_green
        chatcolor
    : None
        mutable
    : true
        filter
    : false
        autojoin
    : true
        default
    : true
        distance
    : 0
        cooldown
    : 0
        bungeecord
    : true
        alias
    : g
        permissions
    : None
        format
    : '&f[&2G&f] {vault_prefix}{player_displayname}&r:'
        irc
    : false
      Staff
    :
        color
    : red
        chatcolor
    : red
        mutable
    : false
        filter
    : false
        autojoin
    : true
        default
    : false
        distance
    : 0
        cooldown
    : 0
        bungeecord
    : true
        alias
    : st
        permissions
    : staffchannel
        format
    : '&f[&aStaff&f] {vault_prefix}{player_displayname}&r:'
        irc
    : false
      Nearby
    :
        color
    : gray
        chatcolor
    : gray
        mutable
    : false
        filter
    : false
        autojoin
    : true
        default
    : false
        distance
    : 10
        cooldown
    : 0
        bungeecord
    : false
        alias
    : n
        permissions
    : None
        format
    : '&f[&7Nearby&f] {vault_prefix}{player_displayname}&r:'
        irc
    : false
     
    PLUGINS
    upload_2020-10-7_17-19-59.png
     
  4. Is it possible to use displaynames/nicknames in login messages? I've only gotten {player} to parse. Everything I've tested is in the spoiler below.
    ...
    login:
    enabled: true
    message: 'Welcome to Orthoclase {venturechat_nickname} {name} %venturechat_nickname% {displayname} {player_displayname} {nick} {nickname} {player_name} {name} {player_nick} {player}'
    ...
     
  5. @dylanu You have an out of date base config. You're missing new additions, such as the new 'speak_permissions' attribute for a channel. (that in particular won't cause an issue, but other missing entries can)

    Your JSON format section does not follow proper YAML formatting. Empty quotes should be used to designate blank. not just leaving the entire line empty after the colon. Empty arrays are denoted with square brackets []. And the click action shouldn't be blank. Any of the three possible actions should still be entered (suggest command, run command, or open url)

    That's as much as I can tell you. That particular error is directly caused by user inputted values in the config. It is not a fault of the plugin.
    Try using a freshly generated config and make sure you have the most up to date settings.

    @MissPotato Other plugins already offer that feature. DeluxeJoin is the one I recommend. Works perfectly alongside VentureChat.
     
    • Like Like x 1
  6. Yes Aust1n46, single discordSRV in a bungeecord network, linking two paper servers together
     
  7. @VladKristal So what exactly is the problem...? It's formatted exactly as you typed it... Unless you mean the brackets... color codes are not placeholders, and do not need brackets.

    @chrissamael Hmm interesting. Not of lot of people ended up using that feature because it requires there to always be at least one player connected to the server that has DiscordSRV on it. (technical limitation of the way data is transferred via BungeeCord)

    I can take a look and try and reproduce the issue and fix it. If you're already created your own builds, you can just continue using them.

    Or you could have DiscordSRV installed on each server, but then you'd need to have a separate bot for each server. (Most common setup)
     
  8. A few minor bugs
    1) When running the /mute command it allows you to tab input things like 1w, however these don't work and just result in an error "Invalid time:"
    2) Nation chat doesn't check to see if the user is part of a nation and will put them in a weird channel. I'm assuming it's basically just global 2 but no other players are available to test.
    3) {venturechat_channel_color} seems to only return F and when used with & before it doesn't parse.

    I really like the things you can do with this plugin! Thank you for making it.
     
  9. Can I chat with each other privately in bungee?
     
  10. Is there a way to include "á/é/í/ó/ú" in the channel name? I know that I can put them in `format` but I use the Placeholders of the Channel_name to show what channel is the Player, and looks horrible without the ´ :(
     
  11. Hello - I just logged into my MySQL database and noticed that the size of the VentureChat table was 159GiB. What data is stored in this table, and how can I access it? Want to make sure there's nothing potentially important in there before I drop it. Thanks!
     
  12. @MissPotato Mute time is always in minutes. VentureChat provides no such tab completion.

    Anyone can join the town and nation channels. If they don't have a town or nation, they won't be able to chat with anyone.

    The VentureChat specific placeholders never got updated because there's some technical limitations. But I can see if I can fix them back to how they performed before.

    @botany111 If you enable BungeeCord messaging, you will be able to. Enable it on each server.

    @Fakon2009 You can use any characters in the channel name itself. The placeholder returns the channel name not the format.

    @HyperKids It's a chat log. And you can query it like any sql database. Or view it in a tool like MySQL Workbench. You can delete it if you want, the plugins data is stored in the Players.yml file.
     
  13. @Aust1n46 I wonder what's causing the tab complete issue then, I'm assuming a plugin conflict then. As for placeholders, not the big of a deal I just used the equivalent & format instead.
     
  14. @MissPotato Probably Essentials or other plugin with a mute command that has a lower priority. Tab completion is overwritten as a packet if I'm not mistaken, so another plugin can set custom tab completion values separately from my handling of the command itself.
     
    • Useful Useful x 1
  15. Hey there, I was wondering, does venture chat supports RedisBungee? So is possible to use it on a multiple bungee setup?
     
  16. @phobetor VentureChat natively supports multiple BungeeCord proxies. The only caveat is that you need at least one player connected to each of the proxies for the data to be delivered. But that shouldn't be an issue if you have a player base that is so large you actually need multiple proxies.
     
  17. Well, how do I set it up? Becuase we tested it and it didn't work
     
    #8338 phobetor, Oct 13, 2020
    Last edited: Oct 13, 2020
  18. @phobetor Place the jar in the plugins folder of each server and each proxy. Like I said above, you need to have at least one player connected to each proxy in order for data to be properly transmitted. (It's actually more forgiving and technical to explain than that) Should never be a problem on a network with a player count that actually warrants having two proxies.
     
  19. I need some help with creating Towny channels.
    I've tried to make channels named "Town" and "Nations" as stated in the defaultconfig as instructions but that didn't work.
    It just became a channel like Global Chat.

    Could you please help guide me through how to create Towny Channels?