Check if player online for fail quest, see #2199

This commit is contained in:
PikaMug 2024-04-18 19:17:16 -04:00
parent d8a7addc9b
commit 63f6ea0402
1 changed files with 4 additions and 3 deletions

View File

@ -1117,7 +1117,7 @@ public class BukkitQuest implements Quest {
quester.getTimers().remove(entry.getKey()); quester.getTimers().remove(entry.getKey());
} }
} }
final Player player = quester.getPlayer(); final OfflinePlayer player = quester.getOfflinePlayer();
if (!ignoreFailAction) { if (!ignoreFailAction) {
final Stage stage = quester.getCurrentStage(this); final Stage stage = quester.getCurrentStage(this);
if (stage != null && stage.getFailAction() != null) { if (stage != null && stage.getFailAction() != null) {
@ -1125,11 +1125,12 @@ public class BukkitQuest implements Quest {
} }
} }
final String[] messages = { final String[] messages = {
ChatColor.RED + BukkitLang.get(player, "questFailed").replace("<quest>", name) ChatColor.RED + BukkitLang.get(player.isOnline() ? (Player)player : null, "questFailed")
.replace("<quest>", name)
}; };
quester.quitQuest(this, messages); quester.quitQuest(this, messages);
if (player.isOnline()) { if (player.isOnline()) {
player.updateInventory(); ((Player)player).updateInventory();
} }
final BukkitQuesterPostFailQuestEvent postEvent = new BukkitQuesterPostFailQuestEvent((BukkitQuester) quester, this); final BukkitQuesterPostFailQuestEvent postEvent = new BukkitQuesterPostFailQuestEvent((BukkitQuester) quester, this);
plugin.getServer().getPluginManager().callEvent(postEvent); plugin.getServer().getPluginManager().callEvent(postEvent);