diff options
| author | nicuch <nicuch100@gmail.com> | 2020-01-13 15:57:17 +0200 |
|---|---|---|
| committer | nicuch <nicuch100@gmail.com> | 2020-01-13 15:57:17 +0200 |
| commit | 4d46754edec262a0ad105caacf98e07c1047e1b6 (patch) | |
| tree | 11c97dc6c2aee1f333bf62cc4c6974f20731e43b /src/main/java/com/leonardobishop | |
| parent | 1446cfc02e0b51dc9b4a707282508e7254370b11 (diff) | |
More to it
Diffstat (limited to 'src/main/java/com/leonardobishop')
6 files changed, 25 insertions, 23 deletions
diff --git a/src/main/java/com/leonardobishop/quests/Quests.java b/src/main/java/com/leonardobishop/quests/Quests.java index 13c7aca6..3fb67354 100644 --- a/src/main/java/com/leonardobishop/quests/Quests.java +++ b/src/main/java/com/leonardobishop/quests/Quests.java @@ -167,7 +167,7 @@ public class Quests extends JavaPlugin { } for (Player player : Bukkit.getOnlinePlayers()) { - qPlayerManager.loadPlayer(player.getUniqueId()); + qPlayerManager.loadPlayer(player.getUniqueId(), false); } }); Bukkit.getScheduler().runTaskTimerAsynchronously(this, () -> { diff --git a/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java b/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java index ac79f674..3360dc58 100644 --- a/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java +++ b/src/main/java/com/leonardobishop/quests/commands/CommandQuests.java @@ -138,7 +138,7 @@ public class CommandQuests implements CommandExecutor { String name; // Player.class is a superclass for OfflinePlayer. // getofflinePlayer return a player regardless if exists or not - if (ofp != null) { + if (ofp != null) { uuid = ofp.getUniqueId(); name = ofp.getName(); } else { @@ -146,15 +146,17 @@ public class CommandQuests implements CommandExecutor { return true; } if (args[2].equalsIgnoreCase("fullreset")) { - if (plugin.getPlayerManager().getPlayer(uuid) == null) { + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(uuid); + if (qPlayer == null) { sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_LOADDATA.getMessage().replace("{player}", name)); plugin.getPlayerManager().loadPlayer(uuid, true); + qPlayer = plugin.getPlayerManager().getPlayer(uuid); //get again } - if (plugin.getPlayerManager().getPlayer(uuid) == null) { + if (qPlayer == null) { sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_NODATA.getMessage().replace("{player}", name)); return true; } - QuestProgressFile questProgressFile = plugin.getPlayerManager().getPlayer(uuid).getQuestProgressFile(); + QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); questProgressFile.clear(); questProgressFile.saveToDisk(false); sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_FULLRESET.getMessage().replace("{player}", name)); @@ -197,29 +199,27 @@ public class CommandQuests implements CommandExecutor { } } else if (args[1].equalsIgnoreCase("moddata")) { boolean success = false; - Player player; - OfflinePlayer ofp; + OfflinePlayer ofp = Bukkit.getOfflinePlayer(args[3]); UUID uuid; String name; - if ((player = Bukkit.getPlayer(args[3])) != null) { - uuid = player.getUniqueId(); - name = player.getName(); - } else if ((ofp = Bukkit.getOfflinePlayer(args[3])) != null) { + if (ofp != null) { uuid = ofp.getUniqueId(); name = ofp.getName(); } else { sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_PLAYERNOTFOUND.getMessage().replace("{player}", args[3])); return true; } - if (plugin.getPlayerManager().getPlayer(uuid) == null) { + QPlayer qPlayer = plugin.getPlayerManager().getPlayer(uuid); + if (qPlayer == null) { sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_LOADDATA.getMessage().replace("{player}", name)); plugin.getPlayerManager().loadPlayer(uuid, true); } - if (plugin.getPlayerManager().getPlayer(uuid) == null) { + if (qPlayer == null) { sender.sendMessage(Messages.COMMAND_QUEST_ADMIN_NODATA.getMessage().replace("{player}", name)); success = true; } - QuestProgressFile questProgressFile = plugin.getPlayerManager().getPlayer(uuid).getQuestProgressFile(); + qPlayer = plugin.getPlayerManager().getPlayer(uuid); //get again + QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); Quest quest = plugin.getQuestManager().getQuestById(args[4]); if (quest == null) { sender.sendMessage(Messages.COMMAND_QUEST_START_DOESNTEXIST.getMessage().replace("{quest}", args[4])); @@ -286,7 +286,7 @@ public class CommandQuests implements CommandExecutor { QPlayer qPlayer = plugin.getPlayerManager().getPlayer(player.getUniqueId()); if (qPlayer == null) { // shit + fan - sender.sendMessage(ChatColor.RED + "An error occurred finding your player."); + sender.sendMessage(ChatColor.RED + "An error occurred finding your player."); //lazy? :) } else { qPlayer.getQuestProgressFile().startQuest(quest); } diff --git a/src/main/java/com/leonardobishop/quests/events/EventPlayerJoin.java b/src/main/java/com/leonardobishop/quests/events/EventPlayerJoin.java index 904bf619..322316b1 100644 --- a/src/main/java/com/leonardobishop/quests/events/EventPlayerJoin.java +++ b/src/main/java/com/leonardobishop/quests/events/EventPlayerJoin.java @@ -20,7 +20,7 @@ public class EventPlayerJoin implements Listener { @EventHandler public void onEvent(PlayerJoinEvent event) { UUID playerUuid = event.getPlayer().getUniqueId(); - plugin.getPlayerManager().loadPlayer(playerUuid); + plugin.getPlayerManager().loadPlayer(playerUuid, false); if (plugin.getDescription().getVersion().contains("beta") && event.getPlayer().hasPermission("quests.admin")) { event.getPlayer().sendMessage(Messages.BETA_REMINDER.getMessage()); } diff --git a/src/main/java/com/leonardobishop/quests/player/QPlayer.java b/src/main/java/com/leonardobishop/quests/player/QPlayer.java index e9bf2c83..0f4e0da5 100644 --- a/src/main/java/com/leonardobishop/quests/player/QPlayer.java +++ b/src/main/java/com/leonardobishop/quests/player/QPlayer.java @@ -52,7 +52,8 @@ public class QPlayer { return 1; } - QMenuQuest qMenuQuest = new QMenuQuest(plugin.getPlayerManager().getPlayer(player.getUniqueId()), category.getId(), superMenu); + // Using `this` instead of searching again for this QPlayer + QMenuQuest qMenuQuest = new QMenuQuest(this, category.getId(), superMenu); List<Quest> quests = new ArrayList<>(); for (String questid : category.getRegisteredQuestIds()) { Quest quest = plugin.getQuestManager().getQuestById(questid); @@ -83,7 +84,7 @@ public class QPlayer { } player.openInventory(qMenuQuest.toInventory(1)); - EventInventory.track(player.getUniqueId(), qMenuQuest); + EventInventory.track(this.uuid, qMenuQuest); return 0; } diff --git a/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java b/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java index 1c03e5e5..119186e5 100644 --- a/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java +++ b/src/main/java/com/leonardobishop/quests/player/QPlayerManager.java @@ -32,9 +32,10 @@ public class QPlayerManager { return qPlayers.values(); } - public void loadPlayer(UUID uuid) { - loadPlayer(uuid, false); - } + //Better to use the second method, so we know if we only load the data + //public void loadPlayer(UUID uuid) { + // loadPlayer(uuid, false); + //} public void loadPlayer(UUID uuid, boolean onlyData) { if (getPlayer(uuid) == null || getPlayer(uuid).isOnlyDataLoaded()) { diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java index d181a548..bb42d8dd 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java @@ -24,10 +24,10 @@ public final class PlaytimeTaskType extends TaskType { for (Player player : Bukkit.getOnlinePlayers()) { QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId()); QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); - for (Quest quest : PlaytimeTaskType.super.getRegisteredQuests()) { + for (Quest quest : super.getRegisteredQuests()) { if (questProgressFile.hasStartedQuest(quest)) { QuestProgress questProgress = questProgressFile.getQuestProgress(quest); - for (Task task : quest.getTasksOfType(PlaytimeTaskType.super.getType())) { + for (Task task : quest.getTasksOfType(super.getType())) { TaskProgress taskProgress = questProgress.getTaskProgress(task.getId()); if (taskProgress.isCompleted()) { continue; |
