Show your Items to specific players or everyone around you!
Premium Bukkit Plugin by Phoenix616

Did you ever want to show your items and their abilities to other players like you can in big MMORPGs? Or do you have players that are sick of having to throw their items on the ground or buying the wrong ones? Then this plugin is exactly what you need!

With the ShowItem Bukkit plugin you will be able to take full advantage of what Minecraft has to offer while working with items! It even takes it a step further and adds the ability to show an actual icon of the item in the chat!
(Note: You will need to use WolfieMario's Text Icons RP for that!)

This plugin also supports translatable item names so that players will see the name of the showed item in the language of their client!

It works with every Bukkit chat plugin! If you find one that doesn't work, I'll make it work!

Prevents client crashes due to lots of item data! E.g. when the full content of a shulker box or a player head are send to the player this might lead to some issues that might cause the client to disconnect as it can't handle that amount of data. You can also individually configure certain item types to be blocked in the config!

Please note that this plugin will only work on Minecraft client versions above 1.8!
(1.8 protocol-hack servers seem to also be working, but the players still need to use 1.8+ clients for the display to work properly!)

Commands

/showitem [<options>] (Alias: /si, /show)
Shows the item in your hand to every player around you. The radius can be set in the config.
Permission: showitem.command (Default: true)
/showslot <slot> [<options>] (Alias: /ss)
Shows the item in a specific slot to every player around you. The radius can be set in the config. Finding out the correct slot is made easier with the inventory help click function! (middle click by default)
Special slots can be used by name: helmet, chestplate, leggings, boots, offhand, mainhand
Permission: showitem.command.slot (Default: true)
/showinv [<options>] (Alias: /sinv, /showinventory)
Shows your whole inventory to every player around you. The radius can be set in the config.
Permission: showitem.command.inv (Default: op)
/showender [<options>] (Alias: /senbder, /showenderchest)
Shows your enderchest to every player around you. The radius can be set in the config.
Permission: showitem.command.ender (Default: op)

/showitem -reload
Reloads the configs of the plugin
Permission: showitem.command.reload (Default: op)

Options:

Options change the behaviour of the command if enabled. All options can be used with both the /showitem, the /showslot and the /showinv command.

/<command> <playername>
Show to a specific player.
Permission: showitem.command.player (Default: true)
/<command> -radius <radius>
Show to every player in the given radius.
Permission: showitem.command.radius (Default: true)
/<command> -world
Show to every player in your current world.
Permission: showitem.command.world (Default: op)
/<command> -all
Show to every online player.
Permission: showitem.command.all (Default: op)
/<command> -debug
Shows a debug message with the info of the item in chat and in the console logs.
Permission: showitem.command.debug (Default: op)

All permissions can also be viewed here.

Chat Placeholder

This plugin includes the ability to show your main hand's item directly in your chat message by adding a variable in your message. This placeholder variable can be configured (default is %item%), is case insensitive and has a separate permission node (showitem.chat) which is set to true by default.
This feature should be compatible with the Minecraft chat and alle Bukkit chat plugins. It will not work with BungeeCord or cross server chats!
You set the commands in which the variable should be available (for example /msg) to match you specific server configuration and plugins.

Configs

This plugin contains several config and mapping files. The settings and messages of the plugin can be changed in the config.yml:
Code (YAML):
# If the messages should try finding a text icon for this item from WolfieMarios Resourcepack (https://imgur.com/a/oHvbX)
texticonrp
: false
# This option sets wether we should try to use the Bungee chat api when we detect a spigot server
# It does nothing on a normal craftbukkit
usefancymsg
: true
# The default radius for the /showitem (/show, /si) command if no -r(adius) parameter is specified
defaultradius
: 16
chat
:
  variable
: "%item%"
  # Which variable we should replace in the chat with the player's current item
  commands
:
 # A list of commands where we should replace the variable with the item info, use * for all commands
  - "msg"
  - "say"
  - "me"
  - "ch"
# Cooldowns for the radius and the direct show command in seconds.
# 0 to disable cooldowns entirely.
# Exempt permission: showitem.cooldownexempt
cooldowns
:
  all
: 300
  world
: 60
  radius
: 10
  direct
: 0
# Whether or not we should attempt to send the nickname instead of the username
# This will also include colors/prefixes of the team the player is in!
usenickname
: true
lang
:
  count
: "(%count%x)"
  item
:
# The different texts that display the item
# The %icon% variable will only be displayed then texticonrp is set to true
# The %count% variable will be replaced with lang.count if more than 1 item is shown
# The string will be automatically colored but it tries to respect custom codes
    unnamed
: "[%icon%%type%]%count%"
    named
: "[%icon%%name%]%count%"
# The %type% variable is also usable in the named string for example like this:
#   named: "%icon%%type% &anamed %name%
  all
:
    self
: "You show the item %item% to everyone!"
    target
: "%player% shows everyone the item %item%!"
  world
:
    self
: "You show the item %item% to everyone in your world!"
    target
: "%player% shows the item %item% to everyone in his world!"
  radius
:
    self
: "You hold up the item %item%!%customradius%"
    custom
: "&8(View distance: %radius%&8 blocks)"
    target
: "%player% holds up the item %item%!"
  player
:
    self
: "You show %player% the item %item%"
    target
: "%player% shows you the item %item%"
  error
:
    noitem
: "&cYou don't have an item to show in your hand. :("
    playeroffline
: "&cThe player %player%&c is not online"
    noonearound
: "&cThere are no players around which could see your item :("
    cooldown
: "&cYou have to wait %remaining%&c more seconds before showing another item!"
The other yml files (transmapping.yml and iconrpmapping.yml) are used for several different mappings, for example the mapping of the Minecraft item id to the Bukkit material names or the translation keys for multi language support.

Item Icons

This plugin can use WolfieMario's Text Icon Resourcepack to display an icon in the chat in front of the item's name. Enable this functionality by setting the texticonrp option to true in the config.yml and set WolfieMario's pack as your server resourcepack or integrate the changed chinese font sheets in your current server resourcepack.
If you use BungeeCord and want to set the pack on your whole network you can use my free BungeeResourcepacks plugin!

Questions

Why don't I see any item icons in the chat?
Check if you have set the texticonrp option in your config.yml to true. (Note: You also need to use Wolfie Mario's text icon resourcepack for that to work proberly!)

Help! Why do I have Chinese symbols now after I enabled that option?

These icons are Chinese Han symbols that get replaced via this resourcepack which you have to use for the icons to display right! (The best way for all users to get it are server resourcepacks!)

Now that I see the icons they seem to display the wrong item?
That can only happen if the mapping in the iconrpmapping.yml are wrong ‒ either for this item or all of them. If you changed the file try deleting it and letting it regenerate. If you did not do such a thing contact me with the items which are wrong and I will provide you with a fix/update!

Why does my item name look like it does on this image?

This happens when the mapping for this item's translation key is not correct. Contact me with the item that didn't work and I will provide a solution/update for you asap!
(If you are really skilled you can figure that out on your own by looking at Minecraft's language file and adding it with Bukkit's Material to the transmapping.yml in the same fashion as the others!)

Why does it say "Unknown language key: xyz"?

This message tells you that you are missing a configuration option in the language section. This happens when an update adds new messages and you didn't add them to your config or let the config regenerate.
In the case from the image you would have to add a string at lang.item.unnamed that sets the display format of an unnamed item. (Take a look at the config above for more information)​

Why does "Invalid Item" appear when I hover over the item name instead of the item description?

This happens when the mapping of the Bukkit material name to the Minecraft item id is not correct or missing. You can contact me with the item you used and the output of "/showitem -debug" and I will fix it for you asap.
(If you want to fix that yourself you have to look up the item's Material name and it's Minecraft id and add them to the idmapping.yml)

If you have any other questions feel free to contact me any time! The best way is via a private message here or the discussion forum to this resource.
Generally I should be able to get back to you with an answer in less then 12 hours ‒ during East Coast working hours it can even be under 1 hour!

Reviews

Review by DarkenedBeast on SpigotMC.org

Review by tmad40blue on SpigotMC.org

Review by LapizSeller on SpigotMC.org

Review by timli168 on SpigotMC.org

Review by Catey on SpigotMC.org

Review by LucyValeheart on SpigotMC.org

Review by stellan on SpigotMC.org

Review by Kevin_Gunleader on SpigotMC.org

Review by GypsySix on SpigotMC.org

Review by ASTRACRAFT on SpigotMC.org