aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-03-14 20:20:40 -0400
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-03-14 20:20:40 -0400
commit477d26414d4f23c8b16aaa975fd78d4cd7f46c2c (patch)
treee1e04f4b5896d700d87b1d4afeaf36cb2275b0cf /src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
parentaa5c2265f7a82b06d09fc21168323082565d0260 (diff)
downloadSkyblocker-477d26414d4f23c8b16aaa975fd78d4cd7f46c2c.tar.gz
Skyblocker-477d26414d4f23c8b16aaa975fd78d4cd7f46c2c.tar.bz2
Skyblocker-477d26414d4f23c8b16aaa975fd78d4cd7f46c2c.zip
Refactor Farming Hud
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
new file mode 100644
index 00000000..6ddb0e05
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/FarmingHudWidget.java
@@ -0,0 +1,67 @@
+package de.hysky.skyblocker.skyblock.garden;
+
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
+import de.hysky.skyblocker.skyblock.tabhud.util.Ico;
+import de.hysky.skyblocker.skyblock.tabhud.widget.Widget;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.PlainTextComponent;
+import de.hysky.skyblocker.skyblock.tabhud.widget.component.ProgressComponent;
+import de.hysky.skyblocker.utils.ItemUtils;
+import net.minecraft.client.MinecraftClient;
+import net.minecraft.item.ItemStack;
+import net.minecraft.text.MutableText;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
+import net.minecraft.util.math.MathHelper;
+
+import java.util.Map;
+
+public class FarmingHudWidget extends Widget {
+ private static final MutableText TITLE = Text.literal("Farming").formatted(Formatting.YELLOW, Formatting.BOLD);
+ private static final Map<String, ItemStack> FARMING_TOOLS = Map.ofEntries(
+ Map.entry("THEORETICAL_HOE_WHEAT_1", Ico.WHEAT),
+ Map.entry("THEORETICAL_HOE_WHEAT_2", Ico.WHEAT),
+ Map.entry("THEORETICAL_HOE_WHEAT_3", Ico.WHEAT),
+ Map.entry("THEORETICAL_HOE_CARROT_1", Ico.CARROT),
+ Map.entry("THEORETICAL_HOE_CARROT_2", Ico.CARROT),
+ Map.entry("THEORETICAL_HOE_CARROT_3", Ico.CARROT),
+ Map.entry("THEORETICAL_HOE_POTATO_1", Ico.POTATO),
+ Map.entry("THEORETICAL_HOE_POTATO_2", Ico.POTATO),
+ Map.entry("THEORETICAL_HOE_POTATO_3", Ico.POTATO),
+ Map.entry("THEORETICAL_HOE_CANE_1", Ico.SUGAR_CANE),
+ Map.entry("THEORETICAL_HOE_CANE_2", Ico.SUGAR_CANE),
+ Map.entry("THEORETICAL_HOE_CANE_3", Ico.SUGAR_CANE),
+ Map.entry("THEORETICAL_HOE_WARTs_1", Ico.NETHER_WART),
+ Map.entry("THEORETICAL_HOE_WARTs_2", Ico.NETHER_WART),
+ Map.entry("THEORETICAL_HOE_WARTs_3", Ico.NETHER_WART),
+ Map.entry("FUNGI_CUTTER", Ico.MUSHROOM),
+ Map.entry("CACTUS_KNIFE", Ico.CACTUS),
+ Map.entry("MELON_DICER", Ico.MELON),
+ Map.entry("PUMPKIN_DICER", Ico.PUMPKIN),
+ Map.entry("COCO_CHOPPER", Ico.COCOA_BEANS)
+ );
+ public static final FarmingHudWidget INSTANCE = new FarmingHudWidget();
+ private final MinecraftClient client = MinecraftClient.getInstance();
+
+ public FarmingHudWidget() {
+ super(TITLE, Formatting.YELLOW.getColorValue());
+ setX(SkyblockerConfigManager.get().locations.garden.farmingHud.x);
+ setY(SkyblockerConfigManager.get().locations.garden.farmingHud.y);
+ update();
+ }
+
+ @SuppressWarnings("DataFlowIssue")
+ @Override
+ public void updateContent() {
+ ItemStack icon = FARMING_TOOLS.getOrDefault(ItemUtils.getItemId(client.player.getMainHandStack()), Ico.HOE);
+ addSimpleIcoText(icon, "Counter: ", Formatting.YELLOW, FarmingHud.NUMBER_FORMAT.format(FarmingHud.counter()));
+ addSimpleIcoText(icon, "Crops/min: ", Formatting.YELLOW, FarmingHud.NUMBER_FORMAT.format((int) FarmingHud.cropsPerMinute() / 100 * 100));
+ addSimpleIcoText(icon, "Blocks/s: ", Formatting.YELLOW, Integer.toString(FarmingHud.blockBreaks()));
+ addComponent(new ProgressComponent(Ico.LANTERN, Text.literal("Farming Level: "), FarmingHud.farmingXpPercentProgress(), Formatting.GOLD.getColorValue()));
+ addSimpleIcoText(Ico.LIME_DYE, "Farming XP/h: ", Formatting.YELLOW, FarmingHud.NUMBER_FORMAT.format((int) FarmingHud.farmingXpPerHour()));
+
+ double yaw = client.getCameraEntity().getYaw();
+ double pitch = client.getCameraEntity().getPitch();
+ addComponent(new PlainTextComponent(Text.literal("Yaw: " + String.format("%.3f", MathHelper.wrapDegrees(yaw))).formatted(Formatting.YELLOW)));
+ addComponent(new PlainTextComponent(Text.literal("Pitch: " + String.format("%.3f", MathHelper.wrapDegrees(pitch))).formatted(Formatting.YELLOW)));
+ }
+}