again nothing much

Just created some files, and fixed a bug with the rejector. Also renamed
the sorter to rejector, since i'm going to create an actual sorter after
i finish the belts. If i find tha time i'll finish the elevator belt
tonight
This commit is contained in:
Rseifert 2012-11-05 17:14:10 -05:00
parent 859616d353
commit 2dcac2670b
10 changed files with 279 additions and 24 deletions

View file

@ -5,7 +5,7 @@ import net.minecraft.src.TileEntity;
import net.minecraft.src.World; import net.minecraft.src.World;
import assemblyline.gui.GuiSorter; import assemblyline.gui.GuiSorter;
import assemblyline.machines.ContainerSorter; import assemblyline.machines.ContainerSorter;
import assemblyline.machines.TileEntitySorter; import assemblyline.machines.TileEntityRejector;
import cpw.mods.fml.common.network.IGuiHandler; import cpw.mods.fml.common.network.IGuiHandler;
public class ALCommonProxy implements IGuiHandler public class ALCommonProxy implements IGuiHandler
@ -31,7 +31,7 @@ public class ALCommonProxy implements IGuiHandler
switch (ID) switch (ID)
{ {
case 0: case 0:
return new GuiSorter(player.inventory, ((TileEntitySorter) tileEntity)); return new GuiSorter(player.inventory, ((TileEntityRejector) tileEntity));
} }
} }
@ -48,7 +48,7 @@ public class ALCommonProxy implements IGuiHandler
switch (ID) switch (ID)
{ {
case 0: case 0:
return new ContainerSorter(player.inventory, ((TileEntitySorter) tileEntity)); return new ContainerSorter(player.inventory, ((TileEntityRejector) tileEntity));
} }
} }

View file

@ -16,7 +16,7 @@ import assemblyline.machines.BlockMulti;
import assemblyline.machines.BlockMulti.MachineType; import assemblyline.machines.BlockMulti.MachineType;
import assemblyline.machines.ItemBlockMulti; import assemblyline.machines.ItemBlockMulti;
import assemblyline.machines.TileEntityManipulator; import assemblyline.machines.TileEntityManipulator;
import assemblyline.machines.TileEntitySorter; import assemblyline.machines.TileEntityRejector;
import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.Mod.Init;
@ -71,7 +71,7 @@ public class AssemblyLine
proxy.init(); proxy.init();
GameRegistry.registerTileEntity(TileEntityConveyorBelt.class, "ConveyorBelt"); GameRegistry.registerTileEntity(TileEntityConveyorBelt.class, "ConveyorBelt");
GameRegistry.registerTileEntity(TileEntitySorter.class, "Sorter"); GameRegistry.registerTileEntity(TileEntityRejector.class, "Sorter");
GameRegistry.registerTileEntity(TileEntityManipulator.class, "Manipulator"); GameRegistry.registerTileEntity(TileEntityManipulator.class, "Manipulator");
// Add Names // Add Names

View file

@ -23,7 +23,7 @@ public class TileEntityElevatorBelt extends TileEntityConveyorBelt
* and to prevent items from falling * and to prevent items from falling
* @return * @return
*/ */
public boolean isBlockBellowBelt() public boolean isBellowABelt()
{ {
TileEntity ent = worldObj.getBlockTileEntity(xCoord, xCoord-1, zCoord); TileEntity ent = worldObj.getBlockTileEntity(xCoord, xCoord-1, zCoord);
if(ent instanceof TileEntityElevatorBelt) if(ent instanceof TileEntityElevatorBelt)

View file

@ -29,7 +29,7 @@ public class BlockMulti extends BlockMachine
{ {
public static enum MachineType public static enum MachineType
{ {
SORTER("Sorter", 0, 0, TileEntitySorter.class), MANIPULATOR("Manipulator", 4, -1, TileEntityManipulator.class), INVALID_1("Invalid", 8, -1, null), INVALID_2("Invalid", 12, -1, null); SORTER("Sorter", 0, 0, TileEntityRejector.class), MANIPULATOR("Manipulator", 4, -1, TileEntityManipulator.class), INVALID_1("Invalid", 8, -1, null), INVALID_2("Invalid", 12, -1, null);
public String name; public String name;
public int metadata; public int metadata;

View file

@ -9,9 +9,9 @@ import net.minecraft.src.Slot;
public class ContainerSorter extends Container public class ContainerSorter extends Container
{ {
private TileEntitySorter tileEntity; private TileEntityRejector tileEntity;
public ContainerSorter(InventoryPlayer par1InventoryPlayer, TileEntitySorter tileEntity) public ContainerSorter(InventoryPlayer par1InventoryPlayer, TileEntityRejector tileEntity)
{ {
this.tileEntity = tileEntity; this.tileEntity = tileEntity;
for (int i = 0; i < 4; i++) for (int i = 0; i < 4; i++)

View file

@ -26,7 +26,7 @@ import com.google.common.io.ByteArrayDataInput;
import cpw.mods.fml.common.network.PacketDispatcher; import cpw.mods.fml.common.network.PacketDispatcher;
public class TileEntitySorter extends TileEntityElectricityReceiver implements IPacketReceiver, IInventory public class TileEntityRejector extends TileEntityElectricityReceiver implements IPacketReceiver, IInventory
{ {
/** /**
* The items this container contains. * The items this container contains.
@ -77,7 +77,8 @@ public class TileEntitySorter extends TileEntityElectricityReceiver implements I
*/ */
if (this.ticks % 5 == 0 && !this.isDisabled()) if (this.ticks % 5 == 0 && !this.isDisabled())
{ {
//TODO remove after testing
this.wattsReceived += 100;
int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord); int meta = worldObj.getBlockMetadata(xCoord, yCoord, zCoord);
this.firePiston = false; this.firePiston = false;
@ -156,10 +157,9 @@ public class TileEntitySorter extends TileEntityElectricityReceiver implements I
this.beltSide.ignoreEntity(entity); this.beltSide.ignoreEntity(entity);
} }
System.out.print(" \n fire "); entity.motionX = (double) side.offsetX * 0.15;
entity.motionX = (double) side.offsetX * 0.1;
entity.motionY += 0.10000000298023224D; entity.motionY += 0.10000000298023224D;
entity.motionZ = (double) side.offsetZ * 0.1; entity.motionZ = (double) side.offsetZ * 0.15;
this.wattsReceived -= this.JOULES_REQUIRED; this.wattsReceived -= this.JOULES_REQUIRED;
} }
@ -243,10 +243,13 @@ public class TileEntitySorter extends TileEntityElectricityReceiver implements I
{ {
this.guiButtons[i] = true; this.guiButtons[i] = true;
} }
Packet packet = PacketManager.getPacket("asmLine", this, new Object[]{PacketTypes.SETTINGON.ordinal(), i});
if (worldObj.isRemote) if (worldObj.isRemote)
{ {
Packet packet = PacketManager.getPacket("asmLine", this, PacketTypes.SETTINGON.ordinal(), i);
PacketDispatcher.sendPacketToServer(packet); PacketDispatcher.sendPacketToServer(packet);
}else
{
PacketManager.sendPacketToClients(packet, worldObj, Vector3.get(this), 10);
} }
} }

View file

@ -0,0 +1,252 @@
package assemblyline.machines;
import assemblyline.belts.TileEntityConveyorBelt;
import com.google.common.io.ByteArrayDataInput;
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.NBTTagList;
import net.minecraft.src.Packet250CustomPayload;
import net.minecraft.src.TileEntity;
import net.minecraftforge.common.ForgeDirection;
import universalelectricity.prefab.TileEntityElectricityReceiver;
import universalelectricity.prefab.network.IPacketReceiver;
public class TileEntityRoboticSorter extends TileEntityElectricityReceiver implements IPacketReceiver, IInventory {
/**
* The items this container contains.
*/
protected ItemStack[] containingItems = new ItemStack[this.getSizeInventory()];
/**
* Used to id the packet types
*/
private enum PacketTypes
{
ANIMATION, GUI, SETTINGON
}
/**
* Joules required per tick.
*/
public static final int JOULES_REQUIRED = 10;
/**
* Stored energy
*/
public double wattsReceived = 0;
/**
* on/off value for the GUI buttons
*/
public boolean[] guiButtons = new boolean[]
{ true, true, true, true, true };
/**
* the belt found in the search area
*/
public TileEntityConveyorBelt[] beltSide = new TileEntityConveyorBelt[6];
private int playerUsing = 0;
@Override
public String getInvName()
{
return "Sorter";
}
@Override
public int getSizeInventory()
{
return 4;
}
@Override
public boolean canConnect(ForgeDirection side)
{
return true;
}
/**
* UE methods
*/
@Override
public double getVoltage()
{
return 120;
}
@Override
public double wattRequest()
{
return JOULES_REQUIRED;
}
@Override
public void onReceive(TileEntity sender, double amps, double voltage, ForgeDirection side)
{
this.wattsReceived += (amps * voltage);
}
/**
* Inventory functions.
*/
@Override
public ItemStack getStackInSlot(int par1)
{
return this.containingItems[par1];
}
@Override
public ItemStack decrStackSize(int par1, int par2)
{
if (this.containingItems[par1] != null)
{
ItemStack var3;
if (this.containingItems[par1].stackSize <= par2)
{
var3 = this.containingItems[par1];
this.containingItems[par1] = null;
return var3;
}
else
{
var3 = this.containingItems[par1].splitStack(par2);
if (this.containingItems[par1].stackSize == 0)
{
this.containingItems[par1] = null;
}
return var3;
}
}
else
{
return null;
}
}
@Override
public ItemStack getStackInSlotOnClosing(int par1)
{
if (this.containingItems[par1] != null)
{
ItemStack var2 = this.containingItems[par1];
this.containingItems[par1] = null;
return var2;
}
else
{
return null;
}
}
@Override
public void setInventorySlotContents(int par1, ItemStack par2ItemStack)
{
this.containingItems[par1] = par2ItemStack;
if (par2ItemStack != null && par2ItemStack.stackSize > this.getInventoryStackLimit())
{
par2ItemStack.stackSize = this.getInventoryStackLimit();
}
}
@Override
public boolean isUseableByPlayer(EntityPlayer par1EntityPlayer)
{
return this.worldObj.getBlockTileEntity(this.xCoord, this.yCoord, this.zCoord) != this ? false : par1EntityPlayer.getDistanceSq(this.xCoord + 0.5D, this.yCoord + 0.5D, this.zCoord + 0.5D) <= 64.0D;
}
@Override
public void openChest()
{
this.playerUsing++;
}
@Override
public void closeChest()
{
this.playerUsing--;
}
/**
* NBT Data
*/
@Override
public void readFromNBT(NBTTagCompound nbt)
{
super.readFromNBT(nbt);
for (int i = 0; i < this.guiButtons.length; i++)
{
this.guiButtons[i] = nbt.getBoolean("guiButton" + i);
}
NBTTagList var2 = nbt.getTagList("Items");
this.containingItems = new ItemStack[this.getSizeInventory()];
for (int var3 = 0; var3 < var2.tagCount(); ++var3)
{
NBTTagCompound var4 = (NBTTagCompound) var2.tagAt(var3);
byte var5 = var4.getByte("Slot");
if (var5 >= 0 && var5 < this.containingItems.length)
{
this.containingItems[var5] = ItemStack.loadItemStackFromNBT(var4);
}
}
}
@Override
public void handlePacketData(INetworkManager network, int packetType,
Packet250CustomPayload packet, EntityPlayer player,
ByteArrayDataInput dataStream) {
// TODO Auto-generated method stub
}
/**
* Writes a tile entity to NBT.
*/
@Override
public void writeToNBT(NBTTagCompound nbt)
{
super.writeToNBT(nbt);
for (int i = 0; i < this.guiButtons.length; i++)
{
nbt.setBoolean("guiButton" + i, this.guiButtons[i]);
}
NBTTagList var2 = new NBTTagList();
for (int var3 = 0; var3 < this.containingItems.length; ++var3)
{
if (this.containingItems[var3] != null)
{
NBTTagCompound var4 = new NBTTagCompound();
var4.setByte("Slot", (byte) var3);
this.containingItems[var3].writeToNBT(var4);
var2.appendTag(var4);
}
}
nbt.setTag("Items", var2);
}
@Override
public int getInventoryStackLimit()
{
return 1;
}
@Override
public boolean canReceiveFromSide(ForgeDirection side) {
// TODO Auto-generated method stub
return false;
}
}

View file

@ -3,7 +3,7 @@ package assemblyline;
import net.minecraftforge.client.MinecraftForgeClient; import net.minecraftforge.client.MinecraftForgeClient;
import assemblyline.belts.TileEntityConveyorBelt; import assemblyline.belts.TileEntityConveyorBelt;
import assemblyline.machines.TileEntityManipulator; import assemblyline.machines.TileEntityManipulator;
import assemblyline.machines.TileEntitySorter; import assemblyline.machines.TileEntityRejector;
import assemblyline.render.RenderConveyorBelt; import assemblyline.render.RenderConveyorBelt;
import assemblyline.render.RenderHelper; import assemblyline.render.RenderHelper;
import assemblyline.render.RenderManipulator; import assemblyline.render.RenderManipulator;
@ -26,7 +26,7 @@ public class ALClientProxy extends ALCommonProxy
// ClientRegistry.registerTileEntity(TileEntityConveyorBelt.class, // ClientRegistry.registerTileEntity(TileEntityConveyorBelt.class,
// "belt", new RenderConveyorBelt()); // "belt", new RenderConveyorBelt());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConveyorBelt.class, new RenderConveyorBelt()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityConveyorBelt.class, new RenderConveyorBelt());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySorter.class, new RenderSorter()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRejector.class, new RenderSorter());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityManipulator.class, new RenderManipulator()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityManipulator.class, new RenderManipulator());
} }

View file

@ -10,16 +10,16 @@ import org.lwjgl.opengl.GL11;
import assemblyline.AssemblyLine; import assemblyline.AssemblyLine;
import assemblyline.machines.ContainerSorter; import assemblyline.machines.ContainerSorter;
import assemblyline.machines.TileEntitySorter; import assemblyline.machines.TileEntityRejector;
public class GuiSorter extends GuiContainer public class GuiSorter extends GuiContainer
{ {
private TileEntitySorter tileEntity; private TileEntityRejector tileEntity;
private int containerWidth; private int containerWidth;
private int containerHeight; private int containerHeight;
public GuiSorter(InventoryPlayer par1InventoryPlayer, TileEntitySorter tileEntity) public GuiSorter(InventoryPlayer par1InventoryPlayer, TileEntityRejector tileEntity)
{ {
super(new ContainerSorter(par1InventoryPlayer, tileEntity)); super(new ContainerSorter(par1InventoryPlayer, tileEntity));
this.tileEntity = tileEntity; this.tileEntity = tileEntity;

View file

@ -6,14 +6,14 @@ import net.minecraft.src.TileEntitySpecialRenderer;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
import assemblyline.AssemblyLine; import assemblyline.AssemblyLine;
import assemblyline.machines.TileEntitySorter; import assemblyline.machines.TileEntityRejector;
import assemblyline.model.ModelSorter; import assemblyline.model.ModelSorter;
public class RenderSorter extends TileEntitySpecialRenderer public class RenderSorter extends TileEntitySpecialRenderer
{ {
private ModelSorter model = new ModelSorter(); private ModelSorter model = new ModelSorter();
public void renderAModelAt(TileEntitySorter tileEntity, double x, double y, double z, float f) public void renderAModelAt(TileEntityRejector tileEntity, double x, double y, double z, float f)
{ {
boolean fire = tileEntity.firePiston; boolean fire = tileEntity.firePiston;
int face = tileEntity.getDirection(tileEntity.worldObj.getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord)); int face = tileEntity.getDirection(tileEntity.worldObj.getBlockMetadata(tileEntity.xCoord, tileEntity.yCoord, tileEntity.zCoord));
@ -51,7 +51,7 @@ public class RenderSorter extends TileEntitySpecialRenderer
@Override @Override
public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8) public void renderTileEntityAt(TileEntity tileEntity, double var2, double var4, double var6, float var8)
{ {
this.renderAModelAt((TileEntitySorter) tileEntity, var2, var4, var6, var8); this.renderAModelAt((TileEntityRejector) tileEntity, var2, var4, var6, var8);
} }
} }