aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io
diff options
context:
space:
mode:
authorLorenz <lo.scherf@gmail.com>2022-07-30 04:41:20 +0200
committerLorenz <lo.scherf@gmail.com>2022-07-30 04:41:20 +0200
commitcc7596105e8268e5296274e300467694fd637536 (patch)
treeedd6471b1542fe09f0ce0c3cacb27630466a4cdb /src/main/java/io
parentdb2d2fce29df19870e97132dd2edd0cb8d7b597c (diff)
downloadNotEnoughUpdates-cc7596105e8268e5296274e300467694fd637536.tar.gz
NotEnoughUpdates-cc7596105e8268e5296274e300467694fd637536.tar.bz2
NotEnoughUpdates-cc7596105e8268e5296274e300467694fd637536.zip
add support for disabled collection api
Diffstat (limited to 'src/main/java/io')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/ApiData.java9
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperManager.java6
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperOverlay.java4
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperApiLoader.java20
4 files changed, 37 insertions, 2 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/ApiData.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/ApiData.java
index ee39e9b4..716ed454 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/ApiData.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/ApiData.java
@@ -27,17 +27,20 @@ public class ApiData {
private final Map<String, Integer> slayerTiers;
private final int magesReputation;
private final int barbariansReputation;
+ private final boolean collectionApiDisabled;
public ApiData(
Map<String, Integer> highestCollectionTier,
Map<String, Integer> slayerTiers,
int magesReputation,
- int barbariansReputation
+ int barbariansReputation,
+ boolean collectionApiDisabled
) {
this.highestCollectionTier = highestCollectionTier;
this.slayerTiers = slayerTiers;
this.magesReputation = magesReputation;
this.barbariansReputation = barbariansReputation;
+ this.collectionApiDisabled = collectionApiDisabled;
}
public Map<String, Integer> getHighestCollectionTier() {
@@ -55,4 +58,8 @@ public class ApiData {
public int getBarbariansReputation() {
return barbariansReputation;
}
+
+ public boolean isCollectionApiDisabled() {
+ return collectionApiDisabled;
+ }
}
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 9c729854..c0604dda 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
@@ -235,6 +235,8 @@ public class MinionHelperManager {
if (apiData == null) return false;
if (requirement instanceof CollectionRequirement) {
+ if (apiData.isCollectionApiDisabled()) return true;
+
CollectionRequirement collectionRequirement = (CollectionRequirement) requirement;
String collection = collectionRequirement.getCollection();
String internalName = formatInternalName(collection);
@@ -299,4 +301,8 @@ public class MinionHelperManager {
String format = Utils.shortNumberFormat(coins, 0);
return "§6" + extraFormat + format + " coins";
}
+
+ public boolean isCollectionApiDisabled() {
+ return apiData != null && apiData.isCollectionApiDisabled();
+ }
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperOverlay.java
index 754d4c42..90ad0c27 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperOverlay.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/MinionHelperOverlay.java
@@ -25,6 +25,7 @@ import io.github.moulberry.notenoughupdates.miscgui.TrophyRewardOverlay;
import io.github.moulberry.notenoughupdates.miscgui.minionhelper.loaders.MinionHelperRepoLoader;
import io.github.moulberry.notenoughupdates.miscgui.minionhelper.renderables.RenderableObject;
import io.github.moulberry.notenoughupdates.miscgui.minionhelper.renderables.RenderableText;
+import io.github.moulberry.notenoughupdates.miscgui.minionhelper.requirements.CollectionRequirement;
import io.github.moulberry.notenoughupdates.miscgui.minionhelper.requirements.MinionRequirement;
import io.github.moulberry.notenoughupdates.miscgui.minionhelper.sources.CraftingSource;
import io.github.moulberry.notenoughupdates.miscgui.minionhelper.sources.MinionSource;
@@ -176,6 +177,9 @@ public class MinionHelperOverlay {
if (!requirements.isEmpty()) {
for (MinionRequirement requirement : requirements) {
String color = manager.meetRequirement(minion, requirement) ? "§a" : "§7";
+ if (requirement instanceof CollectionRequirement && manager.isCollectionApiDisabled()) {
+ color = "§cAPI DISABLED! §7";
+ }
lines.add(" §8- " + color + requirement.printDescription());
}
} else {
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperApiLoader.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperApiLoader.java
index 40ec04b6..26eac09a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperApiLoader.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/minionhelper/loaders/MinionHelperApiLoader.java
@@ -46,6 +46,7 @@ public class MinionHelperApiLoader {
private final MinionHelperManager manager = MinionHelperManager.getInstance();
private boolean dirty = true;
private int ticks = 0;
+ boolean collectionApiEnabled = true;
public static MinionHelperApiLoader getInstance() {
if (instance == null) {
@@ -137,6 +138,17 @@ public class MinionHelperApiLoader {
level = Math.max(highestCollectionTier.getOrDefault(name, 0), level);
highestCollectionTier.put(name, level);
}
+ if (!collectionApiEnabled) {
+ Utils.addChatMessage("§e[NEU] Collection API detected!");
+ }
+ collectionApiEnabled = true;
+ } else {
+ if (collectionApiEnabled) {
+ //TODO formatting
+ Utils.addChatMessage("§c[NEU] Collection API is disabled!");
+ Utils.addChatMessage("§c[NEU] Minion Helper will not filter minions that do not meet the collection requirements!");
+ }
+ collectionApiEnabled = false;
}
if (player.has("nether_island_player_data")) {
@@ -173,7 +185,13 @@ public class MinionHelperApiLoader {
}
}
- manager.setApiData(new ApiData(highestCollectionTier, slayerTier, magesReputation, barbariansReputation));
+ manager.setApiData(new ApiData(
+ highestCollectionTier,
+ slayerTier,
+ magesReputation,
+ barbariansReputation,
+ !collectionApiEnabled
+ ));
manager.reloadRequirements();
}
}