#ifndef NET_MINECRAFT_CLIENT_PLAYER__XperiaPlayInput_H__ #define NET_MINECRAFT_CLIENT_PLAYER__XperiaPlayInput_H__ //package net.minecraft.client.player; #include "KeyboardInput.h" #include "platform/input/Controller.h" #include "world/entity/player/Player.h" // @note: This is just copy-pasted from KeyboardInput right now. class XperiaPlayInput: public KeyboardInput { typedef KeyboardInput super; public: XperiaPlayInput(Options* options) : super(options), wasSneakTouched(false) {} void tick(Player* player) { bool _sneaking = sneaking; super::tick(player); sneaking = _sneaking; wantUp = (jumping && keys[KEY_UP]); wantDown = (jumping && keys[KEY_DOWN]); if ((wantUp | wantDown) && (player && player->abilities.flying)) ya = 0; bool isSneakTouched = Controller::isTouched(1); if (isSneakTouched && !wasSneakTouched) { sneaking = !sneaking; } wasSneakTouched = isSneakTouched; if (sneaking) { xa *= 0.3f; ya *= 0.3f; } } /* if (Controller::isTouched(moveStick)) { xa = -Controller::getTransformedX(moveStick, 0.1f, 1.25f, true); ya = +Controller::getTransformedY(moveStick, 0.1f, 1.25f, true); } */ private: bool wasSneakTouched; }; #endif /*NET_MINECRAFT_CLIENT_PLAYER__XperiaPlayInput_H__*/