com.skcraft.launcher.model.modpack.Manifest.java Source code

Java tutorial

Introduction

Here is the source code for com.skcraft.launcher.model.modpack.Manifest.java

Source

/*
 * SK's Minecraft Launcher
 * Copyright (C) 2010-2014 Albert Pham <http://www.sk89q.com> and contributors
 * Please see LICENSE.txt for license information.
 */

package com.skcraft.launcher.model.modpack;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Strings;
import com.skcraft.launcher.Instance;
import com.skcraft.launcher.LauncherUtils;
import com.skcraft.launcher.model.minecraft.VersionManifest;
import com.skcraft.launcher.install.Installer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
public class Manifest extends BaseManifest {

    public static final int MIN_PROTOCOL_VERSION = 2;

    private int minimumVersion;
    private URL baseUrl;
    private String librariesLocation;
    private String objectsLocation;
    private String gameVersion;
    @JsonProperty("launch")
    private LaunchModifier launchModifier;
    private List<Feature> features = new ArrayList<Feature>();
    @JsonManagedReference("manifest")
    private List<ManifestEntry> tasks = new ArrayList<ManifestEntry>();
    @Getter
    @Setter
    @JsonIgnore
    private Installer installer;
    private VersionManifest versionManifest;

    @JsonIgnore
    public URL getLibrariesUrl() {
        if (Strings.nullToEmpty(getLibrariesLocation()) == null) {
            return null;
        }

        try {
            return LauncherUtils.concat(baseUrl, Strings.nullToEmpty(getLibrariesLocation()) + "/");
        } catch (MalformedURLException e) {
            throw new RuntimeException(e);
        }
    }

    @JsonIgnore
    public URL getObjectsUrl() {
        if (Strings.nullToEmpty(getObjectsLocation()) == null) {
            return baseUrl;
        }

        try {
            return LauncherUtils.concat(baseUrl, Strings.nullToEmpty(getObjectsLocation()) + "/");
        } catch (MalformedURLException e) {
            throw new RuntimeException(e);
        }
    }

    public void updateName(String name) {
        if (name != null) {
            setName(name);
        }
    }

    public void updateTitle(String title) {
        if (title != null) {
            setTitle(title);
        }
    }

    public void updateGameVersion(String gameVersion) {
        if (gameVersion != null) {
            setGameVersion(gameVersion);
        }
    }

    public void update(Instance instance) {
        instance.setLaunchModifier(getLaunchModifier());
    }
}