package com.austinv11.collectiveframework.minecraft.event.handler; import com.austinv11.collectiveframework.minecraft.reference.Config; import com.austinv11.collectiveframework.minecraft.utils.Colors; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraftforge.event.entity.player.ItemTooltipEvent; import net.minecraftforge.oredict.OreDictionary; import java.util.ArrayList; import java.util.List; public class TooltipHandler { @SubscribeEvent public void onTooltip(ItemTooltipEvent event) { if (Config.debugTooltips) { event.toolTip.addAll(getUnlocalisedName(event.itemStack)); event.toolTip.addAll(getOreDictTooltip(event.itemStack)); event.toolTip.addAll(getNBTTooltip(event.itemStack)); } } private List<String> getNBTTooltip(ItemStack stack) { List<String> tooltip = new ArrayList<String>(); if (stack.hasTagCompound()) { tooltip.add(Colors.UNDERLINE+"NBT Tags:"); tooltip.add(stack.getTagCompound().toString()); } return tooltip; } private List<String> getOreDictTooltip(ItemStack stack) { List<String> tooltip = new ArrayList<String>(); if (OreDictionary.getOreIDs(stack).length > 0) { tooltip.add(Colors.UNDERLINE+"Ore Dictionary Entries:"); for (int id : OreDictionary.getOreIDs(stack)) { tooltip.add("-"+OreDictionary.getOreName(id)+" (id: "+id+")"); } } return tooltip; } private List<String> getUnlocalisedName(ItemStack stack) { List<String> tooltip = new ArrayList<String>(); tooltip.add(Colors.UNDERLINE+"String Item ID:"); Item item = stack.getItem(); if (item instanceof ItemBlock) { Block block = Block.getBlockFromItem(item); tooltip.add(Block.blockRegistry.getNameForObject(block)); } else { tooltip.add(Item.itemRegistry.getNameForObject(item)); } return tooltip; } }