/** * Adds the contents of the cell to the description tooltip. * * @param cellHandler * @param displayList * @param player */ private void addContentsToCellDescription( final HandlerItemEssentiaCell cellHandler, final List displayList, final EntityPlayer player) { // Get the list of stored aspects List<IAspectStack> cellAspects = cellHandler.getStoredEssentia(); // Sort the list Collections.sort(cellAspects, new AspectStackComparator()); for (IAspectStack currentStack : cellAspects) { if (currentStack != null) { // Get the chat color String aspectChatColor = currentStack.getChatColor(); // Does this aspect have color? if (aspectChatColor == null) { // It does not, set to white aspectChatColor = EnumChatFormatting.WHITE.toString(); } // Build the display string String aspectInfo = String.format( "%s%s%s x %d", aspectChatColor, currentStack.getAspectName(player), EnumChatFormatting.WHITE.toString(), currentStack.getStackSize()); // Add to the list displayList.add(aspectInfo); } } }
/** Creates the cell tooltip. */ @Override public void addInformation( final ItemStack essentiaCell, final EntityPlayer player, final List displayList, final boolean advancedItemTooltips) { // Get the contents of the cell IMEInventoryHandler<IAEFluidStack> handler = AEApi.instance() .registries() .cell() .getCellInventory(essentiaCell, null, StorageChannel.FLUIDS); // Ensure we have a cell inventory handler if (!(handler instanceof HandlerItemEssentiaCell)) { return; } // Cast to cell inventory handler HandlerItemEssentiaCell cellHandler = (HandlerItemEssentiaCell) handler; // Create the bytes tooltip String bytesTip = String.format( ThEStrings.Tooltip_CellBytes.getLocalized(), cellHandler.getUsedBytes(), cellHandler.getTotalBytes()); // Create the types tooltip String typesTip = String.format( ThEStrings.Tooltip_CellTypes.getLocalized(), cellHandler.getUsedTypes(), cellHandler.getTotalTypes()); // Add the tooltips displayList.add(bytesTip); displayList.add(typesTip); // Is the cell pre-formated? if (cellHandler.isPartitioned()) { displayList.add(GuiText.Partitioned.getLocal()); } // Does the cell have anything stored? if (cellHandler.getUsedTypes() > 0) { // Is shift being held? if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT))) { // Add information about the essentia types in the cell this.addContentsToCellDescription(cellHandler, displayList, player); } else { // Let the user know they can hold shift displayList.add( EnumChatFormatting.WHITE.toString() + EnumChatFormatting.ITALIC.toString() + ThEStrings.Tooltip_ItemStackDetails.getLocalized()); } } }
/** Draws the screen and all the components in it. Args : mouseX, mouseY, renderPartialTicks */ @Override public void drawScreen(int mouseX, int mouseY, float partialTicks) { super.drawScreen(mouseX, mouseY, partialTicks); boolean var4 = mc.thePlayer.capabilities.isCreativeMode; int var5 = field_147075_G.func_178147_e(); for (int var6 = 0; var6 < 3; ++var6) { int var7 = field_147075_G.enchantLevels[var6]; int var8 = field_147075_G.field_178151_h[var6]; int var9 = var6 + 1; if (func_146978_c(60, 14 + 19 * var6, 108, 17, mouseX, mouseY) && var7 > 0 && var8 >= 0) { ArrayList<Object> var10 = Lists.newArrayList(); String var11; if (var8 >= 0 && Enchantment.enchantmentsList[var8 & 255] != null) { var11 = Enchantment.enchantmentsList[var8 & 255].getTranslatedName((var8 & 65280) >> 8); var10.add( EnumChatFormatting.WHITE.toString() + EnumChatFormatting.ITALIC.toString() + I18n.format("container.enchant.clue", new Object[] {var11})); } if (!var4) { if (var8 >= 0) var10.add(""); if (mc.thePlayer.experienceLevel < var7) var10.add( EnumChatFormatting.RED.toString() + "Level Requirement: " + field_147075_G.enchantLevels[var6]); else { var11 = ""; if (var9 == 1) var11 = I18n.format("container.enchant.lapis.one", new Object[0]); else var11 = I18n.format("container.enchant.lapis.many", new Object[] {Integer.valueOf(var9)}); if (var5 >= var9) var10.add(EnumChatFormatting.GRAY.toString() + "" + var11); else var10.add(EnumChatFormatting.RED.toString() + "" + var11); if (var9 == 1) var11 = I18n.format("container.enchant.level.one", new Object[0]); else var11 = I18n.format("container.enchant.level.many", new Object[] {Integer.valueOf(var9)}); var10.add(EnumChatFormatting.GRAY.toString() + "" + var11); } } drawHoveringText(var10, mouseX, mouseY, fontRendererObj); break; } } }
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public void addInformation(ItemStack items, EntityPlayer player, List l, boolean moreInfo) { if (items == null) return; try { if (items.stackTagCompound == null) { initializeNBT(items); } if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { ((BlockContainerAdvanced) field_150939_a) .getNBTInfo(items.stackTagCompound, (ArrayList<String>) l, items.getItemDamage()); } else { l.add( EnumChatFormatting.WHITE.toString() + EnumChatFormatting.ITALIC + StatCollector.translateToLocal("info.techno:shift")); } } catch (Exception e) { Conf.ex(e); } }