aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperManager.java17
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperChatLoader.java28
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperRepoLoader.java5
3 files changed, 43 insertions, 7 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperManager.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperManager.java
index aa579774..af9a0c44 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperManager.java
@@ -40,6 +40,7 @@ import net.minecraft.inventory.ContainerChest;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -251,8 +252,6 @@ public class MinionHelperManager {
int has = highestCollectionTier.get(internalName);
return has >= need;
-// } else {
-// Utils.addChatMessage("§cInvalid hypixel collection name: '" + internalName + "'");
}
} else if (requirement instanceof SlayerRequirement) {
@@ -273,7 +272,7 @@ public class MinionHelperManager {
} else if (reputationType.equals("MAGE")) {
return apiData.getMagesReputation() >= need;
} else {
- Utils.addChatMessage("§cUnknown reputation type: '" + reputationType + "'");
+ Utils.addChatMessage("§c[NEU] Minion Helper: Unknown reputation type: '" + reputationType + "'");
return false;
}
} else if (requirement instanceof CustomRequirement) {
@@ -345,4 +344,16 @@ public class MinionHelperManager {
Utils.addChatMessage("§6/neudevtest minion resetapi §7Manually loading the data from api");
Utils.addChatMessage("");
}
+
+ public List<Minion> getChilds(Minion minion) {
+ List<Minion> list = new ArrayList<>();
+ for (Minion other : minions.values()) {
+ if (minion == other.getParent()) {
+ list.add(other);
+ list.addAll(getChilds(other));
+ break;
+ }
+ }
+ return list;
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperChatLoader.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperChatLoader.java
index 24688308..d4e0f3f4 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperChatLoader.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperChatLoader.java
@@ -22,6 +22,7 @@ package io.github.moulberry.notenoughupdates.miscgui.minionhelper.loaders;
import io.github.moulberry.notenoughupdates.core.util.StringUtils;
import io.github.moulberry.notenoughupdates.miscgui.minionhelper.Minion;
import io.github.moulberry.notenoughupdates.miscgui.minionhelper.MinionHelperManager;
+import io.github.moulberry.notenoughupdates.miscgui.minionhelper.MinionHelperOverlay;
import io.github.moulberry.notenoughupdates.util.Utils;
import net.minecraftforge.client.event.ClientChatReceivedEvent;
import net.minecraftforge.fml.common.eventhandler.EventPriority;
@@ -49,13 +50,36 @@ public class MinionHelperChatLoader {
String rawTier = text.split(" ")[0];
int tier = Utils.parseRomanNumeral(rawTier);
String name = text.substring(rawTier.length() + 1);
- Minion minionByName = manager.getMinionByName(name, tier);
- minionByName.setCrafted(true);
+
+ setCrafted(manager.getMinionByName(name, tier));
+ }
+
+ if (message.contains("§f §acrafted a §eTier ") && message.contains(" Minion§a!")) {
+ String text = StringUtils.substringBetween(message, "§eTier ", "§a!");
+ String rawTier = text.split(" ")[0];
+ int tier = Utils.parseRomanNumeral(rawTier);
+ String name = text.substring(rawTier.length() + 1);
+
+ setCrafted(manager.getMinionByName(name, tier));
+ MinionHelperOverlay.getInstance().resetCache();
}
+
} catch (Exception e) {
Utils.addChatMessage(
"[NEU] §cMinion Helper failed reading the minion upgrade message. See the logs for more info!");
e.printStackTrace();
}
}
+
+ private void setCrafted(Minion minion) {
+ minion.setCrafted(true);
+
+ if (!minion.doesMeetRequirements()) {
+ minion.setMeetRequirements(true);
+
+ for (Minion child : manager.getChilds(minion)) {
+ child.setMeetRequirements(true);
+ }
+ }
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperRepoLoader.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperRepoLoader.java
index 868fdaad..d275909d 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperRepoLoader.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperRepoLoader.java
@@ -326,8 +326,9 @@ public class MinionHelperRepoLoader {
if (same) {
parent = manager.getMinionById(itemName);
if (parent == null) {
- String message = "Parent is null for minion " + minionInternalName;
- Utils.addChatMessage(message);
+ if (NotEnoughUpdates.INSTANCE.config.hidden.dev) {
+ Utils.addChatMessage("Parent is null for minion " + minionInternalName);
+ }
}
isParent = true;
}