diff --git a/CHANGELOG.md b/CHANGELOG.md index 3693facaa..0af7ce329 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ### 1.5.31 - Improved the "cannot craft! loop in processing..." error message (raoulvdberge) - Fixed error logs when toggling the Pattern Grid from and to processing mode (raoulvdberge) +- Fixed pattern slots in Crafters not being accessible (raoulvdberge) - Storage disk and block stored and capacity counts are formatted now in the tooltip (raoulvdberge) ### 1.5.30 diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java index 20052d490..07c006c2a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java @@ -1,10 +1,14 @@ package com.raoulvdberge.refinedstorage.tile; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafter; +import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import net.minecraftforge.common.capabilities.Capability; +import net.minecraftforge.items.CapabilityItemHandler; import javax.annotation.Nonnull; +import javax.annotation.Nullable; public class TileCrafter extends TileNode { @Override @@ -17,4 +21,18 @@ public class TileCrafter extends TileNode { public String getNodeId() { return NetworkNodeCrafter.ID; } + + @Override + public boolean hasCapability(@Nonnull Capability capability, @Nullable EnumFacing facing) { + return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY || super.hasCapability(capability, facing); + } + + @Override + public T getCapability(@Nonnull Capability capability, @Nullable EnumFacing facing) { + if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { + return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(getNode().getPatternItems()); + } + + return super.getCapability(capability, facing); + } }