diff options
Diffstat (limited to 'src/main/java/de')
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); } |