diff --git a/src/main/java/techreborn/blocks/BlockDigitalChest.java b/src/main/java/techreborn/blocks/BlockDigitalChest.java index 1611717f7..21db73f9a 100644 --- a/src/main/java/techreborn/blocks/BlockDigitalChest.java +++ b/src/main/java/techreborn/blocks/BlockDigitalChest.java @@ -24,14 +24,12 @@ package techreborn.blocks; -import net.minecraft.block.BlockDynamicLiquid; -import net.minecraft.block.BlockStaticLiquid; -import net.minecraft.item.ItemBlock; +import net.minecraft.block.state.IBlockState; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.fluids.BlockFluidBase; import prospector.shootingstar.ShootingStar; import prospector.shootingstar.model.ModelCompound; import reborncore.api.tile.IMachineGuiHandler; @@ -44,6 +42,7 @@ import techreborn.tiles.TileDigitalChest; import techreborn.tiles.TileTechStorageBase; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class BlockDigitalChest extends BlockMachineBase { @@ -58,39 +57,20 @@ public class BlockDigitalChest extends BlockMachineBase { @Override protected void dropInventory(final World world, final BlockPos pos) { final TileEntity tileEntity = world.getTileEntity(pos); - - if (tileEntity == null) { - return; - } if (!(tileEntity instanceof TileTechStorageBase)) { return; } - final TileTechStorageBase inventory = (TileTechStorageBase) tileEntity; - final List items = new ArrayList<>(); - - final List droppables = inventory.getContentDrops(); - for (int i = 0; i < droppables.size(); i++) { - final ItemStack itemStack = droppables.get(i); - - if (itemStack.isEmpty()) { - continue; - } - if (!itemStack.isEmpty() && itemStack.getCount() > 0) { - if (itemStack.getItem() instanceof ItemBlock) { - if (((ItemBlock) itemStack.getItem()).getBlock() instanceof BlockFluidBase - || ((ItemBlock) itemStack.getItem()).getBlock() instanceof BlockStaticLiquid - || ((ItemBlock) itemStack.getItem()).getBlock() instanceof BlockDynamicLiquid) { - continue; - } - } - } - items.add(itemStack.copy()); - } + items.add(inventory.getDropWithNBT()); WorldUtils.dropItems(items, world, pos); } + @Override + public List getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { + return Collections.emptyList(); + } + @Override public TileEntity createNewTileEntity(final World p_149915_1_, final int p_149915_2_) { return new TileDigitalChest(); diff --git a/src/main/java/techreborn/blocks/BlockQuantumChest.java b/src/main/java/techreborn/blocks/BlockQuantumChest.java index f6d440bc5..fd3d4a0e3 100644 --- a/src/main/java/techreborn/blocks/BlockQuantumChest.java +++ b/src/main/java/techreborn/blocks/BlockQuantumChest.java @@ -24,14 +24,12 @@ package techreborn.blocks; -import net.minecraft.block.BlockDynamicLiquid; -import net.minecraft.block.BlockStaticLiquid; -import net.minecraft.item.ItemBlock; +import net.minecraft.block.state.IBlockState; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -import net.minecraftforge.fluids.BlockFluidBase; import prospector.shootingstar.ShootingStar; import prospector.shootingstar.model.ModelCompound; import reborncore.api.tile.IMachineGuiHandler; @@ -44,6 +42,7 @@ import techreborn.tiles.TileQuantumChest; import techreborn.tiles.TileTechStorageBase; import java.util.ArrayList; +import java.util.Collections; import java.util.List; public class BlockQuantumChest extends BlockMachineBase { @@ -64,38 +63,19 @@ public class BlockQuantumChest extends BlockMachineBase { @Override protected void dropInventory(final World world, final BlockPos pos) { final TileEntity tileEntity = world.getTileEntity(pos); - - if (tileEntity == null) { - return; - } if (!(tileEntity instanceof TileTechStorageBase)) { return; } - final TileTechStorageBase inventory = (TileTechStorageBase) tileEntity; - final List items = new ArrayList<>(); - - final List droppables = inventory.getContentDrops(); - for (int i = 0; i < droppables.size(); i++) { - final ItemStack itemStack = droppables.get(i); - - if (itemStack.isEmpty()) { - continue; - } - if (!itemStack.isEmpty() && itemStack.getCount() > 0) { - if (itemStack.getItem() instanceof ItemBlock) { - if (((ItemBlock) itemStack.getItem()).getBlock() instanceof BlockFluidBase - || ((ItemBlock) itemStack.getItem()).getBlock() instanceof BlockStaticLiquid - || ((ItemBlock) itemStack.getItem()).getBlock() instanceof BlockDynamicLiquid) { - continue; - } - } - } - items.add(itemStack.copy()); - } + items.add(inventory.getDropWithNBT()); WorldUtils.dropItems(items, world, pos); - } + } + + @Override + public List getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { + return Collections.emptyList(); + } @Override public TileEntity createNewTileEntity(final World p_149915_1_, final int p_149915_2_) {