diff options
Diffstat (limited to 'src/main/java')
3 files changed, 41 insertions, 9 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java index ae852252..699f91ef 100644 --- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java @@ -1,5 +1,6 @@ package de.hysky.skyblocker.config; +import de.hysky.skyblocker.SkyblockerMod; import de.hysky.skyblocker.skyblock.item.CustomArmorTrims; import de.hysky.skyblocker.utils.chat.ChatFilterResult; import de.hysky.skyblocker.utils.waypoint.Waypoint; @@ -10,6 +11,7 @@ import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; import net.minecraft.client.resource.language.I18n; import net.minecraft.text.Text; import net.minecraft.util.Formatting; +import net.minecraft.util.Identifier; import java.util.ArrayList; import java.util.List; @@ -498,9 +500,31 @@ public class SkyblockerConfig { public boolean itemRarityBackgrounds = false; @SerialEntry + public RarityBackgroundStyle itemRarityBackgroundStyle = RarityBackgroundStyle.CIRCULAR; + + @SerialEntry public float itemRarityBackgroundsOpacity = 1f; } + public enum RarityBackgroundStyle { + CIRCULAR(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_circular")), + SQUARE(new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background_square")); + + public final Identifier tex; + + private RarityBackgroundStyle(Identifier tex) { + this.tex = tex; + } + + @Override + public String toString() { + return switch (this) { + case CIRCULAR -> "Circular"; + case SQUARE -> "Square"; + }; + } + } + public static class WikiLookup { @SerialEntry public boolean enableWikiLookup = true; 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 3cbb1b94..46f54a61 100644 --- a/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java +++ b/src/main/java/de/hysky/skyblocker/config/categories/GeneralCategory.java @@ -386,6 +386,14 @@ public class GeneralCategory { newValue -> config.general.itemInfoDisplay.itemRarityBackgrounds = newValue) .controller(ConfigUtils::createBooleanController) .build()) + .option(Option.<SkyblockerConfig.RarityBackgroundStyle>createBuilder() + .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundStyle")) + .description(OptionDescription.of(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundStyle.@Tooltip"))) + .binding(defaults.general.itemInfoDisplay.itemRarityBackgroundStyle, + () -> config.general.itemInfoDisplay.itemRarityBackgroundStyle, + newValue -> config.general.itemInfoDisplay.itemRarityBackgroundStyle = newValue) + .controller(ConfigUtils::createEnumCyclingListController) + .build()) .option(Option.<Float>createBuilder() .name(Text.translatable("text.autoconfig.skyblocker.option.general.itemInfoDisplay.itemRarityBackgroundsOpacity")) .binding(defaults.general.itemInfoDisplay.itemRarityBackgroundsOpacity, diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java index da357738..8867af91 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/item/ItemRarityBackgrounds.java @@ -1,8 +1,14 @@ package de.hysky.skyblocker.skyblock.item; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.function.Supplier; + import com.google.common.collect.ImmutableMap; import com.mojang.blaze3d.systems.RenderSystem; -import de.hysky.skyblocker.SkyblockerMod; + +import de.hysky.skyblocker.config.SkyblockerConfig; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.Utils; @@ -16,16 +22,10 @@ import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.client.texture.Sprite; import net.minecraft.item.ItemStack; import net.minecraft.text.Text; -import net.minecraft.util.Identifier; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.function.Supplier; public class ItemRarityBackgrounds { - private static final Identifier RARITY_BG_TEX = new Identifier(SkyblockerMod.NAMESPACE, "item_rarity_background"); - private static final Supplier<Sprite> SPRITE = () -> MinecraftClient.getInstance().getGuiAtlasManager().getSprite(RARITY_BG_TEX); + private static final SkyblockerConfig.ItemInfoDisplay CONFIG = SkyblockerConfigManager.get().general.itemInfoDisplay; + private static final Supplier<Sprite> SPRITE = () -> MinecraftClient.getInstance().getGuiAtlasManager().getSprite(CONFIG.itemRarityBackgroundStyle.tex); private static final ImmutableMap<String, SkyblockItemRarity> LORE_RARITIES = ImmutableMap.ofEntries( Map.entry("ADMIN", SkyblockItemRarity.ADMIN), Map.entry("SPECIAL", SkyblockItemRarity.SPECIAL), //Very special is the same color so this will cover it |