diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-09-24 14:12:29 -0400 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2023-09-24 14:16:07 -0400 |
commit | 7ff019278797431a9b9731834463497f1a33d5b6 (patch) | |
tree | 66e553ca84b5768053934434a091e27c4141e72d /src/main | |
parent | 7a990e6a87a2b0856c9abab3485e5de321bb6176 (diff) | |
download | Skyblocker-7ff019278797431a9b9731834463497f1a33d5b6.tar.gz Skyblocker-7ff019278797431a9b9731834463497f1a33d5b6.tar.bz2 Skyblocker-7ff019278797431a9b9731834463497f1a33d5b6.zip |
YACL 3.2.0 (+1.20.2 Support)
Diffstat (limited to 'src/main')
6 files changed, 19 insertions, 4 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigModel.java b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigModel.java index a4b8d1b0..a8f27a35 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigModel.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigModel.java @@ -14,6 +14,7 @@ import net.minecraft.client.resource.language.I18n; import net.minecraft.text.Text; import net.minecraft.util.Formatting; +@SuppressWarnings("deprecation") public class ConfigModel { @ConfigEntry public int version = 1; diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigSerializer.java b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigSerializer.java index 8aaa7d2d..2d63fc76 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigSerializer.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigSerializer.java @@ -6,18 +6,23 @@ import com.google.gson.FieldNamingPolicy; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import dev.isxander.yacl3.config.GsonConfigInstance.ColorTypeAdapter; +import dev.isxander.yacl3.config.v2.impl.serializer.GsonConfigSerializer; +import net.minecraft.item.Item; import net.minecraft.text.Style; import net.minecraft.text.Text; import net.minecraft.util.Identifier; +/** + * Note: The type hierarchy adapters are copied from YACL's code + */ class ConfigSerializer { static final Gson INSTANCE = new GsonBuilder() .setFieldNamingPolicy(FieldNamingPolicy.IDENTITY) .registerTypeHierarchyAdapter(Text.class, new Text.Serializer()) .registerTypeHierarchyAdapter(Style.class, new Style.Serializer()) .registerTypeHierarchyAdapter(Identifier.class, new Identifier.Serializer()) - .registerTypeHierarchyAdapter(Color.class, new ColorTypeAdapter()) + .registerTypeHierarchyAdapter(Color.class, new GsonConfigSerializer.ColorTypeAdapter()) + .registerTypeHierarchyAdapter(Item.class, new GsonConfigSerializer.ItemTypeAdapter()) .serializeNulls() .setPrettyPrinting() .create(); diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java index 57ea5893..f5605342 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java @@ -10,6 +10,6 @@ public class ConfigUtils { public static <E extends Enum<?>> CyclingListControllerBuilder<E> createCyclingListController4Enum(Option<E> opt) { E[] constants = (E[]) opt.binding().defaultValue().getClass().getEnumConstants(); - return CyclingListControllerBuilder.create(opt).values(constants).valueFormatter(c -> Text.of(c.toString())); + return CyclingListControllerBuilder.create(opt).values(constants).formatValue(formatter -> Text.of(formatter.toString())); } } diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java index 12007671..9020d7a0 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java +++ b/src/main/java/me/xmrvizzy/skyblocker/config/SkyblockerConfig.java @@ -23,12 +23,20 @@ import net.fabricmc.loader.api.FabricLoader; import net.minecraft.client.gui.screen.Screen; import net.minecraft.text.Text; +@SuppressWarnings("deprecation") public class SkyblockerConfig { private static final Path PATH = FabricLoader.getInstance().getConfigDir().resolve("skyblocker.json"); private static final GsonConfigInstance<ConfigModel> INSTANCE = GsonConfigInstance.createBuilder(ConfigModel.class) .setPath(PATH) .overrideGsonBuilder(ConfigSerializer.INSTANCE) .build(); + /*private static final ConfigClassHandler<ConfigModel> HANDLER = ConfigClassHandler.createBuilder(ConfigModel.class) + .serializer(config -> GsonConfigSerializerBuilder.create(config) + .setPath(PATH) + .setJson5(false) + .overrideGsonBuilder(ConfigSerializer.INSTANCE) + .build()) + .build();*/ public static ConfigModel get() { return INSTANCE.getConfig(); diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java index 97861e93..443ad509 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/item/CustomArmorTrims.java @@ -140,6 +140,7 @@ public class CustomArmorTrims { return Command.SINGLE_SUCCESS; } + @SuppressWarnings("deprecation") public record ArmorTrimId(@ConfigEntry Identifier material, @ConfigEntry Identifier pattern) implements Pair<Identifier, Identifier> { @Override public Identifier left() { diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 5ccf35c3..0920d7d7 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -38,7 +38,7 @@ "depends": { "fabricloader": ">=0.14.22", "fabric-api": ">=0.89.1+1.20.2", - "yet_another_config_lib_v3": ">=3.1.0+1.20", + "yet_another_config_lib_v3": ">=3.2.0+1.20.2", "minecraft": "~1.20.2" }, "conflicts": { |