aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/config
diff options
context:
space:
mode:
authorKevin <92656833+kevinthegreat1@users.noreply.github.com>2023-08-10 12:40:33 +0800
committerGitHub <noreply@github.com>2023-08-10 12:40:33 +0800
commit50ec28e8c6c11d73019afc12b07eb3656c1107ed (patch)
tree0e4e1e3e1d8723c7ef91b5225bf8027fd8195976 /src/main/java/me/xmrvizzy/skyblocker/config
parentf46f40de3a3b1adeccc192134eb445f5294850f5 (diff)
parent16c6debb1cc90be5815cd188264b16ddf8b76f16 (diff)
downloadSkyblocker-50ec28e8c6c11d73019afc12b07eb3656c1107ed.tar.gz
Skyblocker-50ec28e8c6c11d73019afc12b07eb3656c1107ed.tar.bz2
Skyblocker-50ec28e8c6c11d73019afc12b07eb3656c1107ed.zip
Merge pull request #234 from AzureAaron/item-renaming
Add Item Renaming & Custom Armour Dye Colours
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/config')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java32
1 files changed, 28 insertions, 4 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
index 8d633563..75e6fdc5 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java
@@ -1,10 +1,16 @@
package me.xmrvizzy.skyblocker.config;
+import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
+import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
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.ConfigSerializer;
import me.shedaniel.autoconfig.serializer.GsonConfigSerializer;
import me.xmrvizzy.skyblocker.SkyblockerMod;
import me.xmrvizzy.skyblocker.chat.ChatFilterResult;
@@ -12,6 +18,8 @@ import me.xmrvizzy.skyblocker.utils.Scheduler;
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
import net.minecraft.client.resource.language.I18n;
+import net.minecraft.text.Style;
+import net.minecraft.text.Text;
import java.util.ArrayList;
import java.util.List;
@@ -188,6 +196,10 @@ public class SkyblockerConfig implements ConfigData {
@ConfigEntry.Gui.Excluded
public List<Integer> lockedSlots = new ArrayList<>();
+
+ public Object2ObjectOpenHashMap<String, Text> customItemNames = new Object2ObjectOpenHashMap<>();
+
+ public Object2IntOpenHashMap<String> customDyeColors = new Object2IntOpenHashMap<>();
}
public static class TabHudConf {
@@ -430,13 +442,13 @@ public class SkyblockerConfig implements ConfigData {
public boolean enabled = true;
@ConfigEntry.Gui.EnumHandler(option = ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON)
@ConfigEntry.Gui.Tooltip(count = 3)
- public Style style = Style.SIMPLE;
+ public DwarvenHudStyle style = DwarvenHudStyle.SIMPLE;
public boolean enableBackground = true;
public int x = 10;
public int y = 10;
}
- public enum Style {
+ public enum DwarvenHudStyle {
SIMPLE,
FANCY,
CLASSIC;
@@ -530,10 +542,18 @@ public class SkyblockerConfig implements ConfigData {
}
/**
- * Registers the config to AutoConfig and register commands to open the config screen.
+ * Registers the config to AutoConfig and registers commands to open the config screen.
*/
public static void init() {
- AutoConfig.register(SkyblockerConfig.class, GsonConfigSerializer::new);
+ Gson gson = new GsonBuilder()
+ .setPrettyPrinting()
+ .registerTypeHierarchyAdapter(Text.class, new Text.Serializer())
+ .registerTypeHierarchyAdapter(Style.class, new Style.Serializer())
+ .create();
+
+ ConfigSerializer.Factory<SkyblockerConfig> serializer = (cfg, cfgClass) -> new GsonConfigSerializer<>(cfg, cfgClass, gson);
+
+ AutoConfig.register(SkyblockerConfig.class, serializer);
ClientCommandRegistrationCallback.EVENT.register(((dispatcher, registryAccess) -> dispatcher.register(literal(SkyblockerMod.NAMESPACE).then(optionsLiteral("config")).then(optionsLiteral("options")))));
}
@@ -551,4 +571,8 @@ public class SkyblockerConfig implements ConfigData {
public static SkyblockerConfig get() {
return AutoConfig.getConfigHolder(SkyblockerConfig.class).getConfig();
}
+
+ public static void save() {
+ AutoConfig.getConfigHolder(SkyblockerConfig.class).save();
+ }
}