/** * Method openMe. * * @param opener Player * @param autoClose boolean * @return boolean */ public boolean openMe(Player opener, boolean autoClose) { _openLock.lock(); try { if (!setOpen(true)) { return false; } setGeoOpen(true); } finally { _openLock.unlock(); } broadcastStatusUpdate(); if (autoClose && (getTemplate().getCloseTime() > 0)) { scheduleAutoAction(false, getTemplate().getCloseTime() * 1000L); } getAI().onEvtOpen(opener); for (Listener<Creature> l : getListeners().getListeners()) { if (l instanceof OnOpenCloseListener) { ((OnOpenCloseListener) l).onOpen(this); } } return true; }