mirror of
https://github.com/PikaMug/Quests.git
synced 2024-11-15 15:16:41 +01:00
New API event for opening a quest selection GUI, fixes #1010
This commit is contained in:
parent
80909e87b4
commit
7a56fec67d
@ -53,6 +53,7 @@ import com.alessiodp.parties.api.interfaces.Party;
|
||||
import de.erethon.dungeonsxl.player.DGroup;
|
||||
import me.blackvein.quests.events.quest.QuestTakeEvent;
|
||||
import me.blackvein.quests.events.quester.QuesterPostStartQuestEvent;
|
||||
import me.blackvein.quests.events.quester.QuesterPreOpenGUIEvent;
|
||||
import me.blackvein.quests.events.quester.QuesterPreStartQuestEvent;
|
||||
import me.blackvein.quests.tasks.StageTimer;
|
||||
import me.blackvein.quests.util.ConfigUtil;
|
||||
@ -3182,6 +3183,14 @@ public class Quester {
|
||||
* @param quests List of quests to use for displaying items
|
||||
*/
|
||||
public void showGUIDisplay(NPC npc, LinkedList<Quest> quests) {
|
||||
if (npc == null || quests == null) {
|
||||
return;
|
||||
}
|
||||
QuesterPreOpenGUIEvent preEvent = new QuesterPreOpenGUIEvent(this, npc, quests);
|
||||
plugin.getServer().getPluginManager().callEvent(preEvent);
|
||||
if (preEvent.isCancelled()) {
|
||||
return;
|
||||
}
|
||||
Player player = getPlayer();
|
||||
int size = ((quests.size() / 9) + 1) * 9;
|
||||
Inventory inv = Bukkit.getServer().createInventory(player, size, Lang.get(player, "quests") + " | "
|
||||
|
@ -0,0 +1,74 @@
|
||||
/*******************************************************************************************************
|
||||
* Continued by PikaMug (formerly HappyPikachu) with permission from _Blackvein_. All rights reserved.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||
* NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************************************/
|
||||
|
||||
package me.blackvein.quests.events.quester;
|
||||
|
||||
import java.util.LinkedList;
|
||||
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.HandlerList;
|
||||
|
||||
import me.blackvein.quests.Quest;
|
||||
import me.blackvein.quests.Quester;
|
||||
import net.citizensnpcs.api.npc.NPC;
|
||||
|
||||
/**
|
||||
* Called before a quester opens a quest selection GUI
|
||||
*/
|
||||
public class QuesterPreOpenGUIEvent extends QuesterEvent implements Cancellable {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
private NPC npc;
|
||||
LinkedList<Quest> quests;
|
||||
private boolean cancel = false;
|
||||
|
||||
public QuesterPreOpenGUIEvent(Quester quester, NPC npc, LinkedList<Quest> quests) {
|
||||
super(quester);
|
||||
this.npc = npc;
|
||||
this.quests = quests;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the NPC involved in this event
|
||||
*
|
||||
* @return NPC who is involved in this event
|
||||
*/
|
||||
public NPC getNPC() {
|
||||
return npc;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of quests involved in this event
|
||||
*
|
||||
* @return List of quests involved in this event
|
||||
*/
|
||||
public LinkedList<Quest> getQuests() {
|
||||
return quests;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCancelled(boolean cancel) {
|
||||
this.cancel = cancel;
|
||||
}
|
||||
|
||||
public HandlerList getHandlers() {
|
||||
return handlers;
|
||||
}
|
||||
|
||||
public static HandlerList getHandlerList() {
|
||||
return handlers;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user