package chbachman.armour.upgrade.upgradeList; import chbachman.api.item.IModularItem; import chbachman.api.upgrade.Upgrade; import chbachman.api.util.ArmourSlot; import chbachman.armour.util.EnergyUtil; import chbachman.armour.util.InventoryUtil; import cofh.lib.util.helpers.EnergyHelper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class UpgradeSolar extends Upgrade { private int generation; public UpgradeSolar(String name, int generation) { super(name); this.generation = generation; } @Override public int onTick(World world, EntityPlayer player, ItemStack currStack, ArmourSlot currSlot) { if (15 == world.getBlockLightValue(MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY), MathHelper.floor_double(player.posZ))) { int generation = this.generation; for (ItemStack stack : InventoryUtil.getArmour(player)) { if (EnergyHelper.isEnergyContainerItem(stack)) { generation -= EnergyUtil.getItem(stack).receiveEnergy(stack, generation, false); } } } return 0; } @Override public boolean isCompatible(IModularItem item, ItemStack stack, int armourType) { return EnergyHelper.isEnergyContainerItem(stack) && armourType == ArmourSlot.HELMET.id; } }