From bcd4d141c04768c2ed3d00d4963e4f40424b5bc4 Mon Sep 17 00:00:00 2001 From: fatpigsarefat Date: Sat, 21 Jul 2018 21:25:00 +0100 Subject: Now using Maven - pom.xml was added - Source files moved - .gitignore adjusted to allow .xml - All Title classes changed to use Bukkit method instead --- .../me/fatpigsarefat/quests/player/QPlayer.java | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 src/main/java/me/fatpigsarefat/quests/player/QPlayer.java (limited to 'src/main/java/me/fatpigsarefat/quests/player/QPlayer.java') diff --git a/src/main/java/me/fatpigsarefat/quests/player/QPlayer.java b/src/main/java/me/fatpigsarefat/quests/player/QPlayer.java new file mode 100644 index 00000000..e797d7bb --- /dev/null +++ b/src/main/java/me/fatpigsarefat/quests/player/QPlayer.java @@ -0,0 +1,123 @@ +package me.fatpigsarefat.quests.player; + +import me.fatpigsarefat.quests.Quests; +import me.fatpigsarefat.quests.events.EventInventory; +import me.fatpigsarefat.quests.obj.Options; +import me.fatpigsarefat.quests.obj.misc.QMenu; +import me.fatpigsarefat.quests.obj.misc.QMenuCategory; +import me.fatpigsarefat.quests.obj.misc.QMenuQuest; +import me.fatpigsarefat.quests.player.questprogressfile.QuestProgressFile; +import me.fatpigsarefat.quests.quests.Category; +import me.fatpigsarefat.quests.quests.Quest; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +public class QPlayer { + + private UUID uuid; + private QuestProgressFile questProgressFile; + private boolean onlyDataLoaded; + + public QPlayer(UUID uuid, QuestProgressFile questProgressFile) { + this(uuid, questProgressFile, false); + } + + public QPlayer(UUID uuid, QuestProgressFile questProgressFile, boolean onlyDataLoaded) { + this.uuid = uuid; + this.questProgressFile = questProgressFile; + this.onlyDataLoaded = onlyDataLoaded; + } + + public UUID getUuid() { + return uuid; + } + + public void openCategory(Category category) { + if (onlyDataLoaded) { + return; + } + + Player player = Bukkit.getPlayer(uuid); + if (player == null) { + return; + } + + QMenuQuest qMenuQuest = new QMenuQuest(Quests.getPlayerManager().getPlayer(player.getUniqueId()), category.getId(), null); + List quests = new ArrayList<>(); + for (String questid : category.getRegisteredQuestIds()) { + Quest quest = Quests.getQuestManager().getQuestById(questid); + if (quest != null) { + quests.add(quest); + } + } + qMenuQuest.populate(quests); + qMenuQuest.setBackButtonEnabled(false); + + player.openInventory(qMenuQuest.toInventory(1)); + EventInventory.track(player.getUniqueId(), qMenuQuest); + } + + public void openQuests() { + if (onlyDataLoaded) { + return; + } + + Player player = Bukkit.getPlayer(uuid); + if (player == null) { + return; + } + + if (Options.CATEGORIES_ENABLED.getBooleanValue()) { + QMenuCategory qMenuCategory = new QMenuCategory(Quests.getPlayerManager().getPlayer(player.getUniqueId())); + List questMenus = new ArrayList<>(); + for (Category category : Quests.getQuestManager().getCategories()) { + QMenuQuest qMenuQuest = new QMenuQuest(Quests.getPlayerManager().getPlayer(player.getUniqueId()), category.getId(), qMenuCategory); + List quests = new ArrayList<>(); + for (String questid : category.getRegisteredQuestIds()) { + Quest quest = Quests.getQuestManager().getQuestById(questid); + if (quest != null) { + quests.add(quest); + } + } + qMenuQuest.populate(quests); + questMenus.add(qMenuQuest); + } + qMenuCategory.populate(questMenus); + + player.openInventory(qMenuCategory.toInventory(1)); + EventInventory.track(player.getUniqueId(), qMenuCategory); + } else { + QMenuQuest qMenuQuest = new QMenuQuest(Quests.getPlayerManager().getPlayer(player.getUniqueId()), "", null); + List quests = new ArrayList<>(); + for (Map.Entry entry : Quests.getQuestManager().getQuests().entrySet()) { + quests.add(entry.getValue()); + } + qMenuQuest.populate(quests); + qMenuQuest.setBackButtonEnabled(false); + + player.openInventory(qMenuQuest.toInventory(1)); + EventInventory.track(player.getUniqueId(), qMenuQuest); + } + } + + public boolean isOnlyDataLoaded() { + return onlyDataLoaded; + } + + public void setOnlyDataLoaded(boolean onlyDataLoaded) { + this.onlyDataLoaded = onlyDataLoaded; + } + + public QuestProgressFile getQuestProgressFile() { + return questProgressFile; + } + + public QuestProgressFile setQuestProgressFile() { + return questProgressFile; + } +} -- cgit v1.2.3-70-g09d2