The NEW Modrinth Technologies™ website BETA is now live!!Learn moreTry it out
InteractiveChat

InteractiveChat

Chat enchancing plugin to work on top of your chat formatting plugins, adding functionalities such as sharing items and inventories to chat, and creation of custom chat placeholders!

Server Social

266 downloads
9 followers
Created4 months ago
Updated12 days ago

External resources



Project members

LOOHP

Owner


Technical information

License
GPL-3.0-only
Project ID

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!


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!


Features

Video by Server.pro featuring an outdated 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)

^ 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

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


3. Interactive Player Names

  • Replace all player names that appear in the chat with interactive content, such as hover messages and click actions! (Supports [URL='https://www.spigotmc.org/resources/essentialsx.9089/']Essentials [/URL]Nicknames! You can create an addon through the API if you need support for your own nicknaming plugins.)

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!)

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!

&x&f&f&f&f&f&f

or

[color=#123456]

or

&#fe34d5

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 chat messages from other plugins.

[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 into 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)

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

Jenkins

Showcase Server

Want to give the plugin a try?

IP: mc.loohpjames.com

Commands

Minecraft Server (Spigot, Paper 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

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
  interactivechat.bedrock.events:
    description: Allow floodgate geyser bedrock players to access chat events menu
    default: true

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

Registering your own nicknames with InteractiveChat
Please take a look at this page: https://github.com/LOOHP/InteractiveChat/wiki/Registering-your-own-nickname-provider

Default Config

Config in the Latest Version with Descriptions

Data usage

Usage statistics at https://bstats.org/plugin/bukkit/InteractiveChat will be visible to the public with your server included in the statistics. No private information of your server is sent.
Update checking is also done via https://api.loohpjames.com to notify you whenever a new version is released. No private information of your server is sent.