ChatItemDisplay icon

ChatItemDisplay -----

Display items, Inventories, and More In Chat




Replaced "haskey" with "hasKey" this should fix the error causing 1.17 servers being unable to run the plugin. I should have fixed everything now. I hope...
----------, Dec 21, 2021

Fixed a bug where you couldn't display inventories on version 1.17.1.
----------, Dec 20, 2021

Sorry this took me so long but the newest version of Minecraft changed the mapping of the server internals quite a bit meaning I had to do a bit of rewriting. But here is ChatItemDisplay for 1.18. It seems to be working as far as I can tell during my testing. If you encounter any bugs please let me know on my discord server so that I can look into it when I get a chance.
----------, Dec 16, 2021

Displays will now be sent through packets on bungee servers. What this means is that players can now display significantly more things on bungee servers. The nbt limit for displayed items/inventories has been increased from ~32000 bytes to ~240000 bytes.
----------, Nov 7, 2021

Fixes a bug where menus would be unable to be opened.
----------, Aug 26, 2021

Fixed a bug that caused the server crashing on 1.16 servers
----------, Aug 13, 2021

  • 1.17 Support
ChatItemDisplay works in 1.17 now.
  • Memory Leak Fix
Displays now expire after 15 minutes to prevent a memory leak from storing a large number of displays on a large server. The expiration length can be adjusted in the config under the option "display-expiration". The expiration time is in seconds and defaults to 900 (15 minutes). There is no upper limit to the expiration time.
Thanks to ImIllusion for making a pull request on GitHub.
  • Minor Bug Fixes
I fixed many bugs in this update, the main ones being: Message commands now check for the required permissions and for blacklisted items, display command messages and inventory titles will now update on config reloading, the cooldown message now has colors formatted properly.

Also, 10k downloads! That's mental that there's the same amount of people who've downloaded my plugin as there is in my town.
----------, Aug 11, 2021

Fixed a bug where you couldn't display items with any dollar signs in the item name/lore.
----------, May 30, 2021

Fixed a bug that caused a ProtocolLib error when using the recipe book.
----------, May 27, 2021

Fixed a lot of bugs and changed the config around a lot. The config will now automatically reload itself if 10 minutes have passed since the data has been retrieved. (This should not be noticeable on performance as the time is only checked when retrieving data already.)

Changed the config a lot. (Sorry for the inconvenience but it was overdue.)

While the changelog isn't long, the code has changed significantly. If you find any bugs please report them on my discord.


I also would like to thank Alfan Gunawan for making a video about my plugin.
----------, May 25, 2021

Sorry this update took so long but it's out now. Thank you to everyone who still submitted bug reports on my discord.

Eliminated the need for the dev build of ProtocolLib. (I posted a fix for the adventure chat bug a while ago on my discord).

Smarter use of regex when finding displayables (Fixed a bug where if a player does "[i] [inv] [ec]" all inventory displays won't be able to be clicked.)

Removed display-in-msg-command config option as the admin can just remove all the fields in message-command

Added maximum-displays. Players will get sent the too-large-display message if it is exceeded.

Fixed Display length cap to 25000 bytes.

Fixed Server -> Bungee -> Server display sending.

Thank you all for your support and almost 5000 downloads. That's pretty nuts.
----------, Apr 4, 2021

The update downloader will now also make sure that the downloaded file is not corrupted and has all of the required data before deleting the current file.

Rewrote a lot of code meaning that devs can now add their own display types with their own triggers quickly and easily.

I am aware of a current bug where the plugin does not work on paper build 473+ and at the moment the problem falls on PaperMC and ProtocolLib.
----------, Feb 24, 2021

Fixed Item names being cut off after a color change. This bug was reported on my discord.

Fixed Book and Quills having an invalid book tag when clicking on them

Set a permission for /generatedebuglogs in the plugin.yml, this means that players without the permission will no longer be able to tab-complete the comand.

Fixed colors getting removed from /displayenderchest and /displayinventory
----------, Feb 6, 2021

Fixed a bug involving hex colors getting removed from messages.

Fixed an EventException causing nothing to be able to be displayed in chat.
----------, Feb 4, 2021

Hex colors from item names can now be displayed. Previously the color would be rounded to the nearest color. This bug was submitted to me on my discord.

Added a VERY limited API. Listen to when anything is displayed using Bukkit's event API and listening for a DisplayPreProcessEvent.
----------, Feb 2, 2021

Fixed an issue where hex colors would be replaced by the closest regular color. You can add colors to the config.yml by typing a hashtag followed by 6 numbers/letters.

This will work
"#105020"
"#a04d04"
"#Ad4F0c"

This will not work:

"a040a0a" Missing the hashtag
"zA50f0a" only letters a-f are allowed

For help creating hex colors, you can visit this website.
----------, Jan 22, 2021

Thank you, everyone, for 3000 downloads, that is incredible! This update adds more config options and permissions for display commands. This feature was requested on my discord. Below are all of the permissions and the new default config.

Code (Text):
ChatItemDisplay.* - Parent Node to all ChatItemDisplay permission nodes
ChatItemDisplay.command.*: All ChatItemDisplay Commands
ChatItemDisplay.command.debug: Generate debug logs
ChatItemDisplay.command.reload - Reload the config
ChatItemDisplay.command.display.* - All display commands
ChatItemDisplay.display.item - Display items
ChatItemDisplay.display.inventory - Display Player Inventory
ChatItemDisplay.display.enderchest - Display Enderchests
ChatItemDisplay.display.* - Display everything
ChatItemDisplay.display.item - Display items
ChatItemDisplay.display.inventory - Display Player Inventory
ChatItemDisplay.display.enderchest - Display Enderchests
ChatItemDisplay.cooldownbypass - Bypass Cooldown if set (See Config Section)
ChatItemDisplay.blacklistbypass - Display blacklisted items
 

Code (YAML):
debug-mode : false #Can possibly determine why players aren't able to display items. Will send console messages.

disable-update-checking
: false

auto-update
: true # Automatically download updates

triggers
: #These will determine when the objects are displayed, they are not case sensitive
  item
:
   - "[i]"
    - "[item]"
    - "[itemdisplay]"
    - "[displayitem]"
  inventory
:
   - "[inv]"
    - "[inventory]"
    - "[invdisplay]"
    - "[displayinv]"
  enderchest
:
   - "[ec]"
    - "[enderchest]"
    - "[displaychest]"
    - "[displayec]"


disable-gui
: false #Disable all the GUIs
display-in-msg-command
: true #It is recommended to disable this if you do not have a private message plugin
disable-commands
: false #Disable display commands
message-command
: # This allows players to display items in private messages
  - "/msg"
  - "/t"
  - "/w"
  - "/pc"
  - "/message"
  - "/tell"
  - "/whisper"
messages
:
  gui-format
: "&a%player%&a's &cDisplayed Item"
  missing-permission
: "&cYou do not have permission to do that"
  missing-permission-item
: "&cYou do not have permission to display items"
  missing-permission-inventory
: "&cYou do not have permission to display your inventory"
  missing-permission-enderchest
: "&cYou do not have permission to display your Ender Chest"
  display-too-large-item
: "&cThe item you are trying to display has too much nbt data to be displayed"
  display-too-large-inventory
: "&cThe inventory you are trying to display has too much nbt data to be displayed"
  display-too-large-enderchest
: "&cThe EnderChest you are trying to display has too much nbt data to be displayed"
  too-large-display
: "§cYour message is too long, try displaying less things"
  blacklisted-item
: "&cYou cannot display this at item as it is blacklisted"
  contains-blacklist
: "&cYou cannot display this inventory as it is contains a blacklisted item"
  player-not-displaying-anything
: "&cThat player isn't displaying anything" #when someone does /viewitem <player> and the <player> isn't displaying anything
  invalid-id
: "&cThere is nothing displayed with that id" #When someone does /viewitem <id> and the id does not exist
  cooldown
: "&cYou cannot do that right now, please wait %seconds% more seconds."
  feature-disabled
: "&cThis feature has been disabled"
  map-notification
: "&eDrop or click on the map to receive your item back"

  empty-hand
: "&cYou are not holding anything" # Sent when a player tries to display an item that does not exist
  force-item-colors
: false #Will set items with already existing colors to the item-color
  item-color
: "" #The item's color will be set to this if item colors are removed or the item has no color to begin with
  logger-lang
: "en" #The language key that the logger will be using, view the spigot page for more details.

display-messages
:
  inchat-item-format
: "&r[%item%&r]"
  inchat-item-format-multiple
: "&r[%item% x%amount%&r]" #Used when there are 1 or more items
  inchat-inventory-format
: "&r[%player%'s %type%&r]" #Type will either be "EnderChest" or "Inventory" depending on what is being displayed
  item-display-format
: "&6%player%&6 is displaying their &f%item%"
  item-display-format-multiple
: "&6%player%&6 is displaying their &f%item% x%amount%"
  inventory-display-format
: "&6%player%&6 is displaying their &f%type%"
  displayed-inventory-title
: "%player%'s Inventory"
  displayed-enderchest-title
: "%player%'s EnderChest"

use-nicks-in-display-message
: true #Will also use any custom colors. This is used in the command message

strip-nick-colors-message
: false #Removes the nick colors in the display message

use-nicks-in-gui
: true #Will also use any custom colors

strip-nick-colors-gui
: false #Removes the nick colors from the gui

send-to-bungee
: true # send displayed items/inventories to bungee


show-item-amount
: true #Will add x2 if a player is displaying 2 items
display-cooldown
: 0 #Measured in milliseconds. Use 0 for no cooldown.


blacklisted-items
: #for help visit https://minecraftitemids.com/
#- "minecraft:bedrock"[/LEFT]
 
----------, Jan 17, 2021

Displaying inventories should now work. For some reason, version 1.6.2 ran fine if I ran the server through IntelliJ, but when running on its own, it throws the error that some of you reported seeing. This is now fixed, thank you for reporting your bugs on my discord server.
----------, Jan 15, 2021

Thank you everyone for submitting bug reports on my discord.

First up are some additions to displaying inventories

[​IMG]

The cooked beef and the potion bottle now show data on the player.

[​IMG]
The steak shows current health, hunger, and enchantment levels

[​IMG]

The bottle shows current potion effects and has an extra line if the player is burning.

And to all of the non-English server owners, don't worry, this uses JSON text meaning that it will be translated according to the player's selected language in Minecraft.


Some other changes include:

Displays now use UUIDs instead of longs, which eliminates the need to try and sync ids between bungee servers, and also prevents players from "spying" on displays they weren't meant to see.

Fixed BungeeCord not loading from a class not found error.

Added more checking to message length, this means players should no longer be disconnected from long chat messages.

Thank you everyone for all of your support, suggestions, and bug requests.
----------, Jan 13, 2021

Made it say when you are missing ProtocolLib

Fixed a bug involving checking the size of enderchests and inventories when displaying items.
----------, Dec 14, 2020

I know I haven't been fast when it has come to release this update, but I want to thank everyone who was patient, reported bugs, and tested out a beta version of my plugin. (I released a beta over on my discord server). I rewrote a considerable amount of my plugin to make it easier for more to read and work with in the future.


There should no longer be errors related to log4j causing servers to crash.

I have also fixed cooldowns showing up when they shouldn't be showing up along with players are no longer able to display anything with nbt data longer than 32767 characters.

I have removed the option for playing without protocollib and using the old format. The plugin now will disable itself if protocollib isn't installed.

I have also changed the config a bit:

Code (YAML):
debug-mode : false #Can possibly determine why players aren't able to display items. Will send console messages.

disable-update-checking
: false

auto-update
: true # Automatically download updates

triggers
: #These will determine when the objects are displayed, they are not case sensitive
  item
:
   - "[i]"
    - "[item]"
    - "[itemdisplay]"
    - "[displayitem]"
  inventory
:
   - "[inv]"
    - "[inventory]"
    - "[invdisplay]"
    - "[displayinv]"
  enderchest
:
   - "[ec]"
    - "[enderchest]"
    - "[displaychest]"
    - "[displayec]"


disable-gui
: false #Disable all the GUIs
display-in-msg-command
: true #It is recommended to disable this if you do not have a private message plugin
message-command
: # This allows players to display items in private messages
  - "/msg"
  - "/t"
  - "/w"
messages
:
  gui-format
: "&a%player%&a's &cDisplayed Item"
  missing-permission
: "&cYou do not have permission to do that"
  missing-permission-item
: "&cYou do not have permission to display items"
  missing-permission-inventory
: "&cYou do not have permission to display your inventory"
  missing-permission-enderchest
: "&cYou do not have permission to display your Ender Chest"
  display-too-large-item
: "&cThe item you are trying to display has too much nbt data to be displayed"
  display-too-large-inventory
: "&cThe inventory you are trying to display has too much nbt data to be displayed"
  display-too-large-enderchest
: "&cThe EnderChest you are trying to display has too much nbt data to be displayed"
  blacklisted-item
: "&cYou cannot display this at item as it is blacklisted"
  contains-blacklist
: "&cYou cannot display this inventory as it is contains a blacklisted item"
  player-not-displaying-anything
: "&cThat player isn't displaying anything" #when someone does /viewitem <player> and the <player> isn't displaying anything
  invalid-id
: "&cThere is nothing displayed with that id" #When someone does /viewitem <id> and the id does not exist
  cooldown
: "&cYou cannot do that right now, please wait %seconds% more seconds."
  gui-disabled
: "&cThis feature has been disabled"
  map-notification
: "&eDrop or click on the map to receive your item back"

  empty-hand
: "&cYou are not holding anything" # Sent when a player tries to display an item that does not exist
  force-item-colors
: false #Will set items with already existing colors to the item-color
  item-color
: "" #The item's color will be set to this if item colors are removed or the item has no color to begin with
  logger-lang
: "en" #The language key that the logger will be using, view the spigot page for more details.

display-messages
:
  inchat-item-format
: "&r[%item%&r]"
  inchat-item-format-multiple
: "&r[%item% x%amount%&r]" #Used when there are 1 or more items
  inchat-inventory-format
: "&r[%player%'s %type%&r]" #Type will either be "EnderChest" or "Inventory" depending on what is being displayed
  item-display-format
: "&6%player%&6 is displaying their &f%item%"
  item-display-format-multiple
: "&6%player%&6 is displaying their &f%item% x%amount%"
  inventory-display-format
: "&6%player%&6 is displaying their &f%type%"
  displayed-inventory-title
: "%player%'s Inventory"
  displayed-enderchest-title
: "%player%'s EnderChest"

use-nicks-in-display-message
: true #Will also use any custom colors. This is used in the command message

strip-nick-colors-message
: false #Removes the nick colors in the display message

use-nicks-in-gui
: true #Will also use any custom colors

strip-nick-colors-gui
: false #Removes the nick colors from the gui

send-to-bungee
: true # send displayed items/inventories to bungee


show-item-amount
: true #Will add x2 if a player is displaying 2 items
display-cooldown
: 0 #Measured in milliseconds. Use 0 for no cooldown.


blacklisted-items
: #for help visit https://minecraftitemids.com/
#- "minecraft:bedrock"
 
----------, Dec 10, 2020

First off, I want to thank everyone who is in my discord reporting bugs. Most of the bugs I am completely unaware of their existence and I'm sure that other people might be experiencing the same issues. Your support encourages me to keep working on this plugin. I appreciate all your reports and criticism. And to the 2 people who are still using version 1.2.6 and version 1.2.8, I think it's about time you update.

This update fixes several bugs:

  • An error message when players are sent action bars
  • Cooldowns not working when displaying items using the commands

I'm sure I might be passing 2000 downloads soon, so I would like to thank you all in advance for all your support
----------, Oct 24, 2020

Fixes a bug involving an error with DiscordSRV
----------, Oct 22, 2020

Fixed a bug causing players to be kicked if send-to-bungee was disabled in the config.

This was reported to me by Frank42 on my discord
----------, Oct 16, 2020

Thanks for THKlasen for reporting a couple of bugs on my discord.

This fixes:

Displayed items not showing up after players put away the item, or throw it on the ground.

Being unable to open shulker boxes.

Being unable to display inventories through /msg.
----------, Oct 14, 2020

Fixes a NoClassDefFoundError when auto-downloading the newest version of ChatItemDisplay.
----------, Oct 14, 2020

First off, I'm a bit late, but I wanted to thank you all for 1,500 downloads. Your support means a lot to me.
  • Language support for DiscordSRV / Console
Items/Inventories will be translated in console to the language specified by the config option messages.logger-lang. A list of all of the available language codes and their corresponding languages will be posted to the main page shortly.

  • Fixed an error involving errors in the console.

  • Created /generatedebuglog which requires permission chatitemdisplay.reload. If you have any errors make sure to send me this file.

  • Switched to IntelliJ
This will make it a bit easier to test new features and to fix bugs.

And to the two servers who are still running version 1.2.8, consider updating.

People ask me all the time, "Bingo, how are you so cool?" and then I tell them, "I've joined the BingoRufus Plugin Help Discord, where I can report bugs, suggest features, chat, and determine what will be in the next updates." They then ask me, "Wow! How do I join that?" "By clicking on this discord link; https://discord.gg/VFZrAJ8" I reply. And then they join the discord, and they're cool, and I'm cool, and maybe you're cool. It depends on if you joined it.
----------, Oct 8, 2020

Fixed a lot of bugs involving;
Player heads.
Invalid logging levels
Players randomly sending commands
----------, Sep 11, 2020

  • Display Ids
Every displayed thing now has a display id, meaning clicking on display messages for different items will open up the GUI of that item. Also you can now display all three types in the same message and be able to open each one.

  • BungeeCord Detection
Before I was checking if the server had BungeeCord, but there were problems with that such as there had to be players on the server at the time. Now it'll just get sent to BungeeCord and if it's there, it'll do stuff.

  • Filter check fix
The way I display items in the console is through the use of a Log filter. Previously there were issues with other plugins doing stuff like this. That should all be fixed now.

You can now also privately message your items to other people. Currently, this does not work with the vanilla /msg and /t.
You can add commands/aliases to do this for in the config.
Code (YAML):
debug-mode : false #Can possibly determine why players aren't able to display items. Will send console messages.

disable-update-checking
: false

auto-update
: true # Automatically download updates

triggers
: #These will determine when the objects are displayed, they are not case sensitive
  item
:
 - "[i]"
  - "[item]"
  - "[itemdisplay]"
  - "[displayitem]"
  inventory
:
 - "[inv]"
  - "[inventory]"
  - "[invdisplay]"
  - "[displayinv]"
  enderchest
:
 - "[ec]"
  - "[enderchest]"
  - "[displaychest]"
  - "[displayec]"


disable-gui
: false #Disable all the GUIs
message-command
: # This allows players to display items in private messages
- "/msg"
- "/t"
- "/w"
messages
:
  gui-format
: "&a%player%&a's &cDisplayed Item"
  missing-permission
: "&cYou do not have permission to do that"
  missing-permission-item
: "&cYou do not have permission to display items"
  missing-permission-inventory
: "&cYou do not have permission to display your inventory"
  missing-permission-enderchest
: "&cYou do not have permission to display your Ender Chest"
  black-listed-item
: "&cYou cannot display this at item as it is blacklisted"
  player-not-displaying-anything
: "&cThat player isn't displaying anything" #when someone does /viewitem <player> and the <player> isn't displaying anything
  invalid-id
: "&cThere is nothing displayed with that id" #When someone does /viewitem <id> and the id does not exist
  cooldown
: "&cYou cannot do that right now, please wait %seconds% more seconds."
  gui-disabled
: "&cThis feature has been disabled"
  map-notification
: "&eDrop or click on the map to receive your item back"
  not-holding-anything
: "&cYou are not holding anything"
  force-item-colors
: false #Will set items with already existing colors to the item-color
  item-color
: "" #The item's color will be set to this if item colors are removed or the item has no color to begin with

display-messages
:
  inchat-item-format
: "&r[%item%&r]"
  inchat-item-format-multiple
: "&r[%item% x%amount%&r]" #Used when there are 1 or more items
  inchat-inventory-format
: "&r[%player%'s %type%&r]" #Type will either be "EnderChest" or "Inventory" depending on what is being displayed
  item-display-format
: "&6%player%&6 is displaying their &f%item%"
  item-display-format-multiple
: "&6%player%&6 is displaying their &f%item% x%amount%"
  inventory-display-format
: "&6%player%&6 is displaying their &f%type%"
  displayed-inventory-title
: "%player%'s Inventory"
  displayed-enderchest-title
: "%player%'s EnderChest"
 
use-old-format
: false #This will use the regular message format, disabling in chat formatting.    Note: This value will be false if the server does not have ProtocolLib

use-nicks-in-display-message
: true #Will also use any custom colors. This is used in the command message

strip-nick-colors-message
: false #Removes the nick colors in the display message

use-nicks-in-gui
: true #Will also use any custom colors

strip-nick-colors-gui
: false #Removes the nick colors from the gui


show-item-amount
: true #Will add x2 if a player is displaying 2 items
display-cooldown
: 0 #Measured in seconds. Use 0 for no cooldown.


blacklisted-items
: #for help visit https://minecraftitemids.com/
#- "minecraft:bedrock"
 
----------, Sep 7, 2020

I think I fixed colors this time. It should carry over all formatting options such as:
  • Color
  • Italics
  • Bold
  • Obfuscation
  • etc
I have added support to DiscordSRV, meaning it will now change "cidPlayer" to the item/inventory type the player is holding. I have done the same for the console messages.
----------, Sep 3, 2020

Fixed some broken config options, and added some more.
Code (YAML):
debug-mode : false #Can possibly determine why players aren't able to display items. Will send console messages.

disable-update-checking
: false

auto-update
: true # Automatically download updates

triggers
: #These will determine when the objects are displayed, they are not case sensitive
  item
:
 - "[i]"
  - "[item]"
  - "[itemdisplay]"
  - "[displayitem]"
  inventory
:
 - "[inv]"
  - "[inventory]"
  - "[invdisplay]"
  - "[displayinv]"
  enderchest
:
 - "[ec]"
  - "[enderchest]"
  - "[displaychest]"
  - "[displayec]"


disable-gui
: false #Disable all the GUIs
 
messages
:
  gui-format
: "&a%player%&a's &cDisplayed Item"
  missing-permission
: "&cYou do not have permission to do that"
  missing-permission-item
: "&cYou do not have permission to display items"
  missing-permission-inventory
: "&cYou do not have permission to display your inventory"
  missing-permission-enderchest
: "&cYou do not have permission to display your Ender Chest"
  black-listed-item
: "&cYou cannot display this at item as it is blacklisted"
  player-not-displaying-anything
: "&cThat player isn't displaying anything" #when someone does /viewitem <player> and the <player> isn't displaying anything
  cooldown
: "&cYou cannot do that right now, please wait %seconds% more seconds."
  gui-disabled
: "&cThis feature has been disabled"
  map-notification
: "&eDrop or click on the map to receive your item back"
  not-holding-anything
: "&cYou are not holding anything"
  force-item-colors
: false #Will set items with already existing colors to the item-color
  item-color
: "" #The item's color will be set to this if item colors are removed or the item has no color to begin with

display-messages
:
  inchat-item-format
: "&r[%item%&r]"
  inchat-item-format-multiple
: "&r[%item% x%amount%&r]" #Used when there are 1 or more items
  inchat-inventory-format
: "&r[%player%'s %type%&r]" #Type will either be "EnderChest" or "Inventory" depending on what is being displayed
  item-display-format
: "&6%player%&6 is displaying their &f%item%"
  item-display-format-multiple
: "&6%player%&6 is displaying their &f%item% x%amount%"
  inventory-display-format
: "&6%player%&6 is displaying their &f%type%"
  displayed-inventory-title
: "%player%'s Inventory"
  displayed-enderchest-title
: "%player%'s EnderChest"
 
use-old-format
: false #This will use the regular message format, disabling in chat formatting.    Note: This value will be false if the server does not have ProtocolLib

use-nicks-in-display-message
: true #Will also use any custom colors. This is used in the command message

strip-nick-colors-message
: false #Removes the nick colors in the display message

use-nicks-in-gui
: true #Will also use any custom colors

strip-nick-colors-gui
: false #Removes the nick colors from the gui


show-item-amount
: true #Will add x2 if a player is displaying 2 items
display-cooldown
: 0 #Measured in seconds. Use 0 for no cooldown.


blacklisted-items
: #for help visit https://minecraftitemids.com/
#- "minecraft:bedrock"
 
----------, Sep 1, 2020

  • Bungee Support on non Paper/Spigot servers
  • Remove colors from nicks
  • Use color for items
  • No "Invalid Item!" on <1.16 servers
  • Added more config variables so be sure to delete your config or add the new options below
Discord
Code (YAML):
debug-mode : false #Can possibly determine why players aren't able to display items. Will send console messages.

disable-update-checking
: false

auto-update
: true # Automatically download updates

triggers
: #These will determine when the objects are displayed, they are not case sensitive
  item
:
 - "[i]"
  - "[item]"
  - "[itemdisplay]"
  - "[displayitem]"
  inventory
:
 - "[inv]"
  - "[inventory]"
  - "[invdisplay]"
  - "[displayinv]"
  enderchest
:
 - "[ec]"
  - "[enderchest]"
  - "[displaychest]"
  - "[displayec]"


disable-gui
: false #Disable all the GUIs
 
messages
:
  gui-format
: "&a%player%&a's &cDisplayed Item"
  missing-permission
: "&cYou do not have permission to do that"
  missing-permission-item
: "&cYou do not have permission to display items"
  missing-permission-inventory
: "&cYou do not have permission to display your inventory"
  missing-permission-enderchest
: "&cYou do not have permission to display your Ender Chest"
  black-listed-item
: "&cYou cannot display this at item as it is blacklisted"
  player-not-displaying-anything
: "&cThat player isn't displaying anything" #when someone does /viewitem <player> and the <player> isn't displaying anything
  cooldown
: "&cYou cannot do that right now, please wait %seconds% more seconds."
  gui-disabled
: "&cThis feature has been disabled"
  map-notification
: "&eDrop or click on the map to receive your item back"
  not-holding-anything
: "&cYou are not holding anything"
  remove-item-colors
: false #Remove Item colors from the display message
  item-color
: "" #The item's color will be set to this if item colors are removed or the item has no color to begin with

display-messages
:
  inchat-item-format
: "&r[%item%&r]"
  inchat-inventory-format
: "&r[%player%'s %type%]" #Type will either be "EnderChest" or "Inventory" depending on what is being displayed
  item-display-format
: "&6%player%&6 is displaying their &f%item%"
  inventory-display-format
: "&6%player%&6 is displaying their &f%type%"
  displayed-inventory-title
: "%player%'s Inventory"
  displayed-enderchest-title
: "%player%'s EnderChest"
 
use-old-format
: false #This will use the regular message format, disabling in chat formatting.    Note: This value will be false if the server does not have ProtocolLib

use-nicks-in-display-message
: true #Will also use any custom colors. This is used in the command message

strip-nick-colors-message
: false #Removes the nick colors in the display message

use-nicks-in-gui
: true #Will also use any custom colors

strip-nick-colors-gui
: false #Removes the nick colors from the gui


show-item-amount
: true #Will add x2 if a player is displaying 2 items
display-cooldown
: 0 #Measured in seconds. Use 0 for no cooldown.


blacklisted-items
: #for help visit https://minecraftitemids.com/
#- "minecraft:bedrock"
 
----------, Aug 31, 2020

Turns out I forgot to put the plugin version for the bungee side plugin. Meaning it would go in a loop of downloading itself / creating errors. This update fixes that. (Sorry for any inconvenience it may have caused you).
----------, Aug 27, 2020

Thanks to iCaitlyn for a bug report several hours after release. This fixes any of those updater bug messages from starting the server.
----------, Aug 27, 2020

First off, I wanted to thank you all for getting me to 1,000 downloads. That's pretty epic. And while we're on the topic of epic things, I have a discord. If you want to get a hold of me, this is your best bet, as I usually check it at least daily. You can join the discord if you want to; suggest new features, report bugs, or just chat. Now onto the update:

  • Better Bungee Support
How many times have you heard that one now? Well, this time I tested it with more bungee chat forwarders such as PwnChat and VentureChat and have fixed the "cidPlayer"s.
  • Display Inventories and Ender Chests
That's right you can now display your inventories and Ender Chests in chat like the items. And like the items, you can change the triggers for them, by default you can use [inv] and [inventory] to display your inventory, and [ec] and [enderchest] to display your ender chests. These are just a couple of them.


  • ChatItemDisplay is now universal
Meaning, ChatItemDisplayBungee is no longer needed. Just put ChatItemDisplay in there too. You will have to do this the first time as I had not added an auto-updater on there. But it'll be on this version, so you won't have to download it again. Like the Spigot version, it will be download after you restart the proxy, and will be enabled when you enable it after that.

  • Hex Color Support
You can now use hex colors in your messages (kinda). There's a problem where you can't put hex colors in TextComponents, and they will just convert to a regular chat color that they are closest to. Simplified, Hex Colors will not work for any of the messages in the display-messages category of the config file.
  • Play Music Discs
You can now click on music discs to play them.
  • More command Aliases
I added some more command aliases for the follow commands
/viewitem: [viewdisplay,viewinv,viewinventory,viewec,viewenderchest,displayview]
/displayitem: [display]
/displayinventory: [displaying]
/displayenderchest: [displayec, displayendchest]

  • Better Item Displaying for Servers below 1.16
Hovering over the text now uses the "SHOW_ITEM" action as opposed to the "SHOW_TEXT." Before all of the text was added manually so now it takes the data from the item, amount, and nbt data.

  • New config
To have these new messages, I had to change the config. That means you'll have to add the new options manually, or delete your current config and let it create itself again when you do /chatitemreload or restart/reload the server. Below is the default config.
Code (YAML):
debug-mode : false #Can possibly determine why players arent able to display-items. Will send console messages.

disable-update-checking
: false

auto-update
: true # Automatically download updates

triggers
: #These will determine when the objects are displayed, they are not case sensitive
  item
:
 - "[i]"
  - "[item]"
  - "[itemdisplay]"
  - "[displayitem]"
  inventory
:
 - "[inv]"
  - "[inventory]"
  - "[invdisplay]"
  - "[displayinv]"
  enderchest
:
 - "[ec]"
  - "[enderchest]"
  - "[displaychest]"
  - "[displayec]"


disable-gui
: false #Disable all the GUIs3
 
messages
:
  gui-format
: "&a%player%&a's &cDisplayed Item"
  missing-permission
: "&cYou do not have permission to do that"
  missing-permission-item
: "&cYou do not have permission to display items"
  missing-permission-inventory
: "&cYou do not have permission to display your inventory"
  missing-permission-enderchest
: "&cYou do not have permission to display your Ender Chest"
  black-listed-item
: "&cYou cannot display this at item as it is blacklisted"
  player-not-displaying-anything
: "&cThat player isn't displaying anything" #when someone does /viewitem <player> and the <player> isn't displaying anything
  cooldown
: "&cYou cannot do that right now, please wait %seconds% more seconds."
  gui-disabled
: "&cThis feature has been disabled"
  map-notification
: "&eDrop or click on the map to receive your item back"
  not-holding-anything
: "&cYou are not holding anything"
  remove-item-colors
: false #Remove Item colors from the display message

display-messages
:
  inchat-item-format
: "&r[%item%&r]"
  inchat-inventory-format
: "&r[%player%'s %type%]" #Type will either be "EnderChest" or "Inventory" depending on what is being displayed
  item-display-format
: "&6%player%&6 is displaying their &f%item%"
  inventory-display-format
: "&6%player%&6 is displaying their &f%type%"
  displayed-inventory-title
: "%player%'s Inventory"
  displayed-enderchest-title
: "%player%'s EnderChest"
 
use-old-format
: false #This will use the regular message format, disabling in chat formatting.    Note: This value will be null if the server does not have ProtocolLib

use-nicks-in-display-message
: true #Will also use any custom colors. This is used in the command message


use-nicks-in-gui
: true #Will also use any custom colors



show-item-amount
: true #Will add x2 if a player is displaying 2 items
display-cooldown
: 0 #Measured in seconds. Use 0 for no cooldown.


blacklisted-items
: #for help visit https://minecraftitemids.com/
#- "minecraft:bedrock"
 
  • Cleaned up bad code and replaced it with slightly better code
Yeah, it still gives me a headache sometimes.
----------, Aug 27, 2020

JSON is now also pulled from TextComponents and IChatBaseComponents before I was unable to do this through ProtocolLib for some reason, so I am using NMS with reflection for this.

That means: you should no longer see "cidPlayerName" in chat.

Also, I know you all want my discord link, so here you go https://discord.gg/VFZrAJ8.
----------, Aug 15, 2020

This time ChatItemDisplay can actually communicate with the BungeeCord proxy, allowing for Items to be sent across servers. For this to work, the proxy MUST have the Bungee plugin: ChatItemDisplay Bungee. ChatItemDisplay will still work on regular servers, and bungee servers that do not have the bungee plugin. The only difference is that it won't be sent to multiple servers.

Messages are not sent between servers. Meaning, with default BungeeCord, if a player tries to display a message in Server A, the item will be displayed in Server A, but not in Server B. This means that you will have to use your own Chat-Forwarder to link the chats between servers. However, if it is displayed as a command message, meaning the config option use-old-format: is set to true, or the server does not have ProtocolLib, the message will be sent automatically.

This will fix the main bugs, where currently displaying an item will do nothing but send an error log.

To get ChatItemDisplay Bungee, download it from my new resource, ChatItemDisplay Bungee. https://www.spigotmc.org/resources/chatitemdisplay-bungee.82722/

I've also changed file names in the code to better conform with Oracle's naming conventions.

Once again I'll link my discord if any of you have any questions/suggestions / just want to chat. https://discord.gg/VFZrAJ8
----------, Aug 13, 2020

I recently made this plugin's source code public on GitHub. So I'm just gonna copy and paste what I wrote on there regarding the changes.

  • Organized the code a bit.
  • Fixed a dupe glitch involving the recipe book and displayed inventories.
  • Empty Inventories can no longer be opened.
  • Displaying for 1.16 has been improved, it is now using Minecraft's built-in tooltip rendering.
  • I think I made the message broadcast to all bungee servers (not sure as I don't have a bungee server to test on)
  • Fixed a 1.16 bug where the item part wouldn't even be included
Minor Changes:
  • Increased version number
  • The plugin description in /ver has been changed to "Display items in Chat" to "Display items in chat"
Also, I'm so glad that you guys have been enjoying this plugin. Since July 26th, the plugin has been running continually on over 150 servers. That's pretty wild that 150 individual servers are running my plugin. What's even more mind-boggling is that this plugin is almost at 1,000 downloads. Thank you all for reporting bugs, and suggesting new features for this plugin. I was surprised at 50 downloads but now we're almost at 1,000.

I'll leave it off with a link to my discord so that you can; post bug reports, suggest new features or just chat. Here's a link you can use https://discord.gg/VFZrAJ8
----------, Aug 12, 2020

Kinda neat this update, items will now appear in the language that they have selected in their client. That's right players that are playing using English will see "Iron Sword" whilst those playing with Pirate Speak will see "Cutlass o' Steel" All of the translating is done by the client using the client's language packs. (Don't ask me how it works, I just learned I could do this today). The following will be translated;

  • Item Names
  • Enchantments
  • Potions
  • Unbreakable tag
  • Book info
  • Map info

Enchanted books will now show the enchantments they have on them.

Records will now show what song they are.

Potion info has now been improved a bit.

My next focus will be on bungee support as suggested by Niko302

I wanted to thank you all for real this time for getting me to 1000 downloads, that's mental. And now I'm almost there on this plugin.

Whoops, I finished an entire update changelog without even promoting my discord server which is used for reporting bugs, suggesting features, and just chatting.
----------, Jul 25, 2020

If you haven't memorized this link by now, well here's some more practice. https://discord.gg/VFZrAJ8. You can join this discord to submit bugs, request features, or just chat.

First off is potion support. You can now see the name of potions and the effects when hovering over the chat messages.

Second off is a new feature that I have enjoyed making. You can now view maps. You can do this by clicking on the map when viewing the item. It will replace your current item with the map. To prevent duping, the item will be replaced with the old one, when the player
  • Leaves the Game
  • Changes their selected hand
  • Clicks
  • Gets Damaged
  • Drops it (The dropped map is removed as well)
  • Picks up the map (This would happen if the item stacks with the map they are viewing)
It will also be restored when the server closes or reloads.

A message appears when given the item which can be changed in the config. It is under the messages category, and is named
map-notification.

More containers can be viewed, this means you can view Chests and droppers that have nbt data (Items stored inside when they aren't placed)

Minor Changes:
  • Unbreakable items will now have an unbreakable tag
  • Update checking has been improved
  • Plugman can now check if the plugin is up to date

For the first time since the beginning of June, ChatItemDisplay now has more than 100 servers running it. This is most likely due to the fact that I finally updated it with something, but I still wanted to thank you all. And speaking of that, we are almost at 750 downloads. And combined with my other plugin, RickROP I am sitting at a total of 977 downloads on my spigot plugins.

So in advance, I'd like to thank you all for clicking download 1000 times on my plugins.
----------, Jul 19, 2020

I think I may have fixed most of the big bugs with messages showing up as "cidPlayer" due to some chat formatters. But if it didn't work I added a new config option: use-old-format this will disable the in chat formatting if you are having any issues. It will use multiple lines with the display message set in your config. Pictured below.

ProtocolLib is now a soft depend. This means the plugin will still work if you don't have ProtocolLib installed. The only difference is that it will make use-old-format to be true. In other words, it disables in chat formatting.

Version number was increased to 1.4.1

And to prove it's me again;

Did someone say... "Do you have a Discord server for help with your plugins, suggesting new features, reporting bugs, and just chatting?"

Well, what do you know that's exactly the type of Discord server that I have. What's the subscription fee you ask? It's free, just click this link here https://discord.gg/VFZrAJ8




[​IMG]
----------, Jul 15, 2020

Yes, I'm still alive. It's been 3 months But I got a fresh update.

Requires ProtocolLib

ChatItemDisplay Supports 1.16, looking at the plugin stats, I can see that 43% of you already knew that. However, I am excited to announce this update. We finally did it, boys, in-chat item displaying.

[​IMG]

This was my main goal when I first started work on this plugin, and I finally achieved it. Now I still have future plans to add to the plugin (I'm not done yet)

There's also a new config option under the messages category this one is
inchat-format: you can add it yourself or you can delete your existing config.yml for it to appear, this will allow you to edit what goes around the item message, by default it's "[%item%]"

And to prove it's me. Back in the middle of May, this plugin hit 500 downloads. That's a lot of people who downloaded my plugin. And now we just hit over 600. Thank you all so much for your support!

It means a lot if you can join my discord to offer feedback, report bugs, suggest new features or just chat. https://discord.gg/VFZrAJ8
----------, Jul 13, 2020

Big thanks to .Zeus for contacting me on discord ( https://discord.gg/VFZrAJ8) This Update fixes a major bug where people can crash servers simply by saying a trigger with Uppercase letters. This has been fixed now. Apologies to any servers who already found this out the hard way.
----------, May 13, 2020

I get it, you guys are lazy. Well now with the new config option "auto-update" updates will be automatically downloaded for you and applied on the next restart! Now isn't that dandy!

Speaking of dandy things, here's my Discord server, you should all join it. https://discord.gg/VFZrAJ8

Did someone say "Flaunt your milestones?" Well we just hit 100 servers using ChatItemDisplay! That's great! Thank you everyone for all your support
----------, May 12, 2020

Display the number of items - with the config option show-item-amount set to true, the display message will include x(however many items). If YourMom displayed 2 grass it'd look like YourMom is displaying their Grass x2

Remove Item Colors from Display Message -
you can now remove the item's colors for that consistent message feel

Disabled Gui Tweak - Clicking on the message while the GUI has been disabled will no longer run the command /viewitem

Also, it wouldn't be me if I didn't mention how many downloads my plugins have to help fuel my ego.

This plugin has just hit 400 downloads. That's amazing! To think that half of the entire world's population is a bit over that is crazy :eek:. Thanks for all your support.
----------, May 9, 2020

Roman Numerals have now been added! Display your enchants with Roman Numerals. The Roman Numerals will even work in values over 10.
As seen here: [​IMG]
You can disable Roman Numerals over 10 in the new config option enchantments.use-minecraft-style-numerals. You can also disable all converting to roman numerals with the config option: enchantments.use-roman-numerals Isn't that dandy!

Items renamed in anvils will now appear in italics when displayed. Likewise, enchanted items will appear aqua when displayed. This does not change displaying items that already have color.

Also, my discord has about 10 members at the moment. It helps a lot if you join it so that I can get your input. Now, the only logical conclusion is that the discord servers crashed due to the number of server requests when everyone tried to join the server. Because you all DDOSed the Discord servers, here's another link to it https://discord.gg/VFZrAJ8
----------, May 4, 2020

What's changed:

If a player is on cooldown and they try to display a message without the permission chatitemdisplay.cooldownbypass. Their item will no longer be displayed. Forgot 1 line of code with the cooldowns. Sorry about that.


Trying to display an item while being on cooldown, trying to display a blacklisted item, or not having permission to display items will no longer let the player send the message. Now only the permission message will be sent to the player. Players can still say triggers, to tell new players about it, by saying a trigger with an empty hand.


Only 3 people have joined my discord at the moment. It helps me a lot as I use it to see what features you would like implemented and what changes I should make. Once again, you can join the Discord here https://discord.gg/ndcBXgd.

I also haven't put this in an update yet, but in total both of my plugins have reached 500 downloads. Thank you to everyone who supports my plugins and finds reports bugs, improving quality, and suggests new features to add to my plugins.
----------, May 1, 2020

Title says it pretty much. Sorry for the bug with the update checker.

Saying "hey, look at this [i] isn't this cool?" previously looked like:
"hey look at this "
"Display Message
" isn't this cool?"
^ this space has been removed.

Also please join my discord server to report bugs and stuff https://discord.gg/ndcBXgd. Nobody joined yet and I cri.
----------, Apr 28, 2020

Hidden Enchantments will no longer show up on the hovering message. This will also happen when you add lore but decide to hide it for some reason.

There is now a new message config option. The option is "not-holding-anything" and by default, it is "&cYou are not holding anything" this message is sent to the player when they try to display their item using the command


To get help with any of my plugins I have created a Discord server. This should make contacting me easier as I rarely look at Spigot. https://discord.gg/ndcBXgd

Thank's everybody for getting me a total of 450 downloads.
----------, Apr 27, 2020

Whatever you type before and after you display your item will be sent as a new message. (Might cause anti-spam plugins to block the second message). The messages work with most chat managers as well. (Still haven't been able to find a good way to include the item in a regular chat message.)
[​IMG]
There is now the command "/display" (you can also do /displayitem) These are alternatives to typing a trigger.

That's about everything that has been added!
Sidenote: In-between making plugins I stumbled across a website that is Top- N otch 10/10

On another note, thank you all for letting the plugin reach over 200 downloads! Glad you enjoy my plugin and these annoying updates.
----------, Apr 23, 2020

Sorry about the constant updates, I've been finding errors slowly and it took a while for me to find this one. For anyone wondering why only would work (or their first option in the config), well it wasn't just you. This patch will now work with all of the triggers
----------, Apr 20, 2020

Fixed an error where players wouldn't be able to display an item after someone looked at a book.
----------, Apr 20, 2020

Sorry Everybody, I accidentally uploaded a testing version I was using where the version was 1.2.3. This causes servers to say the version is not updated when it actually is. This patch now has a correct version, sorry for the inconvenience!
----------, Apr 20, 2020

  • GUI Togglability
Disable the GUIs by enabling the config option "disable-gui" Because it can be disabled, a new error message has been added to the config under the option"gui-disabled:" By default, the message is:"&cThis feature has been disabled"
  • Update Checker
You no longer have to go to Spigot to check to see if there are any more updates, upon startup console will be told "Plugin is Up to Date", If the server is running an up to date version, if it is not up to date console will see "ChatItemDisplay is currently running (Current Version) and can be updated to (Newest Version)" A link to the spigot page will also be provided. And finally, If the server cannot connect to Spigot, the console will see
"Unable to connect to Spigot to check for updates "along with an error message. Players that join with the permission chatitemdisplay.reload will see the message [​IMG]
All of this can be disabled in the config by enabling the option " disable-update-checking:"

Lastly, I want to thank you all for helping this plugin reach 150 downloads!
----------, Apr 19, 2020

Now supports 1.13!
----------, Apr 17, 2020

Fixed the plugin not working with 1.13
----------, Apr 17, 2020

Version 1.2.3
  • Shulker Box Support
Displaying Shulker boxes will show the item contents as if you were viewing the tooltip. You can also now click on shulker boxes in the GUI to view the contents. In this view, you can even open up Books!
[​IMG]

  • Config Customizability
NOTE: The new config options won't automatically be added if you've loaded the plugin before. You must: copy and paste it yourself, or delete your existing config. If the options aren't present the plugin will still work and will use default values.
Every message can be customized including messages of lacking permissions.
debug-mode: If you are having problems try turning on debug mode will show what is working and what is not. Sometimes it can show you what went wrong.
Code (YAML):
debug-mode : false #Can possibly determine why players aren't able to display items. Will send console messages.
triggers
: #These will determine when the item is displayed, they are not case sensitive
- "[i]"
- "[item]"
- "[itemdisplay]"
- "[displayitem]"
messages
:
  display-format
: "&6%player%&6 is displaying their &f%item%"
  gui-format
: "&a%player%&a's &cDisplayed Item"
  missing-permission
: "&cYou do not have permission to do that"
  missing-permission-to-display
: "&cYou do not have permission to display items"
  black-listed-item
: "&cYou cannot display this at item as it is blacklisted"
  player-not-displaying-anything
: "&cThat player isn't displaying anything" #when someone does /viewitem <player> and the <player> isn't displaying anything
  cooldown
: "&cYou cannot do that right now, please wait %seconds% more seconds."
use-nicks-in-display-message
: true #Will also use any custom colors
use-nicks-in-gui
: true #Will also use any custom colors
display-item-cooldown
: 0 #Measured in seconds. Use 0 for no cooldown.
blacklisted-items
: #for help visit https://minecraftitemids.com/
#- "minecraft:bedrock"
 

  • Visual Changes
Lacking permission when using a trigger or being on the cooldown will stop the message from being sent at all. You can show players the formating by typing a trigger with an empty hand.

When players display new items, everyone viewing the GUI will now see the new item.

  • Bug Fixes
Previously, if players were viewing the GUI and the config was reloaded, changing the name of the GUI display, players could remove the item. Now, all GUI's will be closed upon the config reloading.

Fixed console being unable to do /chatitemreload
[/SPOILER][/SIZE][/CENTER]
----------, Apr 17, 2020

  • New Config Option - BlackList items that you don't want players to see! Add the item id to the config in the option "blacklisted-items" a helpful item id guide can be found here

  • New Permission - With every big feature there should be a permission node. This time there is:
    Code (YAML):
    ChatItemDisplay.blacklistbypass
    With this permission, a player can display an item that has been blacklisted in the config
----------, Apr 14, 2020

Update 1.2.1 - 4/10/2020
You can now virtually read Written Books and Book and Quills by clicking on them in the GUI!
[​IMG]
[​IMG]

----------, Apr 10, 2020

Resource Information
Author:
----------
Total Downloads: 39,019
First Release: Apr 9, 2020
Last Update: Dec 21, 2021
Category: ---------------
All-Time Rating:
46 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings