InteractiveChat | Show Items / Inventory in Chat | Custom Chat Keywords | Bungee & Velocity Support 4.0.3

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

  1. LOOHP
    Native Minecraft Version:
    1.17
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    • 1.17
    Source Code:
    https://github.com/LOOHP/InteractiveChat
    Contributors:
    Henry (Resource Icon)
    Languages Supported:
    EVERYTHING is translatable. Default language: English (en-US)
    [​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
    $10 - hawkfalcon
    $10 - MuriloWentz
    $5.7 - mindgam3s


    [​IMG]
    Join the discord server here!

    [​IMG]

    The plugin does not work well with ChatControlRed. I'm unable to hook into it or do further investigation as it is a paid resource.

    =================================
    [​IMG]Using DiscordSRV?

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

    =================================

    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 featuring an older version of InteractiveChat (v2)


    1. Item Display 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] [​IMG]
    ^ The two types of inventory display layout you can choose from (Layout 0 & 1)

    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 [pos] is one of the default example custom interactive keyword

    [​IMG]
    v The default custom placeholders that comes with the default config, can be removed or changed (1 - 3 are item display placeholders)
    [​IMG]

    3. Interactive Player Names
    - Replace all player names that appear in the chat with interactive content, such as hover messages and click actions!
    (Supports Essentials Nicknames! You can create an addon through the API if you need support for your own nicknaming plugins.)

    [​IMG]

    4. Player Mentioning
    - If a player's name is mentioned by another player, they will be notified with a sound and a message!
    - Notify the player with a Title/SubTitle/ActionBar/BossBar/Toast, if the version of Minecraft supports it (Each can be disabled in the config)
    (Togglable in the config of course!)
    [​IMG]

    5. Bungeecord and Velocity Supported! Everything works across your network!
    If you use chat managing plugins that support bungeecord or velocity, you can enable bungeecord mode by installing the plugin on spigot and bungeecord/velocity 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 across 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=#123456]
    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=uniform]
    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 Proxies)
    - 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 or velocity, install the plugin on bungeecord/velocity 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
    Minecraft Server (Bukkit, Spigot etc.) Commands:
    /interactivechat reload - Reloads the plugin (or /ic reload)
    /interactivechat update - Check for updates (or /ic update)
    /interactivechat chat - Send chat messages with placeholder and player name auto complete (or /ic chat)
    /interactivechat list - List all placeholders you can use (or /ic list)
    /interactivechat mentiontoggle - Toggle mentioning for yourself (or /ic mentiontoggle)
    /interactivechat setinvdisplaylayout - Set your own preferred inventory display layout (or /ic setinvdisplaylayout)


    Proxy Server (Bungeecord / Velocity) Commands:
    /interactivechatproxy backendinfo - List all InteractiveChat information of the servers in your proxy (or /icp backendinfo)

    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 setting the GLOBAL PACKET LIMITER to -1 in the ViaVersion config [Both in bungeecord/velocity (if you've installed it on that) and backend servers (e.g. spigot)]

    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.inventory.setlayout
    :
        description
    : Allows you to use set your preferred inventory display layout
        default
    : true
      interactivechat.module.inventory.setlayout.others
    :
        description
    : Allows you to use set the preferred inventory display layout of others
        default
    : op
      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.here
    :
        description
    : Allows you to mention all players in your server
        default
    : op
      interactivechat.mention.everyone
    :
        description
    : Allows you to mention everyone
        default
    : op
      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.parse
    :
        description
    : Let you try out placeholders which you have permission to
        default
    : true
      interactivechat.chat
    :
        description
    : Let you use the interactivechat chat command
        default
    : true
      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 in the Latest Version with Descriptions


    [​IMG] [​IMG]
    [​IMG]

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

Recent Reviews

  1. toxigon
    toxigon
    5/5,
    Version: 4.0.3
  2. mister_someone
    mister_someone
    1/5,
    Version: 4.0.3
    Can't download the plugin from your original website. There's no additional download link so at the moment i can't even download plugin from any source.
  3. Ingrosso
    Ingrosso
    5/5,
    Version: 4.0.3
    Very nice plugin:) Maybe only change if someone does not have the permission to access let's say, [inv], don't make them trigger the cooldown message
  4. illudota
    illudota
    5/5,
    Version: 4.0.3
    plugin's greatt, thankyou so much! oh and btw how do I disable when i hover my mouse over the player name in chat i can see his XYZ,
    do i set this to false?
    UsePlayerNameInteraction: true
    UseOnTranslatableComponents: true
  5. Proomp
    Proomp
    5/5,
    Version: 4.0.3
    Wow! Excellent plugin, thank you very much for sharing us! Awesome plugin features!
  6. roflslap
    roflslap
    5/5,
    Version: 4.0.3
    Amazing, works perfect, incredibly quick and patient support. It is so cool how much a simple chat plugin can add to gameplay. My users love it, I love it!

    If you have issues with [inv] and [ender], where it shows %player_name%, make sure you do:
    /papi ecloud download player
    /papi reload
    1. LOOHP
      Author's Response
      Thank you!
  7. balenxiaga
    balenxiaga
    1/5,
    Version: 4.0.3
    i'd rate this -1 star for not posting the correct permission for [item] ill change this once you added it to your permissions spoiler
    1. LOOHP
      Author's Response
      For any mistakes I made, please contact me on discord or in the discussions, not in a review.
      As for as I know, the permission for [item] in the permission spoiler is corect.
  8. KevinDM
    KevinDM
    5/5,
    Version: 4.0.3
    La verdad es un plugin maravilloso, al principio pensé que tenia un bug y no mostraba los colores apropiadamente en el chat... Lo recomiendo 100%
    1. LOOHP
      Author's Response
      Thank you! Glad to have assisted you!
  9. Pakho
    Pakho
    5/5,
    Version: 4.0.2
    Can you add a console to execute commands? I want players to click to get items and set cooling
    1. LOOHP
      Author's Response
      Thank you for th suggestion. I'll consider it.
  10. Thundurh
    Thundurh
    5/5,
    Version: 4.0.2
    Seriously amazing plugin. So much you can do with it!! I would pay $10 for this!
    1. LOOHP
      Author's Response
      Thank you!