From 2b9c8ed13a80ea5356616f1af40d3956d38aa1b3 Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Fri, 24 May 2024 17:55:38 +0300 Subject: Bazaar Helper initial commit --- src/main/resources/assets/skyblocker/lang/en_us.json | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/main/resources/assets/skyblocker') diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 5ac9dbbb..5a138a41 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -286,6 +286,10 @@ "skyblocker.config.helpers": "Helpers", + "skyblocker.config.helpers.bazaar": "Bazaar", + "skyblocker.config.helpers.bazaar.enableBazaarHelper": "Enable Bazaar Helper", + "skyblocker.config.helpers.bazaar.enableBazaarHelper.@Tooltip": "Highlights orders with items or coins to claim.", + "skyblocker.config.helpers.chocolateFactory": "Chocolate Factory", "skyblocker.config.helpers.chocolateFactory.enableChocolateFactoryHelper": "Enable Chocolate Factory Helper", "skyblocker.config.helpers.chocolateFactory.enableChocolateFactoryHelper.@Tooltip": "Highlights the best upgrade when enabled. \n\nThe best upgrade is marked as green, but if you can't afford it, it's marked as yellow while marking the next best upgrade that you can afford as green.", -- cgit From efbe9568050b7efce6871e0623eae35b205d2b83 Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Thu, 13 Jun 2024 19:52:18 +0300 Subject: Add secondary highlighting color scheme to BazaarHelper --- .../config/categories/HelperCategory.java | 10 +++++ .../skyblocker/config/configs/HelperConfig.java | 3 ++ .../skyblocker/skyblock/bazaar/BazaarHelper.java | 49 ++++++++++++++++++---- .../resources/assets/skyblocker/lang/en_us.json | 2 + 4 files changed, 57 insertions(+), 7 deletions(-) (limited to 'src/main/resources/assets/skyblocker') diff --git a/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java index 12547018..fd373f73 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java @@ -2,6 +2,7 @@ package de.hysky.skyblocker.config.categories; import de.hysky.skyblocker.config.ConfigUtils; import de.hysky.skyblocker.config.SkyblockerConfig; +import de.hysky.skyblocker.skyblock.bazaar.BazaarHelper; import de.hysky.skyblocker.utils.waypoint.Waypoint; import dev.isxander.yacl3.api.ConfigCategory; import dev.isxander.yacl3.api.Option; @@ -210,6 +211,15 @@ public class HelperCategory { newValue -> config.helpers.bazaar.enableBazaarHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) + .option(Option.createBuilder() + .name(Text.translatable("skyblocker.config.helpers.bazaar.highlightingScheme")) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.bazaar.highlightingScheme.@Tooltip"))) + .binding(defaults.helpers.bazaar.highlightingScheme, + () -> config.helpers.bazaar.highlightingScheme, + newValue -> config.helpers.bazaar.highlightingScheme = newValue) + .controller(ConfigUtils::createEnumCyclingListController) + .build() + ) .build()) .build(); diff --git a/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java index 6ddb1a74..f805d69f 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.config.configs; +import de.hysky.skyblocker.skyblock.bazaar.BazaarHelper; import de.hysky.skyblocker.utils.waypoint.Waypoint; import dev.isxander.yacl3.config.v2.api.SerialEntry; @@ -98,5 +99,7 @@ public class HelperConfig { public static class Bazaar { @SerialEntry public boolean enableBazaarHelper = true; + @SerialEntry + public BazaarHelper.HighlightingScheme highlightingScheme = BazaarHelper.HighlightingScheme.ORDER_TYPE; } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java index c9a4b732..8a9a7aa3 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java @@ -6,6 +6,9 @@ import de.hysky.skyblocker.utils.render.gui.ColorHighlight; import de.hysky.skyblocker.utils.render.gui.ContainerSolver; import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.util.Formatting; +import org.apache.commons.lang3.math.NumberUtils; import java.util.ArrayList; import java.util.List; @@ -14,6 +17,7 @@ import java.util.regex.Pattern; public class BazaarHelper extends ContainerSolver { private static final Pattern ORDER_PATTERN = Pattern.compile("You have [\\d,]+ (items|coins) to claim!"); + private static final Pattern FILLED_PATTERN = Pattern.compile("Filled: \\S+ \\(?([\\d.]+)%\\)?!?"); public BazaarHelper() { super("Your Bazaar Orders"); @@ -27,20 +31,51 @@ public class BazaarHelper extends ContainerSolver { @Override protected List getColors(String[] groups, Int2ObjectMap slots) { ArrayList highlights = new ArrayList<>(); - for (int slot = 0; slot < slots.size(); slot++) { + // Skip the first and last 10 slots as those are always glass panes. + for (int slot = 10; slot < slots.size() - 10; slot++) { + ItemStack item = slots.get(slot); + if (item.isEmpty() || item.isOf(Items.BLACK_STAINED_GLASS_PANE)) continue; if (ItemUtils.getLoreLineIf(slots.get(slot), str -> str.equals("Expired!")) != null) { highlights.add(ColorHighlight.red(slot)); continue; } - - Matcher matcher = ItemUtils.getLoreLineIfMatch(slots.get(slot), ORDER_PATTERN); - if (matcher != null) { - switch (matcher.group(1)) { - case "items" -> highlights.add(new ColorHighlight(slot, 0x7000AA00)); - case "coins" -> highlights.add(new ColorHighlight(slot, 0x70FFAA00)); + switch (SkyblockerConfigManager.get().helpers.bazaar.highlightingScheme) { + case ORDER_TYPE -> { + Matcher matcher = ItemUtils.getLoreLineIfMatch(slots.get(slot), ORDER_PATTERN); + if (matcher != null) { + switch (matcher.group(1)) { + case "items" -> highlights.add(new ColorHighlight(slot, Formatting.DARK_GREEN.getColorValue() & 0x70000000)); + case "coins" -> highlights.add(new ColorHighlight(slot, Formatting.GOLD.getColorValue() & 0x70000000)); + } + } + } + case FULFILLMENT -> { + Matcher matcher = ItemUtils.getLoreLineIfMatch(slots.get(slot), FILLED_PATTERN); + if (matcher != null) { + int filled = NumberUtils.toInt(matcher.group(1)); + if (filled < 100) { + highlights.add(ColorHighlight.yellow(slot)); + } else if (filled == 100) { + highlights.add(ColorHighlight.green(slot)); + } + } } } } + return highlights; } + + public enum HighlightingScheme { + ORDER_TYPE, + FULFILLMENT; + + @Override + public String toString() { + return switch (this) { + case ORDER_TYPE -> "Order Type"; + case FULFILLMENT -> "Fulfillment"; + }; + } + } } diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 5a138a41..e992c7af 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -289,6 +289,8 @@ "skyblocker.config.helpers.bazaar": "Bazaar", "skyblocker.config.helpers.bazaar.enableBazaarHelper": "Enable Bazaar Helper", "skyblocker.config.helpers.bazaar.enableBazaarHelper.@Tooltip": "Highlights orders with items or coins to claim.", + "skyblocker.config.helpers.bazaar.highlightingScheme": "Highlighting Scheme", + "skyblocker.config.helpers.bazaar.highlightingScheme.@Tooltip": "Order Type: Highlight items based on whether you have coins or items to claim. Dark green when items, gold when coins.\n\nFulfillment: Highlight items based on the % of the order that is filled. Yellow for 0-99%, green at 100%.\n\n\nExpired orders are highlighted with red regardless of this setting.", "skyblocker.config.helpers.chocolateFactory": "Chocolate Factory", "skyblocker.config.helpers.chocolateFactory.enableChocolateFactoryHelper": "Enable Chocolate Factory Helper", -- cgit From 1dbb973e791456c418acfa45be824640db2b111f Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Wed, 10 Jul 2024 02:07:08 +0300 Subject: Refactor the bz order helper to display slot text instead of highlights Also removes the coloring schema option as that's not relevant anymore. Or rather, there's no reasonable way to display the order type anymore without making the item impossible to see. --- .../config/categories/HelperCategory.java | 11 +-- .../skyblocker/config/configs/HelperConfig.java | 3 - .../skyblocker/skyblock/bazaar/BazaarHelper.java | 93 ++++++++++------------ .../skyblock/item/slottext/SlotTextManager.java | 2 + .../utils/render/gui/ContainerSolverManager.java | 2 - .../resources/assets/skyblocker/lang/en_us.json | 4 +- 6 files changed, 44 insertions(+), 71 deletions(-) (limited to 'src/main/resources/assets/skyblocker') diff --git a/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java b/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java index fd373f73..d5c6b097 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/HelperCategory.java @@ -205,21 +205,12 @@ public class HelperCategory { .collapsed(true) .option(Option.createBuilder() .name(Text.translatable("skyblocker.config.helpers.bazaar.enableBazaarHelper")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.bazaar.enableBazaarHelper.@Tooltip"))) + .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.bazaar.enableBazaarHelper.@Tooltip", BazaarHelper.getExpiredIcon(false), BazaarHelper.getExpiredIcon(true), BazaarHelper.getFilledIcon(69), BazaarHelper.getFilledIcon(100)))) .binding(defaults.helpers.bazaar.enableBazaarHelper, () -> config.helpers.bazaar.enableBazaarHelper, newValue -> config.helpers.bazaar.enableBazaarHelper = newValue) .controller(ConfigUtils::createBooleanController) .build()) - .option(Option.createBuilder() - .name(Text.translatable("skyblocker.config.helpers.bazaar.highlightingScheme")) - .description(OptionDescription.of(Text.translatable("skyblocker.config.helpers.bazaar.highlightingScheme.@Tooltip"))) - .binding(defaults.helpers.bazaar.highlightingScheme, - () -> config.helpers.bazaar.highlightingScheme, - newValue -> config.helpers.bazaar.highlightingScheme = newValue) - .controller(ConfigUtils::createEnumCyclingListController) - .build() - ) .build()) .build(); diff --git a/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java b/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java index f805d69f..6ddb1a74 100644 --- a/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/configs/HelperConfig.java @@ -1,6 +1,5 @@ package de.hysky.skyblocker.config.configs; -import de.hysky.skyblocker.skyblock.bazaar.BazaarHelper; import de.hysky.skyblocker.utils.waypoint.Waypoint; import dev.isxander.yacl3.config.v2.api.SerialEntry; @@ -99,7 +98,5 @@ public class HelperConfig { public static class Bazaar { @SerialEntry public boolean enableBazaarHelper = true; - @SerialEntry - public BazaarHelper.HighlightingScheme highlightingScheme = BazaarHelper.HighlightingScheme.ORDER_TYPE; } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java index 546bc9bc..032d2295 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/bazaar/BazaarHelper.java @@ -1,22 +1,23 @@ package de.hysky.skyblocker.skyblock.bazaar; import de.hysky.skyblocker.config.SkyblockerConfigManager; +import de.hysky.skyblocker.skyblock.item.slottext.SlotText; +import de.hysky.skyblocker.skyblock.item.slottext.SlotTextAdder; import de.hysky.skyblocker.utils.ItemUtils; -import de.hysky.skyblocker.utils.render.gui.ColorHighlight; -import de.hysky.skyblocker.utils.render.gui.ContainerSolver; -import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; +import net.minecraft.screen.slot.Slot; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; import net.minecraft.util.Formatting; import org.apache.commons.lang3.math.NumberUtils; +import org.jetbrains.annotations.NotNull; -import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; -public class BazaarHelper extends ContainerSolver { - private static final Pattern ORDER_PATTERN = Pattern.compile("You have [\\d,]+ (items|coins) to claim!"); +public class BazaarHelper extends SlotTextAdder { private static final Pattern FILLED_PATTERN = Pattern.compile("Filled: \\S+ \\(?([\\d.]+)%\\)?!?"); public BazaarHelper() { @@ -24,58 +25,44 @@ public class BazaarHelper extends ContainerSolver { } @Override - protected boolean isEnabled() { - return SkyblockerConfigManager.get().helpers.bazaar.enableBazaarHelper; - } + public @NotNull List getText(Slot slot) { + if (!SkyblockerConfigManager.get().helpers.bazaar.enableBazaarHelper) return List.of(); + // Skip the first row as it's always glass panes. + if (slot.id < 10) return List.of(); + // Skip the last 10 items. 11 is subtracted because size is 1-based so the last slot is size - 1. + if (slot.id > slot.inventory.size() - 11) return List.of(); //Note that this also skips the slots in player's inventory (anything above 36/45/54 depending on the order count) - @Override - protected List getColors(String[] groups, Int2ObjectMap slots) { - ArrayList highlights = new ArrayList<>(); - // Skip the first and last 10 slots as those are always glass panes. - for (int slot = 10; slot < slots.size() - 10; slot++) { - ItemStack item = slots.get(slot); - if (item.isEmpty() || item.isOf(Items.BLACK_STAINED_GLASS_PANE)) continue; - if (ItemUtils.getLoreLineIf(slots.get(slot), str -> str.equals("Expired!")) != null) { - highlights.add(ColorHighlight.red(slot)); - continue; - } - switch (SkyblockerConfigManager.get().helpers.bazaar.highlightingScheme) { - case ORDER_TYPE -> { - Matcher matcher = ItemUtils.getLoreLineIfMatch(slots.get(slot), ORDER_PATTERN); - if (matcher != null) { - switch (matcher.group(1)) { - case "items" -> highlights.add(new ColorHighlight(slot, Formatting.DARK_GREEN.getColorValue() & 0x70000000)); - case "coins" -> highlights.add(new ColorHighlight(slot, Formatting.GOLD.getColorValue() & 0x70000000)); - } - } - } - case FULFILLMENT -> { - Matcher matcher = ItemUtils.getLoreLineIfMatch(slots.get(slot), FILLED_PATTERN); - if (matcher != null) { - int filled = NumberUtils.toInt(matcher.group(1)); - if (filled < 100) { - highlights.add(ColorHighlight.yellow(slot)); - } else if (filled == 100) { - highlights.add(ColorHighlight.green(slot)); - } - } - } + int column = slot.id % 9; + if (column == 0 || column == 8) return List.of(); // Skip the first and last column as those are always glass panes as well. + + ItemStack item = slot.getStack(); + if (item.isEmpty()) return List.of(); //We've skipped all invalid slots, so we can just check if it's not air here. + + ObjectArrayList icons = new ObjectArrayList<>(); + if (ItemUtils.getLoreLineIf(item, str -> str.equals("Expired!")) != null) { + //Todo: Handle the case where the order is close to expiring but hasn't expired yet. + icons.add(SlotText.topRight(getExpiredIcon(true))); + } + + Matcher matcher = ItemUtils.getLoreLineIfMatch(item, FILLED_PATTERN); + if (matcher != null) { + List lore = ItemUtils.getLore(item); + if (!lore.isEmpty() && lore.getLast().getString().equals("Click to claim!")) { + int filled = NumberUtils.toInt(matcher.group(1)); + icons.add(SlotText.topLeft(getFilledIcon(filled))); } } - return highlights; + return icons; } - public enum HighlightingScheme { - ORDER_TYPE, - FULFILLMENT; + public static @NotNull MutableText getExpiredIcon(boolean expired) { + if (expired) return Text.literal("⏰").withColor(0xe60b1e).formatted(Formatting.BOLD); + return Text.literal("⏰").withColor(0xe6ba0b).formatted(Formatting.BOLD); + } - @Override - public String toString() { - return switch (this) { - case ORDER_TYPE -> "Order Type"; - case FULFILLMENT -> "Fulfillment"; - }; - } + public static @NotNull MutableText getFilledIcon(int filled) { + if (filled < 100) return Text.literal("%").withColor(0xe6ba0b).formatted(Formatting.BOLD); + return Text.literal("✅").withColor(0x1ee60b).formatted(Formatting.BOLD); } } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java index d3941d77..aa9bf939 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/slottext/SlotTextManager.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.skyblock.item.slottext; +import de.hysky.skyblocker.skyblock.bazaar.BazaarHelper; import de.hysky.skyblocker.skyblock.item.slottext.adders.*; import de.hysky.skyblocker.utils.Utils; import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; @@ -30,6 +31,7 @@ public class SlotTextManager { new CommunityShopAdder(), new YourEssenceAdder(), new PowerStonesGuideAdder(), + new BazaarHelper(), new StatsTuningAdder() }; private static final ArrayList currentScreenAdders = new ArrayList<>(); diff --git a/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java b/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java index c5ed0494..79cc78f5 100644 --- a/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java +++ b/src/main/java/de/hysky/skyblocker/utils/render/gui/ContainerSolverManager.java @@ -4,7 +4,6 @@ import com.mojang.blaze3d.systems.RenderSystem; import de.hysky.skyblocker.mixins.accessors.HandledScreenAccessor; import de.hysky.skyblocker.skyblock.accessories.newyearcakes.NewYearCakeBagHelper; import de.hysky.skyblocker.skyblock.accessories.newyearcakes.NewYearCakesHelper; -import de.hysky.skyblocker.skyblock.bazaar.BazaarHelper; import de.hysky.skyblocker.skyblock.bazaar.ReorderHelper; import de.hysky.skyblocker.skyblock.chocolatefactory.ChocolateFactorySolver; import de.hysky.skyblocker.skyblock.dungeon.CroesusHelper; @@ -61,7 +60,6 @@ public class ContainerSolverManager { new NewYearCakeBagHelper(), NewYearCakesHelper.INSTANCE, new ChocolateFactorySolver(), - new BazaarHelper(), new ReorderHelper() }; } diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index e992c7af..5012b918 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -288,9 +288,7 @@ "skyblocker.config.helpers.bazaar": "Bazaar", "skyblocker.config.helpers.bazaar.enableBazaarHelper": "Enable Bazaar Helper", - "skyblocker.config.helpers.bazaar.enableBazaarHelper.@Tooltip": "Highlights orders with items or coins to claim.", - "skyblocker.config.helpers.bazaar.highlightingScheme": "Highlighting Scheme", - "skyblocker.config.helpers.bazaar.highlightingScheme.@Tooltip": "Order Type: Highlight items based on whether you have coins or items to claim. Dark green when items, gold when coins.\n\nFulfillment: Highlight items based on the % of the order that is filled. Yellow for 0-99%, green at 100%.\n\n\nExpired orders are highlighted with red regardless of this setting.", + "skyblocker.config.helpers.bazaar.enableBazaarHelper.@Tooltip": "Draws icons on top of orders to explain the current state of the order.\n\n%s: Order is going to expire soon\n%s: Order has expired\n%s: Order is filled to some degree and there are items/coins to claim\n%s: Order is filled", "skyblocker.config.helpers.chocolateFactory": "Chocolate Factory", "skyblocker.config.helpers.chocolateFactory.enableChocolateFactoryHelper": "Enable Chocolate Factory Helper", -- cgit From bc46261cf69d7db0e8eae50485c6c9fed2c64045 Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Sun, 14 Jul 2024 06:04:26 +0300 Subject: Refactor the reorder helper tooltip messages into translatables --- src/main/java/de/hysky/skyblocker/skyblock/bazaar/ReorderHelper.java | 4 ++-- src/main/resources/assets/skyblocker/lang/en_us.json | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/main/resources/assets/skyblocker') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/bazaar/ReorderHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/bazaar/ReorderHelper.java index f779be98..c2b11926 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/bazaar/ReorderHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/bazaar/ReorderHelper.java @@ -64,8 +64,8 @@ public class ReorderHelper extends ContainerSolver { switch (focusedSlot.id) { case 11, 13 -> { lines.add(Text.empty()); - lines.add(Text.empty().append(Text.literal("[Skyblocker] You can copy the amount of items").formatted(Formatting.DARK_GRAY, Formatting.ITALIC))); - lines.add(Text.empty().append(Text.literal("by holding CTRL while clicking on the item!").formatted(Formatting.DARK_GRAY, Formatting.ITALIC))); + lines.add(Text.empty().append(Text.translatable("skyblocker.reorderHelper.tooltip.line1")).formatted(Formatting.DARK_GRAY, Formatting.ITALIC)); + lines.add(Text.empty().append(Text.translatable("skyblocker.reorderHelper.tooltip.line2")).formatted(Formatting.DARK_GRAY, Formatting.ITALIC)); } } } diff --git a/src/main/resources/assets/skyblocker/lang/en_us.json b/src/main/resources/assets/skyblocker/lang/en_us.json index 5012b918..d380807c 100644 --- a/src/main/resources/assets/skyblocker/lang/en_us.json +++ b/src/main/resources/assets/skyblocker/lang/en_us.json @@ -745,7 +745,6 @@ "skyblocker.events.tab.noMore": "No more this year!", "skyblocker.events.tab.startsIn": "Starts in %s", - "skyblocker.garden.hud.mouseLocked": "Mouse locked.", "skyblocker.fishing.reelNow": "Reel in now!", @@ -894,6 +893,9 @@ "skyblocker.partyFinder.deList": "Click to de-list", "skyblocker.partyFinder.join": "Click to join", + "skyblocker.reorderHelper.tooltip.line1": "[Skyblocker] You can copy the amount of items", + "skyblocker.reorderHelper.tooltip.line2": "by holding CTRL while clicking on the item!", + "skyblocker.fancyAuctionHouse.editBid": "Click to edit bid!", "skyblocker.fancyAuctionHouse.price": "Price:", "skyblocker.fancyAuctionHouse.newBid": "New Bid:", -- cgit