aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
diff options
context:
space:
mode:
authormsg-programs <msgdoesstuff@gmail.com>2023-06-04 13:44:22 +0200
committermsg-programs <msgdoesstuff@gmail.com>2023-06-04 13:44:22 +0200
commit9170e46f4166573fe837e2a7bdd2747854ab2921 (patch)
tree1b81b1cd1d669e4156d37b98a2841394d936d51f /src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
parent34d87f0e435963cb571568a783c9c4456e811012 (diff)
parent9d114a7be8ac358131441752db14d5356fc9fd3d (diff)
downloadSkyblocker-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.java53
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() {