Tried fixing ArmBot again...

This commit is contained in:
Brian Ricketts 2013-01-15 03:40:17 -06:00
parent 5c5f4395bb
commit 7a048652ac
2 changed files with 24 additions and 18 deletions

View file

@ -59,7 +59,7 @@ public class TileEntityArmbot extends TileEntityAssemblyNetwork implements IMult
public double wattsReceived = 0;
private int playerUsing = 0;
private int computersAttached = 0;
/**
@ -119,8 +119,6 @@ public class TileEntityArmbot extends TileEntityAssemblyNetwork implements IMult
if (this.disk == null && this.computersAttached == 0)
{
this.commandManager.clear();
if (this.grabbedEntities.size() > 0)
{
this.commandManager.addCommand(this, CommandDrop.class);
@ -128,8 +126,12 @@ public class TileEntityArmbot extends TileEntityAssemblyNetwork implements IMult
else
{
if (!this.commandManager.hasTasks())
{
if (Math.abs(this.rotationYaw - CommandReturn.IDLE_ROTATION_YAW) > 0.01)
{
this.commandManager.addCommand(this, CommandReturn.class);
}
}
}
this.commandManager.setCurrentTask(0);
@ -457,6 +459,10 @@ public class TileEntityArmbot extends TileEntityAssemblyNetwork implements IMult
}
}
}
else
{
this.commandManager.clear();
}
}
@Override
@ -500,7 +506,7 @@ public class TileEntityArmbot extends TileEntityAssemblyNetwork implements IMult
{
double angle = (Double) arguments[0];
this.commandManager.addCommand(this, CommandRotate.class, new String[] { Double.toString(angle) });
while(this.commandManager.hasTasks())
while (this.commandManager.hasTasks())
{
Thread.sleep(1);
}
@ -526,10 +532,7 @@ public class TileEntityArmbot extends TileEntityAssemblyNetwork implements IMult
double angle = (Double) arguments[0];
double diff = angle - this.rotationYaw;
this.commandManager.addCommand(this, CommandRotate.class, new String[] { Double.toString(diff) });
while(this.commandManager.hasTasks())
{
Thread.sleep(1);
}
while (this.commandManager.hasTasks());
}
catch (Exception ex)
{
@ -546,19 +549,11 @@ public class TileEntityArmbot extends TileEntityAssemblyNetwork implements IMult
case 2: // grab: grabs an item
{
this.commandManager.addCommand(this, CommandGrab.class);
while(this.commandManager.hasTasks())
{
Thread.sleep(1);
}
break;
}
case 3: // drop: drops an item
{
this.commandManager.addCommand(this, CommandDrop.class);
while(this.commandManager.hasTasks())
{
Thread.sleep(1);
}
break;
}
case 4: // reset: calls the RETURN command

View file

@ -3,6 +3,8 @@ package assemblyline.common.machine.command;
import java.util.HashMap;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.nbt.NBTTagString;
import net.minecraft.world.World;
import assemblyline.common.machine.armbot.TileEntityArmbot;
@ -121,7 +123,7 @@ public abstract class Command
}
catch (Exception e)
{
}
}
@ -130,6 +132,15 @@ public abstract class Command
public void writeToNBT(NBTTagCompound taskCompound)
{
NBTTagCompound tileEntityNBT = new NBTTagCompound();
this.tileEntity.writeToNBT(tileEntityNBT);
taskCompound.setCompoundTag("tileEntity", tileEntityNBT);
taskCompound.setInteger("ticks", this.ticks);
NBTTagList parList = new NBTTagList();
for (String parameter : this.parameters)
{
parList.appendTag(new NBTTagString(parameter));
}
taskCompound.setTag("parameters", parList);
}
}