Chat variables disconnect the client in 1.19.1 if used & can't hover over item for info in output with /showitem
Used Version
ShowItem 1.6.26
Config
# If the messages should try finding a text icon for this item from WolfieMarios Resourcepack (http://imgur.com/a/oHvbX)
texticon-rp: true
# If you have WorldResourcepacks (https://l.phoenix616.dev/wrp) or ForceResourcepacks (https://l.phoenix616.dev/frp) installed
# then you can specify which pack contains the icons. So if WRP/FRP has not send a pack to the player or a pack
# that does not include the icons according to the below list then it wont show the icon characters to him.
# Set to an empty list [] in order to completely disable this compatibility.
packs-with-icons: []
# - serverpack
# The default language to use when there is no language file for a player's client locale
default-language: en
# If you have issues with item names not translating and showing their id you can enable this option
# and use the manual mapping in transmapping.yml for all items
use-translation-mapping: false
# The default radius for the /showitem (/show, /si) command if no -r(adius) parameter is specified
# Can also be "all" or "world" if the command without argument should target everyone (in the world)
default-radius: all
# The amount of time in seconds that an inventory should be viewable after showing it
show-inv-timeout: 300
# This will show a live view of the inventory rather than the state when the command/variable was used
show-live-inv: false
# Try to automatically get the color of named items to color the brackets with
use-name-color-for-brackets: true
# Try to trim spaces from the start and end of an item's name
trim-item-name: true
# The maximum length that is displayed of the item's display name. Appends items.name-ellipses language key for too long ones.
# -1 disables this.
item-name-length: -1
# Disable the sending of metrics data
disable-metrics: true
# Whether or not to check for updates. Ingame notifications are controlled by the showitem.updatenotification permission.
update-check: false
# Use the plugin' name prefix for any component click commands to ensure ShowItem's command is run
# E.g. /showitem:showinv when opening a players inventory from a chat message
namespaced-commands: false
# Config options for the help functionality in the inventory
# In order to use this players need the showitem.helpclick permission
help-click:
# Which type of click should send the help
# LEFT, SHIFT_LEFT, RIGHT, SHIFT_RIGHT, MIDDLE, NUMBER_KEY (see numbers), DOUBLE_CLICK, DROP, CONTROL_DROP
click-types: []
# Which slots should send the help message
# ARMOR, CONTAINER, QUICKBAR (hotbar)
# Star is wildcard for every slot
slot-types:
- "*"
# If click is of type NUMBER_KEY then these numbers will trigger the help
# Star is wildcard for every number
numbers:
- "*"
chat:
variables:
# Which variables should be replaced in the chat with the player's current item
# %slot% is the place where the slot name/number should be
- "%item%"
- "%item%slot%%"
- "[item]"
- "[i]"
- "{item}"
- "{i}"
# Which variables should be usable to show a clickable text directly in the chat
# to show your current inventory
inv-variables:
- "%inv%"
- "%inventory%"
- "[inv]"
- "{inv}"
# Which variables should be usable to show a clickable text directly in the chat
# to show your current enderchest
ender-variables:
- "%ender%"
- "%enderchest%"
commands:
# A list of commands where we should replace the variable with the item info
- "msg"
- "say"
- "me"
- "r"
- "broadcast"
- "bc"
- "ac"
- "ch"
# Maximum count of variables per message
# Bypass with the showitem.chat.spam permission
# 0 = unlimited
max-per-message: 1
# How to display variables that exceed the max count
# An empty string removes them completely
overflow-display: ""
# Allow variable with no item in hand?
# Uses lang.error.noitem as error message when false
show-empty-hand: true
# How should packets be handled? (requires a restart)
# Possible values:
# auto - automatically detect the best solution
# ProtocolLib - use ProtocolLib (if installed)
# nms - directly access native Minecraft server code
# reflection - access Minecraft server via reflections
packet-handler: auto
# Priority of the ProtocolLib listener (requires restart)
# Possible values: lowest, low, normal, high, highest
listener-priority: highest
# Filter strings out of item names and lore
filter:
# Strings are compared case-insensitive
# r= prefix indicates that the string should be handled as a regex
list:
- "faggot"
- "r=f.ck"
# Replace with the following string.
# If the string is only one character long it will fill up the word's length with it
replace: "*****"
# Block certain items from getting shown.
# Can be bypassed with showitem.blockbypass and showitem.blockbypass.<blockname>
block:
# Whether or not this match is inverted (match only items that don't match the values)
inverted: false
# List of materials to block
# Materials: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
material: []
# - STONE
# - DIAMOND_SWORD
# Block items with certain strings in their names from getting shown (case-insensitive)
# r= prefix indicates that the string should be handled as a regex
name: []
# - "name 1"
# - "r=name \\d"
# Block items with certain strings in the lore from getting shown (case-insensitive)
# r= prefix indicates that the string should be handled as a regex
lore: []
# - "name 1"
# - "r=name \\d"
# Item durability value, can use comparators, <x, >x, =x, !=x or just equal a single number
# An empty string matches all durabilities
# Also supports chaining of comparators with a comma. E.g. >5,<20 for between 5 and 20
durability: ""
# Block items with the unbreakable tag
unbreakable: false
# Block items with certain enchantments, can block both all or only certain levels
# Names: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/enchantments/Enchantment.html
# Can take the same comparators as the durability for the level
enchantments: []
# - "DAMAGE_ALL"
# - "ARROW_DAMAGE:>2"
# Serialize the item to YAML and filter it with regex.
# This is only for advanced users and is less efficient, leave empty to disable.
serialized: ""
specific:
# Block only specific items that match certain block types. All global types can be used.
# Can by bypassed with showitem.blockbypass.specific.<name> e.g. showitem.blockbypass.specific.special-sword
special-sword:
material:
- DIAMOND_SWORD
name:
- "Phoenix616's Sword"
unbreakable: true
enchantments:
- "DAMAGE_ALL:>9000"
# Add multiple matcher, e.g. an invenerted matcher that
# blocks everything that isn't in this matcher
# inverted-match:
# inverted: true
# material:
# - WRITTEN_BOOK
cooldowns:
# Cooldowns for the radius and the direct show command in seconds.
# 0 to disable cooldowns entirely.
# Exempt permission: showitem.cooldownexempt
all: 0
world: 0
radius: 0
direct: 0
chat: 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!
use-nick-name: true
Paper dev 109 (1.19.1)
[02:01:49] [Server thread/INFO]: mibby issued server command: /msg mibby [item]
[02:01:49] [Server thread/INFO]: mibby lost connection: Internal Exception: java.lang.NoSuchMethodError: 'int net.minecraft.network.protocol.game.ClientboundSystemChatPacket.c()'
[02:05:18] [Async Chat Thread - #0/INFO]: [Not Secure] [standard] mibby: $showitem-1326898712$
[02:05:18] [Server thread/INFO]: mibby lost connection: Internal Exception: java.lang.NoSuchMethodError: 'int net.minecraft.network.protocol.game.ClientboundSystemChatPacket.c()'
/showitem command doesn't disconnect the client but you can't hover over the outputted item in the message again.
Edited by mibby