From da8875de590accc567141052519542d6dd63d5a2 Mon Sep 17 00:00:00 2001 From: Justin Vitale <4002351+justinvvitale@users.noreply.github.com> Date: Thu, 9 Jul 2020 17:06:53 +1000 Subject: [PATCH] Only allow items to be inserted if empty and not locked or issametype --- .../storage/item/StorageUnitBaseBlockEntity.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/techreborn/blockentity/storage/item/StorageUnitBaseBlockEntity.java b/src/main/java/techreborn/blockentity/storage/item/StorageUnitBaseBlockEntity.java index 92c8a1536..2dbe23ee2 100644 --- a/src/main/java/techreborn/blockentity/storage/item/StorageUnitBaseBlockEntity.java +++ b/src/main/java/techreborn/blockentity/storage/item/StorageUnitBaseBlockEntity.java @@ -34,6 +34,7 @@ import net.minecraft.text.TranslatableText; import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; import net.minecraft.util.registry.Registry; import net.minecraft.world.World; import reborncore.api.IListInfoProvider; @@ -49,6 +50,7 @@ import reborncore.common.util.WorldUtils; import techreborn.init.TRBlockEntities; import techreborn.init.TRContent; +import javax.annotation.Nullable; import java.util.List; public class StorageUnitBaseBlockEntity extends MachineBaseBlockEntity implements InventoryProvider, IToolDrop, IListInfoProvider, BuiltScreenHandlerProvider { @@ -243,6 +245,11 @@ public class StorageUnitBaseBlockEntity extends MachineBaseBlockEntity implement return getCurrentCapacity() == 0; } + @Override + public boolean canInsert(int index, ItemStack stack, @Nullable Direction direction) { + return super.canInsert(index, stack, direction) && (this.isEmpty() && !isLocked() || isSameType(stack)); + } + public int getCurrentCapacity() { return storeItemStack.getCount() + inventory.getStack(OUTPUT_SLOT).getCount(); }