Ensure economy plugin is present when checking money reqs, fixes #185

This commit is contained in:
HappyPikachu 2018-01-02 22:06:54 -05:00
parent f98f48ace5
commit bcd1d7ecb0
6 changed files with 26 additions and 11 deletions

View File

@ -700,4 +700,4 @@ public class PlayerListener implements Listener {
} }
} }
} }
} }

View File

@ -194,8 +194,10 @@ public class Quest {
public boolean testRequirements(Player player) { public boolean testRequirements(Player player) {
Quester quester = plugin.getQuester(player.getUniqueId()); Quester quester = plugin.getQuester(player.getUniqueId());
if (moneyReq != 0 && Quests.economy.getBalance(Bukkit.getOfflinePlayer(player.getUniqueId())) < moneyReq) { if (moneyReq != 0 && Quests.economy != null) {
return false; if (Quests.economy.getBalance(Bukkit.getOfflinePlayer(player.getUniqueId())) < moneyReq) {
return false;
}
} }
PlayerInventory inventory = player.getInventory(); PlayerInventory inventory = player.getInventory();
int num = 0; int num = 0;
@ -334,7 +336,9 @@ public class Quest {
player.giveExp(lb.getExp()); player.giveExp(lb.getExp());
} }
if (lb.getMoney() > 0) { if (lb.getMoney() > 0) {
Quests.economy.depositPlayer(Bukkit.getOfflinePlayer(player.getUniqueId()), lb.getMoney()); if (Quests.economy != null) {
Quests.economy.depositPlayer(Bukkit.getOfflinePlayer(player.getUniqueId()), lb.getMoney());
}
} }
if (lb.getItemList().isEmpty() == false) { if (lb.getItemList().isEmpty() == false) {
phatLootItems.addAll(lb.getItemList()); phatLootItems.addAll(lb.getItemList());

View File

@ -313,7 +313,9 @@ public class Quester {
Stage stage = q.getStage(0); Stage stage = q.getStage(0);
if (!override) { if (!override) {
if (q.moneyReq > 0) { if (q.moneyReq > 0) {
Quests.economy.withdrawPlayer(getOfflinePlayer(), q.moneyReq); if (Quests.economy != null) {
Quests.economy.withdrawPlayer(getOfflinePlayer(), q.moneyReq);
}
} }
for (ItemStack is : q.items) { for (ItemStack is : q.items) {
if (q.removeItems.get(q.items.indexOf(is)) == true) { if (q.removeItems.get(q.items.indexOf(is)) == true) {
@ -2608,4 +2610,4 @@ public class Quester {
break; break;
} }
} }
} }

View File

@ -4036,4 +4036,4 @@ public class Quests extends JavaPlugin implements ConversationAbandonedListener
questerBlacklist.add(id.toString()); questerBlacklist.add(id.toString());
} }
} }
} }

View File

@ -192,7 +192,11 @@ public class RequirementsPrompt extends FixedSetPrompt {
@Override @Override
public String getPromptText(ConversationContext context) { public String getPromptText(ConversationContext context) {
String text = Lang.get("reqMoneyPrompt"); String text = Lang.get("reqMoneyPrompt");
text = text.replaceAll("<money>", ChatColor.DARK_PURPLE + ((Quests.economy.currencyNamePlural().isEmpty() ? Lang.get("money") : Quests.economy.currencyNamePlural())) + ChatColor.YELLOW); if (Quests.economy != null) {
text = text.replaceAll("<money>", ChatColor.DARK_PURPLE + ((Quests.economy.currencyNamePlural().isEmpty() ? Lang.get("money") : Quests.economy.currencyNamePlural())) + ChatColor.YELLOW);
} else {
text = text.replaceAll("<money>", ChatColor.DARK_PURPLE + Lang.get("money") + ChatColor.YELLOW);
}
return ChatColor.YELLOW + text; return ChatColor.YELLOW + text;
} }
@ -901,4 +905,4 @@ public class RequirementsPrompt extends FixedSetPrompt {
return new RequirementsPrompt(quests, factory); return new RequirementsPrompt(quests, factory);
} }
} }
} }

View File

@ -191,7 +191,12 @@ public class RewardsPrompt extends FixedSetPrompt {
@Override @Override
public String getPromptText(ConversationContext context) { public String getPromptText(ConversationContext context) {
String text = Lang.get("rewMoneyPrompt"); String text = Lang.get("rewMoneyPrompt");
text = text.replaceAll("<money>", ChatColor.AQUA + (Quests.economy.currencyNamePlural().isEmpty() ? Lang.get("money") : Quests.economy.currencyNamePlural()) + ChatColor.YELLOW); if (Quests.economy != null) {
text = text.replaceAll("<money>", ChatColor.AQUA + (Quests.economy.currencyNamePlural().isEmpty() ? Lang.get("money") : Quests.economy.currencyNamePlural()) + ChatColor.YELLOW);
} else {
text = text.replaceAll("<money>", ChatColor.AQUA + Lang.get("money") + ChatColor.YELLOW);
}
return ChatColor.YELLOW + text; return ChatColor.YELLOW + text;
} }
@ -882,4 +887,4 @@ public class RewardsPrompt extends FixedSetPrompt {
return new RewardCustomDataListPrompt(); return new RewardCustomDataListPrompt();
} }
} }
} }