001 package net.minecraft.src;
002
003 import cpw.mods.fml.common.Side;
004 import cpw.mods.fml.common.asm.SideOnly;
005
006 @SideOnly(Side.CLIENT)
007 public class MovementInputFromOptions extends MovementInput
008 {
009 private GameSettings gameSettings;
010
011 public MovementInputFromOptions(GameSettings par1GameSettings)
012 {
013 this.gameSettings = par1GameSettings;
014 }
015
016 public void updatePlayerMoveState()
017 {
018 this.moveStrafe = 0.0F;
019 this.moveForward = 0.0F;
020
021 if (this.gameSettings.keyBindForward.pressed)
022 {
023 ++this.moveForward;
024 }
025
026 if (this.gameSettings.keyBindBack.pressed)
027 {
028 --this.moveForward;
029 }
030
031 if (this.gameSettings.keyBindLeft.pressed)
032 {
033 ++this.moveStrafe;
034 }
035
036 if (this.gameSettings.keyBindRight.pressed)
037 {
038 --this.moveStrafe;
039 }
040
041 this.jump = this.gameSettings.keyBindJump.pressed;
042 this.sneak = this.gameSettings.keyBindSneak.pressed;
043
044 if (this.sneak)
045 {
046 this.moveStrafe = (float)((double)this.moveStrafe * 0.3D);
047 this.moveForward = (float)((double)this.moveForward * 0.3D);
048 }
049 }
050 }