summaryrefslogtreecommitdiffstats
path: root/logic/minecraft/VersionBuildError.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-05-10 01:53:32 +0200
committerPetr Mrázek <peterix@gmail.com>2014-06-09 01:38:30 +0200
commit92abe4c603e1f4931cd02ae6b752cb7054d8e30d (patch)
tree571c6bc638b474af7e44f4db626f15e301286a65 /logic/minecraft/VersionBuildError.h
parent9860d5ee12acde8f7893848dac53f59ea66da281 (diff)
downloadMultiMC-92abe4c603e1f4931cd02ae6b752cb7054d8e30d.tar
MultiMC-92abe4c603e1f4931cd02ae6b752cb7054d8e30d.tar.gz
MultiMC-92abe4c603e1f4931cd02ae6b752cb7054d8e30d.tar.lz
MultiMC-92abe4c603e1f4931cd02ae6b752cb7054d8e30d.tar.xz
MultiMC-92abe4c603e1f4931cd02ae6b752cb7054d8e30d.zip
All of the broken legacy things work.
Diffstat (limited to 'logic/minecraft/VersionBuildError.h')
-rw-r--r--logic/minecraft/VersionBuildError.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/logic/minecraft/VersionBuildError.h b/logic/minecraft/VersionBuildError.h
new file mode 100644
index 00000000..ae479851
--- /dev/null
+++ b/logic/minecraft/VersionBuildError.h
@@ -0,0 +1,58 @@
+#include "MMCError.h"
+
+class VersionBuildError : public MMCError
+{
+public:
+ VersionBuildError(QString cause) : MMCError(cause) {};
+ virtual ~VersionBuildError() noexcept
+ {
+ }
+};
+
+/**
+ * the base version file was meant for a newer version of the vanilla launcher than we support
+ */
+class LauncherVersionError : public VersionBuildError
+{
+public:
+ LauncherVersionError(int actual, int supported)
+ : VersionBuildError(QObject::tr(
+ "The base version file of this instance was meant for a newer (%1) "
+ "version of the vanilla launcher than this version of MultiMC supports (%2).")
+ .arg(actual)
+ .arg(supported)) {};
+ virtual ~LauncherVersionError() noexcept
+ {
+ }
+};
+
+/**
+ * some patch was intended for a different version of minecraft
+ */
+class MinecraftVersionMismatch : public VersionBuildError
+{
+public:
+ MinecraftVersionMismatch(QString fileId, QString mcVersion, QString parentMcVersion)
+ : VersionBuildError(QObject::tr("The patch %1 is for a different version of Minecraft "
+ "(%2) than that of the instance (%3).")
+ .arg(fileId)
+ .arg(mcVersion)
+ .arg(parentMcVersion)) {};
+ virtual ~MinecraftVersionMismatch() noexcept
+ {
+ }
+};
+
+/**
+ * files required for the version are not (yet?) present
+ */
+class VersionIncomplete : public VersionBuildError
+{
+public:
+ VersionIncomplete(QString missingPatch)
+ : VersionBuildError(QObject::tr("Version is incomplete: missing %1.")
+ .arg(missingPatch)) {};
+ virtual ~VersionIncomplete() noexcept
+ {
+ }
+}; \ No newline at end of file