private void handleAlloyIMCs() { for(NBTTagList taglist : alloys) { List<FluidStack> fluids = Lists.newLinkedList(); for(int i = 0; i < taglist.tagCount(); i++) { NBTTagCompound tag = taglist.getCompoundTagAt(i); FluidStack fs = FluidStack.loadFluidStackFromNBT(tag); if(fs == null) { fluids.clear(); break; } fluids.add(fs); } // needs at least 3 fluids if(fluids.size() > 2) { FluidStack output = fluids.get(0); FluidStack[] input = new FluidStack[fluids.size() - 1]; input = fluids.subList(1, fluids.size()).toArray(input); TinkerRegistry.registerAlloy(output, input); log.debug("Added integration alloy: " + output.getLocalizedName()); } } }
@Override public String getItemStackDisplayName( ItemStack stack ) { FluidStack fluidStack = this.getFluidStack( stack ); if( fluidStack == null ) { fluidStack = new FluidStack( FluidRegistry.WATER, Fluid.BUCKET_VOLUME ); } return fluidStack.getLocalizedName(); }
@Override public String getMessage() { final IAEFluidStack fluid = this.getFluidStack(); if( fluid != null ) { return fluid.getFluidStack().getLocalizedName(); } return null; }
public static void registerAlloy(FluidStack result, FluidStack... inputs) { if(result.amount < 1) { error("Alloy Recipe: Resulting alloy %s has to have an amount (%d)", result.getLocalizedName(), result.amount); } if(inputs.length < 2) { error("Alloy Recipe: Alloy for %s must consist of at least 2 liquids", result.getLocalizedName()); } registerAlloy(new AlloyRecipe(result, inputs)); }
public static String getFluidDisplayName( Object o ) { if( o == null ) { return "** Null"; } FluidStack fluidStack = null; if( o instanceof AEFluidStack ) { fluidStack = ( (AEFluidStack) o ).getFluidStack(); } else if( o instanceof FluidStack ) { fluidStack = (FluidStack) o; } else { return "**Invalid Object"; } String n = fluidStack.getLocalizedName(); if( n == null || "".equalsIgnoreCase( n ) ) { n = fluidStack.getUnlocalizedName(); } return n == null ? "** Null" : n; }
/** * Draws the fuel tooltip */ protected void drawFuelTooltip(int mouseX, int mouseY) { List<String> text = Lists.newArrayList(); FluidStack fuel = fuelInfo.fluid; text.add(TextFormatting.WHITE + Util.translate("gui.smeltery.fuel")); if(fuel != null) { if(TinkerRegistry.isSmelteryFuel(fuel)) { text.add(fuel.getLocalizedName()); GuiUtil.liquidToString(fuel, text); text.add(Util.translateFormatted("gui.smeltery.fuel.heat", fuelInfo.heat)); } else { text.add(Util.translateFormatted("gui.smeltery.fuel.invalid", fuel.getLocalizedName())); } } else { text.add(Util.translate("gui.smeltery.fuel.empty")); } this.drawHoveringText(text, mouseX, mouseY); } }
public static List<String> getTankTooltip(SmelteryTank tank, int mouseX, int mouseY, int xmin, int ymin, int xmax, int ymax) { // Liquids if(xmin <= mouseX && mouseX < xmax && ymin <= mouseY && mouseY < ymax) { FluidStack hovered = getFluidHovered(tank, ymax - mouseY - 1, ymax - ymin); List<String> text = Lists.newArrayList(); Consumer<Integer> stringFn = Util.isShiftKeyDown() ? (i) -> GuiUtil.amountToString(i, text) : (i) -> GuiUtil.amountToIngotString(i, text); if(hovered == null) { int usedCap = tank.getFluidAmount(); int maxCap = tank.getCapacity(); text.add(TextFormatting.WHITE + Util.translate("gui.smeltery.capacity")); stringFn.accept(maxCap); text.add(Util.translateFormatted("gui.smeltery.capacity_available")); stringFn.accept(maxCap - usedCap); text.add(Util.translateFormatted("gui.smeltery.capacity_used")); stringFn.accept(usedCap); if(!Util.isShiftKeyDown()) { text.add(""); text.add(Util.translate("tooltip.tank.holdShift")); } } else { text.add(TextFormatting.WHITE + hovered.getLocalizedName()); GuiUtil.liquidToString(hovered, text); } return text; } return null; }
@Override protected void renderHoveredToolTip( int mouseX, int mouseY ) { final Slot slot = this.getSlot( mouseX, mouseY ); if( slot != null && slot instanceof IMEFluidSlot && slot.isEnabled() ) { final IMEFluidSlot fluidSlot = (IMEFluidSlot) slot; if( fluidSlot.getAEFluidStack() != null && fluidSlot.shouldRenderAsFluid() ) { final IAEFluidStack fluidStack = fluidSlot.getAEFluidStack(); final String formattedAmount = NumberFormat.getNumberInstance( Locale.US ).format( fluidStack.getStackSize() / 1000.0 ) + " B"; final String modName = "" + TextFormatting.BLUE + TextFormatting.ITALIC + Loader.instance() .getIndexedModList() .get( Platform.getModId( fluidStack ) ) .getName(); final List<String> list = new ArrayList<>(); list.add( fluidStack.getFluidStack().getLocalizedName() ); list.add( formattedAmount ); list.add( modName ); this.drawHoveringText( list, mouseX, mouseY ); return; } } super.renderHoveredToolTip( mouseX, mouseY ); }
@Override public List<String> getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) { if(config.getConfig(WailaRegistrar.CONFIG_TANK)) { TileEntity te = accessor.getTileEntity(); if(te.hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null)) { IFluidHandler fluidHandler = te.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null); assert fluidHandler != null; IFluidTankProperties[] fluidHandlerTankProperties = fluidHandler.getTankProperties(); for(IFluidTankProperties fluidTankProperties : fluidHandlerTankProperties) { FluidStack fluidStack = fluidTankProperties.getContents(); if(fluidStack != null) { currenttip.add(Util.translateFormatted("gui.waila.tank.fluid", fluidStack.getLocalizedName())); currenttip.add(Util.translateFormatted("gui.waila.tank.amount", fluidStack.amount, fluidTankProperties.getCapacity())); } else { currenttip.add(Util.translate("gui.waila.tank.empty")); } } } } return currenttip; }
tank.readFromNBT(stack.getTagCompound()); if(tank.getFluidAmount() > 0) { tooltip.add(Util.translateFormatted("tooltip.tank.fluid", tank.getFluid().getLocalizedName())); tooltip.add(Util.translateFormatted("tooltip.tank.amount", tank.getFluid().amount));
@Nullable @Override public String getTooltip() { return stack.getLocalizedName(); }
public static @Nonnull String MB(FluidStack amount, int total) { return Lang.FLUID_LEVEL_NAME.get(amount.amount, total, amount.getLocalizedName()); }
@Override public void getTooltip(final Tooltip tooltip, ITooltipFlag tooltipFlag) { if (this.hastooltip && this.fluidStack != null) { tooltip.add(this.fluidStack.getLocalizedName()); } } }
@Override protected void updateText() { text.clear(); final FluidStack coolant = getTileEntity().getCoolantTank().getFluid(); if (coolant != null) { text.add(Lang.GUI_COMBGEN_CTANK.get(coolant.getLocalizedName())); } else { text.add(Lang.GUI_COMBGEN_CTANK_EMPTY.get()); } text.add(LangFluid.MB(getTileEntity().getCoolantTank())); }
@Override protected void updateText() { text.clear(); final FluidStack fuel = getTileEntity().getFuelTank().getFluid(); if (fuel != null) { text.add(Lang.GUI_COMBGEN_FTANK.get(fuel.getLocalizedName())); } else { text.add(Lang.GUI_COMBGEN_FTANK_EMPTY.get()); } text.add(LangFluid.MB(getTileEntity().getFuelTank())); }
@Override public void apply() { RecipeMatch input = fromIIngredient(this.input); if (input == null) { CraftTweakerAPI.logInfo("Could not find matching items for " + this.input.toString() + ". Ignoring Cauldron Fluid recipe for " + output.getLocalizedName()); return; } addRecipe(new CauldronFluidTransformRecipe(input, fluid.getFluid(), output.getFluid(), boiling, maxLevels)); }
@Override public void drawTooltip(int x, int y, int screenWidth, int screenHeight, FontRenderer fontRenderer) { List<String> textLines = Lists.newArrayList(requested.getItem() != null ? requested.getItem().getDisplayName() : requested.getFluid().getLocalizedName()); List<String> smallTextLines = Lists.newArrayList(); int totalSecs = (int) (System.currentTimeMillis() - executionStarted) / 1000; int minutes = (totalSecs % 3600) / 60; int seconds = totalSecs % 60; smallTextLines.add(I18n.format("gui.refinedstorage:crafting_monitor.tooltip.requested", requested.getFluid() != null ? API.instance().getQuantityFormatter().formatInBucketForm(qty) : API.instance().getQuantityFormatter().format(qty))); smallTextLines.add(String.format("%02d:%02d", minutes, seconds)); smallTextLines.add(String.format("%d%%", completionPercentage)); RenderUtils.drawTooltipWithSmallText(textLines, smallTextLines, true, ItemStack.EMPTY, x, y, screenWidth, screenHeight, fontRenderer); }
@Override public void addInformation(ItemStack stack, World world, List<String> tooltip, ITooltipFlag flag) { tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.tier", stack.getItemDamage() + 1)); tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.fluid.capacity", getCapacity(stack))); if (stack.hasTagCompound() && stack.getTagCompound().hasKey("Fluid")) { FluidStack fluidStack = FluidStack.loadFluidStackFromNBT(stack.getTagCompound().getCompoundTag("Fluid")); if (fluidStack != null) { tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.fluid.type", fluidStack.getLocalizedName())); tooltip.add(TextHelper.localizeEffect("tooltip.bloodmagic.fluid.amount", fluidStack.amount, getCapacity(stack))); } } }
public static String getDisplayName(Object o) { if (o instanceof ItemStack) return ((ItemStack) o).getDisplayName(); if (o instanceof IAEItemStack) return ((IAEItemStack) o).getDefinition().getDisplayName(); if (o instanceof IAEFluidStack) return ((IAEFluidStack) o).getFluidStack().getLocalizedName(); if (o instanceof IAEEssentiaStack) return ((IAEEssentiaStack) o).getAspect().getName(); return "NAMENOTFOUND"; }
@Override public String getItemStackDisplayName(ItemStack stack) { FluidStack fluidStack = FluidStack.loadFluidStackFromNBT(stack.getTagCompound()); if (fluidStack != null) { return super.getItemStackDisplayName(stack) + " " + TextHelper.localizeEffect("tooltip.bloodmagic.tier", stack.getItemDamage() + 1) + " (" + fluidStack.getLocalizedName() + ")"; } else { return super.getItemStackDisplayName(stack) + " " + TextHelper.localizeEffect("tooltip.bloodmagic.tier", stack.getItemDamage() + 1); } }