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