aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/SkyblockerMod.java5
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/Tips.java1
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonTextures.java16
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java31
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java13
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java3
7 files changed, 59 insertions, 20 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
index fb6469cb..83f41c0b 100644
--- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
+++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
@@ -42,6 +42,7 @@ import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.loader.api.FabricLoader;
+import net.fabricmc.loader.api.ModContainer;
import net.minecraft.client.MinecraftClient;
import java.nio.file.Path;
@@ -52,8 +53,9 @@ import java.nio.file.Path;
* this class.
*/
public class SkyblockerMod implements ClientModInitializer {
- public static final String VERSION = FabricLoader.getInstance().getModContainer("skyblocker").orElseThrow().getMetadata().getVersion().getFriendlyString();
public static final String NAMESPACE = "skyblocker";
+ public static final ModContainer SKYBLOCKER_MOD = FabricLoader.getInstance().getModContainer(NAMESPACE).orElseThrow();
+ public static final String VERSION = SKYBLOCKER_MOD.getMetadata().getVersion().getFriendlyString();
public static final Path CONFIG_DIR = FabricLoader.getInstance().getConfigDir().resolve(NAMESPACE);
public static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
private static SkyblockerMod INSTANCE;
@@ -114,6 +116,7 @@ public class SkyblockerMod implements ClientModInitializer {
TheRift.init();
TitleContainer.init();
ScreenMaster.init();
+ DungeonTextures.init();
OcclusionCulling.init();
TeleportOverlay.init();
CustomItemNames.init();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/Tips.java b/src/main/java/de/hysky/skyblocker/skyblock/Tips.java
index 94a5fe14..98e023c7 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/Tips.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/Tips.java
@@ -39,6 +39,7 @@ public class Tips {
getTipFactory("skyblocker.tips.discord", ClickEvent.Action.OPEN_URL, "https://discord.gg/aNNJHQykck"),
getTipFactory("skyblocker.tips.flameOverlay", ClickEvent.Action.SUGGEST_COMMAND, "/skyblocker config"),
getTipFactory("skyblocker.tips.wikiLookup", ClickEvent.Action.SUGGEST_COMMAND, "/skyblocker config"),
+ getTipFactory("skyblocker.tips.protectItem", ClickEvent.Action.SUGGEST_COMMAND, "/skyblocker protectItem"),
getTipFactory("skyblocker.tips.fairySoulsEnigmaSoulsRelics", ClickEvent.Action.SUGGEST_COMMAND, "/skyblocker fairySouls"),
getTipFactory("skyblocker.tips.quickNav", ClickEvent.Action.SUGGEST_COMMAND, "/skyblocker config")
);
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonTextures.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonTextures.java
new file mode 100644
index 00000000..1d55491f
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonTextures.java
@@ -0,0 +1,16 @@
+package de.hysky.skyblocker.skyblock.dungeon;
+
+import de.hysky.skyblocker.SkyblockerMod;
+import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
+import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
+import net.minecraft.util.Identifier;
+
+public class DungeonTextures {
+ public static void init() {
+ ResourceManagerHelper.registerBuiltinResourcePack(
+ new Identifier(SkyblockerMod.NAMESPACE, "recolored_dungeon_items"),
+ SkyblockerMod.SKYBLOCKER_MOD,
+ ResourcePackActivationType.NORMAL
+ );
+ }
+}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
index 779a3a62..6fa03816 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHud.java
@@ -1,6 +1,7 @@
package de.hysky.skyblocker.skyblock.dwarven;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.tabhud.util.Colors;
import de.hysky.skyblocker.skyblock.tabhud.widget.hud.HudCommsWidget;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
import it.unimi.dsi.fastutil.ints.IntIntPair;
@@ -91,12 +92,19 @@ public class DwarvenHud {
int y = 0;
for (Commission commission : commissions) {
+ float percentage;
+ if (!commission.progression().contains("DONE")) {
+ percentage = Float.parseFloat(commission.progression().substring(0, commission.progression().length() - 1));
+ } else {
+ percentage = 100f;
+ }
+
context
.drawTextWithShadow(client.textRenderer,
Text.literal(commission.commission + ": ")
.styled(style -> style.withColor(Formatting.AQUA))
.append(Text.literal(commission.progression)
- .styled(style -> style.withColor(Formatting.GREEN))),
+ .styled(style -> style.withColor(Colors.hypixelProgressColor(percentage)))),
hudX + 5, hudY + y + 5, 0xFFFFFFFF);
y += 20;
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java
index 210d8001..982fa16e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/screenbuilder/ScreenMaster.java
@@ -1,27 +1,25 @@
package de.hysky.skyblocker.skyblock.tabhud.screenbuilder;
-import java.io.BufferedReader;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-
+import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.skyblock.tabhud.TabHud;
import de.hysky.skyblocker.skyblock.tabhud.util.PlayerLocator;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
-import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.resource.Resource;
import net.minecraft.resource.ResourceManager;
import net.minecraft.resource.ResourceType;
import net.minecraft.util.Identifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.BufferedReader;
+import java.util.HashMap;
+import java.util.Map;
public class ScreenMaster {
@@ -82,12 +80,11 @@ public class ScreenMaster {
// WHY MUST IT ALWAYS BE SUCH NESTED GARBAGE MINECRAFT KEEP THAT IN DFU FFS
- FabricLoader.getInstance()
- .getModContainer("skyblocker")
- .ifPresent(container -> ResourceManagerHelper.registerBuiltinResourcePack(
- new Identifier("skyblocker", "top_aligned"),
- container,
- ResourcePackActivationType.NORMAL));
+ ResourceManagerHelper.registerBuiltinResourcePack(
+ new Identifier(SkyblockerMod.NAMESPACE, "top_aligned"),
+ SkyblockerMod.SKYBLOCKER_MOD,
+ ResourcePackActivationType.NORMAL
+ );
ResourceManagerHelper.get(ResourceType.CLIENT_RESOURCES).registerReloadListener(
// ...why are we instantiating an interface again?
@@ -113,9 +110,9 @@ public class ScreenMaster {
try (BufferedReader reader = MinecraftClient.getInstance().getResourceManager()
.openAsReader(entry.getKey())) {
JsonObject json = JsonParser.parseReader(reader).getAsJsonObject();
- if (json.get("format_version").getAsInt() != VERSION) {
+ if (json.get("format_version").getAsInt() != VERSION) {
throw new IllegalStateException(String.format("Resource pack isn't compatible! Expected version %d, got %d", VERSION, json.get("format_version").getAsInt()));
- }
+ }
} catch (Exception ex) {
throw new IllegalStateException(
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java
index 0de3e45f..82b7ef11 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/util/Colors.java
@@ -1,5 +1,6 @@
package de.hysky.skyblocker.skyblock.tabhud.util;
+import net.minecraft.util.Formatting;
import net.minecraft.util.math.MathHelper;
public class Colors {
@@ -11,4 +12,16 @@ public class Colors {
public static int pcntToCol(float pcnt) {
return MathHelper.hsvToRgb(pcnt / 300f, 0.9f, 0.9f);
}
+
+ public static Formatting hypixelProgressColor(float pcnt) {
+ if (pcnt < 25) {
+ return Formatting.RED;
+ } else if (pcnt < 50) {
+ return Formatting.GOLD;
+ } else if (pcnt < 75) {
+ return Formatting.YELLOW;
+ } else {
+ return Formatting.GREEN;
+ }
+ }
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java
index 442f12ca..5832f31e 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/tabhud/widget/hud/HudCommsWidget.java
@@ -60,7 +60,8 @@ public class HudCommsWidget extends Widget {
} else {
comp = new PlainTextComponent(
Text.literal(comm.commission() + ": ")
- .append(Text.literal(comm.progression()).formatted(Formatting.GREEN)));
+ .append(Text.literal(comm.progression())
+ .formatted(Colors.hypixelProgressColor(p))));
}
this.addComponent(comp);
}