Skip to content

Vanilla Version

Class: VanillaVersion

A relatively simple record used to retrieve the current Minecraft version, and check against it.

public record VanillaVersion(int year, int drop, int patch) implements Comparable<VanillaVersion> {

    public static VanillaVersion parse(String version) {
        String[] parts = version.split("\\.");

        int major = parts.length > 0 ? Integer.parseInt(parts[0]) : 0;
        int drop = parts.length > 1 ? Integer.parseInt(parts[1]) : 0;
        int patch = parts.length > 2 ? Integer.parseInt(parts[2]) : 0;

        return new VanillaVersion(major, drop, patch);
    }

    public static VanillaVersion getVanillaVersion() {
        return parse(SharedConstants.getCurrentVersion().name());
    }

    @Override
    public int compareTo(VanillaVersion other) {
        int c = Integer.compare(year, other.year);
        if (c != 0) return c;

        c = Integer.compare(drop, other.drop);
        if (c != 0) return c;

        return Integer.compare(patch, other.patch);
    }

    @Override
    public String toString() {
        return year + "." + drop + "." + patch;
    }
}