Search in sources :

Example 11 with TrainPacket

use of club.nsdn.nyasamarailway.network.TrainPacket in project NyaSamaRailway by NSDN.

the class NSPCT9 method applyDrag.

@Override
protected void applyDrag() {
    if (this.motorState) {
        TrainPacket tmpPacket = new TrainPacket(getMotorPower(), getMotorBrake(), getMotorDir());
        // High speed
        tmpPacket.highSpeed = true;
        tmpPacket.Velocity = this.Velocity;
        if (this.maxVelocity > 0) {
            if (this.Velocity > this.maxVelocity && tmpMotorBrake == -1) {
                tmpMotorBrake = getMotorBrake();
                setMotorBrake(1);
            } else if (this.Velocity > this.maxVelocity && tmpMotorBrake != -1) {
                setMotorBrake(1);
            } else if (this.Velocity <= this.maxVelocity && tmpMotorBrake != -1) {
                setMotorBrake(tmpMotorBrake);
                tmpMotorBrake = -1;
            }
        }
        TrainController.doMotionWithAir(tmpPacket, this);
        setMotorVel((float) tmpPacket.Velocity);
    } else {
        if (this.motionX != 0)
            setMotorDir((int) Math.signum(this.motionX / Math.cos(TrainController.calcYaw(this) * Math.PI / 180.0)));
        else if (this.motionZ != 0)
            setMotorDir((int) Math.signum(this.motionZ / -Math.sin(TrainController.calcYaw(this) * Math.PI / 180.0)));
        else
            setMotorDir(0);
        setMotorVel((float) Math.sqrt(this.motionX * this.motionX + this.motionZ * this.motionZ));
    }
    super.applyDrag();
}
Also used : TrainPacket(club.nsdn.nyasamarailway.network.TrainPacket)

Example 12 with TrainPacket

use of club.nsdn.nyasamarailway.network.TrainPacket in project NyaSamaRailway by NSDN.

the class NSPCT4M method doEngine.

@Override
protected void doEngine() {
    tmpPacket = new TrainPacket(getEnginePower(), getEngineBrake(), getEngineDir());
    tmpPacket.highSpeed = isHighSpeed();
    tmpPacket.Velocity = this.Velocity;
    if (this.maxVelocity > 0) {
        if (this.Velocity > this.maxVelocity && tmpEngineBrake == -1) {
            tmpEngineBrake = getEngineBrake();
            setEngineBrake(1);
        } else if (this.Velocity > this.maxVelocity && tmpEngineBrake != -1) {
            setEngineBrake(1);
        } else if (this.Velocity <= this.maxVelocity && tmpEngineBrake != -1) {
            setEngineBrake(tmpEngineBrake);
            tmpEngineBrake = -1;
        }
    }
    TrainController.doMotionWithAir(tmpPacket, this);
    setEnginePrevVel(this.Velocity);
    setEngineVel(tmpPacket.Velocity);
}
Also used : TrainPacket(club.nsdn.nyasamarailway.network.TrainPacket)

Example 13 with TrainPacket

use of club.nsdn.nyasamarailway.network.TrainPacket in project NyaSamaRailway by NSDN.

the class LocoBase method doEngine.

protected void doEngine() {
    // Do engine code
    tmpPacket = new TrainPacket(getEnginePower(), getEngineBrake(), getEngineDir());
    tmpPacket.highSpeed = isHighSpeed();
    tmpPacket.Velocity = this.Velocity;
    TrainController.doMotion(tmpPacket, this);
    setEnginePrevVel(this.Velocity);
    setEngineVel(tmpPacket.Velocity);
}
Also used : TrainPacket(club.nsdn.nyasamarailway.network.TrainPacket)

Example 14 with TrainPacket

use of club.nsdn.nyasamarailway.network.TrainPacket in project NyaSamaRailway by NSDN.

the class NSPCT6W method applyDrag.

@Override
protected void applyDrag() {
    if (this.motorState) {
        TrainPacket tmpPacket = new TrainPacket(getMotorPower(), getMotorBrake(), getMotorDir());
        // High speed
        tmpPacket.highSpeed = true;
        tmpPacket.Velocity = this.Velocity;
        if (this.maxVelocity > 0) {
            if (this.Velocity > this.maxVelocity && tmpMotorBrake == -1) {
                tmpMotorBrake = getMotorBrake();
                setMotorBrake(1);
            } else if (this.Velocity > this.maxVelocity && tmpMotorBrake != -1) {
                setMotorBrake(1);
            } else if (this.Velocity <= this.maxVelocity && tmpMotorBrake != -1) {
                setMotorBrake(tmpMotorBrake);
                tmpMotorBrake = -1;
            }
        }
        TrainController.doMotionWithAir(tmpPacket, this);
        setMotorVel((float) tmpPacket.Velocity);
    } else {
        if (this.motionX != 0)
            setMotorDir((int) Math.signum(this.motionX / Math.cos(TrainController.calcYaw(this) * Math.PI / 180.0)));
        else if (this.motionZ != 0)
            setMotorDir((int) Math.signum(this.motionZ / -Math.sin(TrainController.calcYaw(this) * Math.PI / 180.0)));
        else
            setMotorDir(0);
        setMotorVel((float) Math.sqrt(this.motionX * this.motionX + this.motionZ * this.motionZ));
    }
    super.applyDrag();
}
Also used : TrainPacket(club.nsdn.nyasamarailway.network.TrainPacket)

Example 15 with TrainPacket

use of club.nsdn.nyasamarailway.network.TrainPacket in project NyaSamaRailway by NSDN.

the class NSET2 method doEngine.

@Override
protected void doEngine() {
    // Do engine code
    tmpPacket = new TrainPacket(getEnginePower(), getEngineBrake(), getEngineDir());
    tmpPacket.highSpeed = isHighSpeed();
    tmpPacket.Velocity = this.Velocity;
    TrainController.doMotionWithAir(tmpPacket, this);
    setEnginePrevVel(this.Velocity);
    setEngineVel(tmpPacket.Velocity);
}
Also used : TrainPacket(club.nsdn.nyasamarailway.network.TrainPacket)

Aggregations

TrainPacket (club.nsdn.nyasamarailway.network.TrainPacket)23 EntityPlayerMP (net.minecraft.entity.player.EntityPlayerMP)5 LocoBase (club.nsdn.nyasamarailway.entity.LocoBase)3 EntityMinecart (net.minecraft.entity.item.EntityMinecart)3 EntityPlayer (net.minecraft.entity.player.EntityPlayer)3 ChatComponentTranslation (net.minecraft.util.ChatComponentTranslation)3 ItemNTP32Bit (club.nsdn.nyasamarailway.item.tool.ItemNTP32Bit)1 ItemNTP8Bit (club.nsdn.nyasamarailway.item.tool.ItemNTP8Bit)1 SubscribeEvent (cpw.mods.fml.common.eventhandler.SubscribeEvent)1 GuiChat (net.minecraft.client.gui.GuiChat)1 ItemStack (net.minecraft.item.ItemStack)1