mirror of https://github.com/PikaMug/Quests.git
Account for outdated Vault items, fixes #123. Bump version number
This commit is contained in:
parent
56d9b406a4
commit
14882fb3ed
2
pom.xml
2
pom.xml
|
@ -3,7 +3,7 @@
|
|||
|
||||
<groupId>me.blackvein.quests</groupId>
|
||||
<artifactId>quests</artifactId>
|
||||
<version>3.0.5</version>
|
||||
<version>3.0.6</version>
|
||||
<name>quests</name>
|
||||
<url>https://github.com/FlyingPikachu/Quests/</url>
|
||||
<packaging>jar</packaging>
|
||||
|
|
|
@ -407,6 +407,7 @@ public class PlayerListener implements Listener {
|
|||
|
||||
@EventHandler
|
||||
public void onEntityDeath(EntityDeathEvent evt) {
|
||||
System.out.println("1");
|
||||
// NPCs count as a Player so we check for them through Citizens
|
||||
boolean isTargetNPC = false;
|
||||
if (plugin.citizens != null) {
|
||||
|
@ -414,11 +415,14 @@ public class PlayerListener implements Listener {
|
|||
isTargetNPC = true;
|
||||
}
|
||||
}
|
||||
if (evt.getEntity() instanceof Player == false || isTargetNPC) {
|
||||
if (/*evt.getEntity() instanceof Player == false ||*/ isTargetNPC) {
|
||||
System.out.println("2");
|
||||
if (evt.getEntity().getLastDamageCause() instanceof EntityDamageByEntityEvent) {
|
||||
System.out.println("3");
|
||||
EntityDamageByEntityEvent damageEvent = (EntityDamageByEntityEvent) evt.getEntity().getLastDamageCause();
|
||||
Entity damager = damageEvent.getDamager();
|
||||
if (damager != null) {
|
||||
System.out.println("4");
|
||||
if (damager instanceof Projectile) {
|
||||
Projectile projectile = (Projectile) damager;
|
||||
ProjectileSource source = projectile.getShooter();
|
||||
|
@ -430,11 +434,14 @@ public class PlayerListener implements Listener {
|
|||
okay = false;
|
||||
}
|
||||
}
|
||||
System.out.println("5");
|
||||
if (okay) {
|
||||
if (isTargetNPC) {
|
||||
System.out.println("6");
|
||||
Quester quester = plugin.getQuester(player.getUniqueId());
|
||||
for (Quest quest : quester.currentQuests.keySet()) {
|
||||
if (quester.hasObjective(quest, "killNPC")) {
|
||||
System.out.println("7");
|
||||
quester.killNPC(quest, CitizensAPI.getNPCRegistry().getNPC(evt.getEntity()));
|
||||
}
|
||||
}
|
||||
|
@ -442,6 +449,7 @@ public class PlayerListener implements Listener {
|
|||
Quester quester = plugin.getQuester(player.getUniqueId());
|
||||
for (Quest quest : quester.currentQuests.keySet()) {
|
||||
if (quester.hasObjective(quest, "killMob")) {
|
||||
System.out.println("7-2");
|
||||
quester.killMob(quest, evt.getEntity().getLocation(), evt.getEntity().getType());
|
||||
}
|
||||
}
|
||||
|
@ -469,6 +477,7 @@ public class PlayerListener implements Listener {
|
|||
}
|
||||
}
|
||||
} else if (damager instanceof Player) {
|
||||
System.out.println("7-3");
|
||||
boolean okay = true;
|
||||
if (plugin.citizens != null) {
|
||||
if (CitizensAPI.getNPCRegistry().isNPC(damager)) {
|
||||
|
@ -476,10 +485,12 @@ public class PlayerListener implements Listener {
|
|||
}
|
||||
}
|
||||
if (okay) {
|
||||
System.out.println("7-4");
|
||||
Player player = (Player) damager;
|
||||
Quester quester = plugin.getQuester(player.getUniqueId());
|
||||
for (Quest quest : quester.currentQuests.keySet()) {
|
||||
if (quester.hasObjective(quest, "killMob")) {
|
||||
System.out.println("7-5");
|
||||
quester.killMob(quest, evt.getEntity().getLocation(), evt.getEntity().getType());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -839,8 +839,10 @@ public class Quester {
|
|||
}
|
||||
|
||||
public void killMob(Quest quest, Location killedLocation, EntityType e) {
|
||||
System.out.println("8");
|
||||
QuestData questData = getQuestData(quest);
|
||||
if (questData.mobsKilled.contains(e) == false) {
|
||||
System.out.println("9");
|
||||
return;
|
||||
}
|
||||
Stage currentStage = getCurrentStage(quest);
|
||||
|
@ -848,6 +850,7 @@ public class Quester {
|
|||
Integer numberOfSpecificMobKilled = questData.mobNumKilled.get(indexOfMobKilled);
|
||||
Integer numberOfSpecificMobNeedsToBeKilledInCurrentStage = currentStage.mobNumToKill.get(indexOfMobKilled);
|
||||
if (questData.locationsToKillWithin.isEmpty() == false) {
|
||||
System.out.println("10-1");
|
||||
Location locationToKillWithin = questData.locationsToKillWithin.get(indexOfMobKilled);
|
||||
double radius = questData.radiiToKillWithin.get(indexOfMobKilled);
|
||||
// Check world #name, not the object
|
||||
|
@ -866,9 +869,11 @@ public class Quester {
|
|||
}
|
||||
}
|
||||
if (numberOfSpecificMobKilled < numberOfSpecificMobNeedsToBeKilledInCurrentStage) {
|
||||
System.out.println("10-2");
|
||||
Integer newNumberOfSpecificMobKilled = numberOfSpecificMobKilled + 1;
|
||||
questData.mobNumKilled.set(indexOfMobKilled, newNumberOfSpecificMobKilled);
|
||||
if ((newNumberOfSpecificMobKilled).equals(numberOfSpecificMobNeedsToBeKilledInCurrentStage)) {
|
||||
System.out.println("11");
|
||||
finishObjective(quest, "killMob", null, null, null, e, null, null, null, null, null, null);
|
||||
}
|
||||
}
|
||||
|
@ -1048,6 +1053,7 @@ public class Quester {
|
|||
*/
|
||||
public void finishObjective(Quest quest, String objective, ItemStack material, ItemStack delivery, Enchantment enchantment, EntityType mob, String player, NPC npc, Location location, DyeColor color, String pass, CustomObjective co) {
|
||||
//TODO ItemStack material, is largely unnecessary as .name() can be obtained thru getQuestData(quest).blocksXXXX
|
||||
System.out.println("13");
|
||||
Player p = getPlayer();
|
||||
if (getCurrentStage(quest).objectiveOverride != null) {
|
||||
if (testComplete(quest)) {
|
||||
|
@ -1139,10 +1145,12 @@ public class Quester {
|
|||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("killMob")) {
|
||||
System.out.println("14");
|
||||
String message = ChatColor.GREEN + "(" + Lang.get("completed") + ") " + Lang.get("kill") + " " + mob.name();
|
||||
message = message + " " + getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(mob)) + "/" + getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(mob));
|
||||
p.sendMessage(message);
|
||||
if (testComplete(quest)) {
|
||||
System.out.println("15");
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("killPlayer")) {
|
||||
|
|
|
@ -182,8 +182,9 @@ public class ItemUtil {
|
|||
} else {
|
||||
try {
|
||||
text = ChatColor.AQUA + Items.itemByStack(is).getName();
|
||||
} catch (NullPointerException ne) {
|
||||
Bukkit.getLogger().severe("This error is caused by an incompatible version of Vault. Please update!");
|
||||
} catch (Exception ne) {
|
||||
text = ChatColor.AQUA + is.getType().name().toLowerCase().replace("_", " ");
|
||||
Bukkit.getLogger().severe("This error is caused by an incompatible version of Vault. Please consider updating.");
|
||||
ne.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue