Fixed charging \ discharging items items. Closes #1547
This commit is contained in:
parent
ca9a2c9b38
commit
30302e241b
16 changed files with 37 additions and 61 deletions
|
@ -32,6 +32,7 @@ import net.minecraft.util.Rotation;
|
|||
import net.minecraft.util.text.TextFormatting;
|
||||
import reborncore.api.IToolDrop;
|
||||
import reborncore.api.power.EnumPowerTier;
|
||||
import reborncore.common.powerSystem.PowerSystem;
|
||||
import reborncore.common.powerSystem.TilePowerAcceptor;
|
||||
import reborncore.common.util.StringUtils;
|
||||
import techreborn.Core;
|
||||
|
@ -157,13 +158,13 @@ public class TileSolarPanel extends TilePowerAcceptor implements IToolDrop {
|
|||
@Override
|
||||
public void addInfo(List<String> info, boolean isRealTile) {
|
||||
info.add(TextFormatting.GRAY + "Internal Energy Storage: " + TextFormatting.GOLD
|
||||
+ getLocaliszedPowerFormatted((int) getMaxPower()));
|
||||
+ PowerSystem.getLocaliszedPowerFormatted((int) getMaxPower()));
|
||||
|
||||
info.add(TextFormatting.GRAY + "Generation Rate Day: " + TextFormatting.GOLD
|
||||
+ getLocaliszedPowerFormatted(panel.generationRateD));
|
||||
+ PowerSystem.getLocaliszedPowerFormatted(panel.generationRateD));
|
||||
|
||||
info.add(TextFormatting.GRAY + "Generation Rate Night: " + TextFormatting.GOLD
|
||||
+ getLocaliszedPowerFormatted(panel.generationRateN));
|
||||
+ PowerSystem.getLocaliszedPowerFormatted(panel.generationRateN));
|
||||
|
||||
info.add(TextFormatting.GRAY + "Tier: " + TextFormatting.GOLD + StringUtils.toFirstCapitalAllLowercase(getTier().toString()));
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ import net.minecraftforge.energy.CapabilityEnergy;
|
|||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
import reborncore.api.IToolDrop;
|
||||
import reborncore.api.power.EnumPowerTier;
|
||||
import reborncore.api.power.IEnergyItemInfo;
|
||||
import reborncore.api.tile.IInventoryProvider;
|
||||
import reborncore.common.RebornCoreConfig;
|
||||
import reborncore.common.powerSystem.TilePowerAcceptor;
|
||||
|
@ -71,27 +72,20 @@ public class TileEnergyStorage extends TilePowerAcceptor
|
|||
super.update();
|
||||
if (!inventory.getStackInSlot(0).isEmpty()) {
|
||||
ItemStack stack = inventory.getStackInSlot(0);
|
||||
if(stack.hasCapability(CapabilityEnergy.ENERGY, null)){
|
||||
IEnergyStorage energyStorage = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
if(getEnergy() > 0 && energyStorage.getEnergyStored() < energyStorage.getMaxEnergyStored()){
|
||||
energyStorage.receiveEnergy((int) useEnergy(getMaxOutput()) * RebornCoreConfig.euPerFU, false);
|
||||
if (stack.hasCapability(CapabilityEnergy.ENERGY, null)) {
|
||||
IEnergyStorage powerItem = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
int maxReceive = Math.min((powerItem.getMaxEnergyStored() - powerItem.getEnergyStored()),
|
||||
(int) ((IEnergyItemInfo) stack.getItem()).getMaxTransfer(stack));
|
||||
double maxUse = Math.min((double) (maxReceive / RebornCoreConfig.euPerFU), getMaxOutput());
|
||||
if (getEnergy() >= 0.0 && maxReceive > 0) {
|
||||
powerItem.receiveEnergy((int) useEnergy(maxUse) * RebornCoreConfig.euPerFU, false);
|
||||
}
|
||||
}
|
||||
if(CompatManager.isIC2Loaded){
|
||||
} else if (CompatManager.isIC2Loaded) {
|
||||
IC2ItemCharger.chargeIc2Item(this, stack);
|
||||
}
|
||||
}
|
||||
if (!inventory.getStackInSlot(1).isEmpty()) {
|
||||
ItemStack stack = inventory.getStackInSlot(1);
|
||||
if(stack.hasCapability(CapabilityEnergy.ENERGY, null)){
|
||||
IEnergyStorage energyStorage = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
if(getEnergy() != getMaxPower() && energyStorage.getEnergyStored() > 0){
|
||||
addEnergy(energyStorage.extractEnergy((int) (getMaxInput() * RebornCoreConfig.euPerFU), false) / RebornCoreConfig.euPerFU);
|
||||
}
|
||||
}
|
||||
if(CompatManager.isIC2Loaded){
|
||||
IC2ItemCharger.dischargeIc2Item(this, stack);
|
||||
}
|
||||
charge(1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ import net.minecraft.util.text.TextFormatting;
|
|||
import reborncore.api.IListInfoProvider;
|
||||
import reborncore.api.IToolDrop;
|
||||
import reborncore.api.power.EnumPowerTier;
|
||||
import reborncore.common.powerSystem.PowerSystem;
|
||||
import reborncore.common.powerSystem.TilePowerAcceptor;
|
||||
import reborncore.common.registration.RebornRegistry;
|
||||
import reborncore.common.registration.impl.ConfigRegistry;
|
||||
|
@ -140,9 +141,9 @@ public class TileTransformer extends TilePowerAcceptor
|
|||
// IListInfoProvider
|
||||
@Override
|
||||
public void addInfo(List<String> info, boolean isRealTile) {
|
||||
info.add(TextFormatting.GRAY + "Input Rate: " + TextFormatting.GOLD + getLocaliszedPowerFormatted((int) getMaxInput()));
|
||||
info.add(TextFormatting.GRAY + "Input Rate: " + TextFormatting.GOLD + PowerSystem.getLocaliszedPowerFormatted((int) getMaxInput()));
|
||||
info.add(TextFormatting.GRAY + "Input Tier: " + TextFormatting.GOLD + StringUtils.toFirstCapitalAllLowercase(inputTier.toString()));
|
||||
info.add(TextFormatting.GRAY + "Output Rate: " + TextFormatting.GOLD + getLocaliszedPowerFormatted((int) getMaxOutput()));
|
||||
info.add(TextFormatting.GRAY + "Output Rate: " + TextFormatting.GOLD + PowerSystem.getLocaliszedPowerFormatted((int) getMaxOutput()));
|
||||
info.add(TextFormatting.GRAY + "Output Tier: " + TextFormatting.GOLD + StringUtils.toFirstCapitalAllLowercase(ouputTier.toString()));
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue