package chbachman.armour.upgrade.upgradeList;
import net.minecraft.item.ItemStack;
import chbachman.api.item.IModularItem;
import chbachman.api.upgrade.IUpgrade;
import chbachman.api.upgrade.Upgrade;
import chbachman.armour.items.armour.logic.RFUpgradeLogic;
public class UpgradeEnergy extends Upgrade {
public final int maxTransfer;
public final int capacity;
private IUpgrade dependency = null;
public UpgradeEnergy(String name, int maxTransfer, int capacity) {
super(name);
this.maxTransfer = maxTransfer;
this.capacity = capacity;
}
@Override
public void onUpgradeAddition(IModularItem armour, ItemStack stack) {
RFUpgradeLogic holder = (RFUpgradeLogic) armour.getLogic();
holder.setCapacity(stack, capacity);
holder.setMaxTransfer(stack, maxTransfer);
}
@Override
public boolean isCompatible(IModularItem item, ItemStack stack, int armorType) {
return item.getLogic() instanceof RFUpgradeLogic;
}
@Override
public IUpgrade[] getDependencies() {
if (dependency == null) {
return null;
}
return new IUpgrade[] { this.dependency };
}
public UpgradeEnergy setDependencies(IUpgrade upgrade) {
this.dependency = upgrade;
return this;
}
}