move :: Int -> Int -> Int -> Bot ()
move dx dy dz = do
    modifyPlayer $ \s -> s { playerX = playerX s + fromIntegral dx
                           , playerY = playerY s + fromIntegral dy
                           , playerZ = playerZ s + fromIntegral dz
                           }
    player <- gets statePlayer
    send $ PlayerPosition (playerX player) (playerY player) (playerStance player) (playerZ player) (playerOnGround player)
move :: Int -> Int -> Int -> Bot ()
move dx dy dz = do
    modifyPlayer $ \s -> s { playerX = playerX s + fromIntegral dx
                           , playerY = playerY s + fromIntegral dy
                           , playerZ = playerZ s + fromIntegral dz
                           }
    player <- gets statePlayer
    send $ PlayerPosition (playerX player) (playerY player) (playerStance player) (playerZ player) (playerOnGround player)
move dx dy dz = do
    modifyPlayer $ \s -> s { playerX = playerX s + fromIntegral dx
                           , playerY = playerY s + fromIntegral dy
                           , playerZ = playerZ s + fromIntegral dz
                           }
    player <- gets statePlayer
    send $ PlayerPosition (playerX player) (playerY player) (playerStance player) (playerZ player) (playerOnGround player)