From e2f177b75766c0833e201a387baa2ca81797e579 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Mon, 27 Nov 2017 13:34:45 +0000 Subject: [PATCH] Can now charge ic2 items, closes #1202 --- .../builder/ContainerTileInventoryBuilder.java | 4 +++- .../tiles/storage/TileEnergyStorage.java | 15 +++++++-------- .../java/techreborn/utils/IC2ItemCharger.java | 7 +++++++ 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/techreborn/client/container/builder/ContainerTileInventoryBuilder.java b/src/main/java/techreborn/client/container/builder/ContainerTileInventoryBuilder.java index 8a896715c..9d417ff67 100644 --- a/src/main/java/techreborn/client/container/builder/ContainerTileInventoryBuilder.java +++ b/src/main/java/techreborn/client/container/builder/ContainerTileInventoryBuilder.java @@ -44,6 +44,8 @@ import reborncore.common.powerSystem.TilePowerAcceptor; import techreborn.Core; import techreborn.client.container.builder.slot.FilteredSlot; import techreborn.client.container.builder.slot.UpgradeSlot; +import techreborn.compat.CompatManager; +import techreborn.utils.IC2ItemCharger; import java.util.function.Consumer; import java.util.function.IntConsumer; @@ -89,7 +91,7 @@ public class ContainerTileInventoryBuilder { public ContainerTileInventoryBuilder energySlot(final int index, final int x, final int y) { this.parent.slots.add(new FilteredSlot(this.tile, index, x, y) .setFilter(stack -> stack.hasCapability(CapabilityEnergy.ENERGY, EnumFacing.UP) - || stack.getItem() instanceof IEnergyInterfaceItem)); + || stack.getItem() instanceof IEnergyInterfaceItem || (CompatManager.isIC2Loaded && IC2ItemCharger.isIC2PoweredItem(stack)))); return this; } diff --git a/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java b/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java index d03c86ea6..727eabc69 100644 --- a/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java +++ b/src/main/java/techreborn/tiles/storage/TileEnergyStorage.java @@ -69,14 +69,13 @@ public class TileEnergyStorage extends TilePowerAcceptor implements IToolDrop, I super.update(); if (!inventory.getStackInSlot(0).isEmpty()) { ItemStack stack = inventory.getStackInSlot(0); - if (!(stack.getItem() instanceof IEnergyItemInfo)) { - return; - } - IEnergyItemInfo item = (IEnergyItemInfo) inventory.getStackInSlot(0).getItem(); - if (PoweredItem.getEnergy(stack) != PoweredItem.getMaxPower(stack)) { - if (canUseEnergy(item.getMaxTransfer(stack))) { - useEnergy(item.getMaxTransfer(stack)); - PoweredItem.setEnergy(PoweredItem.getEnergy(stack) + item.getMaxTransfer(stack), stack); + if (stack.getItem() instanceof IEnergyItemInfo) { + IEnergyItemInfo item = (IEnergyItemInfo) inventory.getStackInSlot(0).getItem(); + if (PoweredItem.getEnergy(stack) != PoweredItem.getMaxPower(stack)) { + if (canUseEnergy(item.getMaxTransfer(stack))) { + useEnergy(item.getMaxTransfer(stack)); + PoweredItem.setEnergy(PoweredItem.getEnergy(stack) + item.getMaxTransfer(stack), stack); + } } } if(CompatManager.isIC2Loaded){ diff --git a/src/main/java/techreborn/utils/IC2ItemCharger.java b/src/main/java/techreborn/utils/IC2ItemCharger.java index 52d0475cc..54b989b14 100644 --- a/src/main/java/techreborn/utils/IC2ItemCharger.java +++ b/src/main/java/techreborn/utils/IC2ItemCharger.java @@ -40,4 +40,11 @@ public class IC2ItemCharger { } } + public static boolean isIC2PoweredItem(ItemStack stack){ + if(stack.isEmpty()){ + return false; + } + return stack.getItem() instanceof IElectricItem; + } + }