diff options
| author | viciscat <51047087+viciscat@users.noreply.github.com> | 2024-07-09 16:23:15 +0200 |
|---|---|---|
| committer | viciscat <51047087+viciscat@users.noreply.github.com> | 2024-12-12 18:19:06 +0100 |
| commit | d32fc8b3db7f0a6c60141a1fed7ad2ea1ea7c7ba (patch) | |
| tree | a5306c9b8f46d2537bbccdc6b026a8541696b76d /src/main/java/de | |
| parent | 57081e91e6742751d13654a1c87405573fa3ef5f (diff) | |
| download | Skyblocker-d32fc8b3db7f0a6c60141a1fed7ad2ea1ea7c7ba.tar.gz Skyblocker-d32fc8b3db7f0a6c60141a1fed7ad2ea1ea7c7ba.tar.bz2 Skyblocker-d32fc8b3db7f0a6c60141a1fed7ad2ea1ea7c7ba.zip | |
add pet icon
Diffstat (limited to 'src/main/java/de')
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PetWidget.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PetWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PetWidget.java new file mode 100644 index 00000000..15665ffa --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/PetWidget.java @@ -0,0 +1,49 @@ +package de.hysky.skyblocker.skyblock.tabhud.widget; + +import de.hysky.skyblocker.skyblock.itemlist.ItemRepository; +import de.hysky.skyblocker.skyblock.tabhud.util.Ico; +import de.hysky.skyblocker.skyblock.tabhud.widget.component.IcoTextComponent; +import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent; +import net.minecraft.item.ItemStack; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; + +import java.util.List; + +public class PetWidget extends TabHudWidget { + + private static final MutableText TITLE = Text.literal("Pet").formatted(Formatting.YELLOW, + Formatting.BOLD); + + private String prevString = ""; + private ItemStack icon = Ico.BONE; + + public PetWidget() { + super("Pet", TITLE, Formatting.YELLOW.getColorValue()); + } + + @Override + protected void updateContent(List<Text> lines) { + for (Text line : lines) { + String string = line.getString(); + if (string.contains("[") && string.contains("]")) { + String[] split = string.split("]", 2); + if (split.length < 2) { + addComponent(new PlainTextComponent(line)); + continue; + } + String petName = split[1].trim(); + if (!petName.equals(prevString)) { + icon = ItemRepository.getItemsStream().filter(stack -> { + String trim = stack.getName().getString().trim(); + return trim.contains("]") && trim.endsWith(petName); + }).findFirst().orElse(Ico.BONE); + prevString = petName; + } + addComponent(new IcoTextComponent(icon, line)); + + } else addComponent(new PlainTextComponent(line)); + } + } +} |
