make entity.getcomponent not require user-facing casting, fix velocity y