diff --git a/CHANGELOG.md b/CHANGELOG.md index bbfb0c845..bb512c685 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ **Features** - Added an API +- Added Storage Drawers integration - Increased cable recipe to 12 cables ### 0.7.8 diff --git a/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java b/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java index df0169331..603d41d5a 100755 --- a/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java +++ b/src/main/java/refinedstorage/tile/externalstorage/DrawerStorage.java @@ -3,6 +3,7 @@ package refinedstorage.tile.externalstorage; import com.jaquadro.minecraft.storagedrawers.api.storage.IDrawer; import net.minecraft.item.ItemStack; import net.minecraftforge.items.ItemHandlerHelper; +import refinedstorage.RefinedStorageUtils; import refinedstorage.tile.config.ModeFilter; import java.util.List; @@ -79,6 +80,16 @@ public class DrawerStorage extends ExternalStorage { @Override public ItemStack take(ItemStack stack, int size, int flags) { + if (RefinedStorageUtils.compareStack(stack, drawer.getStoredItemPrototype(), flags) && drawer.canItemBeExtracted(stack)) { + if (size > drawer.getStoredItemCount()) { + size = drawer.getStoredItemCount(); + } + + drawer.setStoredItemCount(drawer.getStoredItemCount() - size); + + return ItemHandlerHelper.copyStackWithSize(stack, size); + } + return null; }