aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/com/leonardobishop
diff options
context:
space:
mode:
authornicuch <nicuch100@gmail.com>2020-01-13 15:57:17 +0200
committernicuch <nicuch100@gmail.com>2020-01-13 15:57:17 +0200
commit4d46754edec262a0ad105caacf98e07c1047e1b6 (patch)
tree11c97dc6c2aee1f333bf62cc4c6974f20731e43b /src/main/java/com/leonardobishop
parent1446cfc02e0b51dc9b4a707282508e7254370b11 (diff)
More to it
Diffstat (limited to 'src/main/java/com/leonardobishop')
-rw-r--r--src/main/java/com/leonardobishop/quests/Quests.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/commands/CommandQuests.java28
-rw-r--r--src/main/java/com/leonardobishop/quests/events/EventPlayerJoin.java2
-rw-r--r--src/main/java/com/leonardobishop/quests/player/QPlayer.java5
-rw-r--r--src/main/java/com/leonardobishop/quests/player/QPlayerManager.java7
-rw-r--r--src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java4
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;