@Override public String onEnterZone(L2Character character, L2ZoneType zone) { if (character instanceof L2ControllableAirShipInstance) { if (_dockedShip == null) { _dockedShip = (L2ControllableAirShipInstance) character; _dockedShip.setInDock(_dockZone); _dockedShip.setOustLoc(_oustLoc); // Ship is not empty - display movie to passengers and dock if (_dockedShip.isEmpty()) { _departSchedule = ThreadPoolManager.getInstance().scheduleGeneral(_departTask, DEPART_INTERVAL); } else { if (_movieId != 0) { _dockedShip .getPassengers() .stream() .filter(passenger -> passenger != null) .forEach(passenger -> passenger.showQuestMovie(_movieId)); } ThreadPoolManager.getInstance().scheduleGeneral(_decayTask, 1000); } } } return null; }