Fixed some conveyor belt upward and downward movement
This commit is contained in:
parent
028ff3fc1a
commit
4be96d95be
4 changed files with 26 additions and 17 deletions
|
@ -118,6 +118,18 @@ public class BlockConveyorBelt extends BlockRI
|
|||
|
||||
ForgeDirection direction = tile.getDirection();
|
||||
|
||||
if (tile.getSlant() != SlantType.NONE)
|
||||
{
|
||||
AxisAlignedBB newBounds = AxisAlignedBB.getAABBPool().getAABB(x, y, z, x + 1, y + 0.1, z + 1);
|
||||
|
||||
if (newBounds != null && par5AxisAlignedBB.intersectsWith(newBounds))
|
||||
{
|
||||
par6List.add(newBounds);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (tile.getSlant() == SlantType.UP)
|
||||
{
|
||||
if (direction.offsetX > 0)
|
||||
|
@ -182,7 +194,7 @@ public class BlockConveyorBelt extends BlockRI
|
|||
}
|
||||
}
|
||||
|
||||
AxisAlignedBB newBounds = AxisAlignedBB.getAABBPool().getAABB(x, y, z, x + 1, y + 0.3, z + 1);
|
||||
AxisAlignedBB newBounds = AxisAlignedBB.getAABBPool().getAABB(x, y, z, x + 1, y + 0.1, z + 1);
|
||||
|
||||
if (newBounds != null && par5AxisAlignedBB.intersectsWith(newBounds))
|
||||
{
|
||||
|
@ -285,35 +297,33 @@ public class BlockConveyorBelt extends BlockRI
|
|||
SlantType slantType = tile.getSlant();
|
||||
ForgeDirection direction = tile.getDirection();
|
||||
|
||||
if (slantType != SlantType.NONE)
|
||||
{
|
||||
entity.onGround = false;
|
||||
}
|
||||
|
||||
if (slantType == SlantType.UP)
|
||||
{
|
||||
if (entity.motionY < 0.2)
|
||||
{
|
||||
entity.addVelocity(0, 0.2, 0);
|
||||
}
|
||||
//We need at least 0.25 to move items up.
|
||||
entity.motionY = Math.max(0.25, maxSpeed);
|
||||
}
|
||||
else if (slantType == SlantType.DOWN)
|
||||
{
|
||||
if (entity.motionY > -0.1)
|
||||
{
|
||||
entity.addVelocity(0, -0.1, 0);
|
||||
}
|
||||
entity.motionY = -maxSpeed;
|
||||
}
|
||||
|
||||
if (direction.offsetX != 0)
|
||||
{
|
||||
entity.motionX = direction.offsetX * maxSpeed;
|
||||
entity.motionZ = 0;
|
||||
entity.motionZ /= 2;
|
||||
}
|
||||
|
||||
if (direction.offsetZ != 0)
|
||||
{
|
||||
entity.motionZ = direction.offsetZ * maxSpeed;
|
||||
entity.motionX = 0;
|
||||
entity.motionX /= 2;
|
||||
}
|
||||
|
||||
entity.motionY += 0.125f * maxSpeed;
|
||||
|
||||
if (entity instanceof EntityItem)
|
||||
{
|
||||
if (direction.offsetX != 0)
|
||||
|
|
|
@ -77,11 +77,10 @@ public class TileConveyorBelt extends TileMechanical implements IBelt, IRotatabl
|
|||
{
|
||||
if (this.ticks % 10 == 0 && this.worldObj.isRemote && this.worldObj.getBlockId(this.xCoord - 1, this.yCoord, this.zCoord) != Mechanical.blockConveyorBelt.blockID && this.worldObj.getBlockId(xCoord, yCoord, zCoord - 1) != Mechanical.blockConveyorBelt.blockID)
|
||||
{
|
||||
this.worldObj.playSound(this.xCoord, this.yCoord, this.zCoord, Reference.PREFIX + "conveyor", 0.5f, 0.7f, true);
|
||||
worldObj.playSound(this.xCoord, this.yCoord, this.zCoord, Reference.PREFIX + "conveyor", 0.5f, 0.5f + 0.15f * getMoveVelocity(), true);
|
||||
}
|
||||
|
||||
angle = getNetwork().getRotation(getMoveVelocity());
|
||||
// (float) ((angle + getMoveVelocity() / 20) % Math.PI);
|
||||
double beltPercentage = angle / (2 * Math.PI);
|
||||
|
||||
// Sync the animation. Slant belts are slower.
|
||||
|
|
|
@ -20,7 +20,7 @@ public class BlockManipulator extends BlockImprintable
|
|||
public BlockManipulator()
|
||||
{
|
||||
super("manipulator");
|
||||
this.setBlockBounds(0, 0, 0, 1, 0.29f, 1);
|
||||
this.setBlockBounds(0, 0, 0, 1, 0.09f, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -150,7 +150,7 @@ public class MechanicalNetwork extends Network<IMechanicalNetwork, IMechanical>
|
|||
|
||||
if (deltaTime > 1)
|
||||
{
|
||||
rotation = (float) (((velocity) * (deltaTime / 1000f) + rotation) % (2 * Math.PI));
|
||||
rotation = (float) (((velocity) * ((double)deltaTime / 1000d) + rotation) % (2 * Math.PI));
|
||||
lastRotateTime = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue