53 lines
1.8 KiB
Java
53 lines
1.8 KiB
Java
package com.mojang.realmsclient.dto;
|
|
|
|
import com.google.gson.JsonObject;
|
|
import com.mojang.logging.LogUtils;
|
|
import com.mojang.realmsclient.util.JsonUtils;
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import org.jetbrains.annotations.Nullable;
|
|
import org.slf4j.Logger;
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
public class WorldTemplate extends ValueObject {
|
|
private static final Logger LOGGER = LogUtils.getLogger();
|
|
public String id = "";
|
|
public String name = "";
|
|
public String version = "";
|
|
public String author = "";
|
|
public String link = "";
|
|
@Nullable
|
|
public String image;
|
|
public String trailer = "";
|
|
public String recommendedPlayers = "";
|
|
public WorldTemplate.WorldTemplateType type = WorldTemplate.WorldTemplateType.WORLD_TEMPLATE;
|
|
|
|
public static WorldTemplate parse(JsonObject json) {
|
|
WorldTemplate worldTemplate = new WorldTemplate();
|
|
|
|
try {
|
|
worldTemplate.id = JsonUtils.getStringOr("id", json, "");
|
|
worldTemplate.name = JsonUtils.getStringOr("name", json, "");
|
|
worldTemplate.version = JsonUtils.getStringOr("version", json, "");
|
|
worldTemplate.author = JsonUtils.getStringOr("author", json, "");
|
|
worldTemplate.link = JsonUtils.getStringOr("link", json, "");
|
|
worldTemplate.image = JsonUtils.getStringOr("image", json, null);
|
|
worldTemplate.trailer = JsonUtils.getStringOr("trailer", json, "");
|
|
worldTemplate.recommendedPlayers = JsonUtils.getStringOr("recommendedPlayers", json, "");
|
|
worldTemplate.type = WorldTemplate.WorldTemplateType.valueOf(JsonUtils.getStringOr("type", json, WorldTemplate.WorldTemplateType.WORLD_TEMPLATE.name()));
|
|
} catch (Exception var3) {
|
|
LOGGER.error("Could not parse WorldTemplate: {}", var3.getMessage());
|
|
}
|
|
|
|
return worldTemplate;
|
|
}
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
public static enum WorldTemplateType {
|
|
WORLD_TEMPLATE,
|
|
MINIGAME,
|
|
ADVENTUREMAP,
|
|
EXPERIENCE,
|
|
INSPIRATION;
|
|
}
|
|
}
|