@Override public void controlUpdate(float tpf, Monster monster, Area area) { secondsElapsed -= tpf; if (secondsElapsed < 0) { Moving a = new Moving(); a.setRequiredDistance(0.5f); float dx = 10 - RandomUtil.nextInt(20); float dz = 10 - RandomUtil.nextInt(20); Vector3f destination = monster.getHome().add(dx, 0, dz); if (monster.getSpatial().getControl(GravityController.class) != null) { GravityController.correctPosition(destination, monster.getSpatial(), area.getScene()); } a.setDestination(destination); monster.setBehavior(a); monster.getSprite().setInstantAnimation(Animation.WALK); } }