Change rotation of vehicle to a method

Also corrected the directions being reverse. As well changed it to a
method so vehicles extending this have more control.
This commit is contained in:
Robert 2013-11-09 19:54:11 -05:00
parent 36eee0272a
commit 893ccb49d1

View file

@ -55,11 +55,11 @@ public class EntityDrivable extends EntityAdvanced implements IControlReceiver
} }
if (keycode == Minecraft.getMinecraft().gameSettings.keyBindLeft.keyCode) if (keycode == Minecraft.getMinecraft().gameSettings.keyBindLeft.keyCode)
{ {
this.rotationYaw += 6; this.turn(true);
} }
if (keycode == Minecraft.getMinecraft().gameSettings.keyBindRight.keyCode) if (keycode == Minecraft.getMinecraft().gameSettings.keyBindRight.keyCode)
{ {
this.rotationYaw -= 6; this.turn(false);
} }
//Power brakes //Power brakes
if (keycode == Minecraft.getMinecraft().gameSettings.keyBindJump.keyCode) if (keycode == Minecraft.getMinecraft().gameSettings.keyBindJump.keyCode)
@ -83,6 +83,8 @@ public class EntityDrivable extends EntityAdvanced implements IControlReceiver
double deltaX = Math.cos(this.rotationYaw * Math.PI / 180.0D + 114.8) * -0.5D; double deltaX = Math.cos(this.rotationYaw * Math.PI / 180.0D + 114.8) * -0.5D;
double deltaZ = Math.sin(this.rotationYaw * Math.PI / 180.0D + 114.8) * -0.5D; double deltaZ = Math.sin(this.rotationYaw * Math.PI / 180.0D + 114.8) * -0.5D;
this.riddenByEntity.setPosition(this.posX + deltaX, this.posY + this.riddenByEntity.getYOffset(), this.posZ + deltaZ); this.riddenByEntity.setPosition(this.posX + deltaX, this.posY + this.riddenByEntity.getYOffset(), this.posZ + deltaZ);
this.riddenByEntity.rotationYaw = this.rotationYaw;
} }
} }
@ -174,6 +176,18 @@ public class EntityDrivable extends EntityAdvanced implements IControlReceiver
} }
} }
public void turn(boolean left)
{
if (left)
{
this.rotationYaw -= 6;
}
else
{
this.rotationYaw += 6;
}
}
/** By default this slows the vehicle down with a constant. However this can be used to apply /** By default this slows the vehicle down with a constant. However this can be used to apply
* advanced friction based on materials */ * advanced friction based on materials */
public void applyFriction() public void applyFriction()