- Native Minecraft Version:
- Legacy (< 1.13)
- Tested Minecraft Versions:
- 1.7
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- 1.17
- 1.18
- 1.19
- Source Code:
- https://github.com/dadus33-plugins/ChatItem
- Contributors:
- Dadus33 (Original Dev), DarkSeraphim (Translator class)
- Donation Link:
- https://paypal.me/Arpet
Originally created by dadus33.
Ever wanted to allow your players to show their items in chat, just to be sure they really have the item they want to sell to you? Well, this plugin does just that.
It's a lightweight plugin that works with ALL chat formatting plugins, including Essentials, Factions, DeluxeChat and ANY OTHER PLUGIN you can think of. It also supports offering in depth info about the item, just like you'd hover your cursor over the real item in your inventory. All you have to do is type your message while having the item you want to show in your hand, and using the configured placeholder.
Servers using this:
Videos:
- og-network.net
- play.ArcadianMC.com
- LionCraftSB.mygs.co
- Invictus.cubed.pro
- Play.pinoylifecraft.com
- hub.psychocraft.net
- sv.minels.com
- mc.bacher.se
- 1moreblock.com
- play.horum.net
- avroxia.mc.gg
- daylight.fun
- play.ultimamc.tk
- Want your server here? Just tell me
(maybe some of them have remove the plugin. It's an old list)
Current features
By NumeroUno (slightly outdated)
Known issues
- Support for all plugins!
- 1.7 to 1.19 minecraft versions are supported!
- Cross-Version support: for servers using ViaVersion or ProtocolSupport
- Permission support
- Custom item name and amount format changeable in config
- Multiple placeholders
- Efficient event processing in an async thread
- Extensive configuration options
- Reload command
- 100% customizable messages
- Translation option for adding custom translations to material names
- If you're using NoCheatPlus, you'll have to disable it's ColorHack check. This might also apply to other anti-cheat plugins. (*Can be removed, we have to check for v2)
Dependencies
2.0 and newer :
- No required dependency
- Supported plugin: LanguageUtils, ViaVersion, ProtocolSupport & ProtocolLib.
2.0 (only) :
- No required dependency
- Supported plugin: LanguageUtils.
1.4 (only):
- No required dependency
- Supported plugin: ViaVersion & ProtocolSupport.
1.3.6.4 and lower :
- Require ProtocolLib (v4.5.0 or lower)
- Supported plugin: ViaVersion & ProtocolSupport.
Permissions
- chatitem.reload -- allows you to reload the config
- chatitem.use -- allows your messages to be parsed by the plugin
- chatitem.ignore-cooldown -- allows you to bypass the message cooldown (if enabled)
Commands and config
- /cireload - reloads the plugin
- Want more commands? Ask for them in the plugin thread or on Discord!
For default config, it's here.
Example:
- Listings of entire inventories by clicking on a chat button (opens a virtual inventory which displays the items in that inventory)
and...
For the ChatItem dependency, you have to use jitpack :
Then:Code (Text):<repositories>
...
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
...
</repositories>
Alternatively, if you are not using Maven, you can download the plugin itself and add it to your build path.Code (Text):<dependency>
<groupId>com.github.dadus33-plugins</groupId>
<artifactId>ChatItem</artifactId>
<version>v2-SNAPSHOT</version><!-- v2 is the branch, you can use release -->
</dependency>
The JavaDocs should be automatically read by your IDE when using Maven, but they can also be manually added by downloading the Javadoc jars from the repository.Other than that, I will look into and hopefully solve any bugs or issues you might find, but only if you:
- The translations feature doesn't currently work properly in newer versions of Minecraft. That is because a lot of data values have changed and they will be fully replaced in the 1.13 update with item meta data. The next version of the plugin, 1.3.7, will feature a fully working translation feature adapted for 1.13 and a fallback system which should display the name of the item exactly as shown in the client's language.
- DON'T post it in the reviews section
- Post it instead in the Discussion thread, GitHub issues page, or on the Discord server.
The idea of the plugin is rather simple, but it's implementation is much more complicated. In short, all it does is that it intercepts outgoing server packets (that's why it needs ProtocolLib) and scans them for the placeholders needed. Then, the messages (in JSON format) are parsed by a nice JSON parser I made, and the replacements for the placeholders (the things for the item format you set in the config) are then added after being translated to valid JSON (using a modified version of @DarkSeraphim's JsonUtils class), along with the things that make the item actually display when you hover your mouse over it's placeholder. As the plugin is directly editing outgoing JSON chat packets, it's 100% guaranteed that it won't interfere at all with the chat format, leaving you to use whatever chat plugin you need, without any kind of interaction with mine!

ChatItem - Display items in chat! 2.4.1
Display items in chat! Hover over them to see info and name. Supports ALL chat formatting plugins.
-
Tubmaster3, ChristImjesus, Fuknubu0 and 19 others like this.
Recent Updates
- Several fix and quick changes Jun 14, 2022
- 1.19 support and fixes ! Jun 12, 2022
- EcoEnchants support and fixes May 11, 2022
Recent Reviews
-
Bergersome
- 5/5,
Dev is brilliant. Went as far as to update the plugin to allow Luckyperms coloured prefixes, Essentials names with Hex colour and formatting. <3
-
HipsterNinja17
- 5/5,
amazing, simple, lightweight plugin. works really well and is easy to set up. i had an issue so i hopped in the dev's discord and he helped me instantly figure it out!
-
Author's Response
Hi, thanks for your review ! I'm happy to see that you like my plugin :)
-
HozaAlexandru
- 5/5,
The dev is the best person i ever meet...he uploaded 4 new versions in one day just to help me fixing my problem...i recommend this plugin with my heart...
-
Author's Response
Thanks for your review <3
-
Staraptor0
- 5/5,
This developer knows what they're doing with NMS, Packets, Libraries, Shading jars, etc. Could use some more customization in regard to how the name of the item appears in chat. I have nothing to complain about when this is a free resource and it's just as good as some premium plugins out there. 10/10
-
Author's Response
Thanks, I'm very happy to read your comment ! Yes, I'm doing my best to fix everything !
-
Tekhen
- 5/5,
........................................................................................
-
BierfietsNL
- 5/5,
Works perfectly on PaperSpigot 1.17.1 - thank you very much!
Really fun and usefull plugin for a Survival Economy server :)-
Author's Response
Hi,
Thanks for your review ! I'm happy to see that you like my plugin !
-
Proomp
- 1/5,
Server ver: 1.8.8
Not working!
[08:42:30 ERROR]: [ChatItem] Unhandled exception occured in onPacketSending(PacketEvent) for ChatItem
java.lang.NoSuchMethodError: com.comphenix.protocol.events.PacketContainer.hasMetadata(Ljava/lang/String;)Z
at me.dadus33.chatitem.listeners.ChatPacketListener.onPacketSending(ChatPacketListener.java:97) ~[ChatItem-1.3.6.4.jar:?]
at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:535) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:516) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:346) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:308) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:433) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.netty.ChannelInjector.access$800(ChannelInjector.java:70) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.netty.ChannelInjector$3.handleScheduled(ChannelInjector.java:373) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.netty.ChannelInjector$3.onMessageScheduled(ChannelInjector.java:343) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) [ProtocolLib.jar:4.7.0]
at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) [ProtocolLib.jar:4.7.0]
at net.minecraft.server.v1_8_R3.NetworkManager.a(NetworkManager.java:192) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.NetworkManager.handle(NetworkManager.java:141) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.PlayerConnection.sendPacket(PlayerConnection.java:911) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.sendRawMessage(CraftPlayer.java:150) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer.sendMessage(CraftPlayer.java:157) [patched.jar:git-PaperSpigot-"4c7641d"]
at com.earth2me.essentials.User.sendMessage(User.java:887) [EssentialsX-2.18.2.0.jar:?]
at com.earth2me.essentials.commands.Commandgamemode.run(Commandgamemode.java:65) [EssentialsX-2.18.2.0.jar:?]
at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:197) [EssentialsX-2.18.2.0.jar:?]
at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:660) [EssentialsX-2.18.2.0.jar:?]
at com.earth2me.essentials.Essentials.onCommand(Essentials.java:570) [EssentialsX-2.18.2.0.jar:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:146) [patched.jar:git-PaperSpigot-"4c7641d"]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:666) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1189) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1001) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [patched.jar:git-PaperSpigot-"4c7641d"]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_301]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_301]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:774) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:378) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:713) [patched.jar:git-PaperSpigot-"4c7641d"]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:616) [patched.jar:git-PaperSpigot-"4c7641d"]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_301]
[08:42:31 ERROR]: Parameters:
[email protected][
a=TextComponent{text='', siblings=[TextComponent{text='Oyun modu', siblings=[], style=Style{hasParent=true, color=┬ğ6, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}, TextComponent{text=' yarat─▒c─▒ ', siblings=[], style=Style{hasParent=true, color=┬ğc, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}, TextComponent{text='olarak ', siblings=[], style=Style{hasParent=true, color=┬ğ6, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}, TextComponent{text='Proomp', siblings=[], style=Style{hasParent=true, color=┬ğc, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}, TextComponent{text=' adl─▒ oyuncu i├ğin de─şi┼ştirildi.', siblings=[], style=Style{hasParent=true, color=┬ğ6, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}
components=<null>
b=1
] -
daadssf121
- 4/5,
Its great plugin, but not updated.
Please update to new versions and fix remaining bugs. -
Xyio24
- 4/5,
does not work in my server (1.16.5). Its keep sayying "[20:09:49 ERROR]: [ChatItem] Unhandled exception occured in onPacketSending(PacketEvent) for ChatItem" in console. pls FIX this
-
iCaitlyn
- 2/5,
Does not work on versions 1.15 and up. For users seeking a plugin with the same or more amount of features, try https://www.spigotmc.org/resources/chatitemdisplay.77177/