From 7bcab90062a32efc352eaed4698031b27333b87a Mon Sep 17 00:00:00 2001 From: Ruben Taelman Date: Fri, 7 Oct 2016 22:15:00 +0200 Subject: [PATCH] Fix interfaces not correctly exposing the inventory capability --- .../tileentity/TileInterface.java | 21 +++---------------- 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/cyclops/colossalchests/tileentity/TileInterface.java b/src/main/java/org/cyclops/colossalchests/tileentity/TileInterface.java index 48e8428f..3de17c4b 100644 --- a/src/main/java/org/cyclops/colossalchests/tileentity/TileInterface.java +++ b/src/main/java/org/cyclops/colossalchests/tileentity/TileInterface.java @@ -1,6 +1,5 @@ package org.cyclops.colossalchests.tileentity; -import com.google.common.collect.Maps; import lombok.Getter; import lombok.experimental.Delegate; import net.minecraft.entity.player.EntityPlayer; @@ -10,9 +9,8 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3i; import net.minecraft.util.text.ITextComponent; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.wrapper.SidedInvWrapper; +import net.minecraftforge.items.CapabilityItemHandler; +import net.minecraftforge.items.wrapper.InvWrapper; import org.cyclops.colossalchests.Capabilities; import org.cyclops.commoncapabilities.api.capability.inventorystate.IInventoryState; import org.cyclops.cyclopscore.helper.TileHelpers; @@ -20,7 +18,6 @@ import org.cyclops.cyclopscore.tileentity.CyclopsTileEntity; import java.lang.ref.WeakReference; -import java.util.Map; /** * A machine that can infuse things with blood. @@ -35,14 +32,10 @@ public class TileInterface extends CyclopsTileEntity implements ISidedInventory @NBTPersist @Getter private Vec3i corePosition = null; - protected final Map sidedInventoryHandlers; private WeakReference coreReference = new WeakReference(null); public TileInterface() { - this.sidedInventoryHandlers = Maps.newHashMap(); - for(EnumFacing side : EnumFacing.VALUES) { - this.sidedInventoryHandlers.put(side, new SidedInvWrapper(this, side)); - } + addCapabilityInternal(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, new InvWrapper(this)); if (Capabilities.INVENTORY_STATE != null) { addInventoryStateCapability(); } @@ -243,14 +236,6 @@ public ITextComponent getDisplayName() { return core.getDisplayName(); } - @Override - public T getCapability(Capability capability, EnumFacing facing) { - if(facing != null && capability == net.minecraftforge.items.CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { - return (T) sidedInventoryHandlers.get(facing); - } - return super.getCapability(capability, facing); - } - /** * {@link IInventoryState} implementation for the {@link TileInterface} that proxies a {@link TileColossalChest}.