Made detectors use filters

This commit is contained in:
Henry Mao 2012-12-27 18:04:46 +08:00
parent e88d2d9ee3
commit 91d48f4628
13 changed files with 138 additions and 304 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

View file

@ -1,7 +1,5 @@
package assemblyline.api; package assemblyline.api;
import net.minecraft.item.ItemStack;
import universalelectricity.core.vector.Vector3;
/** /**
* Interface applied to the manipulator. * Interface applied to the manipulator.

View file

@ -6,13 +6,11 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.client.MinecraftForgeClient;
import universalelectricity.core.vector.Vector3; import universalelectricity.core.vector.Vector3;
import assemblyline.client.gui.GuiDetector;
import assemblyline.client.gui.GuiRejector; import assemblyline.client.gui.GuiRejector;
import assemblyline.client.gui.GuiStamper; import assemblyline.client.gui.GuiStamper;
import assemblyline.client.render.BlockRenderingHandler; import assemblyline.client.render.BlockRenderingHandler;
import assemblyline.client.render.RenderConveyorBelt; import assemblyline.client.render.RenderConveyorBelt;
import assemblyline.client.render.RenderCrate; import assemblyline.client.render.RenderCrate;
import assemblyline.client.render.RenderDetector;
import assemblyline.client.render.RenderManipulator; import assemblyline.client.render.RenderManipulator;
import assemblyline.client.render.RenderSorter; import assemblyline.client.render.RenderSorter;
import assemblyline.common.AssemblyLine; import assemblyline.common.AssemblyLine;
@ -21,7 +19,6 @@ import assemblyline.common.block.TileEntityCrate;
import assemblyline.common.machine.TileEntityManipulator; import assemblyline.common.machine.TileEntityManipulator;
import assemblyline.common.machine.TileEntityRejector; import assemblyline.common.machine.TileEntityRejector;
import assemblyline.common.machine.belt.TileEntityConveyorBelt; import assemblyline.common.machine.belt.TileEntityConveyorBelt;
import assemblyline.common.machine.detector.TileEntityDetector;
import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.client.registry.RenderingRegistry;
@ -56,8 +53,6 @@ public class ClientProxy extends CommonProxy
return new GuiRejector(player.inventory, ((TileEntityRejector) tileEntity)); return new GuiRejector(player.inventory, ((TileEntityRejector) tileEntity));
case GUI_STAMPER: case GUI_STAMPER:
return new GuiStamper(player.inventory, world, new Vector3(x, y, z)); return new GuiStamper(player.inventory, world, new Vector3(x, y, z));
case GUI_DETECTOR:
return new GuiDetector(player.inventory, ((TileEntityDetector) tileEntity));
} }
return null; return null;

View file

@ -1,54 +0,0 @@
package assemblyline.client.gui;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.StatCollector;
import org.lwjgl.opengl.GL11;
import assemblyline.common.machine.detector.ContainerDetector;
import assemblyline.common.machine.detector.TileEntityDetector;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/**
* @author Briman0094
*/
@SideOnly(Side.CLIENT)
public class GuiDetector extends GuiContainer
{
private TileEntityDetector tileEntity;
public GuiDetector(InventoryPlayer inventory, TileEntityDetector tileEntity)
{
super(new ContainerDetector(inventory, tileEntity));
this.tileEntity = tileEntity;
this.allowUserInput = false;
short baseHeight = 222;
int var4 = baseHeight - 108;
this.ySize = var4 + 3 * 18;
}
/**
* Draw the foreground layer for the GuiContainer (everything in front of the items)
*/
protected void drawGuiContainerForegroundLayer(int par1, int par2)
{
fontRenderer.drawString(this.tileEntity.getInvName(), 8, 6, 4210752);
fontRenderer.drawString(StatCollector.translateToLocal("container.inventory"), 8, ySize - 96 + 2, 4210752);
}
/**
* Draw the background layer for the GuiContainer (everything behind the items)
*/
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
int var4 = this.mc.renderEngine.getTexture("/gui/container.png");
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.renderEngine.bindTexture(var4);
int var5 = (this.width - this.xSize) / 2;
int var6 = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, 3 * 18 + 17);
this.drawTexturedModalRect(var5, var6 + 3 * 18 + 17, 0, 126, this.xSize, 96);
}
}

View file

@ -9,7 +9,6 @@ import assemblyline.common.machine.ContainerRejector;
import assemblyline.common.machine.TileEntityManipulator; import assemblyline.common.machine.TileEntityManipulator;
import assemblyline.common.machine.TileEntityRejector; import assemblyline.common.machine.TileEntityRejector;
import assemblyline.common.machine.belt.TileEntityConveyorBelt; import assemblyline.common.machine.belt.TileEntityConveyorBelt;
import assemblyline.common.machine.detector.ContainerDetector;
import assemblyline.common.machine.detector.TileEntityDetector; import assemblyline.common.machine.detector.TileEntityDetector;
import assemblyline.common.machine.filter.ContainerStamper; import assemblyline.common.machine.filter.ContainerStamper;
import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.common.network.IGuiHandler;
@ -20,7 +19,6 @@ public class CommonProxy implements IGuiHandler
public static final int GUI_REJECTOR = 0; public static final int GUI_REJECTOR = 0;
public static final int GUI_STAMPER = 1; public static final int GUI_STAMPER = 1;
public static final int GUI_ARCHITECHT_TABLE = 2; public static final int GUI_ARCHITECHT_TABLE = 2;
public static final int GUI_DETECTOR = 3;
public void preInit() public void preInit()
{ {
@ -47,9 +45,6 @@ public class CommonProxy implements IGuiHandler
return new ContainerRejector(player.inventory, ((TileEntityRejector) tileEntity)); return new ContainerRejector(player.inventory, ((TileEntityRejector) tileEntity));
case GUI_STAMPER: case GUI_STAMPER:
return new ContainerStamper(player.inventory, world, new Vector3(x, y, z)); return new ContainerStamper(player.inventory, world, new Vector3(x, y, z));
case GUI_DETECTOR:
return new ContainerDetector(player.inventory, ((TileEntityDetector) tileEntity));
} }
return null; return null;

View file

@ -1,6 +1,5 @@
package assemblyline.common.block; package assemblyline.common.block;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;

View file

@ -1,36 +1,24 @@
package assemblyline.common.machine.detector; package assemblyline.common.machine.detector;
import java.util.Random;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess; import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import universalelectricity.core.UniversalElectricity; import universalelectricity.core.UniversalElectricity;
import universalelectricity.prefab.BlockMachine;
import universalelectricity.prefab.UETab; import universalelectricity.prefab.UETab;
import assemblyline.client.ClientProxy;
import assemblyline.client.render.BlockRenderingHandler;
import assemblyline.common.AssemblyLine; import assemblyline.common.AssemblyLine;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
/** /**
* @author Briman0094 * @author Briman0094
*/ */
public class BlockDetector extends BlockMachine public class BlockDetector extends BlockFilterable
{ {
private Random random = new Random();
public BlockDetector(int blockID, int texture) public BlockDetector(int blockID, int texture)
{ {
super("detector", blockID, UniversalElectricity.machine, UETab.INSTANCE); super("detector", blockID, UniversalElectricity.machine, UETab.INSTANCE);
this.blockIndexInTexture = texture; this.blockIndexInTexture = texture;
this.setTextureFile(AssemblyLine.BLOCK_TEXTURE_PATH);
} }
@Override @Override
@ -64,23 +52,6 @@ public class BlockDetector extends BlockMachine
return this.blockIndexInTexture; return this.blockIndexInTexture;
} }
@Override
public boolean onMachineActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9)
{
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
if (tileEntity != null)
{
if (tileEntity instanceof TileEntityDetector)
{
player.openGui(AssemblyLine.instance, ClientProxy.GUI_DETECTOR, world, x, y, z);
return true;
}
}
return false;
}
@Override @Override
public boolean onSneakUseWrench(World world, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ) public boolean onSneakUseWrench(World world, int x, int y, int z, EntityPlayer par5EntityPlayer, int side, float hitX, float hitY, float hitZ)
{ {
@ -91,57 +62,13 @@ public class BlockDetector extends BlockMachine
if (tileEntity instanceof TileEntityDetector) if (tileEntity instanceof TileEntityDetector)
{ {
((TileEntityDetector) tileEntity).toggleInversion(); ((TileEntityDetector) tileEntity).toggleInversion();
world.markBlockForRenderUpdate(x, y, z);
} }
} }
return true; return true;
} }
@Override
public void breakBlock(World world, int x, int y, int z, int int1, int int2)
{
TileEntityDetector te = (TileEntityDetector) world.getBlockTileEntity(x, y, z);
if (te != null)
{
for (int i = 0; i < te.getSizeInventory(); ++i)
{
ItemStack stack = te.getStackInSlot(i);
if (stack != null)
{
float xShift = this.random.nextFloat() * 0.8F + 0.1F;
float yShift = this.random.nextFloat() * 0.8F + 0.1F;
EntityItem eI;
for (float zShift = this.random.nextFloat() * 0.8F + 0.1F; stack.stackSize > 0; world.spawnEntityInWorld(eI))
{
int count = this.random.nextInt(21) + 10;
if (count > stack.stackSize)
{
count = stack.stackSize;
}
stack.stackSize -= count;
eI = new EntityItem(world, (double) ((float) x + xShift), (double) ((float) y + yShift), (double) ((float) z + zShift), new ItemStack(stack.itemID, count, stack.getItemDamage()));
float var15 = 0.05F;
eI.motionX = (double) ((float) this.random.nextGaussian() * var15);
eI.motionY = (double) ((float) this.random.nextGaussian() * var15 + 0.2F);
eI.motionZ = (double) ((float) this.random.nextGaussian() * var15);
if (stack.hasTagCompound())
{
eI.func_92014_d().setTagCompound((NBTTagCompound) stack.getTagCompound().copy());
}
}
}
}
}
super.breakBlock(world, x, y, z, int1, int2);
}
@Override @Override
public void onNeighborBlockChange(World world, int x, int y, int z, int blockID) public void onNeighborBlockChange(World world, int x, int y, int z, int blockID)
{ {

View file

@ -0,0 +1,70 @@
package assemblyline.common.machine.detector;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import universalelectricity.prefab.BlockMachine;
import assemblyline.common.machine.filter.ItemFilter;
/**
* Extend this block class if a filter is allowed to be placed inside of this block.
*
* @author Calclavia
*/
public abstract class BlockFilterable extends BlockMachine
{
public BlockFilterable(String name, int id, Material material, CreativeTabs creativeTab)
{
super(name, id, material, creativeTab);
}
/**
* Allows filters to be placed inside of this block.
*/
@Override
public boolean onMachineActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9)
{
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
if (tileEntity != null)
{
if (tileEntity instanceof TileEntityDetector)
{
ItemStack containingStack = ((TileEntityDetector) tileEntity).getStackInSlot(0);
if (containingStack != null)
{
if (!world.isRemote)
{
EntityItem dropStack = new EntityItem(world, player.posX, player.posY, player.posZ, containingStack);
dropStack.delayBeforeCanPickup = 0;
world.spawnEntityInWorld(dropStack);
}
((TileEntityDetector) tileEntity).setInventorySlotContents(0, null);
return true;
}
else
{
if (player.getCurrentEquippedItem() != null)
{
if (player.getCurrentEquippedItem().getItem() instanceof ItemFilter)
{
((TileEntityDetector) tileEntity).setInventorySlotContents(0, player.getCurrentEquippedItem());
player.inventory.setInventorySlotContents(player.inventory.currentItem, null);
return true;
}
}
}
}
}
return false;
}
}

View file

@ -1,79 +0,0 @@
package assemblyline.common.machine.detector;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerDetector extends Container
{
protected TileEntityDetector tileEntity;
private int numRows = 3;
public ContainerDetector(InventoryPlayer inventoryPlayer, TileEntityDetector tileEntity)
{
this.tileEntity = tileEntity;
int var3 = (numRows - 4) * 18;
int x;
int y;
for (x = 0; x < numRows; ++x)
{
for (y = 0; y < 9; ++y)
{
this.addSlotToContainer(new Slot(tileEntity, y + x * 9, 8 + y * 18, 18 + x * 18));
}
}
for (x = 0; x < 3; ++x)
{
for (y = 0; y < 9; ++y)
{
this.addSlotToContainer(new Slot(inventoryPlayer, y + x * 9 + 9, 8 + y * 18, 103 + x * 18 + var3));
}
}
for (x = 0; x < 9; ++x)
{
this.addSlotToContainer(new Slot(inventoryPlayer, x, 8 + x * 18, 161 + var3));
}
}
@Override
public ItemStack transferStackInSlot(EntityPlayer par1EntityPlayer, int par2)
{
ItemStack var3 = null;
Slot var4 = (Slot) this.inventorySlots.get(par2);
if (var4 != null && var4.getHasStack())
{
ItemStack var5 = var4.getStack();
var3 = var5.copy();
if (par2 < this.numRows * 9)
{
if (!this.mergeItemStack(var5, this.numRows * 9, this.inventorySlots.size(), true)) { return null; }
}
else if (!this.mergeItemStack(var5, 0, this.numRows * 9, false)) { return null; }
if (var5.stackSize == 0)
{
var4.putStack((ItemStack) null);
}
else
{
var4.onSlotChanged();
}
}
return var3;
}
@Override
public boolean canInteractWith(EntityPlayer player)
{
return tileEntity.isUseableByPlayer(player);
}
}

View file

@ -2,11 +2,6 @@ package assemblyline.common.machine.detector;
import java.util.ArrayList; import java.util.ArrayList;
import com.google.common.io.ByteArrayDataInput;
import cpw.mods.fml.common.network.IPacketHandler;
import cpw.mods.fml.common.network.Player;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -16,47 +11,55 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList; import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet; import net.minecraft.network.packet.Packet;
import net.minecraft.network.packet.Packet132TileEntityData;
import net.minecraft.network.packet.Packet250CustomPayload; import net.minecraft.network.packet.Packet250CustomPayload;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import universalelectricity.prefab.TranslationHelper; import universalelectricity.prefab.TranslationHelper;
import universalelectricity.prefab.implement.IRedstoneProvider; import universalelectricity.prefab.implement.IRedstoneProvider;
import universalelectricity.prefab.network.IPacketReceiver; import universalelectricity.prefab.network.IPacketReceiver;
import universalelectricity.prefab.network.PacketManager; import universalelectricity.prefab.network.PacketManager;
import universalelectricity.prefab.tile.TileEntityAdvanced;
import assemblyline.common.AssemblyLine; import assemblyline.common.AssemblyLine;
import assemblyline.common.machine.filter.ItemFilter;
public class TileEntityDetector extends TileEntity implements IInventory, IRedstoneProvider, IPacketReceiver import com.google.common.io.ByteArrayDataInput;
public class TileEntityDetector extends TileEntityAdvanced implements IInventory, IRedstoneProvider, IPacketReceiver
{ {
private boolean powering = false; private boolean powering = false;
private boolean isInverted = false; private boolean isInverted = false;
private ItemStack[] containingItems = new ItemStack[27]; private ItemStack[] containingItems = new ItemStack[1];
@Override @Override
public void updateEntity() public void updateEntity()
{ {
int metadata = this.worldObj.getBlockMetadata(xCoord, yCoord, zCoord) & 3; super.updateEntity();
AxisAlignedBB testArea = AxisAlignedBB.getBoundingBox(this.xCoord, this.yCoord - 1, this.yCoord, this.xCoord + 1, this.yCoord, this.zCoord + 1);
ArrayList<Entity> entities = (ArrayList<Entity>) this.worldObj.getEntitiesWithinAABB(EntityItem.class, testArea); if (!this.worldObj.isRemote && this.ticks % 10 == 0)
boolean powerCheck = false;
if (entities.size() > 0)
{ {
if (hasItems()) int metadata = this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord);
{ AxisAlignedBB testArea = AxisAlignedBB.getBoundingBox(this.xCoord, this.yCoord - 1, this.yCoord, this.xCoord + 1, this.yCoord, this.zCoord + 1);
for (int i = 0; i < entities.size(); i++)
{
EntityItem e = (EntityItem) entities.get(i);
ItemStack item = e.func_92014_d();
boolean tFound = false;
for (int ii = 0; ii < this.containingItems.length; ii++) ArrayList<Entity> entities = (ArrayList<Entity>) this.worldObj.getEntitiesWithinAABB(EntityItem.class, testArea);
boolean powerCheck = false;
if (entities.size() > 0)
{
if (this.containingItems[0] != null)
{
for (int i = 0; i < entities.size(); i++)
{ {
ItemStack compare = this.containingItems[ii]; EntityItem e = (EntityItem) entities.get(i);
if (compare != null) ItemStack item = e.func_92014_d();
boolean found = false;
ArrayList<ItemStack> checkStacks = ItemFilter.getFilters(this.containingItems[0]);
for (int ii = 0; ii < checkStacks.size(); ii++)
{ {
if (this.isInverted) ItemStack compare = checkStacks.get(ii);
if (compare != null)
{ {
if (item.itemID == compare.itemID) if (item.itemID == compare.itemID)
{ {
@ -66,84 +69,65 @@ public class TileEntityDetector extends TileEntity implements IInventory, IRedst
{ {
if (item.getTagCompound().equals(compare.getTagCompound())) if (item.getTagCompound().equals(compare.getTagCompound()))
{ {
tFound = true; found = true;
break; break;
} }
} }
else else
{ {
tFound = true; found = true;
break;
}
}
}
}
else
{
if (item.itemID == compare.itemID)
{
if (item.getItemDamage() == compare.getItemDamage())
{
if (item.hasTagCompound())
{
if (item.getTagCompound().equals(compare.getTagCompound()))
{
powerCheck = true;
break;
}
}
else
{
powerCheck = true;
break; break;
} }
} }
} }
} }
} }
}
if (this.isInverted) if (this.isInverted)
{ {
if (!tFound) if (!found)
{
powerCheck = true;
break;
}
}
else if (found)
{ {
powerCheck = true; powerCheck = true;
break;
} }
} }
} }
else
{
powerCheck = true;
}
} }
else else
{ {
powerCheck = true; powerCheck = false;
} }
}
else if (powerCheck != this.powering)
{
powerCheck = false;
}
if (powerCheck != this.powering)
{
this.powering = powerCheck;
this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, AssemblyLine.blockDetector.blockID);
this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord + 1, this.zCoord, AssemblyLine.blockDetector.blockID);
for (int x = this.xCoord - 1; x <= this.xCoord + 1; x++)
{ {
for (int z = this.zCoord - 1; z <= this.zCoord + 1; z++) this.powering = powerCheck;
this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord, this.zCoord, AssemblyLine.blockDetector.blockID);
this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord + 1, this.zCoord, AssemblyLine.blockDetector.blockID);
for (int x = this.xCoord - 1; x <= this.xCoord + 1; x++)
{ {
this.worldObj.notifyBlocksOfNeighborChange(x, this.yCoord + 1, z, AssemblyLine.blockDetector.blockID); for (int z = this.zCoord - 1; z <= this.zCoord + 1; z++)
{
this.worldObj.notifyBlocksOfNeighborChange(x, this.yCoord + 1, z, AssemblyLine.blockDetector.blockID);
}
} }
} }
} }
} }
public boolean hasItems() @Override
public void invalidate()
{ {
for (int i = 0; i < this.containingItems.length; i++) this.worldObj.notifyBlocksOfNeighborChange(this.xCoord, this.yCoord + 1, this.zCoord, AssemblyLine.blockDetector.blockID);
{ super.invalidate();
if (this.containingItems[i] != null) { return true; }
}
return false;
} }
public boolean isInverted() public boolean isInverted()
@ -233,7 +217,7 @@ public class TileEntityDetector extends TileEntity implements IInventory, IRedst
@Override @Override
public int getSizeInventory() public int getSizeInventory()
{ {
return 27; return this.containingItems.length;
} }
@Override @Override
@ -312,7 +296,7 @@ public class TileEntityDetector extends TileEntity implements IInventory, IRedst
@Override @Override
public int getInventoryStackLimit() public int getInventoryStackLimit()
{ {
return 64; return 1;
} }
@Override @Override

View file

@ -1,6 +1,5 @@
package assemblyline.common.machine.filter; package assemblyline.common.machine.filter;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World; import net.minecraft.world.World;
@ -14,9 +13,10 @@ public class BlockStamper extends BlockMachine
public BlockStamper(int id, int texture) public BlockStamper(int id, int texture)
{ {
super(id, Material.wood); super(id, Material.wood);
this.blockIndexInTexture = 59; this.blockIndexInTexture = 0;
this.setBlockName("stamper"); this.setBlockName("stamper");
this.setCreativeTab(UETab.INSTANCE); this.setCreativeTab(UETab.INSTANCE);
this.setTextureFile(AssemblyLine.BLOCK_TEXTURE_PATH);
} }
/** /**
@ -24,7 +24,7 @@ public class BlockStamper extends BlockMachine
*/ */
public int getBlockTextureFromSide(int par1) public int getBlockTextureFromSide(int par1)
{ {
return Block.blockSteel.blockIndexInTexture; return this.blockIndexInTexture;
} }
/** /**

View file

@ -1,10 +1,9 @@
package assemblyline.common.machine.filter; package assemblyline.common.machine.filter;
import assemblyline.common.AssemblyLine;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import assemblyline.common.AssemblyLine;
public class SlotFilter extends Slot public class SlotFilter extends Slot
{ {