Adding functionalities such as sharing items and inventories to chat, and creation of custom chat placeholders!
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)
https://youtu.be/rNMCGzPJhyw
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)
- ProtocolLib (Please install the latest version that is compatible with your server version)
- PlaceholderAPI
- Vault
Installation
- 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)
- Start the server
- Edit the config (if you need to)
- Restart the server (if you changed something in the config in step 3)
Development Builds
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:
- run /papi ecloud download player
- 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.