diff --git a/src/app/components/ItemTooltip.tsx b/src/app/components/ItemTooltip.tsx
index 3fa6b666..20b9b9c4 100644
--- a/src/app/components/ItemTooltip.tsx
+++ b/src/app/components/ItemTooltip.tsx
@@ -115,7 +115,7 @@ export function ItemTooltip({ item, advanced, resolver }: Props) {
:
)}
{item.getLore().map((component) =>
-
+
)}
{item.showInTooltip('attribute_modifiers') && (
tag)} />
diff --git a/src/app/services/ResolvedItem.ts b/src/app/services/ResolvedItem.ts
index 4363ac13..a11000d7 100644
--- a/src/app/services/ResolvedItem.ts
+++ b/src/app/services/ResolvedItem.ts
@@ -107,7 +107,13 @@ export class ResolvedItem extends ItemStack {
public getLore() {
return this.get('lore', tag => {
- return tag.isList() ? tag.map(e => e.getAsString()) : []
+ return tag.isList() ? tag.map(e => {
+ try {
+ return JSON.parse(e.getAsString())
+ } catch (e) {
+ return { text: '(invalid lore line)' }
+ }
+ }) : []
}) ?? []
}
@@ -160,11 +166,13 @@ export class ResolvedItem extends ItemStack {
}
const itemName = this.get('item_name', tag => tag.isString() ? tag.getAsString() : undefined)
- try {
- if (itemName) {
+ if (itemName) {
+ try {
return JSON.parse(itemName)
+ } catch (e) {
+ return { text: '(invalid item name)' }
}
- } catch (e) {}
+ }
const guess = this.id.path
.replace(/[_\/]/g, ' ')