diff --git a/src/main/java/com/alttd/altitudequests/objects/quests/BreedMobsQuest.java b/src/main/java/com/alttd/altitudequests/objects/quests/BreedMobsQuest.java index cff361c..c0aadf9 100644 --- a/src/main/java/com/alttd/altitudequests/objects/quests/BreedMobsQuest.java +++ b/src/main/java/com/alttd/altitudequests/objects/quests/BreedMobsQuest.java @@ -126,7 +126,7 @@ public class BreedMobsQuest extends Quest { } public void breed(LivingEntity entity) { - if (isDone() || !entity.getType().equals(breedMobsQuestObject.getEntityType())) + if (isDone() || !entity.getType().equals(breedMobsQuestObject.getEntityType()) || getAmount() == getStep1()) return; addStep1(1); checkDone(); diff --git a/src/main/java/com/alttd/altitudequests/objects/quests/CollectDropsQuest.java b/src/main/java/com/alttd/altitudequests/objects/quests/CollectDropsQuest.java index 5e8e172..8976423 100644 --- a/src/main/java/com/alttd/altitudequests/objects/quests/CollectDropsQuest.java +++ b/src/main/java/com/alttd/altitudequests/objects/quests/CollectDropsQuest.java @@ -150,7 +150,7 @@ public class CollectDropsQuest extends Quest { } public void collectDrops(List drops) { - if (isDone()) + if (isDone() || getAmount() == getStep1()) return; int total = drops.stream() .filter(itemStack -> itemStack.getType().equals(collectDropsQuestObject.getMaterial())) @@ -158,7 +158,7 @@ public class CollectDropsQuest extends Quest { .sum(); if (total == 0) return; - addStep1(total); + addStep1(Math.min(total, getAmount() - getStep1())); checkDone(); } } diff --git a/src/main/java/com/alttd/altitudequests/objects/quests/KillMobsQuest.java b/src/main/java/com/alttd/altitudequests/objects/quests/KillMobsQuest.java index c3445fd..b6838e4 100644 --- a/src/main/java/com/alttd/altitudequests/objects/quests/KillMobsQuest.java +++ b/src/main/java/com/alttd/altitudequests/objects/quests/KillMobsQuest.java @@ -126,7 +126,7 @@ public class KillMobsQuest extends Quest { } public void kill(LivingEntity entity) { - if (isDone() || !entity.getType().equals(killMobsQuestObject.getEntityType()) || !entity.hasAI()) + if (isDone() || !entity.getType().equals(killMobsQuestObject.getEntityType()) || !entity.hasAI() || getAmount() == getStep1()) return; addStep1(1); checkDone(); diff --git a/src/main/java/com/alttd/altitudequests/objects/quests/MineQuest.java b/src/main/java/com/alttd/altitudequests/objects/quests/MineQuest.java index ea9de6c..7825d60 100644 --- a/src/main/java/com/alttd/altitudequests/objects/quests/MineQuest.java +++ b/src/main/java/com/alttd/altitudequests/objects/quests/MineQuest.java @@ -147,7 +147,7 @@ public class MineQuest extends Quest { } public void mine(Block block) { - if (isDone() || !block.getType().equals(mineQuestObject.getMaterial())) + if (isDone() || !block.getType().equals(mineQuestObject.getMaterial()) || getAmount() == getStep1()) return; addStep1(1); checkDone();