package crazypants.enderio.gui;
import java.text.MessageFormat;
import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
import com.enderio.core.client.handlers.SpecialTooltipHandler.ITooltipCallback;
import crazypants.enderio.EnderIO;
import crazypants.enderio.fluid.FluidFuelRegister;
import crazypants.enderio.fluid.IFluidCoolant;
import crazypants.enderio.fluid.IFluidFuel;
import crazypants.enderio.machine.power.PowerDisplayUtil;
public class TooltipHandlerFluid implements ITooltipCallback {
@Override
public void addCommonEntries(ItemStack itemstack, EntityPlayer entityplayer, List<String> list, boolean flag) {
}
@Override
public void addBasicEntries(ItemStack itemstack, EntityPlayer entityplayer, List<String> list, boolean flag) {
}
@Override
public void addDetailedEntries(ItemStack itemstack, EntityPlayer entityplayer, List<String> list, boolean flag) {
FluidStack fluid = FluidContainerRegistry.getFluidForFilledItem(itemstack);
if (fluid != null) {
IFluidFuel fuel = FluidFuelRegister.instance.getFuel(fluid);
if (fuel != null) {
list.add(EnderIO.lang.localize("fuel.tooltip.heading"));
list.add(EnumChatFormatting.ITALIC + " " + PowerDisplayUtil.formatPowerPerTick(fuel.getPowerPerCycle()));
list.add(EnumChatFormatting.ITALIC + " " + MessageFormat.format(EnderIO.lang.localize("fuel.tooltip.burnTime"), fuel.getTotalBurningTime()));
} else {
IFluidCoolant coolant = FluidFuelRegister.instance.getCoolant(fluid);
if (coolant != null) {
list.add(EnderIO.lang.localize("coolant.tooltip.heading"));
list.add(EnumChatFormatting.ITALIC + " " + PowerDisplayUtil.formatPowerFloat(coolant.getDegreesCoolingPerMB(100) * 1000) + " "
+ EnderIO.lang.localize("coolant.tooltip.degreesPerBucket"));
}
}
}
}
@Override
public boolean shouldHandleItem(ItemStack item) {
return FluidContainerRegistry.getFluidForFilledItem(item) != null;
}
}