finished quarry fixing, fix #1561

This commit is contained in:
SpaceToad 2014-04-05 18:09:44 +02:00
parent ac055f0b4f
commit a9701ec4e4

View file

@ -59,25 +59,38 @@ public class TileQuarry extends TileAbstractBuilder implements IMachine {
double headPosX, headPosY, headPosZ; double headPosX, headPosY, headPosZ;
public @NetworkData public @NetworkData
double speed = 0.03; double speed = 0.03;
public @NetworkData
boolean builderDone = false;
private BptBuilderBase builder; private BptBuilderBase builder;
public EntityMechanicalArm arm; public EntityMechanicalArm arm;
boolean isDigging = false; boolean isDigging = false;
private boolean loadDefaultBoundaries = false;
private boolean movingHorizontally;
private boolean movingVertically;
private double headTrajectory;
private Ticket chunkTicket;
public @NetworkData
boolean isAlive;
public EntityPlayer placedBy;
public TileQuarry () { public TileQuarry () {
box.kind = Kind.STRIPES; box.kind = Kind.STRIPES;
} }
public void createUtilsIfNeeded() { public void createUtilsIfNeeded() {
if (builder == null) { if (!worldObj.isRemote) {
if (!box.isInitialized()) { if (builder == null) {
setBoundaries(loadDefaultBoundaries); if (!box.isInitialized()) {
} setBoundaries(loadDefaultBoundaries);
}
initializeBlueprintBuilder(); initializeBlueprintBuilder();
}
} }
if (builder != null && builder.isDone(this)) { if (builderDone) {
box.isVisible = false; box.isVisible = false;
if (arm == null) { if (arm == null) {
@ -90,26 +103,19 @@ public class TileQuarry extends TileAbstractBuilder implements IMachine {
setHead(box.xMin + 1, yCoord + 2, box.zMin + 1); setHead(box.xMin + 1, yCoord + 2, box.zMin + 1);
} }
} }
} else { } else {
box.isVisible = true; box.isVisible = true;
isDigging = true; isDigging = true;
} }
} }
private boolean loadDefaultBoundaries = false;
private boolean movingHorizontally;
private boolean movingVertically;
private double headTrajectory;
private Ticket chunkTicket;
public @NetworkData
boolean isAlive;
public EntityPlayer placedBy;
private void createArm() { private void createArm() {
worldObj.spawnEntityInWorld(new EntityMechanicalArm(worldObj, box.xMin + CoreConstants.PIPE_MAX_POS, yCoord + builder.blueprint.sizeY - 1 worldObj.spawnEntityInWorld(new EntityMechanicalArm(worldObj, box.xMin
+ CoreConstants.PIPE_MIN_POS, box.zMin + CoreConstants.PIPE_MAX_POS, builder.blueprint.sizeX - 2 + CoreConstants.PIPE_MIN_POS * 2, builder.blueprint.sizeZ + CoreConstants.PIPE_MAX_POS, yCoord + box.sizeY ()
- 2 + CoreConstants.PIPE_MIN_POS * 2, this)); - 1 + CoreConstants.PIPE_MIN_POS, box.zMin
+ CoreConstants.PIPE_MAX_POS, box.sizeX () - 2
+ CoreConstants.PIPE_MIN_POS * 2, box.sizeZ() - 2
+ CoreConstants.PIPE_MIN_POS * 2, this));
} }
// Callback from the arm once it's created // Callback from the arm once it's created
@ -154,6 +160,7 @@ public class TileQuarry extends TileAbstractBuilder implements IMachine {
if (!builder.isDone(this)) { if (!builder.isDone(this)) {
builder.buildNextSlot(worldObj, this, xCoord, yCoord, zCoord); builder.buildNextSlot(worldObj, this, xCoord, yCoord, zCoord);
} else { } else {
builderDone = true;
dig(); dig();
} }
} }