improve dropped inventory
This commit is contained in:
@@ -4,7 +4,6 @@ import net.minecraft.block.Block;
|
|||||||
import net.minecraft.block.BlockPistonBase;
|
import net.minecraft.block.BlockPistonBase;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.inventory.IInventory;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
@@ -83,9 +82,9 @@ public abstract class BlockBase extends Block
|
|||||||
{
|
{
|
||||||
TileEntity tile = world.getTileEntity(x, y, z);
|
TileEntity tile = world.getTileEntity(x, y, z);
|
||||||
|
|
||||||
if (tile instanceof IInventory && tile instanceof TileBase && ((TileBase) tile).canDropInventory())
|
if (tile instanceof TileBase && ((TileBase) tile).getDroppedInventory() != null)
|
||||||
{
|
{
|
||||||
InventoryUtils.dropInventory(world, (IInventory) tile, x, y, z);
|
InventoryUtils.dropInventory(world, ((TileBase) tile).getDroppedInventory(), x, y, z);
|
||||||
}
|
}
|
||||||
|
|
||||||
super.onBlockPreDestroy(world, x, y, z, meta);
|
super.onBlockPreDestroy(world, x, y, z, meta);
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
package storagecraft.tile;
|
package storagecraft.tile;
|
||||||
|
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||||
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.network.NetworkManager;
|
import net.minecraft.network.NetworkManager;
|
||||||
import net.minecraft.network.Packet;
|
import net.minecraft.network.Packet;
|
||||||
@@ -78,8 +79,8 @@ public abstract class TileBase extends TileEntity
|
|||||||
direction = ForgeDirection.getOrientation(packet.func_148857_g().getInteger("Direction"));
|
direction = ForgeDirection.getOrientation(packet.func_148857_g().getInteger("Direction"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canDropInventory()
|
public IInventory getDroppedInventory()
|
||||||
{
|
{
|
||||||
return true;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -290,10 +290,4 @@ public class TileDetector extends TileMachine implements IInventory, ISidedInven
|
|||||||
buf.writeInt(amount);
|
buf.writeInt(amount);
|
||||||
buf.writeBoolean(providesPower);
|
buf.writeBoolean(providesPower);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canDropInventory()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -135,4 +135,10 @@ public class TileDrive extends TileMachine implements IInventory, IStorageProvid
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IInventory getDroppedInventory()
|
||||||
|
{
|
||||||
|
return inventory;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -229,10 +229,4 @@ public class TileExporter extends TileMachine implements IInventory, ISidedInven
|
|||||||
|
|
||||||
buf.writeInt(compare);
|
buf.writeInt(compare);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canDropInventory()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
package storagecraft.tile;
|
package storagecraft.tile;
|
||||||
|
|
||||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||||
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.inventory.InventoryCrafting;
|
import net.minecraft.inventory.InventoryCrafting;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.crafting.CraftingManager;
|
import net.minecraft.item.crafting.CraftingManager;
|
||||||
@@ -100,4 +101,10 @@ public class TileGrid extends TileMachine
|
|||||||
|
|
||||||
InventoryUtils.saveInventory(craftingMatrix, nbt);
|
InventoryUtils.saveInventory(craftingMatrix, nbt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IInventory getDroppedInventory()
|
||||||
|
{
|
||||||
|
return craftingMatrix;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -280,10 +280,4 @@ public class TileImporter extends TileMachine implements IInventory, ISidedInven
|
|||||||
buf.writeInt(compare);
|
buf.writeInt(compare);
|
||||||
buf.writeInt(mode);
|
buf.writeInt(mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean canDropInventory()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -259,4 +259,10 @@ public class TileSolderer extends TileMachine implements IInventory, ISidedInven
|
|||||||
{
|
{
|
||||||
return duration;
|
return duration;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IInventory getDroppedInventory()
|
||||||
|
{
|
||||||
|
return inventory;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -224,4 +224,10 @@ public class TileWirelessTransmitter extends TileMachine implements IInventory
|
|||||||
buf.writeBoolean(working);
|
buf.writeBoolean(working);
|
||||||
buf.writeInt(progress);
|
buf.writeInt(progress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IInventory getDroppedInventory()
|
||||||
|
{
|
||||||
|
return inventory;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user