public ClientActionData(ObjectInfoControl clientObject) { FlightControl flight = clientObject.getObjectControl(FlightControl.class); this.id = clientObject.getId(); this.position.set(clientObject.getPosition()); this.rotation.set(clientObject.getRotation()); this.linearvelocity.set(clientObject.getLinearVelocity()); this.angularvelocity.set(clientObject.getAngularVelocity()); if (flight != null) { this.throttle = flight.getThrottle(); this.aileron = flight.getAileron(); this.rudder = flight.getRudder(); this.elevator = flight.getElevator(); this.strafe = flight.getStrafe(); this.lift = flight.getLift(); this.cruise = flight.getCruise(); this.glide = flight.getGlide(); } WeaponSystemControl weapons = clientObject.getObjectControl(WeaponSystemControl.class); if (weapons != null) { this.primaryMode = weapons.getPrimaryMode(); this.primaryFire = weapons.isPrimaryFiring(); this.secondaryFire = weapons.isSecondaryFiring(); if (weapons.getTarget() != null) { this.targetId = weapons.getTarget().getObject().getId(); } } }