diff options
Diffstat (limited to 'src/lib/minecraft/Item.svelte')
-rw-r--r-- | src/lib/minecraft/Item.svelte | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/lib/minecraft/Item.svelte b/src/lib/minecraft/Item.svelte new file mode 100644 index 0000000..86bd8f1 --- /dev/null +++ b/src/lib/minecraft/Item.svelte @@ -0,0 +1,32 @@ +<script lang="ts"> + import { formattingCodeToHtml } from '$lib/utils' + + export let item: any | null + export let isslot = true + export let pack = '' + + $: itemLoreHtml = item.display.lore.map(l => formattingCodeToHtml(l)).join('<br>') + $: itemNameHtml = formattingCodeToHtml(item.display.name) +</script> + +<!-- {#if data}{/if} --> + +<!-- {%- macro item(data, slot=true, pack='') -%} + {%- if data -%} + {%- set itemLoreHtml -%} + {%- for line in data.display.lore -%} + {{- line|formattingCodeToHtml -}}{% if not loop.last %}<br>{% endif %} + {%- endfor -%} + {%- endset -%} + {%- set itemNameHtml = data.display.name|formattingCodeToHtml -%} + {%- endif -%} + <span class="item{% if slot %} item-slot{% endif %}"{% if data %} data-lore-html="{{- itemLoreHtml -}}" data-name-html="{{- itemNameHtml -}}"{% endif %}> + {%- if data -%} + {%- set imageUrl = data|itemToUrl(pack) -%} + {%- if imageUrl -%} + <img loading="lazy" src="{{ imageUrl }}" alt="{{ data.display.name|removeFormattingCode }}"{% if imageUrl|startsWith('https://mc-heads.net/head/') %} class="item-custom-head"{% endif %}> + {%- endif -%} + {%- if data.count != 1 %}<span class="item-count">{{ data.count }}</span>{% endif -%} + {%- endif -%} + </span> +{%- endmacro -%} --> |