Large improvement to power system, fixes #204
This commit is contained in:
parent
3f47e89f85
commit
cf34fe1f1f
10 changed files with 128 additions and 97 deletions
|
@ -6,7 +6,12 @@ import net.minecraft.block.BlockContainer;
|
|||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
import techreborn.api.IListInfoProvider;
|
||||
import techreborn.api.power.IEnergyInterfaceItem;
|
||||
import techreborn.cofhLib.util.helpers.MathHelper;
|
||||
import techreborn.lib.ChatColor;
|
||||
import techreborn.util.Color;
|
||||
|
||||
public class StackToolTipEvent {
|
||||
|
||||
|
@ -14,7 +19,23 @@ public class StackToolTipEvent {
|
|||
public void handleItemTooltipEvent(ItemTooltipEvent event) {
|
||||
if(event.itemStack.getItem() instanceof IListInfoProvider){
|
||||
((IListInfoProvider) event.itemStack.getItem()).addInfo(event.toolTip, false);
|
||||
} else{
|
||||
} else if (event.itemStack.getItem() instanceof IEnergyInterfaceItem){
|
||||
int percentage = percentage((int)((IEnergyInterfaceItem) event.itemStack.getItem()).getMaxPower(event.itemStack), (int)((IEnergyInterfaceItem) event.itemStack.getItem()).getEnergy(event.itemStack));
|
||||
ChatColor color;
|
||||
if(percentage<= 10){
|
||||
color = ChatColor.RED;
|
||||
} else if(percentage >= 75){
|
||||
color = ChatColor.GREEN;
|
||||
} else {
|
||||
color = ChatColor.YELLOW;
|
||||
}
|
||||
event.toolTip.add(color + "" + (int)((IEnergyInterfaceItem) event.itemStack.getItem()).getEnergy(event.itemStack) + ChatColor.LIGHT_PURPLE + " stored eu");
|
||||
event.toolTip.add(Color.GREEN + "" + (int)((IEnergyInterfaceItem) event.itemStack.getItem()).getMaxPower(event.itemStack) + ChatColor.LIGHT_PURPLE + " max eu");
|
||||
if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT)){
|
||||
event.toolTip.add(ChatColor.GREEN +"" + percentage + "%" + ChatColor.LIGHT_PURPLE +" charged");
|
||||
event.toolTip.add(Color.GREEN + "" + (int)((IEnergyInterfaceItem) event.itemStack.getItem()).getMaxTransfer(event.itemStack) + ChatColor.LIGHT_PURPLE + " eu/tick in/out");
|
||||
}
|
||||
} else {
|
||||
Block block = Block.getBlockFromItem(event.itemStack.getItem());
|
||||
if(block != null && block instanceof BlockContainer && block.getClass().getCanonicalName().startsWith("techreborn.")){
|
||||
TileEntity tile = block.createTileEntity(Minecraft.getMinecraft().theWorld, event.itemStack.getItemDamage());
|
||||
|
@ -25,4 +46,10 @@ public class StackToolTipEvent {
|
|||
}
|
||||
}
|
||||
|
||||
public int percentage(int MaxValue, int CurrentValue) {
|
||||
if (CurrentValue == 0)
|
||||
return 0;
|
||||
return (int) ((CurrentValue * 100.0f) / MaxValue);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue