Made manipulator output from inventory

This commit is contained in:
Calclavia 2012-10-28 19:54:55 +08:00
parent addac728e2
commit 4242c45a9f
21 changed files with 288 additions and 108 deletions

View file

Before

Width:  |  Height:  |  Size: 957 B

After

Width:  |  Height:  |  Size: 957 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -12,11 +12,11 @@ import universalelectricity.core.UEConfig;
import universalelectricity.prefab.network.PacketManager;
import assemblyline.belts.BlockConveyorBelt;
import assemblyline.belts.TileEntityConveyorBelt;
import assemblyline.machines.BlockInteraction;
import assemblyline.machines.ItemBlockInteraction;
import assemblyline.machines.BlockMulti;
import assemblyline.machines.BlockMulti.MachineType;
import assemblyline.machines.ItemBlockMulti;
import assemblyline.machines.TileEntityManipulator;
import assemblyline.machines.TileEntitySorter;
import assemblyline.machines.BlockInteraction.MachineType;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
@ -52,7 +52,7 @@ public class AssemblyLine
public static final int BLOCK_ID_PREFIX = 3003;
public static final Block blockConveyorBelt = new BlockConveyorBelt(UEConfig.getBlockConfigID(CONFIGURATION, "Conveyor Belt", BLOCK_ID_PREFIX));
public static final Block blockInteraction = new BlockInteraction(UEConfig.getBlockConfigID(CONFIGURATION, "Machine", BLOCK_ID_PREFIX+1));
public static final Block blockInteraction = new BlockMulti(UEConfig.getBlockConfigID(CONFIGURATION, "Machine", BLOCK_ID_PREFIX+1));
@PreInit
public void preInit(FMLPreInitializationEvent event)
@ -60,7 +60,7 @@ public class AssemblyLine
instance = this;
NetworkRegistry.instance().registerGuiHandler(this, this.proxy);
GameRegistry.registerBlock(blockConveyorBelt);
GameRegistry.registerBlock(blockInteraction, ItemBlockInteraction.class);
GameRegistry.registerBlock(blockInteraction, ItemBlockMulti.class);
proxy.preInit();
}

View file

@ -3,7 +3,6 @@ package assemblyline.belts;
import net.minecraft.src.CreativeTabs;
import net.minecraft.src.EntityLiving;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.Material;
import net.minecraft.src.MathHelper;
import net.minecraft.src.TileEntity;
import net.minecraft.src.World;
@ -23,11 +22,20 @@ public class BlockConveyorBelt extends BlockMachine
this.setBlockBounds(0, 0, 0, 1, 0.3f, 1);
this.setCreativeTab(CreativeTabs.tabTransport);
}
@Override
public void onBlockPlacedBy(World par1World, int x, int y, int z, EntityLiving par5EntityLiving)
{
int angle = MathHelper.floor_double((par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, angle);
par1World.setBlockMetadataWithNotify(x, y, z, angle);
/*
switch (angle)
{
case 0: par1World.setBlockMetadataWithNotify(x, y, z, 0); break;
case 1: par1World.setBlockMetadataWithNotify(x, y, z, 3); break;
case 2: par1World.setBlockMetadataWithNotify(x, y, z, 1); break;
case 3: par1World.setBlockMetadataWithNotify(x, y, z, 2); break;
} */
}
@Override
@ -37,7 +45,7 @@ public class BlockConveyorBelt extends BlockMachine
if (metadata >= 0 && metadata < 4)
{
if (metadata == 3)
if (metadata >= 3)
{
par1World.setBlockAndMetadataWithNotify(x, y, z, this.blockID, 0);
return true;

View file

@ -8,7 +8,6 @@ import net.minecraft.src.Entity;
import net.minecraft.src.EntityItem;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.INetworkManager;
import net.minecraft.src.NBTTagCompound;
import net.minecraft.src.Packet;
import net.minecraft.src.Packet250CustomPayload;
import net.minecraft.src.TileEntity;

View file

@ -1,12 +1,19 @@
package assemblyline.machines;
import java.util.List;
import cpw.mods.fml.common.network.PacketDispatcher;
import net.minecraft.src.AxisAlignedBB;
import net.minecraft.src.CreativeTabs;
import net.minecraft.src.EntityLiving;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.ItemStack;
import net.minecraft.src.Material;
import net.minecraft.src.MathHelper;
import net.minecraft.src.TileEntity;
import net.minecraft.src.World;
import net.minecraftforge.common.ForgeDirection;
import universalelectricity.implement.IRedstoneReceptor;
import universalelectricity.prefab.BlockMachine;
import assemblyline.AssemblyLine;
import assemblyline.render.RenderHelper;
@ -18,7 +25,7 @@ import assemblyline.render.RenderHelper;
* @author Darkguardsman, Calclavia
*
*/
public class BlockInteraction extends BlockMachine
public class BlockMulti extends BlockMachine
{
public static enum MachineType
{
@ -91,17 +98,19 @@ public class BlockInteraction extends BlockMachine
}
}
public BlockInteraction(int id)
public BlockMulti(int id)
{
super("Interaction Machine", id, Material.iron);
this.setCreativeTab(CreativeTabs.tabTransport);
}
@Override
public int damageDropped(int metadata)
{
return MachineType.get(metadata).metadata;
}
@Override
public boolean onMachineActivated(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer)
{
if (!par1World.isRemote)
@ -113,6 +122,30 @@ public class BlockInteraction extends BlockMachine
return true;
}
@Override
public void onBlockPlacedBy(World par1World, int x, int y, int z, EntityLiving par5EntityLiving)
{
int metadata = par1World.getBlockMetadata(x, y, z);
int angle = MathHelper.floor_double((par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
switch (angle)
{
case 0:
par1World.setBlockMetadataWithNotify(x, y, z, metadata + 0);
break;
case 1:
par1World.setBlockMetadataWithNotify(x, y, z, metadata + 3);
break;
case 2:
par1World.setBlockMetadataWithNotify(x, y, z, metadata + 1);
break;
case 3:
par1World.setBlockMetadataWithNotify(x, y, z, metadata + 2);
break;
}
}
@Override
public boolean onUseWrench(World par1World, int x, int y, int z, EntityPlayer par5EntityPlayer)
{
@ -129,9 +162,15 @@ public class BlockInteraction extends BlockMachine
if (MachineType.get(metadata) == MachineType.MANIPULATOR)
{
((TileEntityManipulator) par1World.getBlockTileEntity(x, y, z)).isWrenchedToOutput = !((TileEntityManipulator) par1World.getBlockTileEntity(x, y, z)).isWrenchedToOutput;
TileEntityManipulator tileEntity = (TileEntityManipulator)par1World.getBlockTileEntity(x, y, z);
tileEntity.isOutput = !tileEntity.isOutput;
if (!par1World.isRemote)
par5EntityPlayer.addChatMessage("Manipulator Output: " + ((TileEntityManipulator) par1World.getBlockTileEntity(x, y, z)).isWrenchedToOutput);
{
par5EntityPlayer.addChatMessage("Manipulator Output: " + tileEntity.isOutput);
PacketDispatcher.sendPacketToAllPlayers(tileEntity.getDescriptionPacket());
}
return true;
}
else
@ -140,6 +179,22 @@ public class BlockInteraction extends BlockMachine
}
}
@Override
public void onNeighborBlockChange(World par1World, int x, int y, int z, int side)
{
super.onNeighborBlockChange(par1World, x, y, z, side);
TileEntity tileEntity = par1World.getBlockTileEntity(x, y, z);
if (tileEntity instanceof IRedstoneReceptor)
{
if (par1World.isBlockIndirectlyGettingPowered(x, y, z))
{
((IRedstoneReceptor) par1World.getBlockTileEntity(x, y, z)).onPowerOn();
}
}
}
/**
* Returns the bounding box of the wired
* rectangular prism to render.
@ -189,4 +244,16 @@ public class BlockInteraction extends BlockMachine
{
return false;
}
@Override
public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
{
for (MachineType type : MachineType.values())
{
if (type.tileEntity != null)
{
par3List.add(new ItemStack(par1, 1, type.metadata));
}
}
}
}

View file

@ -1,58 +0,0 @@
package assemblyline.machines;
import java.util.List;
import net.minecraft.src.Block;
import net.minecraft.src.CreativeTabs;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.ItemBlock;
import net.minecraft.src.ItemStack;
import net.minecraft.src.MathHelper;
import net.minecraft.src.World;
import assemblyline.AssemblyLine;
import assemblyline.machines.BlockInteraction.MachineType;
public class ItemBlockInteraction extends ItemBlock
{
public ItemBlockInteraction(int par1)
{
super(par1);
this.setHasSubtypes(true);
this.setCreativeTab(CreativeTabs.tabRedstone);
}
public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List)
{
for (MachineType machine : MachineType.values())
{
par3List.add(new ItemStack(AssemblyLine.blockInteraction, 1, machine.metadata));
}
}
public String getItemNameIS(ItemStack itemstack)
{
return MachineType.get(itemstack.getItemDamage()).name;
}
@Override
public int getBlockID()
{
return AssemblyLine.blockInteraction.blockID;
}
@Override
public boolean placeBlockAt(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ)
{
int angle = MathHelper.floor_double((player.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
if (!world.setBlockAndMetadataWithNotify(x, y, z, this.getBlockID(), stack.getItemDamage() + angle)) { return false; }
if (world.getBlockId(x, y, z) == this.getBlockID())
{
Block.blocksList[this.getBlockID()].updateBlockMetadata(world, x, y, z, side, hitX, hitY, hitZ);
Block.blocksList[this.getBlockID()].onBlockPlacedBy(world, x, y, z, player);
}
return true;
}
}

View file

@ -0,0 +1,25 @@
package assemblyline.machines;
import net.minecraft.src.ItemBlock;
import net.minecraft.src.ItemStack;
import assemblyline.machines.BlockMulti.MachineType;
public class ItemBlockMulti extends ItemBlock
{
public ItemBlockMulti(int par1)
{
super(par1);
this.setHasSubtypes(true);
}
public String getItemNameIS(ItemStack itemstack)
{
return MachineType.get(itemstack.getItemDamage()).name;
}
@Override
public int getMetadata(int par1)
{
return MachineType.get(par1).metadata;
}
}

View file

@ -2,21 +2,31 @@ package assemblyline.machines;
import java.util.List;
import com.google.common.io.ByteArrayDataInput;
import net.minecraft.src.AxisAlignedBB;
import net.minecraft.src.EntityItem;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.IInventory;
import net.minecraft.src.INetworkManager;
import net.minecraft.src.ItemStack;
import net.minecraft.src.NBTTagCompound;
import net.minecraft.src.Packet;
import net.minecraft.src.Packet250CustomPayload;
import net.minecraft.src.TileEntity;
import net.minecraft.src.TileEntityChest;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.common.ISidedInventory;
import universalelectricity.core.Vector3;
import universalelectricity.electricity.ElectricInfo;
import universalelectricity.implement.IRedstoneReceptor;
import universalelectricity.prefab.TileEntityElectricityReceiver;
import assemblyline.machines.BlockInteraction.MachineType;
import universalelectricity.prefab.network.IPacketReceiver;
import universalelectricity.prefab.network.PacketManager;
import assemblyline.AssemblyLine;
import assemblyline.machines.BlockMulti.MachineType;
public class TileEntityManipulator extends TileEntityElectricityReceiver
public class TileEntityManipulator extends TileEntityElectricityReceiver implements IRedstoneReceptor, IPacketReceiver
{
/**
* Joules required to run this thing.
@ -32,7 +42,9 @@ public class TileEntityManipulator extends TileEntityElectricityReceiver
* Is the manipulator wrenched to turn into
* output mode?
*/
public boolean isWrenchedToOutput = false;
public boolean isOutput = false;
private boolean isPowered = false;
@Override
public double wattRequest()
@ -47,9 +59,9 @@ public class TileEntityManipulator extends TileEntityElectricityReceiver
if (!this.worldObj.isRemote)
{
if (!this.isDisabled())
if (!this.isDisabled() && this.wattsReceived >= this.JOULES_REQUIRED)
{
if (!this.isOutput())
if (!this.isOutput)
{
/**
* Find items going into the
@ -88,7 +100,33 @@ public class TileEntityManipulator extends TileEntityElectricityReceiver
/**
* Finds the connected inventory and outputs the items upon a redstone pulse.
*/
if(this.isPowered)
{
this.onPowerOff();
Vector3 inputPosition = Vector3.get(this);
inputPosition.modifyPositionFromSide(this.getBeltDirection().getOpposite());
Vector3 outputPosition = Vector3.get(this);
outputPosition.modifyPositionFromSide(this.getBeltDirection());
ItemStack itemStack = this.tryGrabFromPosition(inputPosition);
if(itemStack != null)
{
if(itemStack.stackSize > 0)
{
EntityItem entityItem = new EntityItem(worldObj, outputPosition.x + 0.5, outputPosition.y + 0.8, outputPosition.z + 0.5, itemStack);
entityItem.motionX = 0;
entityItem.motionZ = 0;
entityItem.motionY /= 4;
worldObj.spawnEntityInWorld(entityItem);
}
}
}
}
this.wattsReceived = 0;
}
}
}
@ -189,20 +227,101 @@ public class TileEntityManipulator extends TileEntityElectricityReceiver
return itemStack;
}
/**
* If the manipulator is powered, it will
* output items instead of input.
* Tries to take a item from a inventory at a specific position.
* @param position
* @return
*/
public boolean isOutput()
private ItemStack tryGrabFromPosition(Vector3 position)
{
return this.isWrenchedToOutput;
TileEntity tileEntity = position.getTileEntity(this.worldObj);
if (tileEntity != null)
{
/**
* Try to put items into a chest.
*/
if (tileEntity instanceof TileEntityChest)
{
TileEntityChest[] chests =
{ (TileEntityChest) tileEntity, null };
/**
* Try to find a double chest.
*/
for (int i = 2; i < 6; i++)
{
ForgeDirection searchDirection = ForgeDirection.getOrientation(i);
Vector3 searchPosition = position.clone();
searchPosition.modifyPositionFromSide(searchDirection);
if (searchPosition.getTileEntity(this.worldObj).getClass() == chests[0].getClass())
{
chests[1] = (TileEntityChest) searchPosition.getTileEntity(this.worldObj);
break;
}
}
for (TileEntityChest chest : chests)
{
for (int i = 0; i < chest.getSizeInventory(); i++)
{
ItemStack itemStack = this.removeStackFromInventory(i, chest);
if(itemStack != null) return itemStack;
}
}
}
else if (tileEntity instanceof ISidedInventory)
{
ISidedInventory inventory = (ISidedInventory) tileEntity;
int startIndex = inventory.getStartInventorySide(this.getBeltDirection());
for (int i = startIndex; i < inventory.getSizeInventorySide(this.getBeltDirection()); i++)
{
ItemStack itemStack = this.removeStackFromInventory(i, inventory);
if(itemStack != null) return itemStack;
}
}
else if (tileEntity instanceof IInventory)
{
IInventory inventory = (IInventory) tileEntity;
for (int i = 0; i < inventory.getSizeInventory(); i++)
{
ItemStack itemStack = this.removeStackFromInventory(i, inventory);
if(itemStack != null) return itemStack;
}
}
}
return null;
}
public ItemStack removeStackFromInventory(int slotIndex, IInventory inventory)
{
if(inventory.getStackInSlot(slotIndex) != null)
{
ItemStack itemStack = inventory.getStackInSlot(slotIndex).copy();
itemStack.stackSize = 1;
inventory.decrStackSize(slotIndex, 1);
return itemStack;
}
return null;
}
public ForgeDirection getBeltDirection()
{
return ForgeDirection.getOrientation(MachineType.getDirection(this.worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord)) + 2);
}
@Override
public Packet getDescriptionPacket()
{
return PacketManager.getPacket(AssemblyLine.CHANNEL, this, this.isOutput);
}
@Override
public boolean canReceiveFromSide(ForgeDirection side)
@ -220,7 +339,7 @@ public class TileEntityManipulator extends TileEntityElectricityReceiver
public void readFromNBT(NBTTagCompound nbt)
{
super.readFromNBT(nbt);
nbt.setBoolean("isWrenchedToOutput", this.isWrenchedToOutput);
this.isOutput = nbt.getBoolean("isWrenchedToOutput");
}
/**
@ -230,6 +349,31 @@ public class TileEntityManipulator extends TileEntityElectricityReceiver
public void writeToNBT(NBTTagCompound nbt)
{
super.writeToNBT(nbt);
this.isWrenchedToOutput = nbt.getBoolean("isWrenchedToOutput");
nbt.setBoolean("isWrenchedToOutput", this.isOutput);
}
@Override
public void onPowerOn()
{
this.isPowered = true;
}
@Override
public void onPowerOff()
{
this.isPowered = false;
}
@Override
public void handlePacketData(INetworkManager network, int packetType, Packet250CustomPayload packet, EntityPlayer player, ByteArrayDataInput dataStream)
{
try
{
this.isOutput = dataStream.readBoolean();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}

View file

@ -2,8 +2,6 @@ package assemblyline.machines;
import java.util.List;
import com.google.common.io.ByteArrayDataInput;
import net.minecraft.src.AxisAlignedBB;
import net.minecraft.src.Entity;
import net.minecraft.src.EntityItem;
@ -21,6 +19,9 @@ import universalelectricity.prefab.network.IPacketReceiver;
import universalelectricity.prefab.network.PacketManager;
import assemblyline.TileEntityBase;
import assemblyline.belts.TileEntityConveyorBelt;
import com.google.common.io.ByteArrayDataInput;
import cpw.mods.fml.common.network.PacketDispatcher;
public class TileEntitySorter extends TileEntityBase implements IElectricityReceiver, IPacketReceiver

View file

@ -2,12 +2,9 @@ package assemblyline.machines.crafter;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.INetworkManager;
import net.minecraft.src.ItemStack;
import net.minecraft.src.Packet250CustomPayload;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.common.ISidedInventory;
import universalelectricity.prefab.TileEntityAdvanced;
import assemblyline.TileEntityBase;
import com.google.common.io.ByteArrayDataInput;

View file

@ -1,15 +1,13 @@
package assemblyline;
import net.minecraftforge.client.MinecraftForgeClient;
import assemblyline.AssemblyLine;
import assemblyline.ALCommonProxy;
import assemblyline.belts.TileEntityConveyorBelt;
import assemblyline.machines.TileEntityManipulator;
import assemblyline.machines.TileEntitySorter;
import assemblyline.render.RenderSorter;
import assemblyline.render.RenderHelper;
import assemblyline.render.RenderConveyorBelt;
import assemblyline.render.RenderHelper;
import assemblyline.render.RenderManipulator;
import assemblyline.render.RenderSorter;
import cpw.mods.fml.client.registry.ClientRegistry;
import cpw.mods.fml.client.registry.RenderingRegistry;

View file

@ -9,7 +9,6 @@ import net.minecraft.src.World;
import org.lwjgl.opengl.GL11;
import assemblyline.AssemblyLine;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;

View file

@ -1,6 +1,5 @@
package assemblyline.model;
import net.minecraft.src.Entity;
import net.minecraft.src.ModelBase;
import net.minecraft.src.ModelRenderer;

View file

@ -1,6 +1,5 @@
package assemblyline.model;
import net.minecraft.src.Entity;
import net.minecraft.src.ModelBase;
import net.minecraft.src.ModelRenderer;

View file

@ -1,6 +1,5 @@
package assemblyline.model;
import net.minecraft.src.Entity;
import net.minecraft.src.ModelBase;
import net.minecraft.src.ModelRenderer;

View file

@ -6,7 +6,6 @@
package assemblyline.model;
import net.minecraft.src.Entity;
import net.minecraft.src.ModelBase;
import net.minecraft.src.ModelRenderer;

View file

@ -7,10 +7,10 @@ import net.minecraft.src.RenderBlocks;
import org.lwjgl.opengl.GL11;
import assemblyline.AssemblyLine;
import assemblyline.machines.BlockInteraction.MachineType;
import assemblyline.machines.BlockMulti.MachineType;
import assemblyline.model.ModelConveyorBelt;
import assemblyline.model.ModelSorter;
import assemblyline.model.ModelManipulator;
import assemblyline.model.ModelSorter;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
@ -39,7 +39,7 @@ public class RenderHelper implements ISimpleBlockRenderingHandler
{
if (metadata == MachineType.SORTER.metadata)
{
GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture(AssemblyLine.TEXTURE_PATH + "ejector.png"));
GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture(AssemblyLine.TEXTURE_PATH + "sorter.png"));
GL11.glPushMatrix();
GL11.glTranslatef((float) 0.6F, (float) 1.5F, (float) 0.6F);
GL11.glRotatef(180f, 0f, 0f, 1f);
@ -50,7 +50,7 @@ public class RenderHelper implements ISimpleBlockRenderingHandler
}
else if (metadata == MachineType.MANIPULATOR.metadata)
{
GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture(AssemblyLine.TEXTURE_PATH + "injector.png"));
GL11.glBindTexture(GL11.GL_TEXTURE_2D, FMLClientHandler.instance().getClient().renderEngine.getTexture(AssemblyLine.TEXTURE_PATH + "manipulator1.png"));
GL11.glPushMatrix();
GL11.glTranslatef((float) 0.6F, (float) 1.5F, (float) 0.6F);
GL11.glRotatef(180f, 0f, 0f, 1f);

View file

@ -6,7 +6,6 @@ import net.minecraft.src.TileEntitySpecialRenderer;
import org.lwjgl.opengl.GL11;
import assemblyline.AssemblyLine;
import assemblyline.belts.TileEntityConveyorBelt;
import assemblyline.machines.TileEntityManipulator;
import assemblyline.model.ModelManipulator;
@ -16,16 +15,21 @@ public class RenderManipulator extends TileEntitySpecialRenderer
public void renderAModelAt(TileEntityManipulator tileEntity, double x, double y, double z, float f)
{
String flip = "";// if(tileEntity.flip){flip
// = "F";}
int face = tileEntity.getBeltDirection().ordinal();
GL11.glPushMatrix();
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
GL11.glRotatef(180f, 0f, 0f, 1f);
this.bindTextureByName(AssemblyLine.TEXTURE_PATH + "injector.png");
if(tileEntity.isOutput)
{
this.bindTextureByName(AssemblyLine.TEXTURE_PATH + "manipulator1.png");
}
else
{
this.bindTextureByName(AssemblyLine.TEXTURE_PATH + "manipulator2.png");
}
if (face == 2)
{
GL11.glRotatef(0f, 0f, 1f, 0f);

View file

@ -22,7 +22,7 @@ public class RenderSorter extends TileEntitySpecialRenderer
{
pos = 8;
}
bindTextureByName(AssemblyLine.TEXTURE_PATH + "ejector.png");
bindTextureByName(AssemblyLine.TEXTURE_PATH + "sorter.png");
GL11.glPushMatrix();
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
GL11.glScalef(1.0F, -1F, -1F);