aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/cowtipper/cowlection/util
diff options
context:
space:
mode:
authorCow <cow@volloeko.de>2021-08-02 13:34:00 +0200
committerCow <cow@volloeko.de>2021-08-02 13:34:00 +0200
commitc72efee51fa8fe97708faf39f43d631f79d8984a (patch)
tree1eed95afb5114c6b0850d2698dd723dac9985249 /src/main/java/de/cowtipper/cowlection/util
parentd2490aad11dec8227b132d55b5afd9a65834011b (diff)
downloadCowlection-c72efee51fa8fe97708faf39f43d631f79d8984a.tar.gz
Cowlection-c72efee51fa8fe97708faf39f43d631f79d8984a.tar.bz2
Cowlection-c72efee51fa8fe97708faf39f43d631f79d8984a.zip
Changed method to get item tooltip
- prevents other mods from modifying the tooltip
Diffstat (limited to 'src/main/java/de/cowtipper/cowlection/util')
-rw-r--r--src/main/java/de/cowtipper/cowlection/util/Utils.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/de/cowtipper/cowlection/util/Utils.java b/src/main/java/de/cowtipper/cowlection/util/Utils.java
index 2db72d1..9a07ab8 100644
--- a/src/main/java/de/cowtipper/cowlection/util/Utils.java
+++ b/src/main/java/de/cowtipper/cowlection/util/Utils.java
@@ -4,9 +4,12 @@ import com.mojang.realmsclient.util.Pair;
import de.cowtipper.cowlection.Cowlection;
import de.cowtipper.cowlection.config.MooConfig;
import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.EnumChatFormatting;
+import net.minecraftforge.common.util.Constants;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.text.WordUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
@@ -400,6 +403,29 @@ public final class Utils {
}
}
+ /**
+ * Replacement for ItemStack#getTooltip that doesn't get affected by other mods
+ */
+ public static List<String> getItemTooltip(ItemStack item) {
+ List<String> tooltip = new ArrayList<>();
+ // display name:
+ tooltip.add(item.getDisplayName());
+
+ // lore:
+ if (item.hasTagCompound() && item.getTagCompound().hasKey("display", Constants.NBT.TAG_COMPOUND)) {
+ NBTTagCompound nbtTagCompound = item.getTagCompound().getCompoundTag("display");
+ if (nbtTagCompound.getTagId("Lore") == Constants.NBT.TAG_LIST) {
+ NBTTagList nbtLore = nbtTagCompound.getTagList("Lore", Constants.NBT.TAG_STRING);
+ if (nbtLore.tagCount() > 0) {
+ for (int line = 0; line < nbtLore.tagCount(); ++line) {
+ tooltip.add(nbtLore.getStringTagAt(line));
+ }
+ }
+ }
+ }
+ return tooltip;
+ }
+
public static void copyToClipboardOrSaveAsFile(String what, String fileName, NBTBase data, boolean sortData) {
String nbt = GsonUtils.toJson(data, sortData);
if (MooConfig.copyWailaAndInventoryDataToClipboard()) {