2014-06-14 21:40:45 +02:00
|
|
|
package com.pahimar.ee3.client.handler;
|
|
|
|
|
|
|
|
import com.pahimar.ee3.exchange.EnergyValue;
|
2014-06-20 21:57:27 +02:00
|
|
|
import com.pahimar.ee3.exchange.EnergyValueRegistry;
|
2014-06-14 21:40:45 +02:00
|
|
|
import com.pahimar.ee3.exchange.WrappedStack;
|
|
|
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
|
|
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
|
|
|
|
import org.lwjgl.input.Keyboard;
|
|
|
|
|
|
|
|
import java.text.DecimalFormat;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Equivalent-Exchange-3
|
|
|
|
* <p/>
|
|
|
|
* ItemTooltipEventHandler
|
|
|
|
*
|
|
|
|
* @author pahimar
|
|
|
|
*/
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
|
|
public class ItemTooltipEventHandler
|
|
|
|
{
|
2014-06-20 21:57:27 +02:00
|
|
|
private static DecimalFormat energyValueDecimalFormat = new DecimalFormat("###,###,###,###,###.###");
|
2014-06-14 21:40:45 +02:00
|
|
|
|
|
|
|
@SubscribeEvent
|
|
|
|
public void handleItemTooltipEvent(ItemTooltipEvent event)
|
|
|
|
{
|
|
|
|
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT))
|
|
|
|
{
|
|
|
|
WrappedStack stack = new WrappedStack(event.itemStack);
|
|
|
|
|
2014-06-20 21:57:27 +02:00
|
|
|
if (EnergyValueRegistry.getInstance().hasEnergyValue(stack))
|
2014-06-14 21:40:45 +02:00
|
|
|
{
|
2014-06-20 21:57:27 +02:00
|
|
|
EnergyValue energyValue = EnergyValueRegistry.getInstance().getEnergyValue(stack);
|
2014-06-14 21:40:45 +02:00
|
|
|
if (stack.getStackSize() > 1)
|
|
|
|
{
|
2014-06-20 21:57:27 +02:00
|
|
|
event.toolTip.add("Exchange Energy (Item): " + String.format("%s", energyValueDecimalFormat.format(energyValue.getValue())));
|
|
|
|
event.toolTip.add("Exchange Energy (Stack): " + String.format("%s", energyValueDecimalFormat.format(stack.getStackSize() * energyValue.getValue())));
|
2014-06-14 21:40:45 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2014-06-20 21:57:27 +02:00
|
|
|
event.toolTip.add("Exchange Energy: " + String.format("%s", energyValueDecimalFormat.format(stack.getStackSize() * energyValue.getValue())));
|
2014-06-14 21:40:45 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2014-06-20 21:57:27 +02:00
|
|
|
event.toolTip.add("No Exchange Energy value");
|
2014-06-14 21:40:45 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|