From a63b6c3867e3acab261b3616069ed207ab1cff7e Mon Sep 17 00:00:00 2001 From: lionarius Date: Wed, 11 Dec 2024 07:05:53 +0300 Subject: [PATCH] implement GsonPostProcessable for SkinValue --- .../java/net/lionarius/skinrestorer/skin/SkinIO.java | 4 +--- .../net/lionarius/skinrestorer/skin/SkinValue.java | 10 +++++++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/common/src/main/java/net/lionarius/skinrestorer/skin/SkinIO.java b/common/src/main/java/net/lionarius/skinrestorer/skin/SkinIO.java index 5081373..ad4f843 100644 --- a/common/src/main/java/net/lionarius/skinrestorer/skin/SkinIO.java +++ b/common/src/main/java/net/lionarius/skinrestorer/skin/SkinIO.java @@ -27,9 +27,7 @@ public class SkinIO { public SkinValue loadSkin(UUID uuid) { try { - var value = SkinIO.loadSkin(savePath.resolve(SkinIO.uuidToFilename(uuid))); - Objects.requireNonNull(value.provider()); - return value; + return SkinIO.loadSkin(savePath.resolve(SkinIO.uuidToFilename(uuid))); } catch (Exception e) { return SkinValue.EMPTY; } diff --git a/common/src/main/java/net/lionarius/skinrestorer/skin/SkinValue.java b/common/src/main/java/net/lionarius/skinrestorer/skin/SkinValue.java index 8b8d34c..dd2ff7d 100644 --- a/common/src/main/java/net/lionarius/skinrestorer/skin/SkinValue.java +++ b/common/src/main/java/net/lionarius/skinrestorer/skin/SkinValue.java @@ -3,11 +3,14 @@ package net.lionarius.skinrestorer.skin; import com.mojang.authlib.properties.Property; import net.lionarius.skinrestorer.skin.provider.EmptySkinProvider; import net.lionarius.skinrestorer.skin.provider.SkinProviderContext; +import net.lionarius.skinrestorer.util.gson.GsonPostProcessable; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Objects; + public record SkinValue(@NotNull String provider, @Nullable String argument, @Nullable SkinVariant variant, - @Nullable Property value, @Nullable Property originalValue) { + @Nullable Property value, @Nullable Property originalValue) implements GsonPostProcessable { public static final SkinValue EMPTY = new SkinValue(EmptySkinProvider.PROVIDER_NAME, null, null, null); @@ -30,4 +33,9 @@ public record SkinValue(@NotNull String provider, @Nullable String argument, @Nu public SkinValue setOriginalValue(Property originalValue) { return new SkinValue(this.provider, this.argument, this.variant, this.value, originalValue); } + + @Override + public void gsonPostProcess() { + Objects.requireNonNull(this.provider); + } }