Fix crash with non-TR items charge.

This commit is contained in:
drcrazy 2018-06-24 12:14:12 +03:00
parent d6b9656b7c
commit af6cb38bfb
2 changed files with 2 additions and 6 deletions

View file

@ -30,7 +30,6 @@ import net.minecraft.util.EnumFacing;
import net.minecraftforge.energy.CapabilityEnergy;
import net.minecraftforge.energy.IEnergyStorage;
import reborncore.api.IToolDrop;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.api.tile.IInventoryProvider;
import reborncore.common.RebornCoreConfig;
import reborncore.common.powerSystem.TilePowerAcceptor;
@ -73,8 +72,7 @@ public class TileChargeOMat extends TilePowerAcceptor
final ItemStack stack = inventory.getStackInSlot(i);
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));
int maxReceive = powerItem.receiveEnergy((int)getMaxOutput(), true);
double maxUse = Math.min((double) (maxReceive / RebornCoreConfig.euPerFU), getMaxInput());
if (getEnergy() >= 0.0 && maxReceive > 0) {
powerItem.receiveEnergy((int) useEnergy(maxUse) * RebornCoreConfig.euPerFU, false);

View file

@ -32,7 +32,6 @@ 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;
@ -74,8 +73,7 @@ public class TileEnergyStorage extends TilePowerAcceptor
ItemStack stack = inventory.getStackInSlot(0);
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));
int maxReceive = powerItem.receiveEnergy((int)getMaxOutput(), true);
double maxUse = Math.min((double) (maxReceive / RebornCoreConfig.euPerFU), getMaxOutput());
if (getEnergy() >= 0.0 && maxReceive > 0) {
powerItem.receiveEnergy((int) useEnergy(maxUse) * RebornCoreConfig.euPerFU, false);