aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
authorvicisacat <victor.branchu@gmail.com>2024-04-17 23:28:22 +0200
committervicisacat <victor.branchu@gmail.com>2024-04-20 16:10:11 +0200
commit28521b8c1457146da6852316c5115afb2e64481c (patch)
treece7c0c618d551b5bc8ea57519a318bb5678247b4 /src/main/java/de
parentf0ff0b555621f2d7f240bc72ccc1c7667badab6f (diff)
downloadSkyblocker-28521b8c1457146da6852316c5115afb2e64481c.tar.gz
Skyblocker-28521b8c1457146da6852316c5115afb2e64481c.tar.bz2
Skyblocker-28521b8c1457146da6852316c5115afb2e64481c.zip
remove any mention of old status bars
also moved FancyStatusBars.java
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/SkyblockerMod.java1
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java39
-rw-r--r--src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java43
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/InGameHudMixin.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/WindowMixin.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java (renamed from src/main/java/de/hysky/skyblocker/skyblock/FancyStatusBars.java)208
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java1
7 files changed, 23 insertions, 273 deletions
diff --git a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
index 6d86c88d..e0815eee 100644
--- a/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
+++ b/src/main/java/de/hysky/skyblocker/SkyblockerMod.java
@@ -25,6 +25,7 @@ import de.hysky.skyblocker.skyblock.end.BeaconHighlighter;
import de.hysky.skyblocker.skyblock.end.EnderNodes;
import de.hysky.skyblocker.skyblock.end.TheEnd;
import de.hysky.skyblocker.skyblock.entity.MobBoundingBoxes;
+import de.hysky.skyblocker.skyblock.fancybars.FancyStatusBars;
import de.hysky.skyblocker.skyblock.garden.FarmingHud;
import de.hysky.skyblocker.skyblock.garden.LowerSensitivity;
import de.hysky.skyblocker.skyblock.garden.VisitorHelper;
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
index 20124e4b..28e96a50 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
@@ -164,9 +164,6 @@ public class SkyblockerConfig {
public boolean fancyCraftingTable = true;
@SerialEntry
- public boolean oldBars = false;
-
- @SerialEntry
public boolean backpackPreviewWithoutShift = false;
@SerialEntry
@@ -307,42 +304,6 @@ public class SkyblockerConfig {
public static class Bars {
@SerialEntry
public boolean enableBars = true;
-
- @SerialEntry
- public BarPositions barPositions = new BarPositions();
- }
-
- public static class BarPositions {
- @SerialEntry
- public BarPosition healthBarPosition = BarPosition.LAYER1;
-
- @SerialEntry
- public BarPosition manaBarPosition = BarPosition.LAYER1;
-
- @SerialEntry
- public BarPosition defenceBarPosition = BarPosition.LAYER1;
-
- @SerialEntry
- public BarPosition experienceBarPosition = BarPosition.LAYER1;
-
- }
-
- public enum BarPosition {
- LAYER1, LAYER2, RIGHT, NONE;
-
- @Override
- public String toString() {
- return I18n.translate("text.autoconfig.skyblocker.option.general.bars.barpositions." + name());
- }
-
- public int toInt() {
- return switch (this) {
- case LAYER1 -> 0;
- case LAYER2 -> 1;
- case RIGHT -> 2;
- case NONE -> -1;
- };
- }
}
public static class Experiments {
diff --git a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
index 37faaf25..77627242 100644
--- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
+++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java
@@ -29,13 +29,6 @@ public class GeneralCategory {
.controller(ConfigUtils::createBooleanController)
.build())
.option(Option.<Boolean>createBuilder()
- .name(Text.literal("old bars"))
- .binding(defaults.general.oldBars,
- () -> config.general.oldBars,
- newValue -> config.general.oldBars = newValue)
- .controller(ConfigUtils::createBooleanController)
- .build())
- .option(Option.<Boolean>createBuilder()
.name(Text.translatable("text.autoconfig.skyblocker.option.general.acceptReparty"))
.binding(defaults.general.acceptReparty,
() -> config.general.acceptReparty,
@@ -157,11 +150,6 @@ public class GeneralCategory {
//Fancy Bars
.group(OptionGroup.createBuilder()
- .option(ButtonOption.createBuilder()
- .name(Text.translatable("skyblocker.bars.config.openScreen"))
- .text(Text.translatable("text.skyblocker.open"))
- .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new StatusBarsConfigScreen()))
- .build())
.name(Text.translatable("text.autoconfig.skyblocker.option.general.bars"))
.collapsed(true)
.option(Option.<Boolean>createBuilder()
@@ -171,33 +159,10 @@ public class GeneralCategory {
newValue -> config.general.bars.enableBars = newValue)
.controller(ConfigUtils::createBooleanController)
.build())
- .option(Option.<SkyblockerConfig.BarPosition>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.healthBarPosition"))
- .binding(defaults.general.bars.barPositions.healthBarPosition,
- () -> config.general.bars.barPositions.healthBarPosition,
- newValue -> config.general.bars.barPositions.healthBarPosition = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<SkyblockerConfig.BarPosition>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.manaBarPosition"))
- .binding(defaults.general.bars.barPositions.manaBarPosition,
- () -> config.general.bars.barPositions.manaBarPosition,
- newValue -> config.general.bars.barPositions.manaBarPosition = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<SkyblockerConfig.BarPosition>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.defenceBarPosition"))
- .binding(defaults.general.bars.barPositions.defenceBarPosition,
- () -> config.general.bars.barPositions.defenceBarPosition,
- newValue -> config.general.bars.barPositions.defenceBarPosition = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
- .build())
- .option(Option.<SkyblockerConfig.BarPosition>createBuilder()
- .name(Text.translatable("text.autoconfig.skyblocker.option.general.bars.barpositions.experienceBarPosition"))
- .binding(defaults.general.bars.barPositions.experienceBarPosition,
- () -> config.general.bars.barPositions.experienceBarPosition,
- newValue -> config.general.bars.barPositions.experienceBarPosition = newValue)
- .controller(ConfigUtils::createEnumCyclingListController)
+ .option(ButtonOption.createBuilder()
+ .name(Text.translatable("skyblocker.bars.config.openScreen"))
+ .text(Text.translatable("text.skyblocker.open"))
+ .action((screen, opt) -> MinecraftClient.getInstance().setScreen(new StatusBarsConfigScreen()))
.build())
.build())
diff --git a/src/main/java/de/hysky/skyblocker/mixin/InGameHudMixin.java b/src/main/java/de/hysky/skyblocker/mixin/InGameHudMixin.java
index 75c516df..b0970b4b 100644
--- a/src/main/java/de/hysky/skyblocker/mixin/InGameHudMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/InGameHudMixin.java
@@ -5,7 +5,7 @@ import com.llamalad7.mixinextras.sugar.Local;
import com.mojang.blaze3d.systems.RenderSystem;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.skyblock.FancyStatusBars;
+import de.hysky.skyblocker.skyblock.fancybars.FancyStatusBars;
import de.hysky.skyblocker.skyblock.dungeon.DungeonMap;
import de.hysky.skyblocker.skyblock.dungeon.DungeonScore;
import de.hysky.skyblocker.skyblock.dungeon.DungeonScoreHUD;
diff --git a/src/main/java/de/hysky/skyblocker/mixin/WindowMixin.java b/src/main/java/de/hysky/skyblocker/mixin/WindowMixin.java
index 92ca967d..474b2577 100644
--- a/src/main/java/de/hysky/skyblocker/mixin/WindowMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/WindowMixin.java
@@ -1,6 +1,6 @@
package de.hysky.skyblocker.mixin;
-import de.hysky.skyblocker.skyblock.FancyStatusBars;
+import de.hysky.skyblocker.skyblock.fancybars.FancyStatusBars;
import net.minecraft.client.util.Window;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/FancyStatusBars.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
index 306c2456..9a9dc391 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/FancyStatusBars.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/FancyStatusBars.java
@@ -1,24 +1,18 @@
-package de.hysky.skyblocker.skyblock;
+package de.hysky.skyblocker.skyblock.fancybars;
import com.google.gson.JsonObject;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.config.SkyblockerConfigManager;
-import de.hysky.skyblocker.skyblock.fancybars.BarGrid;
-import de.hysky.skyblocker.skyblock.fancybars.BarPositioner;
-import de.hysky.skyblocker.skyblock.fancybars.StatusBar;
-import de.hysky.skyblocker.skyblock.fancybars.StatusBarsConfigScreen;
+import de.hysky.skyblocker.skyblock.StatusBarTracker;
import de.hysky.skyblocker.utils.Utils;
-import de.hysky.skyblocker.utils.render.RenderHelper;
import de.hysky.skyblocker.utils.scheduler.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.ScreenPos;
import net.minecraft.client.texture.Sprite;
-import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.MathHelper;
@@ -39,29 +33,13 @@ import java.util.concurrent.CompletableFuture;
import java.util.function.Supplier;
public class FancyStatusBars {
- private static final Identifier BARS = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/bars.png");
private static final Path FILE = SkyblockerMod.CONFIG_DIR.resolve("status_bars.json");
private static final Logger LOGGER = LoggerFactory.getLogger(FancyStatusBars.class);
private final MinecraftClient client = MinecraftClient.getInstance();
private final StatusBarTracker statusBarTracker = SkyblockerMod.getInstance().statusBarTracker;
- private final OldStatusBar[] bars = new OldStatusBar[]{
- new OldStatusBar(0, 16733525, 2, new Color[]{new Color(255, 0, 0), new Color(255, 220, 0)}), // Health Bar
- new OldStatusBar(1, 5636095, 2, new Color[]{new Color(0, 255, 255), new Color(180, 0, 255)}), // Intelligence Bar
- new OldStatusBar(2, 12106180, 1, new Color[]{new Color(255, 255, 255)}), // Defence Bar
- new OldStatusBar(3, 8453920, 1, new Color[]{new Color(100, 220, 70)}), // Experience Bar
- };
-
- // Positions to show the bars
- // 0: Hotbar Layer 1, 1: Hotbar Layer 2, 2: Right of hotbar
- // Anything outside the set values hides the bar
- private final int[] anchorsX = new int[3];
- private final int[] anchorsY = new int[3];
-
public static BarPositioner barPositioner = new BarPositioner();
- @Deprecated(forRemoval = true)
- public static BarGrid barGrid = new BarGrid();
public static Map<String, StatusBar> statusBars = new HashMap<>();
public static void init() {
@@ -260,16 +238,7 @@ public class FancyStatusBars {
}
}
- public FancyStatusBars() {
- moveBar(0, 0);
- moveBar(1, 0);
- moveBar(2, 0);
- moveBar(3, 0);
- }
-
- private int fill(int value, int max) {
- return (100 * value) / max;
- }
+ public FancyStatusBars() {}
private static final Identifier BAR_FILL = new Identifier(SkyblockerMod.NAMESPACE, "bars/bar_fill");
private static final Identifier BAR_BACK = new Identifier(SkyblockerMod.NAMESPACE, "bars/bar_back");
@@ -280,166 +249,21 @@ public class FancyStatusBars {
if (!SkyblockerConfigManager.get().general.bars.enableBars || player == null || Utils.isInTheRift())
return false;
- if (!SkyblockerConfigManager.get().general.oldBars) {
- Collection<StatusBar> barCollection = statusBars.values();
- for (StatusBar value : barCollection) {
- value.render(context, -1, -1, client.getLastFrameDuration());
- }
- for (StatusBar statusBar : barCollection) {
- if (statusBar.showText()) statusBar.renderText(context);
- }
- StatusBarTracker.Resource health = statusBarTracker.getHealth();
- statusBars.get("health").updateValues(health.value() / (float) health.max(), health.overflow() / (float) health.max(), health.value());
-
- StatusBarTracker.Resource intelligence = statusBarTracker.getMana();
- statusBars.get("intelligence").updateValues(intelligence.value() / (float) intelligence.max(), intelligence.overflow() / (float) intelligence.max(), intelligence.value());
- int defense = statusBarTracker.getDefense();
- statusBars.get("defense").updateValues(defense / (defense + 100.f), 0, defense);
- statusBars.get("experience").updateValues(player.experienceProgress, 0, player.experienceLevel);
- return true;
- }
- anchorsX[0] = scaledWidth / 2 - 91;
- anchorsY[0] = scaledHeight - 33;
- anchorsX[1] = anchorsX[0];
- anchorsY[1] = anchorsY[0] - 10;
- anchorsX[2] = (scaledWidth / 2 + 91) + 2;
- anchorsY[2] = scaledHeight - 16;
-
- bars[0].update(statusBarTracker.getHealth());
- bars[1].update(statusBarTracker.getMana());
- int def = statusBarTracker.getDefense();
- bars[2].fill[0] = fill(def, def + 100);
- bars[2].text = def;
- bars[3].fill[0] = (int) (100 * player.experienceProgress);
- bars[3].text = player.experienceLevel;
-
- // Update positions of bars from config
- for (int i = 0; i < 4; i++) {
- int configAnchorNum = switch (i) {
- case 0 -> SkyblockerConfigManager.get().general.bars.barPositions.healthBarPosition.toInt();
- case 1 -> SkyblockerConfigManager.get().general.bars.barPositions.manaBarPosition.toInt();
- case 2 -> SkyblockerConfigManager.get().general.bars.barPositions.defenceBarPosition.toInt();
- case 3 -> SkyblockerConfigManager.get().general.bars.barPositions.experienceBarPosition.toInt();
- default -> 0;
- };
-
- if (bars[i].anchorNum != configAnchorNum)
- moveBar(i, configAnchorNum);
- }
-
- for (var bar : bars) {
- bar.draw(context);
+ Collection<StatusBar> barCollection = statusBars.values();
+ for (StatusBar value : barCollection) {
+ value.render(context, -1, -1, client.getLastFrameDuration());
}
- for (var bar : bars) {
- bar.drawText(context);
+ for (StatusBar statusBar : barCollection) {
+ if (statusBar.showText()) statusBar.renderText(context);
}
- MatrixStack matrices = context.getMatrices();
- matrices.push();
- matrices.translate(50, 50, 0);
- matrices.scale(2, 2, 1);
- context.drawSprite(0, 0, 0, 60, 5, SUPPLIER.get(), 1, 0.25f, 0.25f, 1);
- matrices.pop();
+ StatusBarTracker.Resource health = statusBarTracker.getHealth();
+ statusBars.get("health").updateValues(health.value() / (float) health.max(), health.overflow() / (float) health.max(), health.value());
+
+ StatusBarTracker.Resource intelligence = statusBarTracker.getMana();
+ statusBars.get("intelligence").updateValues(intelligence.value() / (float) intelligence.max(), intelligence.overflow() / (float) intelligence.max(), intelligence.value());
+ int defense = statusBarTracker.getDefense();
+ statusBars.get("defense").updateValues(defense / (defense + 100.f), 0, defense);
+ statusBars.get("experience").updateValues(player.experienceProgress, 0, player.experienceLevel);
return true;
- }
-
- public void moveBar(int bar, int location) {
- // Set the bar to the new anchor
- bars[bar].anchorNum = location;
-
- // Count how many bars are in each location
- int layer1Count = 0, layer2Count = 0;
- for (int i = 0; i < 4; i++) {
- switch (bars[i].anchorNum) {
- case 0 -> layer1Count++;
- case 1 -> layer2Count++;
- }
- }
-
- // Set the bars width and offsetX according to their anchor and how many bars are on that layer
- int adjustedLayer1Count = 0, adjustedLayer2Count = 0, adjustedRightCount = 0;
- for (int i = 0; i < 4; i++) {
- switch (bars[i].anchorNum) {
- case 0 -> {
- bars[i].bar_width = (172 - ((layer1Count - 1) * 11)) / layer1Count;
- bars[i].offsetX = adjustedLayer1Count * (bars[i].bar_width + 11 + (layer1Count == 3 ? 0 : 1));
- adjustedLayer1Count++;
- }
- case 1 -> {
- bars[i].bar_width = (172 - ((layer2Count - 1) * 11)) / layer2Count;
- bars[i].offsetX = adjustedLayer2Count * (bars[i].bar_width + 11 + (layer2Count == 3 ? 0 : 1));
- adjustedLayer2Count++;
- }
- case 2 -> {
- bars[i].bar_width = 50;
- bars[i].offsetX = adjustedRightCount * (50 + 11);
- adjustedRightCount++;
- }
- }
- }
- }
-
- private class OldStatusBar {
- public final int[] fill;
- private final Color[] colors;
- public int offsetX;
- private final int v;
- private final int text_color;
- public int anchorNum;
- public int bar_width;
- public Object text;
-
- private OldStatusBar(int i, int textColor, int fillNum, Color[] colors) {
- this.v = i * 9;
- this.text_color = textColor;
- this.fill = new int[fillNum];
- this.fill[0] = 100;
- this.anchorNum = 0;
- this.text = "";
- this.colors = colors;
- }
-
- public void update(StatusBarTracker.Resource resource) {
- int max = resource.max();
- int val = resource.value();
- this.fill[0] = fill(val, max);
- this.fill[1] = fill(resource.overflow(), max);
- this.text = val;
}
-
- public void draw(DrawContext context) {
- // Dont draw if anchorNum is outside of range
- if (anchorNum < 0 || anchorNum > 2) return;
-
- // Draw the icon for the bar
- context.drawTexture(BARS, anchorsX[anchorNum] + offsetX, anchorsY[anchorNum], 0, v, 9, 9);
-
- // Draw the background for the bar
- context.drawGuiTexture(BAR_BACK, anchorsX[anchorNum] + offsetX + 10, anchorsY[anchorNum] + 1, bar_width, 7);
-
- // Draw the filled part of the bar
- for (int i = 0; i < fill.length; i++) {
- int fill_width = this.fill[i] * (bar_width - 2) / 100;
- if (fill_width >= 1) {
- RenderHelper.renderNineSliceColored(context, BAR_FILL, anchorsX[anchorNum] + offsetX + 11, anchorsY[anchorNum] + 2, fill_width, 5, colors[i]);
- }
- }
- }
-
- public void drawText(DrawContext context) {
- // Dont draw if anchorNum is outside of range
- if (anchorNum < 0 || anchorNum > 2) return;
-
- TextRenderer textRenderer = client.textRenderer;
- String text = this.text.toString();
- int x = anchorsX[anchorNum] + this.offsetX + 11 + (bar_width - textRenderer.getWidth(text)) / 2;
- int y = anchorsY[anchorNum] - 3;
-
- final int[] offsets = new int[]{-1, 1};
- for (int i : offsets) {
- context.drawText(textRenderer, text, x + i, y, 0, false);
- context.drawText(textRenderer, text, x, y + i, 0, false);
- }
- context.drawText(textRenderer, text, x, y, text_color, false);
- }
- }
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java
index 7c1aa71b..4d23dc07 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/fancybars/StatusBarsConfigScreen.java
@@ -1,7 +1,6 @@
package de.hysky.skyblocker.skyblock.fancybars;
import de.hysky.skyblocker.mixin.accessor.WindowAccessor;
-import de.hysky.skyblocker.skyblock.FancyStatusBars;
import it.unimi.dsi.fastutil.Pair;
import it.unimi.dsi.fastutil.objects.ObjectBooleanMutablePair;
import it.unimi.dsi.fastutil.objects.ObjectObjectMutablePair;