package sk.tomsik68.mclauncher.api.versions; /** * General interface for versions * * @author Tomsik68 */ public interface IVersion extends Comparable<IVersion> { /** * @return Human-readable name of this version */ public String getDisplayName(); /** * @return ID of this version, like 1.7.5 */ public String getId(); /** * @return Unique ID of this version, like s1.7.5 or r1.7.5 */ public String getUniqueID(); /** * @return Installer that can install this version */ public IVersionInstaller getInstaller(); /** * @return Launcher that can run this version */ public IVersionLauncher getLauncher(); /** * @return True if this version is compatible with current runtime. */ public boolean isCompatible(); /** * @return Reason why it isn't compatible with specified runtime */ public String getIncompatibilityReason(); }