From 2a1945fae1dfe522a0a7015b8e81227e9c05cc2c Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Sat, 21 Jul 2018 09:54:08 +1000 Subject: [PATCH] SPIGOT-4100: Ignore invalid item display names By: md_5 --- .../bukkit/craftbukkit/inventory/CraftMetaItem.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java index dfd6e66bf..891e7c339 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -39,6 +39,7 @@ import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Sets; +import com.google.gson.JsonParseException; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -271,11 +272,19 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { NBTTagCompound display = tag.getCompound(DISPLAY.NBT); if (display.hasKey(NAME.NBT)) { - displayName = IChatBaseComponent.ChatSerializer.a(display.getString(NAME.NBT)); + try { + displayName = IChatBaseComponent.ChatSerializer.a(display.getString(NAME.NBT)); + } catch (JsonParseException ex) { + // Ignore (stripped like Vanilla) + } } if (display.hasKey(LOCNAME.NBT)) { - locName = IChatBaseComponent.ChatSerializer.a(display.getString(LOCNAME.NBT)); + try { + locName = IChatBaseComponent.ChatSerializer.a(display.getString(LOCNAME.NBT)); + } catch (JsonParseException ex) { + // Ignore (stripped like Vanilla) + } } if (display.hasKey(LORE.NBT)) {