blob: 038cbbe87b71c287af5a51302fac576ed6d375a1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
package de.hysky.skyblocker.utils.tooltip;
import de.hysky.skyblocker.skyblock.item.MuseumItemCache;
import de.hysky.skyblocker.skyblock.item.tooltip.ItemTooltip;
import de.hysky.skyblocker.skyblock.item.tooltip.TooltipInfoType;
import de.hysky.skyblocker.utils.ItemUtils;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.screen.slot.Slot;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import java.util.List;
public class MuseumTooltip extends TooltipAdder {
public MuseumTooltip(int priority) {
super(priority);
}
@Override
public void addToTooltip(List<Text> lore, Slot focusedSlot) {
final ItemStack itemStack = focusedSlot.getStack();
final String internalID = ItemTooltip.getInternalNameFromNBT(itemStack, true);
if (TooltipInfoType.MUSEUM.isTooltipEnabledAndHasOrNullWarning(internalID)) {
String itemCategory = TooltipInfoType.MUSEUM.getData().get(internalID).getAsString();
String format = switch (itemCategory) {
case "Weapons" -> "%-18s";
case "Armor" -> "%-19s";
default -> "%-20s";
};
//Special case the special category so that it doesn't always display not donated
if (itemCategory.equals("Special")) {
lore.add(Text.literal(String.format(format, "Museum: (" + itemCategory + ")"))
.formatted(Formatting.LIGHT_PURPLE));
} else {
NbtCompound customData = ItemUtils.getCustomData(itemStack);
boolean isInMuseum = (customData.contains("donated_museum") && customData.getBoolean("donated_museum")) || MuseumItemCache.hasItemInMuseum(internalID);
Formatting donatedIndicatorFormatting = isInMuseum ? Formatting.GREEN : Formatting.RED;
lore.add(Text.literal(String.format(format, "Museum (" + itemCategory + "):"))
.formatted(Formatting.LIGHT_PURPLE)
.append(Text.literal(isInMuseum ? "✔" : "✖").formatted(donatedIndicatorFormatting, Formatting.BOLD))
.append(Text.literal(isInMuseum ? " Donated" : " Not Donated").formatted(donatedIndicatorFormatting)));
}
}
}
}
|