From 7f289e23568f27a39c908621dc25c2dc33f2b2bc Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sun, 17 Dec 2017 21:36:48 +0000 Subject: [PATCH] Add ic2 item discharge support, closes #1357 --- .../tiles/storage/TileEnergyStorage.java | 18 ++++++++++-------- .../java/techreborn/utils/IC2ItemCharger.java | 9 +++++++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java b/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java index 727eabc69..93cb5a631 100644 --- a/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java +++ b/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java @@ -84,16 +84,18 @@ public class TileEnergyStorage extends TilePowerAcceptor implements IToolDrop, I } if (!inventory.getStackInSlot(1).isEmpty()) { ItemStack stack = inventory.getStackInSlot(1); - if (!(stack.getItem() instanceof IEnergyItemInfo)) { - return; - } - IEnergyItemInfo item = (IEnergyItemInfo) stack.getItem(); - if (item.canProvideEnergy(stack)) { - if (getEnergy() != getMaxPower() && PoweredItem.getEnergy(stack) > 0) { - addEnergy(item.getMaxTransfer(stack)); - PoweredItem.setEnergy(PoweredItem.getEnergy(stack) - item.getMaxTransfer(stack), stack); + if (stack.getItem() instanceof IEnergyItemInfo) { + IEnergyItemInfo item = (IEnergyItemInfo) stack.getItem(); + if (item.canProvideEnergy(stack)) { + if (getEnergy() != getMaxPower() && PoweredItem.getEnergy(stack) > 0) { + addEnergy(item.getMaxTransfer(stack)); + PoweredItem.setEnergy(PoweredItem.getEnergy(stack) - item.getMaxTransfer(stack), stack); + } } } + if(CompatManager.isIC2Loaded){ + IC2ItemCharger.dischargeIc2Item(this, stack); + } } } diff --git a/src/main/java/techreborn/utils/IC2ItemCharger.java b/src/main/java/techreborn/utils/IC2ItemCharger.java index 54b989b14..f2a9f147d 100644 --- a/src/main/java/techreborn/utils/IC2ItemCharger.java +++ b/src/main/java/techreborn/utils/IC2ItemCharger.java @@ -40,6 +40,15 @@ public class IC2ItemCharger { } } + public static void dischargeIc2Item(TilePowerAcceptor tilePowerAcceptor, ItemStack stack){ + if(stack.isEmpty()){ + return; + } + if(stack.getItem() instanceof IElectricItem){ + tilePowerAcceptor.addEnergy(ElectricItem.manager.discharge(stack, tilePowerAcceptor.getFreeSpace(), 4, false, true, false)); + } + } + public static boolean isIC2PoweredItem(ItemStack stack){ if(stack.isEmpty()){ return false;