InteractiveChat | Supports Bungeecord! | Custom Keywords | Items + Inventories in Chat | RGB + Fonts 3.2.10

A plugin to work on top of your chat formatting plugins through modifying packets!

  1. LOOHP
    Native Minecraft Version:
    1.16
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    Source Code:
    https://github.com/LOOHP/InteractiveChat
    Contributors:
    Henry (Resource Icon)
    Languages Supported:
    EVERYTHING is translatable. Default language: English (en-US)
    By the way! Check out my server at play.sunknights.fun!

    [​IMG] Consider donating!
    It helps me keep on supporting my plugins while keeping them free! DM me and I'll put your name here! Click me!


    Thank you for your donation to support me on my journey on coding plugins! (If you want your name shown as well, send me a message!)
    $25 - QR

    [​IMG]
    Join the discord server here!

    [​IMG]

    [​IMG] Using DiscordSRV?
    Check out this addon which lets you show placeholders and show inventories on discord!
    You can also have
    images sent from discord previewed on maps and have attachments beautified into clickable and hoverable text in-game!

    InteractiveChat DiscordSRV Addon
    Features
    1. Translate InteractiveChat Placeholders on Discord
    [​IMG]


    2. Display Item / Inventory / EnderChest contents on Discord
    [​IMG] [​IMG] [​IMG]

    Included in the generated inventory display:

    - Inventory Background
    - Item Image
    - Durability Indicator
    - Item Amount
    - Banner Pattern
    - Decorated Shield Banner Pattern
    - Enchantment Effect
    - Dyed Leather Armor Color
    - Broken Elytra Texture

    Included in the generated item display:
    - Item Image
    - Item Amount
    - Item Type / Display Name
    - Item Lore
    - Item Potion Effects
    - Item Enchantments
    - Dyed Leather Armor RGB Color
    - Unbreakable
    - Filled Map Contents (Including Markings)
    - Filled Map Data
    - Container Contents Image (E.g. Shulker Box Contents)

    If I missed any, send me a message!

    3. Preview Images from Discord on Maps (Works with jpg, png and gif)
    [​IMG]

    Yes! Gif will be animated up to 20 frames per second.

    Do not worry! You cannot actually get the map as an item nor will your original item in hand be overridden, so it is survival server friendly.

    4. Convert Attachments from Discord into Pretty Clickable and Hoverable Messages
    [​IMG]

    The formatting can be altered in the config to suit your liking!

    About

    The chat is great, players can socialize with each other. But here's the thing, why not make it even more interact-able?
    With this plugin, you will be able to show your item in hand, inventory content and ender chest content with your friends! Even across servers in your global bungeecord chat!

    This plugin also allows you to create your own interactive keywords for your players to use in chat!


    InteractiveChat is designed to work on top of your existing chat formatting plugin, not as a replacement!

    Features

    Video by Server.pro


    There are 7 main features in this plugin:
    1. ItemDisplay Functions
    - Type [item] in chat to show off the item in your hand!
    - Type [inv] in chat to show off your inventory
    - Type [ender] and you guessed it! Show your ender chest!
    (Each of them can be toggled in the config as well as changing their keyword)
    [​IMG]


    [​IMG]


    2. Custom Interactive Chat Keywords
    - You can create whatever placeholder you want and have them replace keywords in the chat

    - Or simply just add a hover message as well as click actions to keywords
    - Or both!
    - Supports multiple lines of hover text

    v [money] is one of the default example custom interactive keyword

    [​IMG]


    3. Interactive Player Name
    - Replace all player names that appear in the chat with interactive content, such as hover messages and click actions!
    (Supports Essentials Nicknames!)

    [​IMG]


    4. Player Mentioning
    - If a player's name is mentioned by another player, they will be notified with a sound and a title message!
    (Togglable in the config of course!)
    [​IMG]


    5. Bungeecord Support! Everything works across your network!
    If you use chat managing plugins that support bungeecord, you can enable bungeecord mode by install the plugin on spigot and bungeecord and having the bungeecord option enabled in the config on all spigot servers!

    With bungeecord enabled, all placeholders, including [item], [inv] etc. and custom ones will work arcoss servers. Mentioning and everything else will also work between servers!


    6. Easy RGB and Font[1.16 or above]
    You can use RGB code in any part of the config that support colors! You can even use them in chat!
    Code (Text):
    &x&f&f&f&f&f&f
    or
    Code (Text):
    [color=#ffffff]
    If you have a custom resource pack that has different fonts, you can even use them like color codes! Works with any messages in the chat, even ones from other plugins.
    Code (Text):
    [font=myawesomefont]

    7. Languages!
    And of course! You will be able to modify all the messages that are sent to players to suit your server as well!
    Item material names will be automatically translated to each user's client language!


    The plugin changes messages on a packet level, so it should work on top of other chat plugins (that doesn't also do this).

    Dependencies(These dependencies are not required on Bungeecord)
    - ProtocolLib (Please install the latest version that is compatible for your server version)
    - PlaceholderAPI
    - Vault


    Installation
    1. Put InteractiveChat.jar into the plugins folder along with the required dependencies
    (If you plan to use the plugin with bungeecord, install the plugin on bungeecord as well and enable the bungeecord option in the interactivechat config on ALL spigot servers, no dependencies are required on bungeecord, and yes, just use the same jar)
    2. Start the server
    3. Edit the config (if you need to)
    4. Restart the server (if you changed something in the config in step 3)

    Development Builds
    [​IMG]

    Jenkins

    Commands
    /interactivechat reload - Reloads the plugin (or /ic reload)
    /interactivechat update - Check for updates (or /ic update)
    /interactivechat list - List all placeholders you can use (or /ic list)

    Q&A
    My placeholders don't work! They show as something like %player_name%! What do I do?

    PlaceholderAPI requires you to download expansions in order to function, you can take a look at the different expansions and their placeholders here (click me).
    For example, if you want %player_name% to work:
    1. run /papi ecloud download player
    2. run /papi reload

    My players get kicked for "You are sending too many packets!", what should I do?
    The kick message: You are sending too many packets! probably comes from ViaVersion.
    Try increasing or disabling the GLOBAL PACKET LIMITER in the ViaVersion config [Both in bungeecord (if you've installed it one that) and spigot]

    Error while starting up / when a player uses [item] / when a player mentions another player, the error log has something like "invalid enum" or invalid sounds / material / itemstack, what do I do?
    Chances are, you used an invalid sound / itemstack (material) name in the config. You can refer to these lists below:
    Sounds: 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, Latest
    Materials: 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, Latest

    Permissions
    Code (YAML):
     interactivechat.reload:
        description
    : Allows you to reload the plugin
        default
    : op
      interactivechat.backendinfo
    :
        description
    : Allows you check the status of backend servers on bungeecord
        default
    : op
      interactivechat.cooldown.bypass
    :
        description
    : Allows you to bypass cooldown
        default
    : op
      interactivechat.module.item
    :
        description
    : Allows you to use the item placeholder
        default
    : true
      interactivechat.module.inventory
    :
        description
    : Allows you to use the inventory placeholder
        default
    : true
      interactivechat.module.enderchest
    :
        description
    : Allows you to use the ender chest placeholder
        default
    : true
      interactivechat.module.custom
    :
        description
    : Allows you to use custom placeholders in chat
        default
    : true
      interactivechat.mention.player
    :
        description
    : Allows you to mention others
        default
    : true
      interactivechat.mention.toggle
    :
        description
    : Allows you to toggle your own mentions
        default
    : true
      interactivechat.mention.toggle.others
    :
        description
    : Allows you to toggle mentions of other players
        default
    : op
      interactivechat.list
    :
        description
    : List all placeholder which you have permission to
        default
    : true
      interactivechat.list.all
    :
        description
    : List all placeholder
        default
    : op
      interactivechat.chatcolor.translate
    :
        description
    : Allows you to use alternate color code
        default
    : true
      interactivechat.customfont.translate
    :
        description
    : Allows you to use font formatting code
        default
    : true
      interactivechat.update
    :
        description
    : Allows you to recieve update notifications
        default
    : op

    API
    InteractiveChat does provide an API for developers to customize or use its functions
    https://github.com/LOOHP/InteractiveChat/tree/master/src/main/java/com/loohp/interactivechat/API

    More descriptions are provided through this link

    Here is an example of getting whether a certain placeholder is under cooldown for a specific player

    Code (Java):
    public void simpleMethod(Player player) {
        if (InteractiveChatAPI.isPlaceholderOnCooldown(player, "[item]")) {
            player.sendMessage("You are on cooldown!");
        } else {
            player.sendMessage("You are not on cooldown!");
        }
    }

    Here is a simple EventHandler to change the title message of the mention ping
    Code (Java):
    @EventHandler
    public void onMention(PlayerMentionPlayerEvent event) {
        String sender = event.getSender().getName();
        String newTitle = ChatColor.RED + sender + " PINGED YOU";
        event.setTitle(newTitle);
    }

    Default Config
    Config for the Latest Version of Minecraft with Descriptions (Yours might be different if you are running older versions of Minecraft)


    [​IMG] [​IMG]

    Report problems in the discussion, not in a review. Thanks :)

Recent Reviews

  1. DizzyHD
    DizzyHD
    5/5,
    Version: 3.2.9
    Great plugin! My server has become more spectacular! Great, thank you! A,+ A+, A+ and A+!
    1. LOOHP
      Author's Response
      Thank you!!!!
  2. Corbi123
    Corbi123
    5/5,
    Version: 3.2.9
    Tôi cần tác giả giúp tôi fix lỗi màu của item
    "color":"gray","bold":true,"strikethrough":true}]}
  3. gooroooo
    gooroooo
    5/5,
    Version: 3.2.9
    Great plugin and all just having a issue with discordsrv
    https://gyazo.com/3f20adbfe39b6637e73c74311faad49e
    Was wondering if you could let me know whys thats happening
    -The bots has admin
    Add me if you want it easier to talk S1iceAbleZues#5041
    Thanks I hope you respond
    1. LOOHP
      Author's Response
      Thank you!
      But I don't think I can tell what is the problem with that single image, feel free to contact me in the discussions!
  4. CaitlinOgden
    CaitlinOgden
    5/5,
    Version: 3.2.9
    Excellent Plugin Would 100% Recommend
    but maybe add an import from deluxechat feature?
    1. LOOHP
      Author's Response
      Thank you very much!
      What exactly needs to be imported from deluxe chat?
  5. reniferek333
    reniferek333
    4/5,
    Version: 3.2.9
    1. LOOHP
      Author's Response
      Please read the Q&A section on the resource page.
  6. Venjox
    Venjox
    1/5,
    Version: 3.2.9
    31.01 13:51:05 [Server] INFO [InteractiveChat] Cancelled a chat packet bounded to Venjox that is 32278 characters long (Longer than maximum allowed in a chat packet) [THIS IS NOT A BUG]

    Good Plugin but.. with it i can't use World Guard cuz of that Issue.. Is there a way to fix it?
    1. LOOHP
      Author's Response
      Consider discussing it somewhere else other than the review section.
  7. Nyukey
    Nyukey
    5/5,
    Version: 3.2.9
    [15:59:28 WARN]: [InteractiveChat] Plugin InteractiveChat v3.2.9.0 generated an exception while executing task 12606
    java.lang.NullPointerException: Cannot invoke "com.loohp.interactivechat.Data.PlayerDataManager$PlayerData.saveConfig()" because "pd" is null
    at com.loohp.interactivechat.Data.PlayerDataManager.lambda$onLeave$2(PlayerDataManager.java:135) ~[?:?]
    at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:99) ~[patched_1.16.4.jar:git-Paper-397]
    at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.16.4.jar:git-Paper-397]
    at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.16.4.jar:git-Paper-397]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) [?:?]
    at java.lang.Thread.run(Thread.java:832) [?:?]
  8. TORPADREKER
    TORPADREKER
    5/5,
    Version: 3.2.8
    A very practical and amazing plugin! Works flawlessly and perfectly without any problems!
    1. LOOHP
      Author's Response
      Thank you!
  9. Pulsi_
    Pulsi_
    5/5,
    Version: 3.2.7
    Its perfect everything, no bugs an super easy, but can you make the Color of the Ping visible for all players? and not only for the Player tagged? Thanks!
    1. LOOHP
      Author's Response
      Thank you! What do you mean by the "Color of the Ping" ? Feel free to elaborate through the discussions.
  10. BecauseNyx
    BecauseNyx
    5/5,
    Version: 3.2.6
    great plugin that adds fun and helpful tags, and the dev is quick to address any minor issue <3
    1. LOOHP
      Author's Response
      Thank you!