diff --git a/src/main/java/link/infra/packwiz/installer/UpdateManager.java b/src/main/java/link/infra/packwiz/installer/UpdateManager.java index 6750220..05c9446 100644 --- a/src/main/java/link/infra/packwiz/installer/UpdateManager.java +++ b/src/main/java/link/infra/packwiz/installer/UpdateManager.java @@ -12,6 +12,7 @@ import java.nio.file.Paths; import com.google.gson.Gson; import com.google.gson.JsonIOException; import com.google.gson.JsonSyntaxException; +import com.google.gson.annotations.SerializedName; import com.moandjiezana.toml.Toml; import link.infra.packwiz.installer.metadata.ManifestFile; @@ -33,7 +34,12 @@ public class UpdateManager { public Side side = Side.CLIENT; public static enum Side { - CLIENT("client"), SERVER("server"), BOTH("both", new Side[] { CLIENT, SERVER }); + @SerializedName("client") + CLIENT("client"), + @SerializedName("server") + SERVER("server"), + @SerializedName("both") + BOTH("both", new Side[] { CLIENT, SERVER }); private final String sideName; private final Side[] depSides; diff --git a/src/main/java/link/infra/packwiz/installer/metadata/IndexFile.java b/src/main/java/link/infra/packwiz/installer/metadata/IndexFile.java index dd7cca0..b14cdb6 100644 --- a/src/main/java/link/infra/packwiz/installer/metadata/IndexFile.java +++ b/src/main/java/link/infra/packwiz/installer/metadata/IndexFile.java @@ -14,5 +14,8 @@ public class IndexFile { @SerializedName("hash-format") public String hashFormat; public String hash; + public String alias; + public boolean metafile; + public boolean preserve; } } \ No newline at end of file diff --git a/src/main/java/link/infra/packwiz/installer/metadata/ModFile.java b/src/main/java/link/infra/packwiz/installer/metadata/ModFile.java new file mode 100644 index 0000000..1795b20 --- /dev/null +++ b/src/main/java/link/infra/packwiz/installer/metadata/ModFile.java @@ -0,0 +1,33 @@ +package link.infra.packwiz.installer.metadata; + +import java.net.URI; +import java.util.Map; + +import com.google.gson.annotations.SerializedName; + +import link.infra.packwiz.installer.UpdateManager.Options.Side; + +class ModFile { + public String name; + public String filename; + public Side side; + + public Download download; + public static class Download { + public URI url; + @SerializedName("hash-format") + public String hashFormat; + public String hash; + } + + public Map update; + + public Option option; + public static class Option { + public boolean optional; + public String description; + @SerializedName("default") + public boolean defaultValue; + } + +} \ No newline at end of file