Vector3f originPos = location.getWorldPosition();
originPos.y += characterComponent.eyeOffset;
boolean ownedEntityUsage = usedOwnedEntity.exists();
int activationId = nextActivationId++;
Physics physics = CoreRegistry.get(Physics.class);
HitResult result = physics.rayTrace(originPos, direction, characterComponent.interactionRange, filter);
boolean eventWithTarget = result.isHit();
if (eventWithTarget) {
EntityRef activatedObject = usedOwnedEntity.exists() ? usedOwnedEntity : result.getEntity();
activatedObject.send(new ActivationPredicted(character, result.getEntity(), originPos, direction,
result.getHitPoint(), result.getHitNormal(), activationId));