Added basic tile for metalShelf

This commit is contained in:
Gig 2015-06-08 20:51:08 +01:00
parent b56487b680
commit 4f800c8a83
3 changed files with 164 additions and 5 deletions

View file

@ -9,7 +9,16 @@ import cpw.mods.fml.relauncher.SideOnly;
public class BlockMetalShelf extends BlockMachineBase {
@SideOnly(Side.CLIENT)
private IIcon iconFront;
private IIcon iconFrontEmpty;
@SideOnly(Side.CLIENT)
private IIcon iconFrontBooks;
@SideOnly(Side.CLIENT)
private IIcon iconFrontCans;
@SideOnly(Side.CLIENT)
private IIcon iconFrontPaper;
@SideOnly(Side.CLIENT)
private IIcon iconTop;
@ -28,7 +37,7 @@ public class BlockMetalShelf extends BlockMachineBase {
public void registerBlockIcons(IIconRegister icon)
{
this.blockIcon = icon.registerIcon("techreborn:machine/machine_side");
this.iconFront = icon.registerIcon("techreborn:machine/metal_shelf_empty");
this.iconFrontEmpty = icon.registerIcon("techreborn:machine/metal_shelf_empty");
this.iconTop = icon.registerIcon("techreborn:machine/machine_top");
this.iconBottom = icon.registerIcon("techreborn:machine/machine_bottom");
}
@ -36,11 +45,10 @@ public class BlockMetalShelf extends BlockMachineBase {
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata)
{
return metadata == 0 && side == 3 ? this.iconFront
return metadata == 0 && side == 3 ? this.iconFrontEmpty
: side == 1 ? this.iconTop :
side == 0 ? this.iconBottom: (side == 0 ? this.iconTop
: (side == metadata ? this.iconFront : this.blockIcon));
: (side == metadata ? this.iconFrontEmpty : this.blockIcon));
}

View file

@ -55,6 +55,7 @@ import techreborn.tiles.TileIndustrialSawmill;
import techreborn.tiles.TileLathe;
import techreborn.tiles.TileMachineCasing;
import techreborn.tiles.TileMatterFabricator;
import techreborn.tiles.TileMetalShelf;
import techreborn.tiles.TilePlateCuttingMachine;
import techreborn.tiles.TileQuantumChest;
import techreborn.tiles.TileDigitalChest;
@ -246,6 +247,7 @@ public class ModBlocks {
Metalshelf = new BlockMetalShelf(Material.rock);
GameRegistry.registerBlock(Metalshelf, "metalshelf");
GameRegistry.registerTileEntity(TileMetalShelf.class, "TileMetalShelf");
LesuStorage = new BlockLesuStorage(Material.rock);
GameRegistry.registerBlock(LesuStorage, "lesustorage");

View file

@ -0,0 +1,149 @@
package techreborn.tiles;
import ic2.api.tile.IWrenchable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import techreborn.init.ModBlocks;
import techreborn.util.Inventory;
public class TileMetalShelf extends TileMachineBase implements IWrenchable , IInventory{
public Inventory inventory = new Inventory(1, "TileMetalShelf", 64);
public boolean isEmpty;
public boolean hasBooks;
public boolean hasCans;
public boolean hasPaper;
public TileMetalShelf()
{
}
@Override
public void updateEntity()
{
super.updateEntity();
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side)
{
return false;
}
@Override
public short getFacing()
{
return 0;
}
@Override
public void setFacing(short facing)
{
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
if (entityPlayer.isSneaking())
{
return true;
}
return false;
}
@Override
public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
{
return new ItemStack(ModBlocks.Metalshelf, 1);
}
public boolean isComplete()
{
return false;
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
@Override
public int getSizeInventory() {
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int slot) {
return inventory.getStackInSlot(slot);
}
@Override
public ItemStack decrStackSize(int slot, int amount) {
return inventory.decrStackSize(slot, amount);
}
@Override
public ItemStack getStackInSlotOnClosing(int slot) {
return inventory.getStackInSlotOnClosing(slot);
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
inventory.setInventorySlotContents(slot, stack);
}
@Override
public String getInventoryName() {
return inventory.getInventoryName();
}
@Override
public boolean hasCustomInventoryName() {
return inventory.hasCustomInventoryName();
}
@Override
public int getInventoryStackLimit() {
return inventory.getInventoryStackLimit();
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
return inventory.isUseableByPlayer(player);
}
@Override
public void openInventory() {
inventory.openInventory();
}
@Override
public void closeInventory() {
inventory.closeInventory();
}
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
return inventory.isItemValidForSlot(slot, stack);
}
}