diff options
author | msg-programs <msgdoesstuff@gmail.com> | 2023-06-04 13:44:22 +0200 |
---|---|---|
committer | msg-programs <msgdoesstuff@gmail.com> | 2023-06-04 13:44:22 +0200 |
commit | 9170e46f4166573fe837e2a7bdd2747854ab2921 (patch) | |
tree | 1b81b1cd1d669e4156d37b98a2841394d936d51f /src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java | |
parent | 34d87f0e435963cb571568a783c9c4456e811012 (diff) | |
parent | 9d114a7be8ac358131441752db14d5356fc9fd3d (diff) | |
download | Skyblocker-9170e46f4166573fe837e2a7bdd2747854ab2921.tar.gz Skyblocker-9170e46f4166573fe837e2a7bdd2747854ab2921.tar.bz2 Skyblocker-9170e46f4166573fe837e2a7bdd2747854ab2921.zip |
Merge branch 'master' of https://github.com/SkyblockerMod/Skyblocker into skyhytab
# Conflicts:
# src/main/java/me/xmrvizzy/skyblocker/SkyblockerInitializer.java
# src/main/java/me/xmrvizzy/skyblocker/SkyblockerMod.java
# src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
# src/main/resources/skyblocker.mixins.json
Pull newest changes from upstream master
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java | 53 |
1 files changed, 50 insertions, 3 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 5c8c4c5f..7fdd7254 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -1,16 +1,24 @@ package me.xmrvizzy.skyblocker.config; +import com.mojang.brigadier.builder.LiteralArgumentBuilder; import me.shedaniel.autoconfig.AutoConfig; import me.shedaniel.autoconfig.ConfigData; import me.shedaniel.autoconfig.annotation.Config; import me.shedaniel.autoconfig.annotation.ConfigEntry; import me.shedaniel.autoconfig.serializer.GsonConfigSerializer; +import me.xmrvizzy.skyblocker.SkyblockerMod; import me.xmrvizzy.skyblocker.chat.ChatFilterResult; +import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.resource.language.I18n; import java.util.ArrayList; import java.util.List; +import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.literal; + @Config(name = "skyblocker") public class SkyblockerConfig implements ConfigData { @@ -59,7 +67,7 @@ public class SkyblockerConfig implements ConfigData { @ConfigEntry.Category("button6") @ConfigEntry.Gui.CollapsibleObject() - public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), "Storage", "/storage"); + public QuickNavItem button6 = new QuickNavItem(true, new ItemData("ender_chest"), "Storage", "/storage"); @ConfigEntry.Category("button7") @ConfigEntry.Gui.CollapsibleObject() @@ -138,6 +146,10 @@ public class SkyblockerConfig implements ConfigData { @ConfigEntry.Gui.CollapsibleObject() public Bars bars = new Bars(); + @ConfigEntry.Category("fishing") + @ConfigEntry.Gui.CollapsibleObject() + public Fishing fishing = new Fishing(); + @ConfigEntry.Category("itemList") @ConfigEntry.Gui.CollapsibleObject() public ItemList itemList = new ItemList(); @@ -189,7 +201,7 @@ public class SkyblockerConfig implements ConfigData { NONE; @Override - public String toString() { + public String toString() { return I18n.translate("text.autoconfig.skyblocker.option.general.bars.barpositions." + name()); } @@ -203,6 +215,10 @@ public class SkyblockerConfig implements ConfigData { } } + public static class Fishing { + public boolean enableFishingHelper = true; + } + public static class Hitbox { public boolean oldFarmlandHitbox = true; public boolean oldLeverHitbox = false; @@ -227,7 +243,7 @@ public class SkyblockerConfig implements ConfigData { BOTH; @Override - public String toString() { + public String toString() { return I18n.translate("text.autoconfig.skyblocker.option.general.itemTooltip.avg." + name()); } } @@ -265,10 +281,19 @@ public class SkyblockerConfig implements ConfigData { public boolean solveThreeWeirdos = true; public boolean blazesolver = true; public boolean solveTrivia = true; + @ConfigEntry.Gui.CollapsibleObject + public LividColor lividColor = new LividColor(); @ConfigEntry.Gui.CollapsibleObject() public Terminals terminals = new Terminals(); } + public static class LividColor { + @ConfigEntry.Gui.Tooltip() + public boolean enableLividColor = true; + @ConfigEntry.Gui.Tooltip() + public String lividColorText = "The livid color is [color]"; + } + public static class Terminals { public boolean solveColor = true; public boolean solveOrder = true; @@ -340,14 +365,36 @@ public class SkyblockerConfig implements ConfigData { PURSE, BITS, LOCATION; + @Override public String toString() { return I18n.translate("text.autoconfig.skyblocker.option.richPresence.info." + name()); } } + /** + * Registers the config to AutoConfig and register commands to open the config screen. + */ public static void init() { AutoConfig.register(SkyblockerConfig.class, GsonConfigSerializer::new); + ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(literal("skyblocker").then(optionsLiteral("config")).then(optionsLiteral("options"))))); + } + + /** + * Registers an options command with the given name. Used for registering both options and config as valid commands. + * + * @param name the name of the command node + * @return the command builder + */ + private static LiteralArgumentBuilder<FabricClientCommandSource> optionsLiteral(String name) { + return literal(name).executes(context -> { + // Don't immediately open the next screen as it will be closed by ChatScreen right after this command is executed + SkyblockerMod.getInstance().scheduler.schedule(() -> { + Screen a = AutoConfig.getConfigScreen(SkyblockerConfig.class, null).get(); + MinecraftClient.getInstance().setScreen(a); + }, 0); + return 1; + }); } public static SkyblockerConfig get() { |