diff options
Diffstat (limited to 'launcher')
134 files changed, 6002 insertions, 683 deletions
diff --git a/launcher/Application.cpp b/launcher/Application.cpp index ea8d2326..4ba9eb9b 100644 --- a/launcher/Application.cpp +++ b/launcher/Application.cpp @@ -915,13 +915,13 @@ bool Application::createSetupWizard() return false; } -bool Application::event(QEvent* event) { +bool Application::event(QEvent* event) +{ #ifdef Q_OS_MACOS if (event->type() == QEvent::ApplicationStateChange) { auto ev = static_cast<QApplicationStateChangeEvent*>(event); - if (m_prevAppState == Qt::ApplicationActive - && ev->applicationState() == Qt::ApplicationActive) { + if (m_prevAppState == Qt::ApplicationActive && ev->applicationState() == Qt::ApplicationActive) { emit clickedOnDock(); } m_prevAppState = ev->applicationState(); diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt index e8afa6b8..3eb765dc 100644 --- a/launcher/CMakeLists.txt +++ b/launcher/CMakeLists.txt @@ -796,6 +796,8 @@ SET(LAUNCHER_SOURCES ui/dialogs/ExportInstanceDialog.h ui/dialogs/IconPickerDialog.cpp ui/dialogs/IconPickerDialog.h + ui/dialogs/ImportResourcePackDialog.cpp + ui/dialogs/ImportResourcePackDialog.h ui/dialogs/LoginDialog.cpp ui/dialogs/LoginDialog.h ui/dialogs/MSALoginDialog.cpp @@ -944,6 +946,7 @@ qt_wrap_ui(LAUNCHER_UI ui/dialogs/SkinUploadDialog.ui ui/dialogs/ExportInstanceDialog.ui ui/dialogs/IconPickerDialog.ui + ui/dialogs/ImportResourcePackDialog.ui ui/dialogs/MSALoginDialog.ui ui/dialogs/OfflineLoginDialog.ui ui/dialogs/AboutDialog.ui diff --git a/launcher/FileSystem.cpp b/launcher/FileSystem.cpp index 987f4e74..1da50e21 100644 --- a/launcher/FileSystem.cpp +++ b/launcher/FileSystem.cpp @@ -49,6 +49,7 @@ #include "StringUtils.h" #if defined Q_OS_WIN32 +#define WIN32_LEAN_AND_MEAN #include <objbase.h> #include <objidl.h> #include <shlguid.h> @@ -343,12 +344,37 @@ QString getDesktopDir() } // Cross-platform Shortcut creation -bool createShortCut(QString location, QString dest, QStringList args, QString name, QString icon) +bool createShortcut(QString destination, QString target, QStringList args, QString name, QString icon) { -#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) - location = PathCombine(location, name + ".desktop"); +#if defined(Q_OS_MACOS) + destination += ".command"; - QFile f(location); + QFile f(destination); + f.open(QIODevice::WriteOnly | QIODevice::Text); + QTextStream stream(&f); + + QString argstring; + if (!args.empty()) + argstring = " \"" + args.join("\" \"") + "\""; + + stream << "#!/bin/bash" + << "\n"; + stream << "\"" + << target + << "\" " + << argstring + << "\n"; + + stream.flush(); + f.close(); + + f.setPermissions(f.permissions() | QFileDevice::ExeOwner | QFileDevice::ExeGroup | QFileDevice::ExeOther); + + return true; +#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) || defined(Q_OS_OPENBSD) + destination += ".desktop"; + + QFile f(destination); f.open(QIODevice::WriteOnly | QIODevice::Text); QTextStream stream(&f); @@ -360,10 +386,12 @@ bool createShortCut(QString location, QString dest, QStringList args, QString na << "\n"; stream << "Type=Application" << "\n"; - stream << "TryExec=" << dest.toLocal8Bit() << "\n"; - stream << "Exec=" << dest.toLocal8Bit() << argstring.toLocal8Bit() << "\n"; + stream << "Exec=\"" << target.toLocal8Bit() << "\"" << argstring.toLocal8Bit() << "\n"; stream << "Name=" << name.toLocal8Bit() << "\n"; - stream << "Icon=" << icon.toLocal8Bit() << "\n"; + if (!icon.isEmpty()) + { + stream << "Icon=" << icon.toLocal8Bit() << "\n"; + } stream.flush(); f.close(); @@ -371,25 +399,132 @@ bool createShortCut(QString location, QString dest, QStringList args, QString na f.setPermissions(f.permissions() | QFileDevice::ExeOwner | QFileDevice::ExeGroup | QFileDevice::ExeOther); return true; -#elif defined Q_OS_WIN - // TODO: Fix - // QFile file(PathCombine(location, name + ".lnk")); - // WCHAR *file_w; - // WCHAR *dest_w; - // WCHAR *args_w; - // file.fileName().toWCharArray(file_w); - // dest.toWCharArray(dest_w); - - // QString argStr; - // for (int i = 0; i < args.count(); i++) - // { - // argStr.append(args[i]); - // argStr.append(" "); - // } - // argStr.toWCharArray(args_w); - - // return SUCCEEDED(CreateLink(file_w, dest_w, args_w)); - return false; +#elif defined(Q_OS_WIN) + QFileInfo targetInfo(target); + + if (!targetInfo.exists()) + { + qWarning() << "Target file does not exist!"; + return false; + } + + target = targetInfo.absoluteFilePath(); + + if (target.length() >= MAX_PATH) + { + qWarning() << "Target file path is too long!"; + return false; + } + + if (!icon.isEmpty() && icon.length() >= MAX_PATH) + { + qWarning() << "Icon path is too long!"; + return false; + } + + destination += ".lnk"; + + if (destination.length() >= MAX_PATH) + { + qWarning() << "Destination path is too long!"; + return false; + } + + QString argStr; + int argCount = args.count(); + for (int i = 0; i < argCount; i++) + { + if (args[i].contains(' ')) + { + argStr.append('"').append(args[i]).append('"'); + } + else + { + argStr.append(args[i]); + } + + if (i < argCount - 1) + { + argStr.append(" "); + } + } + + if (argStr.length() >= MAX_PATH) + { + qWarning() << "Arguments string is too long!"; + return false; + } + + HRESULT hres; + + // ...yes, you need to initialize the entire COM stack just to make a shortcut + hres = CoInitialize(nullptr); + if (FAILED(hres)) + { + qWarning() << "Failed to initialize COM!"; + return false; + } + + WCHAR wsz[MAX_PATH]; + + IShellLink* psl; + + // create an IShellLink instance - this stores the shortcut's attributes + hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&psl); + if (SUCCEEDED(hres)) + { + wmemset(wsz, 0, MAX_PATH); + target.toWCharArray(wsz); + psl->SetPath(wsz); + + wmemset(wsz, 0, MAX_PATH); + argStr.toWCharArray(wsz); + psl->SetArguments(wsz); + + wmemset(wsz, 0, MAX_PATH); + targetInfo.absolutePath().toWCharArray(wsz); + psl->SetWorkingDirectory(wsz); // "Starts in" attribute + + if (!icon.isEmpty()) + { + wmemset(wsz, 0, MAX_PATH); + icon.toWCharArray(wsz); + psl->SetIconLocation(wsz, 0); + } + + // query an IPersistFile interface from our IShellLink instance + // this is the interface that will actually let us save the shortcut to disk! + IPersistFile* ppf; + hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf); + if (SUCCEEDED(hres)) + { + wmemset(wsz, 0, MAX_PATH); + destination.toWCharArray(wsz); + hres = ppf->Save(wsz, TRUE); + if (FAILED(hres)) + { + qWarning() << "IPresistFile->Save() failed"; + qWarning() << "hres = " << hres; + } + ppf->Release(); + } + else + { + qWarning() << "Failed to query IPersistFile interface from IShellLink instance"; + qWarning() << "hres = " << hres; + } + psl->Release(); + } + else + { + qWarning() << "Failed to create IShellLink instance"; + qWarning() << "hres = " << hres; + } + + // go away COM, nobody likes you + CoUninitialize(); + + return SUCCEEDED(hres); #else qWarning("Desktop Shortcuts not supported on your platform!"); return false; diff --git a/launcher/FileSystem.h b/launcher/FileSystem.h index a9a81123..ac893725 100644 --- a/launcher/FileSystem.h +++ b/launcher/FileSystem.h @@ -172,4 +172,9 @@ QString getDesktopDir(); // Overrides one folder with the contents of another, preserving items exclusive to the first folder // Equivalent to doing QDir::rename, but allowing for overrides bool overrideFolder(QString overwritten_path, QString override_path); + +/** + * Creates a shortcut to the specified target file at the specified destination path. + */ +bool createShortcut(QString destination, QString target, QStringList args, QString name, QString icon); } diff --git a/launcher/InstanceCreationTask.cpp b/launcher/InstanceCreationTask.cpp index 3971effa..73dc1789 100644 --- a/launcher/InstanceCreationTask.cpp +++ b/launcher/InstanceCreationTask.cpp @@ -25,9 +25,13 @@ void InstanceCreationTask::executeTask() return; qWarning() << "Instance creation failed!"; - if (!m_error_message.isEmpty()) + if (!m_error_message.isEmpty()) { qWarning() << "Reason: " << m_error_message; - emitFailed(tr("Error while creating new instance.")); + emitFailed(tr("Error while creating new instance:\n%1").arg(m_error_message)); + } else { + emitFailed(tr("Error while creating new instance.")); + } + return; } diff --git a/launcher/InstanceImportTask.cpp b/launcher/InstanceImportTask.cpp index b490620d..5f459649 100644 --- a/launcher/InstanceImportTask.cpp +++ b/launcher/InstanceImportTask.cpp @@ -164,18 +164,14 @@ void InstanceImportTask::processZipPack() } else { - QString mmcRoot = MMCZip::findFolderOfFileInZip(m_packZip.get(), "instance.cfg"); - QString flameRoot = MMCZip::findFolderOfFileInZip(m_packZip.get(), "manifest.json"); + QStringList paths_to_ignore { "overrides/" }; - if (!mmcRoot.isNull()) - { + if (QString mmcRoot = MMCZip::findFolderOfFileInZip(m_packZip.get(), "instance.cfg", paths_to_ignore); !mmcRoot.isNull()) { // process as MultiMC instance/pack qDebug() << "MultiMC:" << mmcRoot; root = mmcRoot; m_modpackType = ModpackType::MultiMC; - } - else if(!flameRoot.isNull()) - { + } else if (QString flameRoot = MMCZip::findFolderOfFileInZip(m_packZip.get(), "manifest.json", paths_to_ignore); !flameRoot.isNull()) { // process as Flame pack qDebug() << "Flame:" << flameRoot; root = flameRoot; diff --git a/launcher/MMCZip.cpp b/launcher/MMCZip.cpp index 9f4e968f..f6600343 100644 --- a/launcher/MMCZip.cpp +++ b/launcher/MMCZip.cpp @@ -39,6 +39,7 @@ #include "MMCZip.h" #include "FileSystem.h" +#include <QCoreApplication> #include <QDebug> // ours @@ -228,23 +229,27 @@ bool MMCZip::createModdedJar(QString sourceJarPath, QString targetJarPath, const } // ours -QString MMCZip::findFolderOfFileInZip(QuaZip * zip, const QString & what, const QString &root) +QString MMCZip::findFolderOfFileInZip(QuaZip* zip, const QString& what, const QStringList& ignore_paths, const QString& root) { QuaZipDir rootDir(zip, root); - for(auto fileName: rootDir.entryList(QDir::Files)) - { - if(fileName == what) + for (auto&& fileName : rootDir.entryList(QDir::Files)) { + if (fileName == what) return root; + + QCoreApplication::processEvents(); } - for(auto fileName: rootDir.entryList(QDir::Dirs)) - { - QString result = findFolderOfFileInZip(zip, what, root + fileName); - if(!result.isEmpty()) - { + + // Recurse the search to non-ignored subfolders + for (auto&& fileName : rootDir.entryList(QDir::Dirs)) { + if (ignore_paths.contains(fileName)) + continue; + + QString result = findFolderOfFileInZip(zip, what, ignore_paths, root + fileName); + if (!result.isEmpty()) return result; - } } - return QString(); + + return {}; } // ours diff --git a/launcher/MMCZip.h b/launcher/MMCZip.h index ce9775bd..81f9cb90 100644 --- a/launcher/MMCZip.h +++ b/launcher/MMCZip.h @@ -80,9 +80,11 @@ namespace MMCZip /** * Find a single file in archive by file name (not path) * + * \param ignore_paths paths to skip when recursing the search + * * \return the path prefix where the file is */ - QString findFolderOfFileInZip(QuaZip * zip, const QString & what, const QString &root = QString("")); + QString findFolderOfFileInZip(QuaZip * zip, const QString & what, const QStringList& ignore_paths = {}, const QString &root = QString("")); /** * Find a multiple files of the same name in archive by file name diff --git a/launcher/minecraft/Agent.h b/launcher/minecraft/Agent.h index 01109daf..374e6e94 100644 --- a/launcher/minecraft/Agent.h +++ b/launcher/minecraft/Agent.h @@ -10,7 +10,7 @@ typedef std::shared_ptr<Agent> AgentPtr; class Agent { public: - Agent(LibraryPtr library, QString &argument) + Agent(LibraryPtr library, const QString &argument) { m_library = library; m_argument = argument; diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp index 70d0b949..a3adb268 100644 --- a/launcher/minecraft/MinecraftInstance.cpp +++ b/launcher/minecraft/MinecraftInstance.cpp @@ -1110,8 +1110,6 @@ std::shared_ptr<ResourcePackFolderModel> MinecraftInstance::resourcePackList() c if (!m_resource_pack_list) { m_resource_pack_list.reset(new ResourcePackFolderModel(resourcePacksDir())); - m_resource_pack_list->enableInteraction(!isRunning()); - connect(this, &BaseInstance::runningStatusChanged, m_resource_pack_list.get(), &ResourcePackFolderModel::disableInteraction); } return m_resource_pack_list; } @@ -1121,8 +1119,6 @@ std::shared_ptr<TexturePackFolderModel> MinecraftInstance::texturePackList() con if (!m_texture_pack_list) { m_texture_pack_list.reset(new TexturePackFolderModel(texturePacksDir())); - m_texture_pack_list->disableInteraction(isRunning()); - connect(this, &BaseInstance::runningStatusChanged, m_texture_pack_list.get(), &ModFolderModel::disableInteraction); } return m_texture_pack_list; } @@ -1132,8 +1128,6 @@ std::shared_ptr<ShaderPackFolderModel> MinecraftInstance::shaderPackList() const if (!m_shader_pack_list) { m_shader_pack_list.reset(new ShaderPackFolderModel(shaderPacksDir())); - m_shader_pack_list->disableInteraction(isRunning()); - connect(this, &BaseInstance::runningStatusChanged, m_shader_pack_list.get(), &ModFolderModel::disableInteraction); } return m_shader_pack_list; } diff --git a/launcher/minecraft/PackProfile.cpp b/launcher/minecraft/PackProfile.cpp index 6ce525eb..43fa3f8d 100644 --- a/launcher/minecraft/PackProfile.cpp +++ b/launcher/minecraft/PackProfile.cpp @@ -1,7 +1,8 @@ // SPDX-License-Identifier: GPL-3.0-only /* - * PolyMC - Minecraft Launcher + * Prism Launcher - Minecraft Launcher * Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net> + * Copyright (C) 2022 TheKodeToad <TheKodeToad@proton.me> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -47,7 +48,6 @@ #include "Exception.h" #include "minecraft/OneSixVersionFormat.h" #include "FileSystem.h" -#include "meta/Index.h" #include "minecraft/MinecraftInstance.h" #include "Json.h" @@ -55,7 +55,6 @@ #include "PackProfile_p.h" #include "ComponentUpdateTask.h" -#include "Application.h" #include "modplatform/ModAPI.h" static const QMap<QString, ModAPI::ModLoaderType> modloaderMapping{ @@ -738,6 +737,11 @@ void PackProfile::installCustomJar(QString selectedFile) installCustomJar_internal(selectedFile); } +void PackProfile::installAgents(QStringList selectedFiles) +{ + installAgents_internal(selectedFiles); +} + bool PackProfile::installEmpty(const QString& uid, const QString& name) { QString patchDir = FS::PathCombine(d->m_instance->instanceRoot(), "patches"); @@ -832,18 +836,14 @@ bool PackProfile::installJarMods_internal(QStringList filepaths) for(auto filepath:filepaths) { QFileInfo sourceInfo(filepath); - auto uuid = QUuid::createUuid(); - QString id = uuid.toString().remove('{').remove('}'); + QString id = QUuid::createUuid().toString(QUuid::WithoutBraces); QString target_filename = id + ".jar"; - QString target_id = "org.multimc.jarmod." + id; + QString target_id = "custom.jarmod." + id; QString target_name = sourceInfo.completeBaseName() + " (jar mod)"; QString finalPath = FS::PathCombine(d->m_instance->jarModsDir(), target_filename); QFileInfo targetInfo(finalPath); - if(targetInfo.exists()) - { - return false; - } + Q_ASSERT(!targetInfo.exists()); if (!QFile::copy(sourceInfo.absoluteFilePath(),QFileInfo(finalPath).absoluteFilePath())) { @@ -852,7 +852,7 @@ bool PackProfile::installJarMods_internal(QStringList filepaths) auto f = std::make_shared<VersionFile>(); auto jarMod = std::make_shared<Library>(); - jarMod->setRawName(GradleSpecifier("org.multimc.jarmods:" + id + ":1")); + jarMod->setRawName(GradleSpecifier("custom.jarmods:" + id + ":1")); jarMod->setFilename(target_filename); jarMod->setDisplayName(sourceInfo.completeBaseName()); jarMod->setHint("local"); @@ -892,7 +892,7 @@ bool PackProfile::installCustomJar_internal(QString filepath) return false; } - auto specifier = GradleSpecifier("org.multimc:customjar:1"); + auto specifier = GradleSpecifier("custom:customjar:1"); QFileInfo sourceInfo(filepath); QString target_filename = specifier.getFileName(); QString target_id = specifier.artifactId(); @@ -939,6 +939,64 @@ bool PackProfile::installCustomJar_internal(QString filepath) return true; } +bool PackProfile::installAgents_internal(QStringList filepaths) +{ + // FIXME code duplication + const QString patchDir = FS::PathCombine(d->m_instance->instanceRoot(), "patches"); + if (!FS::ensureFolderPathExists(patchDir)) + return false; + + const QString libDir = d->m_instance->getLocalLibraryPath(); + if (!FS::ensureFolderPathExists(libDir)) + return false; + + for (const QString& source : filepaths) { + const QFileInfo sourceInfo(source); + const QString id = QUuid::createUuid().toString(QUuid::WithoutBraces); + const QString targetBaseName = id + ".jar"; + const QString targetId = "custom.agent." + id; + const QString targetName = sourceInfo.completeBaseName() + " (agent)"; + const QString target = FS::PathCombine(d->m_instance->getLocalLibraryPath(), targetBaseName); + + const QFileInfo targetInfo(target); + Q_ASSERT(!targetInfo.exists()); + + if (!QFile::copy(source, target)) + return false; + + auto versionFile = std::make_shared<VersionFile>(); + + auto agent = std::make_shared<Library>(); + + agent->setRawName("custom.agents:" + id + ":1"); + agent->setFilename(targetBaseName); + agent->setDisplayName(sourceInfo.completeBaseName()); + agent->setHint("local"); + + versionFile->agents.append(std::make_shared<Agent>(agent, QString())); + + versionFile->name = targetName; + versionFile->uid = targetId; + + QFile patchFile(FS::PathCombine(patchDir, targetId + ".json")); + + if (!patchFile.open(QFile::WriteOnly)) { + qCritical() << "Error opening" << patchFile.fileName() << "for reading:" << patchFile.errorString(); + return false; + } + + patchFile.write(OneSixVersionFormat::versionFileToJson(versionFile).toJson()); + patchFile.close(); + + appendComponent(new Component(this, versionFile->uid, versionFile)); + } + + scheduleSave(); + invalidateLaunchProfile(); + + return true; +} + std::shared_ptr<LaunchProfile> PackProfile::getProfile() const { if(!d->m_profile) diff --git a/launcher/minecraft/PackProfile.h b/launcher/minecraft/PackProfile.h index 807511a2..2330cca1 100644 --- a/launcher/minecraft/PackProfile.h +++ b/launcher/minecraft/PackProfile.h @@ -1,7 +1,8 @@ // SPDX-License-Identifier: GPL-3.0-only /* - * PolyMC - Minecraft Launcher + * Prism Launcher - Minecraft Launcher * Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net> + * Copyright (C) 2022 TheKodeToad <TheKodeToad@proton.me> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -85,6 +86,9 @@ public: /// install a jar/zip as a replacement for the main jar void installCustomJar(QString selectedFile); + /// install Java agent files + void installAgents(QStringList selectedFiles); + enum MoveDirection { MoveUp, MoveDown }; /// move component file # up or down the list void move(const int index, const MoveDirection direction); @@ -167,6 +171,7 @@ private: bool load(); bool installJarMods_internal(QStringList filepaths); bool installCustomJar_internal(QString filepath); + bool installAgents_internal(QStringList filepaths); bool removeComponent_internal(ComponentPtr patch); private: /* data */ diff --git a/launcher/minecraft/mod/ResourcePack.cpp b/launcher/minecraft/mod/ResourcePack.cpp index 3fc10a2f..4a9ad21b 100644 --- a/launcher/minecraft/mod/ResourcePack.cpp +++ b/launcher/minecraft/mod/ResourcePack.cpp @@ -15,7 +15,7 @@ static const QMap<int, std::pair<Version, Version>> s_pack_format_versions = { { 3, { Version("1.11"), Version("1.12.2") } }, { 4, { Version("1.13"), Version("1.14.4") } }, { 5, { Version("1.15"), Version("1.16.1") } }, { 6, { Version("1.16.2"), Version("1.16.5") } }, { 7, { Version("1.17"), Version("1.17.1") } }, { 8, { Version("1.18"), Version("1.18.2") } }, - { 9, { Version("1.19"), Version("1.19.2") } }, + { 9, { Version("1.19"), Version("1.19.2") } }, { 11, { Version("1.19.3"), Version("1.19.3") } }, }; void ResourcePack::setPackFormat(int new_format_id) @@ -114,3 +114,8 @@ bool ResourcePack::applyFilter(QRegularExpression filter) const return Resource::applyFilter(filter); } + +bool ResourcePack::valid() const +{ + return m_pack_format != 0; +} diff --git a/launcher/minecraft/mod/ResourcePack.h b/launcher/minecraft/mod/ResourcePack.h index 03121908..7cb414d8 100644 --- a/launcher/minecraft/mod/ResourcePack.h +++ b/launcher/minecraft/mod/ResourcePack.h @@ -42,6 +42,8 @@ class ResourcePack : public Resource { /** Thread-safe. */ void setImage(QImage new_image); + bool valid() const override; + [[nodiscard]] auto compare(Resource const& other, SortType type) const -> std::pair<int, bool> override; [[nodiscard]] bool applyFilter(QRegularExpression filter) const override; diff --git a/launcher/minecraft/mod/TexturePack.cpp b/launcher/minecraft/mod/TexturePack.cpp index 796eb69d..99d55584 100644 --- a/launcher/minecraft/mod/TexturePack.cpp +++ b/launcher/minecraft/mod/TexturePack.cpp @@ -62,3 +62,8 @@ QPixmap TexturePack::image(QSize size) TexturePackUtils::process(*this); return image(size); } + +bool TexturePack::valid() const +{ + return m_description != nullptr; +} diff --git a/launcher/minecraft/mod/TexturePack.h b/launcher/minecraft/mod/TexturePack.h index 6aa5e18e..81bd5c69 100644 --- a/launcher/minecraft/mod/TexturePack.h +++ b/launcher/minecraft/mod/TexturePack.h @@ -48,6 +48,8 @@ class TexturePack : public Resource { /** Thread-safe. */ void setImage(QImage new_image); + bool valid() const override; + protected: mutable QMutex m_data_lock; diff --git a/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.cpp b/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.cpp index 4f87bc13..6fd4b024 100644 --- a/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.cpp +++ b/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.cpp @@ -28,14 +28,14 @@ namespace ResourcePackUtils { -bool process(ResourcePack& pack) +bool process(ResourcePack& pack, ProcessingLevel level) { switch (pack.type()) { case ResourceType::FOLDER: - ResourcePackUtils::processFolder(pack); + ResourcePackUtils::processFolder(pack, level); return true; case ResourceType::ZIPFILE: - ResourcePackUtils::processZIP(pack); + ResourcePackUtils::processZIP(pack, level); return true; default: qWarning() << "Invalid type for resource pack parse task!"; @@ -43,7 +43,7 @@ bool process(ResourcePack& pack) } } -void processFolder(ResourcePack& pack) +void processFolder(ResourcePack& pack, ProcessingLevel level) { Q_ASSERT(pack.type() == ResourceType::FOLDER); @@ -60,6 +60,9 @@ void processFolder(ResourcePack& pack) mcmeta_file.close(); } + if (level == ProcessingLevel::BasicInfoOnly) + return; + QFileInfo image_file_info(FS::PathCombine(pack.fileinfo().filePath(), "pack.png")); if (image_file_info.isFile()) { QFile mcmeta_file(image_file_info.filePath()); @@ -74,7 +77,7 @@ void processFolder(ResourcePack& pack) } } -void processZIP(ResourcePack& pack) +void processZIP(ResourcePack& pack, ProcessingLevel level) { Q_ASSERT(pack.type() == ResourceType::ZIPFILE); @@ -98,6 +101,11 @@ void processZIP(ResourcePack& pack) file.close(); } + if (level == ProcessingLevel::BasicInfoOnly) { + zip.close(); + return; + } + if (zip.setCurrentFile("pack.png")) { if (!file.open(QIODevice::ReadOnly)) { qCritical() << "Failed to open file in zip."; @@ -138,6 +146,13 @@ void processPackPNG(ResourcePack& pack, QByteArray&& raw_data) qWarning() << "Failed to parse pack.png."; } } + +bool validate(QFileInfo file) +{ + ResourcePack rp{ file }; + return ResourcePackUtils::process(rp, ProcessingLevel::BasicInfoOnly) && rp.valid(); +} + } // namespace ResourcePackUtils LocalResourcePackParseTask::LocalResourcePackParseTask(int token, ResourcePack& rp) @@ -152,8 +167,6 @@ bool LocalResourcePackParseTask::abort() void LocalResourcePackParseTask::executeTask() { - Q_ASSERT(m_resource_pack.valid()); - if (!ResourcePackUtils::process(m_resource_pack)) return; diff --git a/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.h b/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.h index d3c25464..69dbd6ad 100644 --- a/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.h +++ b/launcher/minecraft/mod/tasks/LocalResourcePackParseTask.h @@ -26,13 +26,19 @@ #include "tasks/Task.h" namespace ResourcePackUtils { -bool process(ResourcePack& pack); -void processZIP(ResourcePack& pack); -void processFolder(ResourcePack& pack); +enum class ProcessingLevel { Full, BasicInfoOnly }; + +bool process(ResourcePack& pack, ProcessingLevel level = ProcessingLevel::Full); + +void processZIP(ResourcePack& pack, ProcessingLevel level = ProcessingLevel::Full); +void processFolder(ResourcePack& pack, ProcessingLevel level = ProcessingLevel::Full); void processMCMeta(ResourcePack& pack, QByteArray&& raw_data); void processPackPNG(ResourcePack& pack, QByteArray&& raw_data); + +/** Checks whether a file is valid as a resource pack or not. */ +bool validate(QFileInfo file); } // namespace ResourcePackUtils class LocalResourcePackParseTask : public Task { diff --git a/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.cpp b/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.cpp index bf1e308f..adb19aca 100644 --- a/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.cpp +++ b/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.cpp @@ -28,14 +28,14 @@ namespace TexturePackUtils { -bool process(TexturePack& pack) +bool process(TexturePack& pack, ProcessingLevel level) { switch (pack.type()) { case ResourceType::FOLDER: - TexturePackUtils::processFolder(pack); + TexturePackUtils::processFolder(pack, level); return true; case ResourceType::ZIPFILE: - TexturePackUtils::processZIP(pack); + TexturePackUtils::processZIP(pack, level); return true; default: qWarning() << "Invalid type for resource pack parse task!"; @@ -43,7 +43,7 @@ bool process(TexturePack& pack) } } -void processFolder(TexturePack& pack) +void processFolder(TexturePack& pack, ProcessingLevel level) { Q_ASSERT(pack.type() == ResourceType::FOLDER); @@ -60,6 +60,9 @@ void processFolder(TexturePack& pack) mcmeta_file.close(); } + if (level == ProcessingLevel::BasicInfoOnly) + return; + QFileInfo image_file_info(FS::PathCombine(pack.fileinfo().filePath(), "pack.png")); if (image_file_info.isFile()) { QFile mcmeta_file(image_file_info.filePath()); @@ -74,7 +77,7 @@ void processFolder(TexturePack& pack) } } -void processZIP(TexturePack& pack) +void processZIP(TexturePack& pack, ProcessingLevel level) { Q_ASSERT(pack.type() == ResourceType::ZIPFILE); @@ -98,6 +101,11 @@ void processZIP(TexturePack& pack) file.close(); } + if (level == ProcessingLevel::BasicInfoOnly) { + zip.close(); + return; + } + if (zip.setCurrentFile("pack.png")) { if (!file.open(QIODevice::ReadOnly)) { qCritical() << "Failed to open file in zip."; @@ -129,6 +137,13 @@ void processPackPNG(TexturePack& pack, QByteArray&& raw_data) qWarning() << "Failed to parse pack.png."; } } + +bool validate(QFileInfo file) +{ + TexturePack rp{ file }; + return TexturePackUtils::process(rp, ProcessingLevel::BasicInfoOnly) && rp.valid(); +} + } // namespace TexturePackUtils LocalTexturePackParseTask::LocalTexturePackParseTask(int token, TexturePack& rp) @@ -143,8 +158,6 @@ bool LocalTexturePackParseTask::abort() void LocalTexturePackParseTask::executeTask() { - Q_ASSERT(m_texture_pack.valid()); - if (!TexturePackUtils::process(m_texture_pack)) return; diff --git a/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.h b/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.h index cb0e404a..9f7aab75 100644 --- a/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.h +++ b/launcher/minecraft/mod/tasks/LocalTexturePackParseTask.h @@ -27,13 +27,19 @@ #include "tasks/Task.h" namespace TexturePackUtils { -bool process(TexturePack& pack); -void processZIP(TexturePack& pack); -void processFolder(TexturePack& pack); +enum class ProcessingLevel { Full, BasicInfoOnly }; + +bool process(TexturePack& pack, ProcessingLevel level = ProcessingLevel::Full); + +void processZIP(TexturePack& pack, ProcessingLevel level = ProcessingLevel::Full); +void processFolder(TexturePack& pack, ProcessingLevel level = ProcessingLevel::Full); void processPackTXT(TexturePack& pack, QByteArray&& raw_data); void processPackPNG(TexturePack& pack, QByteArray&& raw_data); + +/** Checks whether a file is valid as a texture pack or not. */ +bool validate(QFileInfo file); } // namespace TexturePackUtils class LocalTexturePackParseTask : public Task { diff --git a/launcher/modplatform/flame/FileResolvingTask.cpp b/launcher/modplatform/flame/FileResolvingTask.cpp index 25b56fbd..7f1beb1a 100644 --- a/launcher/modplatform/flame/FileResolvingTask.cpp +++ b/launcher/modplatform/flame/FileResolvingTask.cpp @@ -42,12 +42,25 @@ void Flame::FileResolvingTask::executeTask() void Flame::FileResolvingTask::netJobFinished() { setProgress(1, 3); - int index = 0; // job to check modrinth for blocked projects m_checkJob = new NetJob("Modrinth check", m_network); blockedProjects = QMap<File *,QByteArray *>(); - auto doc = Json::requireDocument(*result); - auto array = Json::requireArray(doc.object()["data"]); + + QJsonDocument doc; + QJsonArray array; + + try { + doc = Json::requireDocument(*result); + array = Json::requireArray(doc.object()["data"]); + } catch (Json::JsonException& e) { + qCritical() << "Non-JSON data returned from the CF API"; + qCritical() << e.cause(); + + emitFailed(tr("Invalid data returned from the API.")); + + return; + } + for (QJsonValueRef file : array) { auto fileid = Json::requireInteger(Json::requireObject(file)["id"]); auto& out = m_toProcess.files[fileid]; @@ -68,7 +81,6 @@ void Flame::FileResolvingTask::netJobFinished() blockedProjects.insert(&out, output); } } - index++; } connect(m_checkJob.get(), &NetJob::finished, this, &Flame::FileResolvingTask::modrinthCheckFinished); diff --git a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp index 91554b58..a00c948a 100644 --- a/launcher/modplatform/flame/FlameInstanceCreationTask.cpp +++ b/launcher/modplatform/flame/FlameInstanceCreationTask.cpp @@ -338,6 +338,7 @@ bool FlameCreationTask::createInstance() connect(m_mod_id_resolver.get(), &Flame::FileResolvingTask::failed, [&](QString reason) { m_mod_id_resolver.reset(); setError(tr("Unable to resolve mod IDs:\n") + reason); + loop.quit(); }); connect(m_mod_id_resolver.get(), &Flame::FileResolvingTask::progress, this, &FlameCreationTask::setProgress); connect(m_mod_id_resolver.get(), &Flame::FileResolvingTask::status, this, &FlameCreationTask::setStatus); diff --git a/launcher/resources/OSX/OSX.qrc b/launcher/resources/OSX/OSX.qrc index 19fe312b..9d4511d1 100644 --- a/launcher/resources/OSX/OSX.qrc +++ b/launcher/resources/OSX/OSX.qrc @@ -39,5 +39,6 @@ <file>scalable/export.svg</file> <file>scalable/rename.svg</file> <file>scalable/launch.svg</file> + <file>scalable/shortcut.svg</file> </qresource> </RCC> diff --git a/launcher/resources/OSX/scalable/shortcut.svg b/launcher/resources/OSX/scalable/shortcut.svg new file mode 100644 index 00000000..a2b7488e --- /dev/null +++ b/launcher/resources/OSX/scalable/shortcut.svg @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve"> +<rect fill="none" width="24" height="24"/> +<g id="_x35__1_"> + <g> + <path fill="#585858" d="M9.5,9.5C9.8,9.5,10,9.2,10,9l0-2.4l7.6,7.3c0.2,0.2,0.5,0.2,0.7,0c0.2-0.2,0.2-0.5,0-0.7L10.8,6L13,6 + c0.3,0,0.5-0.2,0.5-0.5S13.3,5,13,5H9.5C9.2,5,9,5.2,9,5.5V9C9,9.2,9.2,9.5,9.5,9.5z M21,5h-5.5v1H21c0.5,0,1,0.5,1,1l0,10 + c0,0.5-0.4,1-1,1l-10,0c-0.5,0-1-0.5-1-1v-5.5H9V17c0,1.1,1.1,2,2.2,2H21c1.1,0,2-0.9,2-2V7.2C23,6.1,22.1,5,21,5z"/> + </g> +</g> +</svg> diff --git a/launcher/resources/breeze_dark/breeze_dark.qrc b/launcher/resources/breeze_dark/breeze_dark.qrc index 4d7a69b2..97434abc 100644 --- a/launcher/resources/breeze_dark/breeze_dark.qrc +++ b/launcher/resources/breeze_dark/breeze_dark.qrc @@ -27,6 +27,7 @@ <file>scalable/refresh.svg</file> <file>scalable/resourcepacks.svg</file> <file>scalable/shaderpacks.svg</file> + <file>scalable/shortcut.svg</file> <file>scalable/screenshots.svg</file> <file>scalable/settings.svg</file> <file>scalable/status-bad.svg</file> diff --git a/launcher/resources/breeze_dark/scalable/shortcut.svg b/launcher/resources/breeze_dark/scalable/shortcut.svg new file mode 100644 index 00000000..5559be1d --- /dev/null +++ b/launcher/resources/breeze_dark/scalable/shortcut.svg @@ -0,0 +1,18 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> + <defs id="defs3051"> + <style type="text/css" id="current-color-scheme"> + .ColorScheme-Text { + color:#eff0f1; + } + </style> + </defs> + <g + transform="translate(-3,-1033.3622)"> + <path + style="fill:currentColor;fill-opacity:1;stroke:none" + d="M 4,7 C 3.4459904,7 3,7.4459904 3,8 l 0,6 c 0,0.55401 0.4459904,1 1,1 l 5,0 c 0.55401,0 1,-0.44599 1,-1 l 0,-1 2,0 0,1 c 0,0.554 0.44599,1 1,1 l 5,0 c 0.55401,0 1,-0.446 1,-1 L 19,8 C 19,7.446 18.55401,7 18,7 l -5,0 c -0.55401,0 -1,0.446 -1,1 l 0,1 -2,0 0,-1 C 10,7.4459904 9.55401,7 9,7 Z M 4,8 7,8 9,8 9,9 C 8.4459904,9 8,9.4459904 8,10 l 0,2 c 0,0.55401 0.4459904,1 1,1 l 0,1 -2,0 -3,0 z m 9,0 3,0 2,0 0,6 -2,0 -3,0 0,-1 c 0.55401,0 1,-0.44599 1,-1 l 0,-2 C 14,9.4459904 13.55401,9 13,9 Z m -4,2 4,0 0,2 -4,0 z" + transform="translate(0,1030.3622)" + id="rect4161" + class="ColorScheme-Text" /> + </g> +</svg> diff --git a/launcher/resources/breeze_light/breeze_light.qrc b/launcher/resources/breeze_light/breeze_light.qrc index 7d9d99f5..6d868b18 100644 --- a/launcher/resources/breeze_light/breeze_light.qrc +++ b/launcher/resources/breeze_light/breeze_light.qrc @@ -27,6 +27,7 @@ <file>scalable/refresh.svg</file> <file>scalable/resourcepacks.svg</file> <file>scalable/shaderpacks.svg</file> + <file>scalable/shortcut.svg</file> <file>scalable/screenshots.svg</file> <file>scalable/settings.svg</file> <file>scalable/status-bad.svg</file> diff --git a/launcher/resources/breeze_light/scalable/shortcut.svg b/launcher/resources/breeze_light/scalable/shortcut.svg new file mode 100644 index 00000000..426769d1 --- /dev/null +++ b/launcher/resources/breeze_light/scalable/shortcut.svg @@ -0,0 +1,18 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> + <defs id="defs3051"> + <style type="text/css" id="current-color-scheme"> + .ColorScheme-Text { + color:#232629; + } + </style> + </defs> + <g + transform="translate(-3,-1033.3622)"> + <path + style="fill:currentColor;fill-opacity:1;stroke:none" + d="M 4,7 C 3.4459904,7 3,7.4459904 3,8 l 0,6 c 0,0.55401 0.4459904,1 1,1 l 5,0 c 0.55401,0 1,-0.44599 1,-1 l 0,-1 2,0 0,1 c 0,0.554 0.44599,1 1,1 l 5,0 c 0.55401,0 1,-0.446 1,-1 L 19,8 C 19,7.446 18.55401,7 18,7 l -5,0 c -0.55401,0 -1,0.446 -1,1 l 0,1 -2,0 0,-1 C 10,7.4459904 9.55401,7 9,7 Z M 4,8 7,8 9,8 9,9 C 8.4459904,9 8,9.4459904 8,10 l 0,2 c 0,0.55401 0.4459904,1 1,1 l 0,1 -2,0 -3,0 z m 9,0 3,0 2,0 0,6 -2,0 -3,0 0,-1 c 0.55401,0 1,-0.44599 1,-1 l 0,-2 C 14,9.4459904 13.55401,9 13,9 Z m -4,2 4,0 0,2 -4,0 z" + transform="translate(0,1030.3622)" + id="rect4161" + class="ColorScheme-Text" /> + </g> +</svg> diff --git a/launcher/resources/flat/flat.qrc b/launcher/resources/flat/flat.qrc index 508e0a9f..a846bd2d 100644 --- a/launcher/resources/flat/flat.qrc +++ b/launcher/resources/flat/flat.qrc @@ -35,6 +35,7 @@ <file>scalable/screenshot-placeholder.svg</file> <file>scalable/screenshots.svg</file> <file>scalable/settings.svg</file> + <file>scalable/shortcut.svg</file> <file>scalable/star.svg</file> <file>scalable/status-bad.svg</file> <file>scalable/status-good.svg</file> diff --git a/launcher/resources/flat/scalable/shortcut.svg b/launcher/resources/flat/scalable/shortcut.svg new file mode 100644 index 00000000..83878d19 --- /dev/null +++ b/launcher/resources/flat/scalable/shortcut.svg @@ -0,0 +1,3 @@ +<svg fill="#757575" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"> + <path d="M5 21q-.825 0-1.413-.587Q3 19.825 3 19V5q0-.825.587-1.413Q4.175 3 5 3h7v2H5v14h14v-7h2v7q0 .825-.587 1.413Q19.825 21 19 21Zm4.7-5.3-1.4-1.4L17.6 5H14V3h7v7h-2V6.4Z"/> +</svg> diff --git a/launcher/resources/flat_white/flat_white.qrc b/launcher/resources/flat_white/flat_white.qrc index e11d6316..b0759d8f 100644 --- a/launcher/resources/flat_white/flat_white.qrc +++ b/launcher/resources/flat_white/flat_white.qrc @@ -35,6 +35,7 @@ <file>scalable/screenshot-placeholder.svg</file> <file>scalable/screenshots.svg</file> <file>scalable/settings.svg</file> + <file>scalable/shortcut.svg</file> <file>scalable/star.svg</file> <file>scalable/status-bad.svg</file> <file>scalable/status-good.svg</file> diff --git a/launcher/resources/flat_white/scalable/shortcut.svg b/launcher/resources/flat_white/scalable/shortcut.svg new file mode 100644 index 00000000..b419a77d --- /dev/null +++ b/launcher/resources/flat_white/scalable/shortcut.svg @@ -0,0 +1,3 @@ +<svg fill="#D8DEE9" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"> + <path d="M5 21q-.825 0-1.413-.587Q3 19.825 3 19V5q0-.825.587-1.413Q4.175 3 5 3h7v2H5v14h14v-7h2v7q0 .825-.587 1.413Q19.825 21 19 21Zm4.7-5.3-1.4-1.4L17.6 5H14V3h7v7h-2V6.4Z"/> +</svg> diff --git a/launcher/resources/iOS/iOS.qrc b/launcher/resources/iOS/iOS.qrc index aa08d811..0b79efb2 100644 --- a/launcher/resources/iOS/iOS.qrc +++ b/launcher/resources/iOS/iOS.qrc @@ -39,5 +39,6 @@ <file>scalable/export.svg</file> <file>scalable/rename.svg</file> <file>scalable/launch.svg</file> + <file>scalable/shortcut.svg</file> </qresource> </RCC> diff --git a/launcher/resources/iOS/scalable/shortcut.svg b/launcher/resources/iOS/scalable/shortcut.svg new file mode 100644 index 00000000..16e9fa48 --- /dev/null +++ b/launcher/resources/iOS/scalable/shortcut.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"> +<g id="_x35__5_"> + <g> + <path fill="#3366CC" d="M3,11c0.6,0,1-0.5,1-1l0-4.8l15.2,14.5c0.4,0.4,1,0.4,1.4,0c0.4-0.4,0.4-1,0-1.4L5.6,4L10,4 + c0.6,0,1-0.5,1-1s-0.4-1-1-1H3C2.5,2,2,2.4,2,3v7C2,10.5,2.4,11,3,11z M26,2H15v2h11c1.1,0,2,0.9,2,2l0,20.1c0,1.1-0.9,2-2,2L6,28 + c-1.1,0-2-0.9-2-2V15H2v11c0,2.2,2.2,4,4.4,4h19.7c2.2,0,3.9-1.8,3.9-3.9V6.4C30,4.2,28.2,2,26,2z"/> + </g> +</g> +</svg> diff --git a/launcher/resources/multimc/128x128/instances/chicken.png b/launcher/resources/multimc/128x128/instances/chicken_legacy.png Binary files differindex 71f6dedc..71f6dedc 100644 --- a/launcher/resources/multimc/128x128/instances/chicken.png +++ b/launcher/resources/multimc/128x128/instances/chicken_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/creeper.png b/launcher/resources/multimc/128x128/instances/creeper_legacy.png Binary files differindex 41b7d07d..41b7d07d 100644 --- a/launcher/resources/multimc/128x128/instances/creeper.png +++ b/launcher/resources/multimc/128x128/instances/creeper_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/enderpearl.png b/launcher/resources/multimc/128x128/instances/enderpearl_legacy.png Binary files differindex 0a5bf91a..0a5bf91a 100644 --- a/launcher/resources/multimc/128x128/instances/enderpearl.png +++ b/launcher/resources/multimc/128x128/instances/enderpearl_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/flame.png b/launcher/resources/multimc/128x128/instances/flame_legacy.png Binary files differindex 6482975c..6482975c 100644 --- a/launcher/resources/multimc/128x128/instances/flame.png +++ b/launcher/resources/multimc/128x128/instances/flame_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/ftb_logo.png b/launcher/resources/multimc/128x128/instances/ftb_logo_legacy.png Binary files differindex e725b7fe..e725b7fe 100644 --- a/launcher/resources/multimc/128x128/instances/ftb_logo.png +++ b/launcher/resources/multimc/128x128/instances/ftb_logo_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/gear.png b/launcher/resources/multimc/128x128/instances/gear_legacy.png Binary files differindex 75c68a66..75c68a66 100644 --- a/launcher/resources/multimc/128x128/instances/gear.png +++ b/launcher/resources/multimc/128x128/instances/gear_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/herobrine.png b/launcher/resources/multimc/128x128/instances/herobrine_legacy.png Binary files differindex 13f1494c..13f1494c 100644 --- a/launcher/resources/multimc/128x128/instances/herobrine.png +++ b/launcher/resources/multimc/128x128/instances/herobrine_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/infinity.png b/launcher/resources/multimc/128x128/instances/infinity_legacy.png Binary files differindex 63e06e5b..63e06e5b 100644 --- a/launcher/resources/multimc/128x128/instances/infinity.png +++ b/launcher/resources/multimc/128x128/instances/infinity_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/magitech.png b/launcher/resources/multimc/128x128/instances/magitech_legacy.png Binary files differindex 0f81a199..0f81a199 100644 --- a/launcher/resources/multimc/128x128/instances/magitech.png +++ b/launcher/resources/multimc/128x128/instances/magitech_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/meat.png b/launcher/resources/multimc/128x128/instances/meat_legacy.png Binary files differindex fefc9bf1..fefc9bf1 100644 --- a/launcher/resources/multimc/128x128/instances/meat.png +++ b/launcher/resources/multimc/128x128/instances/meat_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/netherstar.png b/launcher/resources/multimc/128x128/instances/netherstar_legacy.png Binary files differindex 132085f0..132085f0 100644 --- a/launcher/resources/multimc/128x128/instances/netherstar.png +++ b/launcher/resources/multimc/128x128/instances/netherstar_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/skeleton.png b/launcher/resources/multimc/128x128/instances/skeleton_legacy.png Binary files differindex 55fcf5a9..55fcf5a9 100644 --- a/launcher/resources/multimc/128x128/instances/skeleton.png +++ b/launcher/resources/multimc/128x128/instances/skeleton_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/squarecreeper.png b/launcher/resources/multimc/128x128/instances/squarecreeper_legacy.png Binary files differindex c82d8406..c82d8406 100644 --- a/launcher/resources/multimc/128x128/instances/squarecreeper.png +++ b/launcher/resources/multimc/128x128/instances/squarecreeper_legacy.png diff --git a/launcher/resources/multimc/128x128/instances/steve.png b/launcher/resources/multimc/128x128/instances/steve_legacy.png Binary files differindex a07cbd2f..a07cbd2f 100644 --- a/launcher/resources/multimc/128x128/instances/steve.png +++ b/launcher/resources/multimc/128x128/instances/steve_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/brick.png b/launcher/resources/multimc/32x32/instances/brick_legacy.png Binary files differindex c324fda0..c324fda0 100644 --- a/launcher/resources/multimc/32x32/instances/brick.png +++ b/launcher/resources/multimc/32x32/instances/brick_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/chicken.png b/launcher/resources/multimc/32x32/instances/chicken_legacy.png Binary files differindex f870467a..f870467a 100644 --- a/launcher/resources/multimc/32x32/instances/chicken.png +++ b/launcher/resources/multimc/32x32/instances/chicken_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/creeper.png b/launcher/resources/multimc/32x32/instances/creeper_legacy.png Binary files differindex a67ecfc3..a67ecfc3 100644 --- a/launcher/resources/multimc/32x32/instances/creeper.png +++ b/launcher/resources/multimc/32x32/instances/creeper_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/diamond.png b/launcher/resources/multimc/32x32/instances/diamond_legacy.png Binary files differindex 1eb26469..1eb26469 100644 --- a/launcher/resources/multimc/32x32/instances/diamond.png +++ b/launcher/resources/multimc/32x32/instances/diamond_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/dirt.png b/launcher/resources/multimc/32x32/instances/dirt_legacy.png Binary files differindex 9e19eb8f..9e19eb8f 100644 --- a/launcher/resources/multimc/32x32/instances/dirt.png +++ b/launcher/resources/multimc/32x32/instances/dirt_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/enderpearl.png b/launcher/resources/multimc/32x32/instances/enderpearl_legacy.png Binary files differindex a818eb8e..a818eb8e 100644 --- a/launcher/resources/multimc/32x32/instances/enderpearl.png +++ b/launcher/resources/multimc/32x32/instances/enderpearl_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/ftb_logo.png b/launcher/resources/multimc/32x32/instances/ftb_logo_legacy.png Binary files differindex 20df7171..20df7171 100644 --- a/launcher/resources/multimc/32x32/instances/ftb_logo.png +++ b/launcher/resources/multimc/32x32/instances/ftb_logo_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/gear.png b/launcher/resources/multimc/32x32/instances/gear_legacy.png Binary files differindex da9ba2f9..da9ba2f9 100644 --- a/launcher/resources/multimc/32x32/instances/gear.png +++ b/launcher/resources/multimc/32x32/instances/gear_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/gold.png b/launcher/resources/multimc/32x32/instances/gold_legacy.png Binary files differindex 593410fa..593410fa 100644 --- a/launcher/resources/multimc/32x32/instances/gold.png +++ b/launcher/resources/multimc/32x32/instances/gold_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/grass.png b/launcher/resources/multimc/32x32/instances/grass_legacy.png Binary files differindex f1694547..f1694547 100644 --- a/launcher/resources/multimc/32x32/instances/grass.png +++ b/launcher/resources/multimc/32x32/instances/grass_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/herobrine.png b/launcher/resources/multimc/32x32/instances/herobrine_legacy.png Binary files differindex e5460da3..e5460da3 100644 --- a/launcher/resources/multimc/32x32/instances/herobrine.png +++ b/launcher/resources/multimc/32x32/instances/herobrine_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/infinity.png b/launcher/resources/multimc/32x32/instances/infinity_legacy.png Binary files differindex bd94a3dc..bd94a3dc 100644 --- a/launcher/resources/multimc/32x32/instances/infinity.png +++ b/launcher/resources/multimc/32x32/instances/infinity_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/iron.png b/launcher/resources/multimc/32x32/instances/iron_legacy.png Binary files differindex 3e811bd6..3e811bd6 100644 --- a/launcher/resources/multimc/32x32/instances/iron.png +++ b/launcher/resources/multimc/32x32/instances/iron_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/magitech.png b/launcher/resources/multimc/32x32/instances/magitech_legacy.png Binary files differindex 6fd8ff60..6fd8ff60 100644 --- a/launcher/resources/multimc/32x32/instances/magitech.png +++ b/launcher/resources/multimc/32x32/instances/magitech_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/meat.png b/launcher/resources/multimc/32x32/instances/meat_legacy.png Binary files differindex 6694859d..6694859d 100644 --- a/launcher/resources/multimc/32x32/instances/meat.png +++ b/launcher/resources/multimc/32x32/instances/meat_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/netherstar.png b/launcher/resources/multimc/32x32/instances/netherstar_legacy.png Binary files differindex 43cb5113..43cb5113 100644 --- a/launcher/resources/multimc/32x32/instances/netherstar.png +++ b/launcher/resources/multimc/32x32/instances/netherstar_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/planks.png b/launcher/resources/multimc/32x32/instances/planks_legacy.png Binary files differindex a94b7502..a94b7502 100644 --- a/launcher/resources/multimc/32x32/instances/planks.png +++ b/launcher/resources/multimc/32x32/instances/planks_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/skeleton.png b/launcher/resources/multimc/32x32/instances/skeleton_legacy.png Binary files differindex 0c8d3505..0c8d3505 100644 --- a/launcher/resources/multimc/32x32/instances/skeleton.png +++ b/launcher/resources/multimc/32x32/instances/skeleton_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/squarecreeper.png b/launcher/resources/multimc/32x32/instances/squarecreeper_legacy.png Binary files differindex b78c4ae0..b78c4ae0 100644 --- a/launcher/resources/multimc/32x32/instances/squarecreeper.png +++ b/launcher/resources/multimc/32x32/instances/squarecreeper_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/steve.png b/launcher/resources/multimc/32x32/instances/steve_legacy.png Binary files differindex 07c6acde..07c6acde 100644 --- a/launcher/resources/multimc/32x32/instances/steve.png +++ b/launcher/resources/multimc/32x32/instances/steve_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/stone.png b/launcher/resources/multimc/32x32/instances/stone_legacy.png Binary files differindex 1b6ef7a4..1b6ef7a4 100644 --- a/launcher/resources/multimc/32x32/instances/stone.png +++ b/launcher/resources/multimc/32x32/instances/stone_legacy.png diff --git a/launcher/resources/multimc/32x32/instances/tnt.png b/launcher/resources/multimc/32x32/instances/tnt_legacy.png Binary files differindex e40d404d..e40d404d 100644 --- a/launcher/resources/multimc/32x32/instances/tnt.png +++ b/launcher/resources/multimc/32x32/instances/tnt_legacy.png diff --git a/launcher/resources/multimc/50x50/instances/enderman.png b/launcher/resources/multimc/50x50/instances/enderman_legacy.png Binary files differindex 9f3a72b3..9f3a72b3 100644 --- a/launcher/resources/multimc/50x50/instances/enderman.png +++ b/launcher/resources/multimc/50x50/instances/enderman_legacy.png diff --git a/launcher/resources/multimc/multimc.qrc b/launcher/resources/multimc/multimc.qrc index 3f3d22fc..42b496da 100644 --- a/launcher/resources/multimc/multimc.qrc +++ b/launcher/resources/multimc/multimc.qrc @@ -6,9 +6,6 @@ <!-- REDDIT logo icon, needs reddit license! --> <file>scalable/reddit-alien.svg</file> - <!-- Icon for CurseForge. CC0 --> - <file alias="128x128/flame.png">128x128/instances/flame.png</file> - <!-- launcher settings page --> <file>scalable/launcher.svg</file> @@ -254,63 +251,100 @@ <!-- discord logo icon thing. from discord. traced from bitmap --> <file>scalable/discord.svg</file> + <!-- flat instance icons CC BY-SA 4.0, Santiago Cézar --> + <file alias="128x128/flame.png">scalable/instances/flame.svg</file> + <file>scalable/instances/chicken.svg</file> + <file>scalable/instances/creeper.svg</file> + <file>scalable/instances/enderpearl.svg</file> + <file>scalable/instances/ftb_logo.svg</file> + <file>scalable/instances/flame.svg</file> + <file>scalable/instances/gear.svg</file> + <file>scalable/instances/herobrine.svg</file> + <file>scalable/instances/magitech.svg</file> + <file>scalable/instances/meat.svg</file> + <file>scalable/instances/netherstar.svg</file> + <file>scalable/instances/skeleton.svg</file> + <file>scalable/instances/squarecreeper.svg</file> + <file>scalable/instances/steve.svg</file> + <file>scalable/instances/diamond.svg</file> + <file>scalable/instances/dirt.svg</file> + <file>scalable/instances/grass.svg</file> + <file>scalable/instances/brick.svg</file> + <file>scalable/instances/gold.svg</file> + <file>scalable/instances/iron.svg</file> + <file>scalable/instances/planks.svg</file> + <file>scalable/instances/stone.svg</file> + <file>scalable/instances/tnt.svg</file> + <file>scalable/instances/enderman.svg</file> + <file>scalable/instances/fox.svg</file> + <file>scalable/instances/bee.svg</file> + <!-- instance icons --> - <file>32x32/instances/chicken.png</file> - <file>128x128/instances/chicken.png</file> + <file>32x32/instances/chicken_legacy.png</file> + <file>128x128/instances/chicken_legacy.png</file> - <file>32x32/instances/creeper.png</file> - <file>128x128/instances/creeper.png</file> + <file>32x32/instances/creeper_legacy.png</file> + <file>128x128/instances/creeper_legacy.png</file> - <file>32x32/instances/enderpearl.png</file> - <file>128x128/instances/enderpearl.png</file> + <file>32x32/instances/enderpearl_legacy.png</file> + <file>128x128/instances/enderpearl_legacy.png</file> <file>32x32/instances/ftb_glow.png</file> <file>128x128/instances/ftb_glow.png</file> - <file>32x32/instances/ftb_logo.png</file> - <file>128x128/instances/ftb_logo.png</file> + <file>32x32/instances/ftb_logo_legacy.png</file> + <file>128x128/instances/ftb_logo_legacy.png</file> - <file>128x128/instances/flame.png</file> + <file>128x128/instances/flame_legacy.png</file> - <file>32x32/instances/gear.png</file> - <file>128x128/instances/gear.png</file> + <file>32x32/instances/gear_legacy.png</file> + <file>128x128/instances/gear_legacy.png</file> - <file>32x32/instances/herobrine.png</file> - <file>128x128/instances/herobrine.png</file> + <file>32x32/instances/herobrine_legacy.png</file> + <file>128x128/instances/herobrine_legacy.png</file> - <file>32x32/instances/magitech.png</file> - <file>128x128/instances/magitech.png</file> + <file>32x32/instances/magitech_legacy.png</file> + <file>128x128/instances/magitech_legacy.png</file> - <file>32x32/instances/meat.png</file> - <file>128x128/instances/meat.png</file> + <file>32x32/instances/meat_legacy.png</file> + <file>128x128/instances/meat_legacy.png</file> - <file>32x32/instances/netherstar.png</file> - <file>128x128/instances/netherstar.png</file> + <file>32x32/instances/netherstar_legacy.png</file> + <file>128x128/instances/netherstar_legacy.png</file> - <file>32x32/instances/skeleton.png</file> - <file>128x128/instances/skeleton.png</file> + <file>32x32/instances/skeleton_legacy.png</file> + <file>128x128/instances/skeleton_legacy.png</file> - <file>32x32/instances/squarecreeper.png</file> - <file>128x128/instances/squarecreeper.png</file> + <file>32x32/instances/squarecreeper_legacy.png</file> + <file>128x128/instances/squarecreeper_legacy.png</file> - <file>32x32/instances/steve.png</file> - <file>128x128/instances/steve.png</file> + <file>32x32/instances/steve_legacy.png</file> + <file>128x128/instances/steve_legacy.png</file> - <file>32x32/instances/brick.png</file> - <file>32x32/instances/diamond.png</file> - <file>32x32/instances/dirt.png</file> - <file>32x32/instances/gold.png</file> - <file>32x32/instances/grass.png</file> - <file>32x32/instances/iron.png</file> - <file>32x32/instances/planks.png</file> - <file>32x32/instances/stone.png</file> - <file>32x32/instances/tnt.png</file> + <file>32x32/instances/brick_legacy.png</file> + <file>32x32/instances/diamond_legacy.png</file> + <file>32x32/instances/dirt_legacy.png</file> + <file>32x32/instances/gold_legacy.png</file> + <file>32x32/instances/grass_legacy.png</file> + <file>32x32/instances/iron_legacy.png</file> + <file>32x32/instances/planks_legacy.png</file> + <file>32x32/instances/stone_legacy.png</file> + <file>32x32/instances/tnt_legacy.png</file> - <file>50x50/instances/enderman.png</file> + <file>50x50/instances/enderman_legacy.png</file> - <file>scalable/instances/fox.svg</file> - <file>scalable/instances/bee.svg</file> <file>scalable/instances/prismlauncher.svg</file> + <file>scalable/instances/fox_legacy.svg</file> + <file>scalable/instances/bee_legacy.svg</file> + + <!-- delete, tag, rename, shortcut CC-BY-SA 3.0, Oxygen icons.--> + <file>scalable/delete.svg</file> + <file>scalable/tag.svg</file> + <file>scalable/rename.svg</file> + <file>scalable/shortcut.svg</file> + + <file>scalable/export.svg</file> + <file>scalable/launch.svg</file> </qresource> </RCC> diff --git a/launcher/resources/multimc/scalable/delete.svg b/launcher/resources/multimc/scalable/delete.svg new file mode 100644 index 00000000..414cbd5c --- /dev/null +++ b/launcher/resources/multimc/scalable/delete.svg @@ -0,0 +1,282 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="33.866665mm" + height="33.866665mm" + viewBox="0 0 33.866665 33.866665" + version="1.1" + id="svg2411" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs2408"> + <linearGradient + xlink:href="#linearGradient3315" + id="linearGradient3321" + x1="20.961376" + y1="70.875" + x2="106.96138" + y2="70.875" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.26458333,0,0,0.26458333,-152.84859,113.94802)" /> + <linearGradient + id="linearGradient3315"> + <stop + style="stop-color:#bf0303;stop-opacity:1;" + offset="0" + id="stop3317" /> + <stop + id="stop3323" + offset="0.375" + style="stop-color:#fc3d3d;stop-opacity:1;" /> + <stop + style="stop-color:#bf0303;stop-opacity:1;" + offset="0.75" + id="stop3325" /> + <stop + style="stop-color:#bf0303;stop-opacity:1;" + offset="1" + id="stop3319" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient3335" + id="linearGradient3341" + x1="22.032" + y1="39.036999" + x2="105.967" + y2="39.036999" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.26458333,0,0,0.26458333,-152.84859,113.94802)" /> + <linearGradient + id="linearGradient3335"> + <stop + style="stop-color:#9c0f0f;stop-opacity:0.28301886;" + offset="0" + id="stop3337" /> + <stop + id="stop3343" + offset="0.5" + style="stop-color:#9c0f0f;stop-opacity:1;" /> + <stop + style="stop-color:#9c0f0f;stop-opacity:0.1981132;" + offset="1" + id="stop3339" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient3347" + id="linearGradient3353" + x1="12.190286" + y1="21.738001" + x2="115.80972" + y2="21.738001" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.26458333,0,0,0.26458333,-152.84859,113.94802)" /> + <linearGradient + id="linearGradient3347"> + <stop + style="stop-color:#d50303;stop-opacity:1;" + offset="0" + id="stop3349" /> + <stop + id="stop3355" + offset="0.5" + style="stop-color:#feaeae;stop-opacity:1;" /> + <stop + style="stop-color:#d50303;stop-opacity:1;" + offset="1" + id="stop3351" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient3371" + id="linearGradient3377" + x1="68.617584" + y1="9.6200819" + x2="68.617584" + y2="34.302147" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.26458333,0,0,0.26458333,-152.84859,113.94802)" /> + <linearGradient + id="linearGradient3371"> + <stop + style="stop-color:#950000;stop-opacity:1;" + offset="0" + id="stop3373" /> + <stop + style="stop-color:#350000;stop-opacity:1;" + offset="1" + id="stop3375" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient3418" + id="linearGradient3432" + gradientUnits="userSpaceOnUse" + x1="41.25" + y1="85.302696" + x2="86.75" + y2="85.302696" + gradientTransform="matrix(0.26458333,0,0,0.26458333,-152.84859,113.94802)" /> + <linearGradient + id="linearGradient3418"> + <stop + id="stop3420" + offset="0" + style="stop-color:#390000;stop-opacity:1;" /> + <stop + style="stop-color:#da0303;stop-opacity:1;" + offset="0.375" + id="stop3422" /> + <stop + id="stop3424" + offset="0.75" + style="stop-color:#7b0101;stop-opacity:1;" /> + <stop + id="stop3426" + offset="1" + style="stop-color:#390000;stop-opacity:1;" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient3418" + id="linearGradient3429" + gradientUnits="userSpaceOnUse" + x1="41.25" + y1="85.651398" + x2="86.75" + y2="85.651398" + gradientTransform="matrix(0.26458333,0,0,0.26458333,-152.84859,113.94802)" /> + <linearGradient + xlink:href="#linearGradient3418" + id="linearGradient3416" + gradientUnits="userSpaceOnUse" + x1="41.25" + y1="64.263702" + x2="86.75" + y2="64.263702" + gradientTransform="matrix(0.26458333,0,0,0.26458333,-152.84859,113.94802)" /> + <radialGradient + r="63.912209" + fy="115.7093" + fx="63.912209" + cy="115.70919" + cx="63.912209" + gradientTransform="matrix(1,0,0,0.197802,0,92.82166)" + gradientUnits="userSpaceOnUse" + id="radialGradient3336" + xlink:href="#linearGradient3291" /> + <linearGradient + id="linearGradient3291"> + <stop + id="stop3293" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + id="stop3295" + offset="1" + style="stop-color:#000000;stop-opacity:0;" /> + </linearGradient> + </defs> + <g + id="layer1" + transform="translate(196.3033,-17.933071)"> + <g + id="g6686" + transform="translate(-43.45471,-96.01495)"> + <path + d="m -135.91552,144.90744 c -3.41895,0 -6.36323,-0.76173 -8.22219,-1.87536 -0.49954,-0.0998 -0.96044,-0.2032 -1.37795,-0.3048 1.48722,1.68248 5.14376,2.97391 9.60014,2.97391 4.45664,0 8.11318,-1.29143 9.6004,-2.97391 -0.41751,0.10186 -0.87841,0.20505 -1.37795,0.3048 -1.85896,1.11363 -4.80298,1.87536 -8.22245,1.87536 z" + id="path202" + style="opacity:0.1;fill:#004d00;stroke-width:0.264583" /> + <path + d="m -135.91552,145.17203 c -3.80127,0 -7.01569,-0.94112 -8.80295,-2.26192 -0.27993,-0.0606 -0.54743,-0.12198 -0.79719,-0.18283 1.48722,1.68248 5.14376,2.97391 9.60014,2.97391 4.45664,0 8.11318,-1.29143 9.6004,-2.97391 -0.24976,0.0608 -0.51726,0.1225 -0.79718,0.18283 -1.78727,1.3208 -5.00169,2.26192 -8.80322,2.26192 z" + id="path204" + style="opacity:0.2;fill:#004d00;stroke-width:0.264583" /> + <path + d="m -135.91552,145.43661 c -4.1447,0 -7.59513,-1.11786 -9.25433,-2.62784 -0.11748,-0.027 -0.23442,-0.0542 -0.34581,-0.0818 1.48722,1.68249 5.14376,2.97392 9.60014,2.97392 4.45664,0 8.11318,-1.29143 9.6004,-2.97392 -0.11138,0.0275 -0.22833,0.0548 -0.34607,0.0818 -1.65894,1.50998 -5.10937,2.62784 -9.25433,2.62784 z" + id="path206" + style="opacity:0.3;fill:#004d00;stroke-width:0.264583" /> + <path + style="fill:url(#linearGradient3321);fill-opacity:1;stroke-width:0.264583" + id="path3962" + d="m -147.30256,119.69953 1.05833,21.36828 c 0,2.41274 4.47384,4.63338 10.31849,4.63338 5.84517,0 10.31901,-2.22064 10.31901,-4.63338 l 1.05834,-21.36828 z" /> + <rect + id="_x3C_Sezione_x3E_" + width="33.866665" + height="33.866665" + x="-152.84859" + y="113.94802" + style="fill:none;stroke-width:0.264583" /> + <path + d="m -124.84059,122.62688 0.0291,-0.322 c -1.12712,2.10397 -5.6679,3.67851 -11.1043,3.67851 -5.43586,0 -9.9769,-1.57454 -11.1035,-3.67851 l 0.0288,0.322 c 1.17792,2.07539 5.68801,3.62135 11.07466,3.62135 5.38745,-2.6e-4 9.89727,-1.54596 11.0752,-3.62135 z" + id="path66" + style="opacity:0.5;fill:url(#linearGradient3341);fill-opacity:1;stroke-width:0.264583" /> + <ellipse + cx="-135.91525" + cy="119.69953" + rx="11.377083" + ry="4.6963539" + id="ellipse75" + style="fill:url(#linearGradient3353);fill-opacity:1;stroke-width:0.264583" /> + <path + d="m -146.34804,119.44606 c 0,1.9222 4.19206,3.97986 10.43252,3.97986 6.24073,0 10.43305,-2.05766 10.43305,-3.97986 0,-1.92193 -4.19232,-3.71528 -10.43305,-3.71528 -6.24046,0 -10.43252,1.79361 -10.43252,3.71528 z" + id="path90" + style="opacity:0.727778;fill:url(#linearGradient3377);fill-opacity:1;stroke-width:0.264583" /> + <path + d="m -135.91552,115.73801 c -6.24046,0 -10.43252,1.92905 -10.43252,3.73061 0,0.47023 0.28786,0.94865 0.82074,1.39978 -0.0302,-0.13616 -0.0453,-0.27207 -0.0453,-0.40773 0,-2.65478 5.59455,-4.47464 9.65703,-4.47464 7.90334,0 11.98846,2.51962 9.65755,4.47464 -0.10375,0.087 -0.0153,0.27157 -0.0455,0.40773 0.53313,-0.45088 0.821,-0.92955 0.821,-1.39978 0,-1.80132 -4.19232,-3.73061 -10.43305,-3.73061 z" + id="path99" + style="opacity:0.494444;fill:#000000;fill-opacity:1;stroke-width:0.264583" /> + <g + id="g335" + transform="matrix(0.26458333,0,0,0.26458333,-152.84859,113.94802)"> + <path + d="m 63.999,32.22 c -21.36,0 -36.348,-6.18 -38.912,-12.556 -0.258,0.642 -0.393,1.286 -0.393,1.925 0,6.994 15.793,14.482 39.305,14.482 23.513,0 39.307,-7.488 39.307,-14.482 0,-0.639 -0.136,-1.283 -0.394,-1.925 C 100.35,26.04 85.36,32.22 63.999,32.22 Z" + id="path337" + style="opacity:0.1;fill:#555555" /> + <path + d="m 63.999,33.184 c -21.897,0 -37.093,-6.496 -39.077,-13.037 -0.147,0.481 -0.228,0.964 -0.228,1.443 0,6.994 15.793,14.482 39.305,14.482 23.513,0 39.307,-7.488 39.307,-14.482 0,-0.479 -0.082,-0.962 -0.228,-1.443 -1.983,6.541 -17.18,13.037 -39.079,13.037 z" + id="path339" + style="opacity:0.15;fill:#555555" /> + <path + d="m 63.999,34.146 c -22.435,0 -37.832,-6.818 -39.195,-13.519 -0.065,0.321 -0.109,0.642 -0.109,0.962 0,6.994 15.793,14.482 39.305,14.482 23.513,0 39.307,-7.488 39.307,-14.482 0,-0.32 -0.044,-0.641 -0.11,-0.962 -1.364,6.701 -16.762,13.519 -39.198,13.519 z" + id="path341" + style="opacity:0.2;fill:#555555" /> + <path + d="m 63.999,35.109 c -22.973,0 -38.568,-7.148 -39.271,-14 -0.017,0.161 -0.034,0.321 -0.034,0.481 0,6.994 15.793,14.482 39.305,14.482 23.513,0 39.307,-7.488 39.307,-14.482 0,-0.16 -0.018,-0.32 -0.034,-0.481 -0.704,6.851 -16.299,14 -39.273,14 z" + id="path343" + style="opacity:0.25;fill:#555555" /> + </g> + <path + style="fill:url(#linearGradient3432);fill-opacity:1;stroke-width:0.264583" + d="m -139.65779,133.54386 -2.07539,0.27648 c -0.11033,0.0148 -0.20214,0.0968 -0.22595,0.20559 -0.004,0.0196 -0.006,0.0389 -0.006,0.0587 0,0.0886 0.0437,0.17304 0.12091,0.22199 0,0 0.42333,0.26776 0.66067,0.41778 -0.22728,0.47334 -0.6657,1.50389 -0.6657,2.19233 0,0.11033 0.0114,0.2122 0.0368,0.3011 0.40323,1.76503 1.81531,2.08624 2.23838,2.14233 0.045,0.006 0.0937,0.0116 0.14208,0.0114 0.948,0.068 1.91452,0.10927 2.87284,0.12276 0.0722,0.001 0.14155,-0.0275 0.19235,-0.0788 0.0508,-0.0513 0.0781,-0.12118 0.0759,-0.19315 l -0.0389,-1.33561 c -0.004,-0.14156 -0.11907,-0.25506 -0.26062,-0.25718 -1.0459,-0.0151 -2.09841,-0.063 -3.1287,-0.1434 -0.008,-5.3e-4 -0.0241,-5.3e-4 -0.0325,-5.3e-4 -0.0894,0.002 -0.28787,-0.0352 -0.32676,-0.32306 0.14023,-0.3638 0.43524,-1.00912 0.60431,-1.36684 0.0132,0.008 0.51064,0.31883 0.51064,0.31883 0.0963,0.0603 0.22093,0.054 0.30877,-0.0183 0.0878,-0.072 0.12039,-0.1905 0.0799,-0.2966 l -0.79666,-2.09179 c -0.0442,-0.11483 -0.16431,-0.18018 -0.28602,-0.16404 z m 0.47546,5.68774 c -0.0243,0.0458 -0.0616,0.0807 -0.10478,0.10478 0.0397,-0.0214 0.0767,-0.0519 0.10478,-0.10478 z m -0.18627,0.12727 c -0.0217,0.004 -0.0413,0.014 -0.064,0.0127 0.0222,-2.7e-4 0.0426,-0.009 0.064,-0.0127 z" + id="path368" /> + <path + style="fill:url(#linearGradient3429);fill-opacity:1;stroke-width:0.264583" + d="m -131.65414,133.01786 -1.30969,0.79058 c -0.0823,0.0497 -0.12806,0.13758 -0.12806,0.22728 0,0.0434 0.0109,0.0873 0.0333,0.12779 0.52229,0.94112 0.98028,1.88145 1.36155,2.79532 0.003,0.007 0.0135,0.0265 0.0172,0.0336 0.0151,0.028 0.0328,0.0733 0.0328,0.127 0,0.0815 -0.0529,0.18257 -0.20717,0.27676 -0.40719,0.0392 -1.1348,0.0815 -1.5404,0.10186 0.0198,-0.24394 0.0431,-0.52863 0.0431,-0.52863 5.2e-4,-0.007 7.9e-4,-0.0146 7.9e-4,-0.0217 0,-0.10425 -0.0611,-0.1995 -0.15769,-0.24209 -0.10345,-0.0453 -0.22384,-0.0204 -0.30057,0.0619 l -1.44251,1.55284 c -0.0897,0.0966 -0.0939,0.24447 -0.0111,0.34687 l 1.19459,1.47426 c 0.068,0.0839 0.18045,0.11826 0.28364,0.0865 0.10345,-0.032 0.177,-0.12329 0.186,-0.23098 0,0 0.0439,-0.53313 0.0529,-0.64214 0.92101,-0.0299 2.02935,-0.13917 2.47597,-0.4789 0.96811,-0.67574 1.20517,-1.55072 1.20517,-2.20054 0,-0.38893 -0.0847,-0.69717 -0.14869,-0.83423 -0.36407,-0.90302 -0.7882,-1.81583 -1.27027,-2.72203 -0.0341,-0.064 -0.0937,-0.11113 -0.16351,-0.13044 -0.0699,-0.0193 -0.14526,-0.008 -0.20743,0.0291 z" + id="path391" /> + <path + style="fill:url(#linearGradient3416);fill-opacity:1;stroke-width:0.264583" + d="m -137.7004,129.01816 c -0.10319,0.0844 -0.61569,0.51832 -0.55933,0.77708 -0.0154,-0.0704 -7.9e-4,-0.14314 0.0392,-0.20294 -0.61595,0.92049 -1.18057,1.84785 -1.67852,2.7567 -0.0696,0.12673 -0.0254,0.28548 0.10028,0.35666 l 1.34488,0.7612 c 0.12673,0.0717 0.28707,0.0273 0.3593,-0.0998 0.53419,-0.93636 1.14459,-1.90367 1.81478,-2.87496 0.005,-0.007 0.0146,-0.0249 0.0188,-0.0325 8e-4,-0.001 0.0807,-0.13997 0.2167,-0.17542 0.0825,-0.0214 0.18388,0.0101 0.29368,0.0709 0.26644,0.39767 0.69956,1.11733 0.92393,1.49436 -0.15849,0.0791 -0.57706,0.28734 -0.57706,0.28734 -0.0905,0.0452 -0.14631,0.13758 -0.14631,0.2368 0,0.0108 7.9e-4,0.022 0.002,0.0328 0.0138,0.11139 0.0966,0.20214 0.20612,0.22596 l 2.2217,0.48762 c 0.12303,0.0273 0.24871,-0.0357 0.29977,-0.15055 l 0.92366,-2.08359 c 0.0455,-0.10266 0.0209,-0.22251 -0.0608,-0.29951 -0.0818,-0.077 -0.20373,-0.0937 -0.30321,-0.0421 0,0 -0.42598,0.22067 -0.69321,0.35904 -0.33232,-0.6932 -1.22555,-1.97696 -1.81451,-2.22197 -1.42187,-0.62838 -2.4474,-0.059 -2.93185,0.33682 z m 4.88527,2.27197 c 0,-0.0148 -0.0132,-0.0455 -0.0167,-0.0645 0.003,0.0148 0.0193,0.0235 0.0193,0.0386 0,0.0161 -0.002,0.0323 -0.005,0.0487 0.001,-0.007 0.002,-0.0146 0.002,-0.0228 z" + id="path414" /> + <path + d="m -139.74034,137.74994 c -2.6e-4,7.9e-4 -0.57309,0.0283 -0.61277,-0.61278 0.18573,-0.50482 0.76094,-1.72111 0.76993,-1.72111 0.25665,0.16007 0.50906,0.31856 0.75883,0.47413 -0.25162,-0.69162 -0.51594,-1.38589 -0.79375,-2.08465 -0.70882,0.10715 -1.40414,0.19923 -2.08465,0.27781 0.29157,0.18494 0.57891,0.36698 0.86227,0.54557 -0.0275,-10e-4 -0.9144,1.82986 -0.71807,2.51619 0.43471,1.90077 2.13809,1.97062 2.14259,1.96241 0.95118,0.0683 1.905,0.10875 2.86015,0.12224 -0.0127,-0.44582 -0.0262,-0.89059 -0.0389,-1.33562 -1.05092,-0.0151 -2.10052,-0.0627 -3.14563,-0.14419 z" + id="path416" + style="fill:#ffffff;stroke-width:0.264583" /> + <path + d="m -131.45279,136.8575 c 0.003,-8e-4 0.2794,0.48392 -0.30507,0.79613 -0.56171,0.0593 -1.92378,0.12647 -1.92431,0.12197 0.023,-0.27596 0.0672,-0.82682 0.0672,-0.82682 -0.48101,0.51541 -0.9615,1.03293 -1.44198,1.55204 0.3982,0.48922 0.79719,0.98108 1.19539,1.47532 0.0238,-0.2921 0.0487,-0.58473 0.0722,-0.87736 0,-0.005 1.99893,-0.006 2.56064,-0.43259 1.60179,-1.11866 0.99404,-2.74426 0.96149,-2.73553 -0.35586,-0.89588 -0.77232,-1.79017 -1.24909,-2.68658 -0.44477,0.27041 -0.88265,0.5342 -1.31075,0.79137 0.52335,0.94377 0.9824,1.88278 1.37425,2.82205 z" + id="path418" + style="fill:#ffffff;stroke-width:0.264583" /> + <path + d="m -136.4976,130.3416 c -0.003,-5.3e-4 0.30612,-0.58552 0.92471,-0.19817 0.36486,0.53366 1.11919,1.81557 1.11919,1.81557 -0.27675,0.13838 -0.55483,0.27649 -0.83185,0.41434 0.74163,0.1606 1.48326,0.32253 2.22356,0.48815 0.30771,-0.69241 0.61569,-1.38668 0.9234,-2.08332 0,0 -0.62971,0.32755 -0.93928,0.48604 0.0201,-5.3e-4 -1.03928,-2.02645 -1.79228,-2.33945 -2.02301,-0.89323 -3.16124,0.80566 -3.13082,0.81412 -0.61462,0.91837 -1.16919,1.82907 -1.66634,2.73659 0.45693,0.26194 0.90434,0.51408 1.34249,0.75988 0.54637,-0.95647 1.15464,-1.91876 1.82722,-2.89375 z" + id="path420" + style="fill:#ffffff;stroke-width:0.264583" /> + <g + id="layer1-3" + transform="matrix(0.26458333,0,0,0.26458333,-152.84859,113.94802)"> + <path + transform="matrix(1.001374,0,0,0.410363,-2.393169e-5,75.32943)" + d="m 127.82442,115.70919 a 63.91221,12.641975 0 1 1 -127.82442,0 63.91221,12.641975 0 1 1 127.82442,0 z" + id="path1563" + style="opacity:0.381395;fill:url(#radialGradient3336);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + </g> + </g> + </g> +</svg> diff --git a/launcher/resources/multimc/scalable/export.svg b/launcher/resources/multimc/scalable/export.svg new file mode 100644 index 00000000..2605de14 --- /dev/null +++ b/launcher/resources/multimc/scalable/export.svg @@ -0,0 +1,466 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + height="128" + id="svg2811" + version="1.0" + width="128" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <metadata + id="metadata2"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:description /> + <dc:subject> + <rdf:Bag> + <rdf:li>unsorted</rdf:li> + </rdf:Bag> + </dc:subject> + <dc:publisher> + <cc:Agent + rdf:about="http://www.openclipart.org/"> + <dc:title>Open Clip Art Library, Source: Oxygen Icons, Source: Oxygen Icons, Source: Oxygen Icons, Source: Oxygen Icons</dc:title> + </cc:Agent> + </dc:publisher> + <dc:creator> + <cc:Agent> + <dc:title /> + </cc:Agent> + </dc:creator> + <dc:rights> + <cc:Agent> + <dc:title /> + </cc:Agent> + </dc:rights> + <dc:date /> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <cc:license + rdf:resource="http://creativecommons.org/licenses/by-sa/3.0/ or http://creativecommons.org/licenses/LGPL/2.1/" /> + <dc:language>en</dc:language> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs2813"> + <linearGradient + gradientTransform="matrix(1.0033808,0,0,1,-8.2378002,8)" + gradientUnits="userSpaceOnUse" + id="linearGradient2937" + x1="122.74438" + x2="122.39215" + y1="96.721588" + y2="20.043535"> + <stop + id="stop2939" + offset="0" + style="stop-color:#72b4f4;stop-opacity:1" /> + <stop + id="stop2941" + offset="0.13053299" + style="stop-color:#b3d9ff;stop-opacity:1" /> + <stop + id="stop2943" + offset="0.34621301" + style="stop-color:#b3d9ff;stop-opacity:1" /> + <stop + id="stop2945" + offset="0.72006166" + style="stop-color:#71a8f5;stop-opacity:1" /> + <stop + id="stop2947" + offset="1" + style="stop-color:#508ed9;stop-opacity:1" /> + </linearGradient> + <linearGradient + gradientTransform="translate(242.00093,332.5)" + gradientUnits="userSpaceOnUse" + id="linearGradient2927" + x1="-178" + x2="-178" + y1="-228.3945" + y2="-304.61469"> + <stop + id="stop2929" + offset="0" + style="stop-color:#cfe7ff;stop-opacity:1" /> + <stop + id="stop2931" + offset="0.1" + style="stop-color:#71a8f5;stop-opacity:1" /> + <stop + id="stop2933" + offset="1" + style="stop-color:#2c72c7;stop-opacity:1" /> + </linearGradient> + <linearGradient + id="linearGradient2822"> + <stop + id="stop2824" + offset="0" + style="stop-color:#ffffff;stop-opacity:1" /> + <stop + id="stop2826" + offset="1" + style="stop-color:#ffffff;stop-opacity:0" /> + </linearGradient> + <linearGradient + gradientTransform="matrix(1.0033404,0,0,1,-8.2374684,8)" + gradientUnits="userSpaceOnUse" + id="XMLID_9_" + x1="71.999496" + x2="71.999496" + y1="14.2578" + y2="19.9583"> + <stop + id="stop46" + offset="0.25" + style="stop-color:#71a8f5;stop-opacity:0" /> + <stop + id="stop48" + offset="1" + style="stop-color:#0057ae;stop-opacity:1" /> + </linearGradient> + <filter + height="1.768" + id="filter2807" + width="1.0512" + x="-0.025599999" + y="-0.38399999"> + <feGaussianBlur + id="feGaussianBlur2809" + stdDeviation="1.28" /> + </filter> + <linearGradient + gradientTransform="translate(-6.999995,8)" + gradientUnits="userSpaceOnUse" + id="XMLID_6_" + x1="72.000504" + x2="72.000504" + y1="96" + y2="0.00048828119"> + <stop + id="stop7" + offset="0" + style="stop-color:#00479e;stop-opacity:1" /> + <stop + id="stop9" + offset="0.0769" + style="stop-color:#2c72c7;stop-opacity:1" /> + <stop + id="stop11" + offset="0.58579999" + style="stop-color:#6ea1df;stop-opacity:1" /> + <stop + id="stop13" + offset="0.96450001" + style="stop-color:#adcbee;stop-opacity:1" /> + </linearGradient> + <linearGradient + gradientTransform="matrix(1.0033808,0,0,1,-8.2378,8)" + gradientUnits="userSpaceOnUse" + id="linearGradient3109" + x1="122.74438" + x2="122.74438" + xlink:href="#linearGradient2937" + y1="96" + y2="20" /> + <linearGradient + gradientTransform="translate(242.00093,332.5)" + gradientUnits="userSpaceOnUse" + id="linearGradient2923" + x1="-168.99216" + x2="-168.99216" + xlink:href="#linearGradient2822" + y1="-300.5" + y2="-296.48441" /> + <linearGradient + gradientTransform="translate(242.00093,332.5)" + gradientUnits="userSpaceOnUse" + id="linearGradient2925" + x1="-178" + x2="-178" + xlink:href="#linearGradient2927" + y1="-228.5" + y2="-304.61469" /> + <linearGradient + gradientTransform="translate(242.00093,364.5)" + gradientUnits="userSpaceOnUse" + id="linearGradient2197" + x1="-168.99216" + x2="-168.99216" + xlink:href="#linearGradient2822" + y1="-300.5" + y2="-296.48441" /> + <linearGradient + gradientTransform="matrix(1,0,0,0.7368421,242.00093,284.36842)" + gradientUnits="userSpaceOnUse" + id="linearGradient2201" + x1="-178" + x2="-178" + xlink:href="#linearGradient2927" + y1="-228.5" + y2="-304.61469" /> + <linearGradient + gradientTransform="matrix(1.0033404,0,0,1,-7.2374684,40)" + gradientUnits="userSpaceOnUse" + id="linearGradient2204" + x1="71.999496" + x2="71.999496" + xlink:href="#XMLID_9_" + y1="14.2578" + y2="19.9583" /> + <linearGradient + gradientTransform="matrix(1.0033808,0,0,0.7368421,-8.2378,45.263158)" + gradientUnits="userSpaceOnUse" + id="linearGradient2207" + x1="122.74438" + x2="122.74438" + xlink:href="#linearGradient2937" + y1="96" + y2="20" /> + <linearGradient + gradientTransform="translate(-6.999995,20)" + gradientUnits="userSpaceOnUse" + id="linearGradient2212" + x1="72.000504" + x2="72.000504" + xlink:href="#XMLID_6_" + y1="96" + y2="0.00048828119" /> + <linearGradient + gradientUnits="userSpaceOnUse" + id="linearGradient10213" + x1="98.617439" + x2="91.228737" + xlink:href="#linearGradient10207" + y1="106.41443" + y2="99.254974" /> + <radialGradient + cx="102" + cy="112.3047" + fx="102" + fy="112.3047" + gradientTransform="matrix(1.295034,1.3831431e-7,-1.3627884e-7,1.2946006,-30.093452,-33.119615)" + gradientUnits="userSpaceOnUse" + id="radialGradient9437" + r="139.55859" + xlink:href="#XMLID_8_" /> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath7084"> + <path + d="M 72,88 L 40,120 L 32,120 L 32,80 L 72,80 L 72,88 z" + id="path7086" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </clipPath> + <radialGradient + cx="102" + cy="112.3047" + gradientUnits="userSpaceOnUse" + id="XMLID_8_" + r="139.55859"> + <stop + id="stop41" + offset="0" + style="stop-color:#b7b8b9;stop-opacity:1;" /> + <stop + id="stop47" + offset="0.18851049" + style="stop-color:#ECECEC" /> + <stop + id="stop49" + offset="0.25718147" + style="stop-color:#FAFAFA" /> + <stop + id="stop51" + offset="0.30111277" + style="stop-color:#FFFFFF" /> + <stop + id="stop53" + offset="0.5313" + style="stop-color:#FAFAFA" /> + <stop + id="stop55" + offset="0.8449" + style="stop-color:#EBECEC" /> + <stop + id="stop57" + offset="1" + style="stop-color:#E1E2E3" /> + </radialGradient> + <linearGradient + gradientUnits="userSpaceOnUse" + id="XMLID_12_" + x1="96" + x2="88.000198" + y1="104" + y2="96.000198"> + <stop + id="stop83" + offset="0" + style="stop-color:#888A85" /> + <stop + id="stop85" + offset="0.0072" + style="stop-color:#8C8E89" /> + <stop + id="stop87" + offset="0.0673" + style="stop-color:#ABACA9" /> + <stop + id="stop89" + offset="0.1347" + style="stop-color:#C5C6C4" /> + <stop + id="stop91" + offset="0.2652576" + style="stop-color:#DBDBDA" /> + <stop + id="stop93" + offset="0.37646064" + style="stop-color:#EBEBEB" /> + <stop + id="stop95" + offset="0.48740286" + style="stop-color:#F7F7F6" /> + <stop + id="stop97" + offset="0.6324091" + style="stop-color:#FDFDFD" /> + <stop + id="stop99" + offset="1" + style="stop-color:#FFFFFF" /> + </linearGradient> + <linearGradient + id="linearGradient10207"> + <stop + id="stop10209" + offset="0" + style="stop-color:#a2a2a2;stop-opacity:1;" /> + <stop + id="stop10211" + offset="1" + style="stop-color:#ffffff;stop-opacity:1;" /> + </linearGradient> + <linearGradient + gradientTransform="matrix(1.0172054,0,0,1.5,246.03226,514.75)" + gradientUnits="userSpaceOnUse" + id="linearGradient3385" + x1="-168.99216" + x2="-168.99216" + xlink:href="#linearGradient2822" + y1="-300.5" + y2="-296.48441" /> + <linearGradient + gradientTransform="matrix(1,0,0,0.7368421,242.00093,284.36842)" + gradientUnits="userSpaceOnUse" + id="linearGradient3387" + x1="-178" + x2="-178" + xlink:href="#linearGradient2927" + y1="-232.84966" + y2="-304.61469" /> + <linearGradient + xlink:href="#linearGradient9732" + id="linearGradient3302" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.0017056,0,0,1.0011229,34.393692,27.039518)" + x1="66.635262" + y1="48.579208" + x2="13.134155" + y2="48.579208" /> + <linearGradient + id="linearGradient9732"> + <stop + id="stop9734" + offset="0" + style="stop-color:white;stop-opacity:1;" /> + <stop + style="stop-color:white;stop-opacity:1;" + offset="0.5" + id="stop9740" /> + <stop + id="stop9736" + offset="1" + style="stop-color:white;stop-opacity:0;" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient3317" + id="linearGradient3299" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.464058,0,0,1.464058,34.761082,27.326693)" + x1="49.087219" + y1="28.30368" + x2="-3.3878942" + y2="29.14728" /> + <linearGradient + id="linearGradient3317"> + <stop + style="stop-color:#646464;stop-opacity:1;" + offset="0" + id="stop3319" /> + <stop + id="stop3321" + offset="0.086" + style="stop-color:#7e7e7e;stop-opacity:1;" /> + <stop + id="stop3323" + offset="0.86000001" + style="stop-color:#999;stop-opacity:0.58762884;" /> + <stop + style="stop-color:white;stop-opacity:0;" + offset="1" + id="stop3325" /> + </linearGradient> + </defs> + <path + d="M 118.983,31 C 118.992,29.35 117.64999,28 115.99999,28 L 40.961007,28 C 40.961007,28 32.061006,20 30.961,20 L 14.999998,20 C 12.799996,20 10.999999,21.8 10.999999,24 L 10.999999,31 C 10.999999,31 11.999999,116 8,116 L 122,116 C 117.99999,116 118.983,31 118.983,31 z " + id="path15" + style="fill:url(#linearGradient2212)" /> + <g + id="g17" + style="opacity:0.6;filter:url(#filter2807)" + transform="matrix(1.0033404,0,0,1,-8.2374684,20)"> + <path + d="M 132,96 C 132,98.2 128.4,100 124,100 L 20,100 C 15.6,100 12,98.2 12,96 C 12,93.8 15.6,92 20,92 L 124,92 C 128.4,92 132,93.8 132,96 z " + id="path19" /> + </g> + <path + d="M 10.884862,54 C 10.893892,55.75 10.902922,57.755 10.910952,60 L 119.09511,60 C 119.10414,57.755 119.11317,55.75 119.1212,54 L 10.884862,54 z " + id="path50" + style="opacity:0.5;fill:url(#linearGradient2204)" /> + <path + d="M 119.99722,31 C 120.00622,29.35 118.66422,28 117.01422,28 L 42.975222,28 L 36.389222,21.414 C 35.611222,20.636 34.075222,20 32.975222,20 L 12.014222,20 C 9.8142222,20 8.0142222,21.8 8.0142222,24 C 8.0142222,24 7.9822222,54.499299 8.0142222,60.031299 L 12.014222,60.031299 C 12.014222,53.222299 12.014222,24 12.014222,24 L 32.901222,23.997 C 33.083222,24.019 33.470222,24.179 33.560222,24.243 L 41.318222,32 C 41.318222,32 114.02722,32 115.99922,32 C 115.99922,32.435 116.00022,56.400299 116.00222,60.031299 L 120.01422,60.031299 C 120.04522,54.499299 119.99722,31 119.99722,31 z " + id="path2896" + style="fill:#5e95e3;fill-opacity:1" /> + <path + d="M 124.36598,113.79242 C 124.27969,115.00674 122.85389,116 121.19831,116 L 6.812906,116 C 5.157329,116 3.731522,115.00674 3.644228,113.79242 L 0.007982,62.204632 C -0.112423,60.992526 1.143808,60 2.799384,60 L 125.21183,60 C 126.86741,60 128.11762,60.991789 127.9912,62.203895 L 124.36598,113.79242 z " + id="path30" + style="opacity:0.9;fill:url(#linearGradient2207);fill-opacity:1" /> + <path + d="M 125.21293,60 L 2.7999261,60 C 1.1449261,60 -0.11207393,60.992526 0.0079260701,62.204632 L 3.6439261,113.79242 C 3.7309261,115.00674 5.1569261,116 6.8129261,116 L 121.19793,116 C 122.85393,116 124.27993,115.00674 124.36593,113.79242 L 127.99093,62.203895 C 128.11893,60.991789 126.86793,60 125.21293,60 z M 120.41393,113.05263 C 118.87493,113.05263 9.1349261,113.05263 7.5979261,113.05263 C 7.2299261,107.83726 4.5229261,70.627562 4.0659261,64.149246 C 6.5189261,64.149246 121.45793,64.149246 123.93493,64.149246 C 123.81393,65.85872 120.49293,111.92821 120.41393,113.05263 z " + id="path2894" + style="fill:url(#linearGradient3387)" /> + <path + d="M 4,64 C 4.0273488,64.775875 4.1802721,68.801119 4.2225137,70 C 7.123925,70 122.78934,70 125.71499,70 C 125.74343,69.191222 125.93026,64.204735 125.9375,64 C 123.41788,64 6.4952049,64 4,64 z " + id="path2908" + style="fill:url(#linearGradient3385);fill-opacity:1;opacity:0.835" /> + <path + style="fill:url(#linearGradient3302);fill-opacity:1" + d="m 69.898474,103.45771 5.856232,5.85623 30.761814,-32.21825 -30.761814,-32.2003 -5.856232,5.85623 11.712465,17.5687 H 40.617313 v 17.56869 h 40.993626 z" + id="polygon3477_2_" /> + <path + style="fill:url(#linearGradient3299);fill-opacity:1;stroke:none" + d="m 75.800458,39.03916 c -1.573495,-0.0241 -3.090514,0.58597 -4.209166,1.69281 l -5.856231,5.85624 C 63.749307,48.56552 63.442452,51.67243 65.003031,54 l 5.627473,8.46409 H 40.617313 v 29.281159 h 30.013191 l -5.627473,8.464081 c -1.56058,2.32757 -1.253725,5.43448 0.73203,7.4118 l 5.856231,5.85623 c 1.121886,1.12264 2.668011,1.76444 4.254918,1.73857 1.586907,-0.0259 3.078725,-0.71721 4.163416,-1.87583 L 110.75484,81.13083 c 2.16677,-2.26455 2.16677,-5.83354 0,-8.09808 L 80.009626,40.86923 c -1.095643,-1.15728 -2.615555,-1.81812 -4.209168,-1.83007 z m -0.04583,5.85623 30.745222,32.20928 -30.745222,32.20927 -5.856231,-5.85623 11.712464,-17.5687 H 40.617236 V 68.32032 h 40.993625 l -11.712459,-17.5687 5.856231,-5.85623 z" + id="path3616" /> +</svg> diff --git a/launcher/resources/multimc/scalable/instances/bee.svg b/launcher/resources/multimc/scalable/instances/bee.svg index 49f216c8..110b224c 100644 --- a/launcher/resources/multimc/scalable/instances/bee.svg +++ b/launcher/resources/multimc/scalable/instances/bee.svg @@ -1,159 +1,136 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" + width="24" + height="24" version="1.1" - viewBox="0 0 25.399999 25.4" - height="96" - width="96"> - <g transform="translate(-33.928467,-255.46043)"> - <g transform="rotate(-9.9635201,-96.932986,622.95265)"> - <path style="fill:#f1f2e0;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.28753757px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 101.98199,286.42583 -1.1502,0.57512 1.14992,0.5755 2.30058,1.14996 1.15019,-0.57514 -2.30058,-1.14995 z m 2.3003,2.30058 -1.1502,0.57512 1.15002,0.57493 1.15019,-0.57513 z m -1.8e-4,1.15005 -1.1502,0.57512 1.15057,0.57502 1.15019,-0.57512 z m 3.7e-4,1.15014 -1.15019,0.57514 -1.1502,0.57512 1.15001,0.57493 1.1502,-0.57513 1.15019,-0.57512 z m -2.30039,1.15026 -1.15001,-0.57494 -1.150566,-0.57502 -1.150193,0.57512 1.150565,0.57502 1.150014,0.57494 z m -2.300576,-1.14996 1.150196,-0.57513 -1.150014,-0.57493 -1.150097,0.57456 z m -1.149915,-0.5755 1.150193,-0.57512 -1.150012,-0.57492 -1.150194,0.57512 z m 1.81e-4,-1.15004 1.150194,-0.57513 -1.150567,-0.57503 -1.150193,0.57512 z m -3.73e-4,-1.15016 1.150194,-0.57512 1.150189,-0.57513 -1.150008,-0.57492 -1.150193,0.57512 -1.150194,0.57512 z m 1.150567,0.57503 1.149916,0.57548 1.15001,0.57494 1.15019,-0.57512 -1.15001,-0.57494 -1.15047,-0.57558 z" /> - </g> - <g style="fill:none;stroke:#999999" transform="matrix(1.0012918,0.26829532,-0.26829532,1.0012918,86.112205,-31.978257)"> - <path style="stroke:#999999;stroke-width:1.03661346px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 85.501953 51.128906 C 82.473901 51.748417 79.445938 52.368362 76.417969 52.988281 L 79.886719 56.064453 C 82.914656 55.444381 85.942682 54.824742 88.970703 54.205078 L 85.501953 51.128906 z " - transform="matrix(0.24654113,-0.06606049,0.06606049,0.24654113,23.141685,280.86706)" /> - <path style="stroke:#999999;stroke-width:1.03661346px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 79.636719 40.972656 L 75.095703 41.902344 C 78.563735 44.978675 82.032556 48.054115 85.501953 51.128906 L 90.042969 50.201172 L 79.636719 40.972656 z " - transform="matrix(0.24654113,-0.06606049,0.06606049,0.24654113,23.141685,280.86706)" /> - </g> - <path style="fill:#fed668" d="m 41.865965,262.07502 -4.233333,2.11667 7.408333,3.70417 4.233334,-2.11667 z" /> - <path style="fill:#0a0707" d="m 50.332633,272.39378 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> - <path style="fill:#422117" d="m 50.332633,273.7167 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> - <path style="fill:#0a0707" d="m 48.215966,273.45211 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> - <path style="fill:#422117" d="m 48.215966,274.77503 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> - <path style="fill:#422117" d="m 45.040966,275.3042 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> - <path style="fill:#78621d" d="m 45.040965,277.15626 4.233334,-2.11665 v -9.26042 l -4.233334,2.11667 z" /> - <path style="fill:#1d0c08" d="m 50.332632,265.25002 -1.058333,0.52917 v 9.26042 l 1.058333,-0.52917 z" /> - <path style="fill:#1d0c08" d="m 52.449299,264.19169 -1.058333,0.52917 v 9.26042 l 1.058333,-0.52917 z" /> - <path style="fill:#edc343" d="m 38.690965,263.66252 1.058334,0.52917 1.058333,-0.52917 1.058333,0.52917 2.116667,-1.05834 -2.116667,-1.05833 z" /> - <path style="fill:#fed668" d="m 42.924299,261.54586 7.408334,3.70417 1.058333,-0.52917 -7.408334,-3.70417 z" /> - <path style="fill:#e4ae3b" d="m 40.807633,262.60419 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#fed668" d="m 45.040966,260.48752 7.408333,3.70417 1.058333,-0.52917 -7.408333,-3.70417 z" /> - <path style="fill:#5f3225" d="m 42.924299,261.54585 -1.058334,0.52917 7.408333,3.70417 1.058334,-0.52917 z" /> - <path style="fill:#e4ae3b" d="m 42.9243,261.54585 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#5f3225" d="m 45.040965,260.48752 -1.058333,0.52917 7.408333,3.70416 1.058333,-0.52916 z" /> - <path style="fill:#e4ae3b" d="m 45.040966,260.48752 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#5f3225" d="m 46.099299,259.95835 7.408333,3.70417 2.116666,-1.05833 -7.408333,-3.70417 z" /> - <path style="fill:#552e22" d="m 47.157633,259.42919 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#edc343" d="m 43.982633,262.07502 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#edc343" d="m 46.099299,261.01669 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#edc343" d="m 40.807633,264.72086 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#e4ae3b" d="m 45.040967,262.60419 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#552e22" d="m 49.2743,260.48753 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#edc343" d="m 48.215966,262.07502 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#edc343" d="m 41.865966,266.30836 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#552e22" d="m 50.332633,262.07502 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#edc343" d="m 46.099299,265.25002 -1.058334,0.52917 1.058334,0.52916 -2.116667,1.05834 1.058333,0.52916 3.175,-1.5875 z" /> - <path style="fill:#edc343" d="m 48.215967,264.19169 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#edc343" d="m 50.332633,263.13336 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#e4ae3b" d="m 47.157633,265.77919 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#e4ae3b" d="m 49.2743,264.72085 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#e4ae3b" d="m 51.390966,263.66252 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#edc343" d="m 38.690966,264.72086 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#ac8d2e" d="m 37.632633,273.45211 7.408333,3.70415 v -9.2604 l -7.408333,-3.70417 z" /> - <path style="fill:#12121a" d="m 37.632633,268.16044 2.116666,1.05834 v 3.96875 l -2.116666,-1.05834 z" /> - <path style="fill:#78621d" d="m 50.332633,265.25002 v 9.26041 l 1.058333,-0.52916 v -9.26042 z" /> - <path style="fill:#78621d" d="m 52.449299,264.19169 v 9.26041 l 1.058333,-0.52916 v -9.26042 z" /> - <path style="fill:#27120b" d="m 49.274299,265.77919 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> - <path style="fill:#09090e" d="m 45.040966,271.86461 1.058333,-0.52917 v 3.96875 l -1.058333,0.52917 -2.116667,-1.05834 v -3.96875 z" /> - <path style="fill:#150704" d="m 49.2743,271.07085 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> - <path style="fill:#050303" d="m 49.2743,273.71669 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#150704" d="m 51.390966,268.68961 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> - <path style="fill:#050303" d="m 51.390966,271.33544 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> - <path style="fill:#2c140d" d="m 51.390966,264.72086 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#1d0c08" d="m 55.624299,262.60419 -2.116666,1.05833 v 9.26042 l 2.116666,-1.05833 z" /> - <path style="fill:#150704" d="m 53.507633,268.95419 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#050303" d="m 53.507633,270.2771 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> - <path style="fill:#2c140d" d="m 53.507633,263.66252 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#27120b" d="m 54.565966,263.13335 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> - <path style="fill:#150704" d="m 54.565966,269.74794 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> - <path style="fill:#27120b" d="m 54.565966,267.10211 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#633f19" d="m 45.040965,277.15626 3.175,-1.58749 v -1.32291 l -3.175,1.5875 z" /> - <path style="fill:#55300a" d="m 48.215966,274.24586 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#694520" d="m 48.215966,272.92294 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#735619" d="m 48.215966,271.60002 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#735619" d="m 47.157633,273.45211 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#131016" d="m 45.040966,271.86461 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#131016" d="m 45.040966,274.51044 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#694520" d="m 45.040966,270.54169 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#735619" d="m 46.0993,270.01252 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#816c31" d="m 45.040966,267.89586 v 1.32291 l 1.058333,-0.52916 v 1.32291 l 1.058334,-0.52916 v -1.32292 l 2.116666,-1.05833 v -1.32292 z" /> - <path style="fill:#49250c" d="m 50.332633,273.18752 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#633f19" d="m 50.332633,271.86461 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#735619" d="m 50.332633,269.21878 v 2.64582 l 1.058333,-0.52916 v -2.64583 z" /> - <path style="fill:#816c31" d="m 50.332633,265.25002 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#49250c" d="m 52.449299,270.80627 10e-7,2.64583 1.058333,-0.52916 -10e-7,-2.64584 z" /> - <path style="fill:#55300a" d="m 52.4493,269.48336 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#694520" d="m 52.4493,268.16044 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#755719" d="m 52.4493,266.83752 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#816c31" d="m 52.4493,264.19169 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#b89b49" d="m 37.632632,265.51461 2.116667,1.05833 v -1.32292 l -2.116667,-1.05833 z" /> - <path style="fill:#b89b49" d="m 40.807633,267.10211 2.116667,1.05833 v -1.32292 l -2.116667,-1.05833 z" /> - <path style="fill:#b89b49" d="m 43.982633,270.01253 1.058333,0.52916 v -2.64584 l -1.058333,-0.52916 z" /> - <path style="fill:#966531" d="m 43.982632,271.33545 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#a57d28" d="m 42.924299,270.80627 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#b89b49" d="m 41.865965,270.27712 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#966531" d="m 43.982632,271.33545 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#a57d28" d="m 39.749299,273.18753 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#a57d28" d="m 41.865965,274.24587 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#a57d28" d="m 40.807633,275.03961 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#8e5c28" d="m 43.982633,276.62711 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#966531" d="m 41.865966,275.56877 2.116667,1.05833 v -1.32292 l -2.116667,-1.05833 z" /> - <path style="fill:#966531" d="m 38.690966,273.98128 2.116667,1.05833 v -1.32292 l -2.116667,-1.05833 z" /> - <path style="fill:#8e5c28" d="m 37.632632,273.45212 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#956531" d="m 37.632633,268.16044 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#b89b49" d="m 39.749299,267.89587 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#1f1c25" d="m 38.690966,267.36669 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#1f1c25" d="m 42.924299,269.48337 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#589197" d="m 42.924299,272.12919 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#589197" d="m 38.690966,270.01252 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#12121a" d="m 43.982633,272.65836 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#12121a" d="m 42.924299,273.45211 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#12121a" d="m 43.982633,275.30419 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#1f1c25" d="m 43.982633,273.98127 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#1f1c25" d="m 42.924299,274.77503 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#1f1c25" d="m 38.690966,272.65836 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#1f1c25" d="m 37.632633,270.80627 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> - <path style="fill:#131016" d="m 38.690966,267.10211 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#131016" d="m 36.574299,266.83752 v 1.32291 l 2.116667,-1.05832 v -1.32292 z" /> - <path style="fill:#131016" d="m 41.865966,268.68961 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> - <path style="fill:#131016" d="m 39.749299,268.42502 v 1.32291 l 2.116667,-1.05832 v -1.32292 z" /> - <g transform="matrix(1.0012918,0.26829532,-0.26829532,1.0012918,86.112205,-31.978257)"> - <path style="fill:#f1f2e0" d="m 38.073986,286.23688 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#5f3225" d="m 37.015652,286.76606 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#5f3225" d="m 37.015652,287.82438 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 38.073986,288.35355 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 40.190652,286.23689 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 42.307319,286.23688 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 42.307319,287.29521 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 43.365653,287.82437 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 43.365653,288.88271 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 41.248986,288.88271 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 40.190653,288.35354 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 45.482319,288.88271 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 46.540653,288.35355 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 46.540653,287.29521 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 44.423986,286.23688 2.116667,1.05833 1.058333,-0.52917 -2.116667,-1.05833 z" /> - </g> - <g transform="matrix(1.0703659,-0.18803179,0.18803179,1.0703659,-63.348962,-38.123102)"> - <path style="fill:#f1f2e0" d="m 48.392735,288.88271 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#5f3225" d="m 47.334402,289.41187 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#5f3225" d="m 45.217735,289.41188 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 44.159402,288.8827 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 43.101069,286.23687 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 43.101068,285.17854 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 46.276068,284.64938 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 45.217735,286.23688 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 44.159402,284.64937 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 43.101068,287.2952 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 44.159402,287.82438 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 48.392735,286.76604 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 48.392735,287.82438 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f1f2e0" d="m 46.276068,286.76604 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> - <path style="fill:#f7fdfd" d="m 47.334402,285.17854 2.116667,1.05833 1.058333,-0.52917 -2.116667,-1.05833 z" /> - </g> - </g> -</svg> + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + xlink:href="#linearGradient1308" + id="linearGradient1310" + x1="16" + y1="27" + x2="16" + y2="5" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient1308"><stop + style="stop-color:#f3db6c;stop-opacity:1;" + offset="0" + id="stop1304" /><stop + style="stop-color:#ffeea9;stop-opacity:1;" + offset="1" + id="stop1306" /></linearGradient><linearGradient + xlink:href="#linearGradient1440" + id="linearGradient1442" + x1="7" + y1="24" + x2="11" + y2="14" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient1440"><stop + style="stop-color:#2c251f;stop-opacity:1;" + offset="0" + id="stop1436" /><stop + style="stop-color:#4d3f33;stop-opacity:1;" + offset="1" + id="stop1438" /></linearGradient><linearGradient + xlink:href="#linearGradient1460" + id="linearGradient1462" + x1="10" + y1="18" + x2="12" + y2="14" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-1)" /><linearGradient + id="linearGradient1460"><stop + style="stop-color:#4c7aba;stop-opacity:1;" + offset="0" + id="stop1456" /><stop + style="stop-color:#86c3cf;stop-opacity:1;" + offset="1" + id="stop1458" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_bee" + transform="translate(-4,-4)"><rect + style="fill:url(#linearGradient1310);fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect543" + width="18" + height="18" + x="7" + y="7" + ry="3" /><g + id="g7050" + clip-path="none" + transform="translate(2,-1)"><rect + style="fill:url(#linearGradient1442);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect3612" + width="5" + height="9" + x="6" + y="14" + ry="1" /><path + id="rect4739" + style="fill:url(#linearGradient1462);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 8,14 v 4 h 3 v -3 c 0,-0.553999 -0.446001,-1 -1,-1 z" /></g><use + x="0" + y="0" + xlink:href="#g7050" + id="use7056" + transform="matrix(-1,0,0,1,32,0)" /><g + id="g10049" + transform="translate(0,-1)" + style="fill:#2c251f;fill-opacity:1"><rect + style="fill:#2c251f;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect9308" + width="3" + height="3" + x="9" + y="10" + ry="1" /><rect + style="fill:#2c251f;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect9310" + width="5" + height="3" + x="4" + y="7" + ry="1" /><path + id="path9312" + style="fill:#2c251f;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 8,9 v 1 c 0.5539988,0 1,0.446001 1,1 h 1 V 10 C 9.4460006,10 9,9.5539994 9,9 Z" /></g><g + id="g10057" + transform="matrix(-1,0,0,1,31,-1)" + style="fill:#2c251f;fill-opacity:1"><rect + style="fill:#2c251f;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect10051" + width="3" + height="3" + x="8" + y="10" + ry="1" /><rect + style="fill:#2c251f;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect10053" + width="5" + height="3" + x="3" + y="7" + ry="1" /><path + id="path10055" + style="fill:#2c251f;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 7,9 v 1 c 0.5539988,0 1,0.446001 1,1 H 9 V 10 C 8.4460006,10 8,9.5539994 8,9 Z" /></g><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412" + width="24" + height="24" + x="4" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/bee_legacy.svg b/launcher/resources/multimc/scalable/instances/bee_legacy.svg new file mode 100644 index 00000000..49f216c8 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/bee_legacy.svg @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + version="1.1" + viewBox="0 0 25.399999 25.4" + height="96" + width="96"> + <g transform="translate(-33.928467,-255.46043)"> + <g transform="rotate(-9.9635201,-96.932986,622.95265)"> + <path style="fill:#f1f2e0;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.28753757px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="m 101.98199,286.42583 -1.1502,0.57512 1.14992,0.5755 2.30058,1.14996 1.15019,-0.57514 -2.30058,-1.14995 z m 2.3003,2.30058 -1.1502,0.57512 1.15002,0.57493 1.15019,-0.57513 z m -1.8e-4,1.15005 -1.1502,0.57512 1.15057,0.57502 1.15019,-0.57512 z m 3.7e-4,1.15014 -1.15019,0.57514 -1.1502,0.57512 1.15001,0.57493 1.1502,-0.57513 1.15019,-0.57512 z m -2.30039,1.15026 -1.15001,-0.57494 -1.150566,-0.57502 -1.150193,0.57512 1.150565,0.57502 1.150014,0.57494 z m -2.300576,-1.14996 1.150196,-0.57513 -1.150014,-0.57493 -1.150097,0.57456 z m -1.149915,-0.5755 1.150193,-0.57512 -1.150012,-0.57492 -1.150194,0.57512 z m 1.81e-4,-1.15004 1.150194,-0.57513 -1.150567,-0.57503 -1.150193,0.57512 z m -3.73e-4,-1.15016 1.150194,-0.57512 1.150189,-0.57513 -1.150008,-0.57492 -1.150193,0.57512 -1.150194,0.57512 z m 1.150567,0.57503 1.149916,0.57548 1.15001,0.57494 1.15019,-0.57512 -1.15001,-0.57494 -1.15047,-0.57558 z" /> + </g> + <g style="fill:none;stroke:#999999" transform="matrix(1.0012918,0.26829532,-0.26829532,1.0012918,86.112205,-31.978257)"> + <path style="stroke:#999999;stroke-width:1.03661346px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 85.501953 51.128906 C 82.473901 51.748417 79.445938 52.368362 76.417969 52.988281 L 79.886719 56.064453 C 82.914656 55.444381 85.942682 54.824742 88.970703 54.205078 L 85.501953 51.128906 z " + transform="matrix(0.24654113,-0.06606049,0.06606049,0.24654113,23.141685,280.86706)" /> + <path style="stroke:#999999;stroke-width:1.03661346px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" d="M 79.636719 40.972656 L 75.095703 41.902344 C 78.563735 44.978675 82.032556 48.054115 85.501953 51.128906 L 90.042969 50.201172 L 79.636719 40.972656 z " + transform="matrix(0.24654113,-0.06606049,0.06606049,0.24654113,23.141685,280.86706)" /> + </g> + <path style="fill:#fed668" d="m 41.865965,262.07502 -4.233333,2.11667 7.408333,3.70417 4.233334,-2.11667 z" /> + <path style="fill:#0a0707" d="m 50.332633,272.39378 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> + <path style="fill:#422117" d="m 50.332633,273.7167 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> + <path style="fill:#0a0707" d="m 48.215966,273.45211 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> + <path style="fill:#422117" d="m 48.215966,274.77503 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> + <path style="fill:#422117" d="m 45.040966,275.3042 v 1.32291 l 1.058333,0.52917 v -1.32292 z" /> + <path style="fill:#78621d" d="m 45.040965,277.15626 4.233334,-2.11665 v -9.26042 l -4.233334,2.11667 z" /> + <path style="fill:#1d0c08" d="m 50.332632,265.25002 -1.058333,0.52917 v 9.26042 l 1.058333,-0.52917 z" /> + <path style="fill:#1d0c08" d="m 52.449299,264.19169 -1.058333,0.52917 v 9.26042 l 1.058333,-0.52917 z" /> + <path style="fill:#edc343" d="m 38.690965,263.66252 1.058334,0.52917 1.058333,-0.52917 1.058333,0.52917 2.116667,-1.05834 -2.116667,-1.05833 z" /> + <path style="fill:#fed668" d="m 42.924299,261.54586 7.408334,3.70417 1.058333,-0.52917 -7.408334,-3.70417 z" /> + <path style="fill:#e4ae3b" d="m 40.807633,262.60419 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#fed668" d="m 45.040966,260.48752 7.408333,3.70417 1.058333,-0.52917 -7.408333,-3.70417 z" /> + <path style="fill:#5f3225" d="m 42.924299,261.54585 -1.058334,0.52917 7.408333,3.70417 1.058334,-0.52917 z" /> + <path style="fill:#e4ae3b" d="m 42.9243,261.54585 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#5f3225" d="m 45.040965,260.48752 -1.058333,0.52917 7.408333,3.70416 1.058333,-0.52916 z" /> + <path style="fill:#e4ae3b" d="m 45.040966,260.48752 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#5f3225" d="m 46.099299,259.95835 7.408333,3.70417 2.116666,-1.05833 -7.408333,-3.70417 z" /> + <path style="fill:#552e22" d="m 47.157633,259.42919 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#edc343" d="m 43.982633,262.07502 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#edc343" d="m 46.099299,261.01669 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#edc343" d="m 40.807633,264.72086 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#e4ae3b" d="m 45.040967,262.60419 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#552e22" d="m 49.2743,260.48753 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#edc343" d="m 48.215966,262.07502 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#edc343" d="m 41.865966,266.30836 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#552e22" d="m 50.332633,262.07502 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#edc343" d="m 46.099299,265.25002 -1.058334,0.52917 1.058334,0.52916 -2.116667,1.05834 1.058333,0.52916 3.175,-1.5875 z" /> + <path style="fill:#edc343" d="m 48.215967,264.19169 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#edc343" d="m 50.332633,263.13336 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#e4ae3b" d="m 47.157633,265.77919 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#e4ae3b" d="m 49.2743,264.72085 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#e4ae3b" d="m 51.390966,263.66252 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#edc343" d="m 38.690966,264.72086 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#ac8d2e" d="m 37.632633,273.45211 7.408333,3.70415 v -9.2604 l -7.408333,-3.70417 z" /> + <path style="fill:#12121a" d="m 37.632633,268.16044 2.116666,1.05834 v 3.96875 l -2.116666,-1.05834 z" /> + <path style="fill:#78621d" d="m 50.332633,265.25002 v 9.26041 l 1.058333,-0.52916 v -9.26042 z" /> + <path style="fill:#78621d" d="m 52.449299,264.19169 v 9.26041 l 1.058333,-0.52916 v -9.26042 z" /> + <path style="fill:#27120b" d="m 49.274299,265.77919 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> + <path style="fill:#09090e" d="m 45.040966,271.86461 1.058333,-0.52917 v 3.96875 l -1.058333,0.52917 -2.116667,-1.05834 v -3.96875 z" /> + <path style="fill:#150704" d="m 49.2743,271.07085 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> + <path style="fill:#050303" d="m 49.2743,273.71669 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#150704" d="m 51.390966,268.68961 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> + <path style="fill:#050303" d="m 51.390966,271.33544 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> + <path style="fill:#2c140d" d="m 51.390966,264.72086 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#1d0c08" d="m 55.624299,262.60419 -2.116666,1.05833 v 9.26042 l 2.116666,-1.05833 z" /> + <path style="fill:#150704" d="m 53.507633,268.95419 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#050303" d="m 53.507633,270.2771 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> + <path style="fill:#2c140d" d="m 53.507633,263.66252 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#27120b" d="m 54.565966,263.13335 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> + <path style="fill:#150704" d="m 54.565966,269.74794 v 2.64583 l 1.058333,-0.52916 v -2.64584 z" /> + <path style="fill:#27120b" d="m 54.565966,267.10211 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#633f19" d="m 45.040965,277.15626 3.175,-1.58749 v -1.32291 l -3.175,1.5875 z" /> + <path style="fill:#55300a" d="m 48.215966,274.24586 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#694520" d="m 48.215966,272.92294 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#735619" d="m 48.215966,271.60002 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#735619" d="m 47.157633,273.45211 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#131016" d="m 45.040966,271.86461 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#131016" d="m 45.040966,274.51044 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#694520" d="m 45.040966,270.54169 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#735619" d="m 46.0993,270.01252 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#816c31" d="m 45.040966,267.89586 v 1.32291 l 1.058333,-0.52916 v 1.32291 l 1.058334,-0.52916 v -1.32292 l 2.116666,-1.05833 v -1.32292 z" /> + <path style="fill:#49250c" d="m 50.332633,273.18752 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#633f19" d="m 50.332633,271.86461 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#735619" d="m 50.332633,269.21878 v 2.64582 l 1.058333,-0.52916 v -2.64583 z" /> + <path style="fill:#816c31" d="m 50.332633,265.25002 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#49250c" d="m 52.449299,270.80627 10e-7,2.64583 1.058333,-0.52916 -10e-7,-2.64584 z" /> + <path style="fill:#55300a" d="m 52.4493,269.48336 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#694520" d="m 52.4493,268.16044 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#755719" d="m 52.4493,266.83752 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#816c31" d="m 52.4493,264.19169 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#b89b49" d="m 37.632632,265.51461 2.116667,1.05833 v -1.32292 l -2.116667,-1.05833 z" /> + <path style="fill:#b89b49" d="m 40.807633,267.10211 2.116667,1.05833 v -1.32292 l -2.116667,-1.05833 z" /> + <path style="fill:#b89b49" d="m 43.982633,270.01253 1.058333,0.52916 v -2.64584 l -1.058333,-0.52916 z" /> + <path style="fill:#966531" d="m 43.982632,271.33545 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#a57d28" d="m 42.924299,270.80627 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#b89b49" d="m 41.865965,270.27712 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#966531" d="m 43.982632,271.33545 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#a57d28" d="m 39.749299,273.18753 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#a57d28" d="m 41.865965,274.24587 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#a57d28" d="m 40.807633,275.03961 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#8e5c28" d="m 43.982633,276.62711 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#966531" d="m 41.865966,275.56877 2.116667,1.05833 v -1.32292 l -2.116667,-1.05833 z" /> + <path style="fill:#966531" d="m 38.690966,273.98128 2.116667,1.05833 v -1.32292 l -2.116667,-1.05833 z" /> + <path style="fill:#8e5c28" d="m 37.632632,273.45212 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#956531" d="m 37.632633,268.16044 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#b89b49" d="m 39.749299,267.89587 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#1f1c25" d="m 38.690966,267.36669 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#1f1c25" d="m 42.924299,269.48337 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#589197" d="m 42.924299,272.12919 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#589197" d="m 38.690966,270.01252 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#12121a" d="m 43.982633,272.65836 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#12121a" d="m 42.924299,273.45211 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#12121a" d="m 43.982633,275.30419 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#1f1c25" d="m 43.982633,273.98127 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#1f1c25" d="m 42.924299,274.77503 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#1f1c25" d="m 38.690966,272.65836 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#1f1c25" d="m 37.632633,270.80627 1.058334,0.52916 v -1.32292 l -1.058334,-0.52916 z" /> + <path style="fill:#131016" d="m 38.690966,267.10211 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#131016" d="m 36.574299,266.83752 v 1.32291 l 2.116667,-1.05832 v -1.32292 z" /> + <path style="fill:#131016" d="m 41.865966,268.68961 v 1.32291 l 1.058333,-0.52916 v -1.32292 z" /> + <path style="fill:#131016" d="m 39.749299,268.42502 v 1.32291 l 2.116667,-1.05832 v -1.32292 z" /> + <g transform="matrix(1.0012918,0.26829532,-0.26829532,1.0012918,86.112205,-31.978257)"> + <path style="fill:#f1f2e0" d="m 38.073986,286.23688 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#5f3225" d="m 37.015652,286.76606 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#5f3225" d="m 37.015652,287.82438 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 38.073986,288.35355 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 40.190652,286.23689 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 42.307319,286.23688 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 42.307319,287.29521 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 43.365653,287.82437 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 43.365653,288.88271 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 41.248986,288.88271 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 40.190653,288.35354 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 45.482319,288.88271 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 46.540653,288.35355 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 46.540653,287.29521 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 44.423986,286.23688 2.116667,1.05833 1.058333,-0.52917 -2.116667,-1.05833 z" /> + </g> + <g transform="matrix(1.0703659,-0.18803179,0.18803179,1.0703659,-63.348962,-38.123102)"> + <path style="fill:#f1f2e0" d="m 48.392735,288.88271 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#5f3225" d="m 47.334402,289.41187 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#5f3225" d="m 45.217735,289.41188 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 44.159402,288.8827 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 43.101069,286.23687 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 43.101068,285.17854 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 46.276068,284.64938 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 45.217735,286.23688 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 44.159402,284.64937 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 43.101068,287.2952 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 44.159402,287.82438 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 48.392735,286.76604 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 48.392735,287.82438 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f1f2e0" d="m 46.276068,286.76604 1.058333,0.52917 1.058333,-0.52917 -1.058333,-0.52917 z" /> + <path style="fill:#f7fdfd" d="m 47.334402,285.17854 2.116667,1.05833 1.058333,-0.52917 -2.116667,-1.05833 z" /> + </g> + </g> +</svg> diff --git a/launcher/resources/multimc/scalable/instances/brick.svg b/launcher/resources/multimc/scalable/instances/brick.svg new file mode 100644 index 00000000..b600eba8 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/brick.svg @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient288023"><stop + style="stop-color:#c1c1c1;stop-opacity:1;" + offset="0" + id="stop288019" /><stop + style="stop-color:#dfdfdf;stop-opacity:1;" + offset="1" + id="stop288021" /></linearGradient><linearGradient + xlink:href="#linearGradient84376" + id="linearGradient84368" + x1="48" + y1="26" + x2="48" + y2="6" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient84376"><stop + style="stop-color:#a63649;stop-opacity:1;" + offset="0" + id="stop84370" /><stop + style="stop-color:#df6277;stop-opacity:1;" + offset="1" + id="stop84381" /></linearGradient><linearGradient + xlink:href="#linearGradient288023" + id="linearGradient85182" + x1="48" + y1="6" + x2="48" + y2="26" + gradientUnits="userSpaceOnUse" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_brick" + style="fill:#ff0000" + transform="translate(-36,-4)"><rect + style="fill:#ff0000;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7" + width="24" + height="24" + x="36" + y="4" /><rect + style="fill:url(#linearGradient84368);fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect13011-3" + width="20" + height="20" + x="38" + y="6" + ry="3" /><path + id="rect13933-4" + style="fill:url(#linearGradient85182);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 47,6 v 5 h -9 v 2 h 4 v 6 h -4 v 2 h 9 v 5 h 2 v -5 h 9 v -2 h -4 v -6 h 4 V 11 H 49 V 6 Z m -3,7 h 8 v 6 h -8 z" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/chicken.svg b/launcher/resources/multimc/scalable/instances/chicken.svg new file mode 100644 index 00000000..0b5bf017 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/chicken.svg @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient2085"><stop + style="stop-color:#261a0a;stop-opacity:1;" + offset="0" + id="stop2081" /><stop + style="stop-color:#3c2b13;stop-opacity:1;" + offset="1" + id="stop2083" /></linearGradient><linearGradient + xlink:href="#linearGradient292700" + id="linearGradient292686" + x1="86.052681" + y1="26.999552" + x2="86" + y2="5" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient292700"><stop + style="stop-color:#d0d0d0;stop-opacity:1;" + offset="0.23078403" + id="stop292702" /><stop + style="stop-color:#eeeeee;stop-opacity:1;" + offset="0.83153141" + id="stop292698" /></linearGradient><linearGradient + xlink:href="#linearGradient293074" + id="linearGradient293076" + x1="80" + y1="31" + x2="80" + y2="21" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient293074"><stop + style="stop-color:#a63649;stop-opacity:1;" + offset="0" + id="stop293070" /><stop + style="stop-color:#df6277;stop-opacity:1;" + offset="0.52521378" + id="stop293078" /><stop + style="stop-color:#a63649;stop-opacity:1;" + offset="1" + id="stop293072" /></linearGradient><linearGradient + xlink:href="#linearGradient2085" + id="linearGradient42830" + x1="77" + y1="17" + x2="77" + y2="14" + gradientUnits="userSpaceOnUse" /><linearGradient + xlink:href="#linearGradient292039" + id="linearGradient292041" + x1="88" + y1="24" + x2="88" + y2="18" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient292039"><stop + style="stop-color:#fb9168;stop-opacity:1;" + offset="0" + id="stop292035" /><stop + style="stop-color:#f3db6c;stop-opacity:1;" + offset="1" + id="stop292037" /></linearGradient><linearGradient + xlink:href="#linearGradient2085" + id="linearGradient82810" + gradientUnits="userSpaceOnUse" + x1="77" + y1="17" + x2="77" + y2="14" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_chicken" + transform="translate(-68,-4)"><rect + style="fill:url(#linearGradient292686);fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect18469" + width="16" + height="20" + x="72" + y="6" + ry="3" /><rect + style="fill:url(#linearGradient293076);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect22620" + width="6" + height="6" + x="77" + y="21" + ry="1" /><g + id="g23887" + clip-path="none" + style="fill:url(#linearGradient42830);fill-opacity:1" + transform="translate(1,1)"><path + id="rect3612-5" + style="fill:url(#linearGradient82810);fill-opacity:1;stroke-width:0.170787;paint-order:stroke markers fill;stop-color:#000000" + d="m 73,12 c -0.553999,0 -1,0.446001 -1,1 v 3 c 0,0.553999 0.446001,1 1,1 h 3 c 0.553999,0 1,-0.446001 1,-1 v -2 h -2 v -2 z" /><path + id="rect42884" + style="fill:#ffffff;fill-opacity:1;stroke:none;paint-order:stroke markers fill;stop-color:#000000" + d="m 75,12 v 2 h 2 v -1 c 0,-0.553999 -0.446001,-1 -1,-1 z" /></g><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-8" + width="24" + height="24" + x="68" + y="4" /><use + x="0" + y="0" + xlink:href="#g23887" + id="use42929" + transform="translate(9)" /><rect + style="fill:url(#linearGradient292041);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect37390" + width="18" + height="5" + x="71" + y="17" + ry="1" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/creeper.svg b/launcher/resources/multimc/scalable/instances/creeper.svg new file mode 100644 index 00000000..4a9fe380 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/creeper.svg @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + xlink:href="#linearGradient11855" + id="linearGradient11859" + x1="111" + y1="25" + x2="111" + y2="7" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient11855"><stop + style="stop-color:#57965f;stop-opacity:1;" + offset="0" + id="stop11851" /><stop + style="stop-color:#78bf6e;stop-opacity:1;" + offset="1" + id="stop11853" /></linearGradient><radialGradient + xlink:href="#linearGradient10455" + id="radialGradient10457" + cx="112" + cy="17" + fx="112" + fy="17" + r="6" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1666668,-6.8921104e-7,5.6666669e-7,1.1666667,-18.666684,-2.8332561)" /><linearGradient + id="linearGradient10455"><stop + style="stop-color:#1b2719;stop-opacity:1;" + offset="0" + id="stop10451" /><stop + style="stop-color:#0f150e;stop-opacity:1;" + offset="1" + id="stop10453" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_creeper" + transform="translate(-100,-4)"><rect + style="fill:url(#linearGradient11859);fill-opacity:1;stroke-width:0.226785;paint-order:stroke markers fill;stop-color:#000000" + id="rect543-0-2-3" + width="18" + height="18" + x="103" + y="7" + ry="2.4545455" /><path + id="rect29291" + style="fill:url(#radialGradient10457);fill-opacity:1;stroke-width:0.529166;paint-order:stroke markers fill;stop-color:#000000" + d="m 106,12 v 4 h 4 v -4 z m 4,4 v 2 h -2 v 6 h 2 v -2 h 4 v 2 h 2 v -6 h -2 v -2 z m 4,0 h 4 v -4 h -4 z" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-6" + width="24" + height="24" + x="100" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/diamond.svg b/launcher/resources/multimc/scalable/instances/diamond.svg new file mode 100644 index 00000000..1d490b91 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/diamond.svg @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient41693"><stop + style="stop-color:#64d5df;stop-opacity:1;" + offset="0" + id="stop41689" /><stop + style="stop-color:#17c2d6;stop-opacity:1;" + offset="0.35665122" + id="stop41711" /><stop + style="stop-color:#89edf6;stop-opacity:1;" + offset="0.71356344" + id="stop41709" /><stop + style="stop-color:#2bc4d4;stop-opacity:1;" + offset="1" + id="stop41691" /></linearGradient><linearGradient + xlink:href="#linearGradient41693" + id="linearGradient2973" + gradientUnits="userSpaceOnUse" + x1="153" + y1="25" + x2="135" + y2="7" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_diamond" + transform="translate(-132,-4)"><rect + style="fill:#1bc3d7;fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15088-8-0" + width="20" + height="20" + x="134" + y="6" + ry="3" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-88" + width="24" + height="24" + x="132" + y="4" /><rect + style="fill:url(#linearGradient2973);fill-opacity:1;stroke:none;stroke-width:1;paint-order:stroke markers fill;stop-color:#000000" + id="rect40970-3-3" + width="18" + height="18" + x="135" + y="7" + ry="2" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/dirt.svg b/launcher/resources/multimc/scalable/instances/dirt.svg new file mode 100644 index 00000000..df28ae92 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/dirt.svg @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient53203"><stop + style="stop-color:#77563b;stop-opacity:1;" + offset="0" + id="stop53199" /><stop + style="stop-color:#86674f;stop-opacity:1;" + offset="1" + id="stop53201" /></linearGradient><linearGradient + xlink:href="#linearGradient53203" + id="linearGradient39079" + gradientUnits="userSpaceOnUse" + x1="785" + y1="26" + x2="785" + y2="6" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_dirt" + transform="translate(-772,-4)"><rect + style="fill:url(#linearGradient39079);fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15088-9-1" + width="20" + height="20" + x="774" + y="6" + ry="3" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-4-1-0" + width="24" + height="24" + x="772" + y="4" /><path + id="rect48773" + style="opacity:0.268946;fill:#a88356;fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="M 776.13672,8 C 776.05936,8.00781 776,8.07286 776,8.15234 V 9.84766 C 776,9.93244 776.06756,10 776.15234,10 h 1.69532 C 777.93244,10 778,9.93244 778,9.84766 V 8.15234 C 778,8.06756 777.93244,8 777.84766,8 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m 10,2 C 786.05936,10.00781 786,10.07286 786,10.15234 v 1.69532 C 786,11.93244 786.06756,12 786.15234,12 h 1.69532 C 787.93244,12 788,11.93244 788,11.84766 V 10.15234 C 788,10.06756 787.93244,10 787.84766,10 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m -8,4 C 778.05936,14.00781 778,14.07286 778,14.15234 v 1.69532 C 778,15.93244 778.06756,16 778.15234,16 h 1.69532 C 779.93244,16 780,15.93244 780,15.84766 V 14.15234 C 780,14.06756 779.93244,14 779.84766,14 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m 13,2 C 791.05936,16.00781 791,16.07286 791,16.15234 v 1.69532 C 791,17.93244 791.06756,18 791.15234,18 h 1.69532 C 792.93244,18 793,17.93244 793,17.84766 V 16.15234 C 793,16.06756 792.93244,16 792.84766,16 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m -7,2 C 784.05936,18.00781 784,18.07286 784,18.15234 v 1.69532 C 784,19.93244 784.06756,20 784.15234,20 h 1.69532 C 785.93244,20 786,19.93244 786,19.84766 V 18.15234 C 786,18.06756 785.93244,18 785.84766,18 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m -9,2 C 775.05936,20.00781 775,20.07286 775,20.15234 v 1.69532 C 775,21.93244 775.06756,22 775.15234,22 h 1.69532 C 776.93244,22 777,21.93244 777,21.84766 V 20.15234 C 777,20.06756 776.93244,20 776.84766,20 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m 15,2 C 790.05936,22.00781 790,22.07286 790,22.15234 v 1.69532 C 790,23.93244 790.06756,24 790.15234,24 h 1.69532 C 791.93244,24 792,23.93244 792,23.84766 V 22.15234 C 792,22.06756 791.93244,22 791.84766,22 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m -9,2 C 781.05936,24.00781 781,24.07286 781,24.15234 v 1.69532 C 781,25.93244 781.06756,26 781.15234,26 h 1.69532 C 782.93244,26 783,25.93244 783,25.84766 V 24.15234 C 783,24.06756 782.93244,24 782.84766,24 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/enderman.svg b/launcher/resources/multimc/scalable/instances/enderman.svg new file mode 100644 index 00000000..29f25a2f --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/enderman.svg @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + xlink:href="#linearGradient5295" + id="linearGradient5297" + x1="239" + y1="5" + x2="239" + y2="27" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient5295"><stop + style="stop-color:#25262d;stop-opacity:1;" + offset="0" + id="stop5291" /><stop + style="stop-color:#141519;stop-opacity:1;" + offset="1" + id="stop5293" /></linearGradient><linearGradient + xlink:href="#linearGradient5303" + id="linearGradient5316" + x1="243" + y1="17" + x2="243" + y2="20" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient5303"><stop + style="stop-color:#bd44b3;stop-opacity:1;" + offset="0" + id="stop5299" /><stop + style="stop-color:#d84ecd;stop-opacity:1;" + offset="1" + id="stop5301" /></linearGradient><linearGradient + xlink:href="#linearGradient5303" + id="linearGradient5305" + x1="236" + y1="17" + x2="236" + y2="20" + gradientUnits="userSpaceOnUse" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_enderman" + transform="translate(-228,-4)"><rect + style="fill:url(#linearGradient5297);fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect543-0-2" + width="22" + height="22" + x="229" + y="5" + ry="3" /><rect + style="fill:url(#linearGradient5316);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect63182-8" + width="7" + height="3" + x="242" + y="17" + ry="1" /><rect + style="fill:url(#linearGradient5305);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect63184-7" + width="7" + height="3" + x="231" + y="17" + ry="1" /><rect + style="fill:#792aac;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect75119" + width="2" + height="2" + x="234" + y="18" /><rect + style="fill:#792aac;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect75474" + width="2" + height="2" + x="244" + y="18" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-6-1" + width="24" + height="24" + x="228" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/enderpearl.svg b/launcher/resources/multimc/scalable/instances/enderpearl.svg new file mode 100644 index 00000000..e4c1e104 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/enderpearl.svg @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient3853"><stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="0.39989081" + id="stop3851" /><stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="1" + id="stop3849" /></linearGradient><linearGradient + id="linearGradient3405"><stop + style="stop-color:#27414e;stop-opacity:1;" + offset="0.16041158" + id="stop3401" /><stop + style="stop-color:#27414e;stop-opacity:0.74901961;" + offset="0.50162286" + id="stop39443" /><stop + style="stop-color:#27414e;stop-opacity:0;" + offset="1" + id="stop3403" /></linearGradient><linearGradient + id="linearGradient3000"><stop + style="stop-color:#62b397;stop-opacity:1;" + offset="0.47770822" + id="stop2996" /><stop + style="stop-color:#3a7a81;stop-opacity:1;" + offset="1" + id="stop2998" /></linearGradient><radialGradient + xlink:href="#linearGradient3000" + id="radialGradient3002-5" + cx="272" + cy="16" + fx="272" + fy="16" + r="12" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.75,0,0,0.75,68,4)" /><radialGradient + xlink:href="#linearGradient3405" + id="radialGradient3407-4" + cx="272" + cy="16" + fx="272" + fy="16" + r="5" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.2,0,0,1.2,-54.4,-3.2)" /><radialGradient + xlink:href="#linearGradient3853" + id="radialGradient3855-4" + cx="272" + cy="16" + fx="272" + fy="16" + r="5" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.8,0,0,1.8,-217.6,-12.8)" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_enderpearl" + transform="translate(-260,-4)"><circle + style="fill:url(#radialGradient3002-5);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="path78788-8" + cx="272" + cy="16" + r="9" /><path + id="circle80343-2-6" + style="fill:#62b397;fill-opacity:1;stroke-width:0.220486;paint-order:stroke markers fill;stop-color:#000000" + d="m 272,9.0000001 c -3.866,0 -7,3.1340069 -7,6.9999999 0,3.865993 3.134,7 7,7 3.86599,0 7,-3.134007 7,-7 0,-3.865993 -3.13401,-6.9999999 -7,-6.9999999 z" /><circle + style="fill:url(#radialGradient3407-4);fill-opacity:1;stroke-width:0.187412;paint-order:stroke markers fill;stop-color:#000000" + id="circle81814-8" + cx="272" + cy="16" + r="6" /><path + id="circle80343-8" + style="fill:url(#radialGradient3855-4);fill-opacity:1;stroke-width:0.220486;paint-order:stroke markers fill;stop-color:#000000" + d="m 272,9 c -3.86599,0 -7,3.134011 -7,7 h 2 c 0,-2.761421 2.23858,-5 5,-5 z" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-4-4" + width="24" + height="24" + x="260" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/flame.svg b/launcher/resources/multimc/scalable/instances/flame.svg new file mode 100644 index 00000000..775914b8 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/flame.svg @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + xlink:href="#linearGradient1468" + id="linearGradient1470" + x1="300" + y1="26" + x2="300" + y2="10" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-1,-2)" /><linearGradient + id="linearGradient1468"><stop + style="stop-color:#d63954;stop-opacity:1;" + offset="0" + id="stop1464" /><stop + style="stop-color:#e6812b;stop-opacity:1;" + offset="1" + id="stop1466" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_flame" + transform="translate(-292,-4)"><path + id="path5010" + style="fill:url(#linearGradient1470);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 299,9 c -1.10457,0 -2,0.895431 -2,2 h -1 -4 c 0,2.209137 1.79086,4 4,4 h 2 v 1 c 0,1.656852 1.34315,3 3,3 v 1 c -1.10457,0 -2,0.895438 -2,2 v 2 h 11 v -2 c 0,-1.104562 -0.89543,-2 -2,-2 v -1 c 1.10457,0 2,-1.053227 2,-2 0,-3.313684 2.68629,-6 6,-6 V 9 Z" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-9" + width="24" + height="24" + x="292" + y="4" /><path + id="path225757" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="M 305.94922,10 C 304.86851,10.02738 304,10.912691 304,12 v 1 a 1,1 0 0 1 -1,-1 v 2 c 0,0.552284 0.44772,1 1,1 0,0.552284 -0.44772,1 -1,1 -0.55228,0 -1,-0.447716 -1,-1 -0.55228,0 -1,0.447716 -1,1 0,1.104568 0.89543,2 2,2 0.55228,0 1,0.447716 1,1 0,-0.552284 0.44772,-1 1,-1 h 1 c 0.55228,0 1,-0.447716 1,-1 v -1 c 0,0.552284 -0.44772,1 -1,1 -0.55228,0 -1,-0.447716 -1,-1 0.55228,0 1,-0.447716 1,-1 v -1 c 0,-0.552284 -0.44772,-1 -1,-1 v -1 c 0,-1.087309 0.86851,-1.97262 1.94922,-2 H 306 c -0.0173,0 -0.0336,-4.35e-4 -0.0508,0 z" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/fox.svg b/launcher/resources/multimc/scalable/instances/fox.svg index fcf16b2f..95ca6ef9 100644 --- a/launcher/resources/multimc/scalable/instances/fox.svg +++ b/launcher/resources/multimc/scalable/instances/fox.svg @@ -1,290 +1,151 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - id="svg8" + width="24" + height="24" version="1.1" - viewBox="0 0 33.866666 33.866666" - height="128" - width="128"> - <defs - id="defs2" /> - <metadata - id="metadata5"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - transform="translate(0,-263.13334)" - id="layer1"> - <path - id="rect4750" - d="m 4.233333,267.36667 v 6.35 6.35 3.175 3.175 3.175 3.175 h 25.4 v -3.175 -3.175 -3.175 -3.175 -6.35 -6.35 h -6.35 v 6.35 h -12.7 v -3.175 -3.175 z" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <g - id="g4748"> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062567;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4553" - width="6.3500032" - height="6.3499975" - x="4.233326" - y="267.36667" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#b48f83;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4553-6-2" - width="3.1750014" - height="3.1749992" - x="7.4083276" - y="270.54166" /> - <rect - y="267.36667" - x="23.283335" - height="6.3499975" - width="6.3500032" - id="rect4623" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062567;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <rect - y="270.54166" - x="23.283335" - height="3.1749992" - width="3.1750014" - id="rect4627" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#b48f83;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e27c21;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4672" - width="25.400013" - height="15.875009" - x="4.233326" - y="273.71667" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4629" - width="3.1750016" - height="6.3500032" - x="4.2333255" - y="273.71667" /> - <rect - y="273.71667" - x="26.458338" - height="6.3500032" - width="3.1750016" - id="rect4631" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e78f41;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4636" - width="6.3500032" - height="3.1750016" - x="13.758331" - y="283.24167" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#b05122;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4638" - width="3.1750016" - height="3.1750016" - x="4.2333255" - y="280.06668" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4640" - width="3.1750016" - height="3.1750016" - x="7.4083276" - y="280.06668" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.84189939;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4644" - width="6.3500028" - height="3.1750016" - x="4.233326" - y="283.24167" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#06040e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4642" - width="3.1750016" - height="3.1750016" - x="4.2333255" - y="283.24167" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.84189939;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4646" - width="6.3500028" - height="3.1750016" - x="23.283337" - y="283.24167" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#06040e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4648" - width="3.1750016" - height="3.1750016" - x="26.45834" - y="283.24167" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4650" - width="3.1750016" - height="3.1750016" - x="23.283337" - y="280.06668" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#b05122;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4652" - width="3.1750016" - height="3.1750016" - x="26.45834" - y="280.06668" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4654" - width="25.400013" - height="3.1750016" - x="4.2333255" - y="286.41666" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e7d9d3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4656" - width="25.400013" - height="3.1750016" - x="4.2333255" - y="289.59167" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5612604;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4917" - width="25.4" - height="0.26457807" - x="4.2333331" - y="273.71667" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4921" - width="0.2645835" - height="19.049997" - x="4.2333331" - y="273.71667" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062555;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4658" - width="12.700007" - height="6.3500013" - x="10.583333" - y="286.41666" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#06040e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062555;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4660" - width="6.3500037" - height="3.1750007" - x="13.758333" - y="286.41669" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e7d9d3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062555;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4662" - width="3.1750019" - height="3.1750007" - x="10.583333" - y="286.41669" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e7d9d3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062555;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4664" - width="3.1750019" - height="3.1750007" - x="20.108334" - y="286.41669" /> - <rect - y="286.41669" - x="10.583333" - height="6.3499832" - width="0.2645835" - id="rect4923" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2806327;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.39686465;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4951" - width="12.699996" - height="0.26456967" - x="10.583333" - y="286.41669" /> - <rect - y="273.71667" - x="29.36875" - height="19.049982" - width="0.26458356" - id="rect4953" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.48607057;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <rect - y="292.50208" - x="23.283333" - height="0.26457682" - width="6.3499994" - id="rect4957" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28062955;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2806325;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4959" - width="0.2645838" - height="6.3499656" - x="23.018749" - y="286.41669" /> - <rect - y="292.50208" - x="4.2333331" - height="0.26457968" - width="6.3499999" - id="rect4961" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063107;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <rect - y="267.36667" - x="4.2333331" - height="6.3499956" - width="0.2645835" - id="rect4963" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063297;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063536;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4965" - width="6.349998" - height="0.26458791" - x="4.2333331" - y="267.36667" /> - <rect - y="267.36667" - x="23.283333" - height="6.3499956" - width="0.2645835" - id="rect4963-9" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.280633;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063536;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4965-1" - width="6.349998" - height="0.26458791" - x="23.283333" - y="267.36667" /> - <rect - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063306;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" - id="rect4985" - width="0.26458356" - height="6.3499975" - x="29.36875" - y="267.36667" /> - <rect - y="267.36667" - x="10.318749" - height="6.3499975" - width="0.26458356" - id="rect4987" - style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063306;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> - </g> - </g> -</svg> + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient288023"><stop + style="stop-color:#c1c1c1;stop-opacity:1;" + offset="0" + id="stop288019" /><stop + style="stop-color:#dfdfdf;stop-opacity:1;" + offset="1" + id="stop288021" /></linearGradient><linearGradient + xlink:href="#linearGradient288023" + id="linearGradient288033" + x1="183" + y1="11" + x2="183" + y2="7" + gradientUnits="userSpaceOnUse" /><linearGradient + xlink:href="#linearGradient288023" + id="linearGradient288025" + x1="171" + y1="11" + x2="171" + y2="7" + gradientUnits="userSpaceOnUse" /><linearGradient + xlink:href="#linearGradient287141" + id="linearGradient287143" + x1="181.38519" + y1="21.999998" + x2="181.38519" + y2="5.9999976" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-12.385191,4.0000023)" /><linearGradient + id="linearGradient287141"><stop + style="stop-color:#fb6a32;stop-opacity:1;" + offset="0" + id="stop287137" /><stop + style="stop-color:#fb9168;stop-opacity:1;" + offset="1" + id="stop287139" /></linearGradient><linearGradient + xlink:href="#linearGradient287169" + id="linearGradient287171" + x1="178.38519" + y1="21.999998" + x2="198.38519" + y2="21.999998" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-12.385191,4.0000023)" /><linearGradient + id="linearGradient287169"><stop + style="stop-color:#d6d2d2;stop-opacity:1;" + offset="0" + id="stop287165" /><stop + style="stop-color:#aca7a7;stop-opacity:1;" + offset="0.49945405" + id="stop287173" /><stop + style="stop-color:#d6d2d2;stop-opacity:1;" + offset="0.9989081" + id="stop287167" /></linearGradient><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51465-6-2-8-5-5-4-9-7"><rect + style="fill:#dfdfdf;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect51467-3-9-5-9-9-2-3-5" + width="10.000002" + height="5.0000005" + x="183.38519" + y="17.999998" + ry="0.99999958" /></clipPath><linearGradient + xlink:href="#linearGradient287187" + id="linearGradient287189" + x1="192.38519" + y1="22.999998" + x2="192.38519" + y2="17.999998" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient287187"><stop + style="stop-color:#dfdfdf;stop-opacity:1;" + offset="0" + id="stop287183" /><stop + style="stop-color:#f3f3f3;stop-opacity:1;" + offset="1" + id="stop287185" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_fox" + transform="translate(-164,-4)"><path + id="path51543" + style="fill:url(#linearGradient288033);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 180,7 v 2 1 1 c 0,1.107999 0.892,2 2,2 h 2 c 1.108,0 2,-0.892001 2,-2 V 9 c 0,-1.1079989 -0.892,-2 -2,-2 h -1 -1 z" /><path + id="rect51469" + style="fill:url(#linearGradient288025);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 172,7 v 2 1 1 c 0,1.107999 -0.892,2 -2,2 h -2 c -1.108,0 -2,-0.892001 -2,-2 V 9 c 0,-1.1079989 0.892,-2 2,-2 h 1 1 z" /><rect + style="fill:url(#linearGradient287143);fill-opacity:1;stroke-width:0.271456;paint-order:stroke markers fill;stop-color:#000000" + id="rect50678" + width="19.999996" + height="16" + x="166" + y="10" + ry="3" /><path + id="rect51545" + style="fill:url(#linearGradient287171);fill-opacity:1;stroke-width:0.258767;paint-order:stroke markers fill;stop-color:#000000" + d="m 167,24 c -0.27416,0 -0.53402,0.05531 -0.77148,0.154297 C 166.67906,25.23997 167.74758,26 169,26 h 14 c 1.25242,0 2.32094,-0.76003 2.77148,-1.845703 C 185.53402,24.055314 185.27416,24 185,24 Z" /><g + id="g51463" + clip-path="url(#clipPath51465-6-2-8-5-5-4-9-7)" + transform="translate(-12.385191,4.0000023)"><rect + style="fill:url(#linearGradient287189);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect51033" + width="10.000002" + height="5.0000005" + x="183.38519" + y="17.999998" /><rect + style="fill:#4d3f33;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect51319" + width="6" + height="3" + x="185.38519" + y="16.999998" + ry="0.99999958" /></g><g + id="g52513" + clip-path="none" + transform="matrix(-1,0,0,1,352.38519,4.0000023)"><path + id="rect52365" + style="fill:#e9ecec;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 184.38519,13.999998 c 0.554,0 1,0.446 1,1 v 1 c 0,0.553999 -0.446,1 -1,1 h -2 v -3 z" /><path + id="path102360" + style="fill:#141519;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 180.38519,13.999998 c -0.554,0 -1,0.446 -1,1 v 1 c 0,0.553999 0.446,1 1,1 h 2 v -3 z" /></g><use + x="0" + y="0" + xlink:href="#g52513" + id="use55252" + transform="matrix(-1,0,0,1,352,0)" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-4" + width="24" + height="24" + x="164" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/fox_legacy.svg b/launcher/resources/multimc/scalable/instances/fox_legacy.svg new file mode 100644 index 00000000..fcf16b2f --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/fox_legacy.svg @@ -0,0 +1,290 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + id="svg8" + version="1.1" + viewBox="0 0 33.866666 33.866666" + height="128" + width="128"> + <defs + id="defs2" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + transform="translate(0,-263.13334)" + id="layer1"> + <path + id="rect4750" + d="m 4.233333,267.36667 v 6.35 6.35 3.175 3.175 3.175 3.175 h 25.4 v -3.175 -3.175 -3.175 -3.175 -6.35 -6.35 h -6.35 v 6.35 h -12.7 v -3.175 -3.175 z" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:0.79375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <g + id="g4748"> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062567;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4553" + width="6.3500032" + height="6.3499975" + x="4.233326" + y="267.36667" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#b48f83;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4553-6-2" + width="3.1750014" + height="3.1749992" + x="7.4083276" + y="270.54166" /> + <rect + y="267.36667" + x="23.283335" + height="6.3499975" + width="6.3500032" + id="rect4623" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062567;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + y="270.54166" + x="23.283335" + height="3.1749992" + width="3.1750014" + id="rect4627" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#b48f83;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e27c21;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4672" + width="25.400013" + height="15.875009" + x="4.233326" + y="273.71667" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4629" + width="3.1750016" + height="6.3500032" + x="4.2333255" + y="273.71667" /> + <rect + y="273.71667" + x="26.458338" + height="6.3500032" + width="3.1750016" + id="rect4631" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e78f41;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4636" + width="6.3500032" + height="3.1750016" + x="13.758331" + y="283.24167" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#b05122;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4638" + width="3.1750016" + height="3.1750016" + x="4.2333255" + y="280.06668" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4640" + width="3.1750016" + height="3.1750016" + x="7.4083276" + y="280.06668" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.84189939;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4644" + width="6.3500028" + height="3.1750016" + x="4.233326" + y="283.24167" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#06040e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4642" + width="3.1750016" + height="3.1750016" + x="4.2333255" + y="283.24167" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.84189939;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4646" + width="6.3500028" + height="3.1750016" + x="23.283337" + y="283.24167" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#06040e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4648" + width="3.1750016" + height="3.1750016" + x="26.45834" + y="283.24167" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4650" + width="3.1750016" + height="3.1750016" + x="23.283337" + y="280.06668" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#b05122;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4652" + width="3.1750016" + height="3.1750016" + x="26.45834" + y="280.06668" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#cc6920;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4654" + width="25.400013" + height="3.1750016" + x="4.2333255" + y="286.41666" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e7d9d3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.59531283;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4656" + width="25.400013" + height="3.1750016" + x="4.2333255" + y="289.59167" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5612604;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4917" + width="25.4" + height="0.26457807" + x="4.2333331" + y="273.71667" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.48607069;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4921" + width="0.2645835" + height="19.049997" + x="4.2333331" + y="273.71667" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#f9f4f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062555;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4658" + width="12.700007" + height="6.3500013" + x="10.583333" + y="286.41666" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#06040e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062555;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4660" + width="6.3500037" + height="3.1750007" + x="13.758333" + y="286.41669" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e7d9d3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062555;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4662" + width="3.1750019" + height="3.1750007" + x="10.583333" + y="286.41669" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#e7d9d3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.19062555;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4664" + width="3.1750019" + height="3.1750007" + x="20.108334" + y="286.41669" /> + <rect + y="286.41669" + x="10.583333" + height="6.3499832" + width="0.2645835" + id="rect4923" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2806327;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.39686465;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4951" + width="12.699996" + height="0.26456967" + x="10.583333" + y="286.41669" /> + <rect + y="273.71667" + x="29.36875" + height="19.049982" + width="0.26458356" + id="rect4953" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.48607057;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + y="292.50208" + x="23.283333" + height="0.26457682" + width="6.3499994" + id="rect4957" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28062955;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.2806325;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4959" + width="0.2645838" + height="6.3499656" + x="23.018749" + y="286.41669" /> + <rect + y="292.50208" + x="4.2333331" + height="0.26457968" + width="6.3499999" + id="rect4961" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063107;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + y="267.36667" + x="4.2333331" + height="6.3499956" + width="0.2645835" + id="rect4963" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063297;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063536;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4965" + width="6.349998" + height="0.26458791" + x="4.2333331" + y="267.36667" /> + <rect + y="267.36667" + x="23.283333" + height="6.3499956" + width="0.2645835" + id="rect4963-9" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.280633;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063536;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4965-1" + width="6.349998" + height="0.26458791" + x="23.283333" + y="267.36667" /> + <rect + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063306;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" + id="rect4985" + width="0.26458356" + height="6.3499975" + x="29.36875" + y="267.36667" /> + <rect + y="267.36667" + x="10.318749" + height="6.3499975" + width="0.26458356" + id="rect4987" + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.25;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.28063306;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" /> + </g> + </g> +</svg> diff --git a/launcher/resources/multimc/scalable/instances/ftb_logo.svg b/launcher/resources/multimc/scalable/instances/ftb_logo.svg new file mode 100644 index 00000000..85e8295e --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/ftb_logo.svg @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + xlink:href="#linearGradient12453" + id="linearGradient12455" + x1="352.5" + y1="26.5" + x2="352.5" + y2="13" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.66666666,0,0,0.66666666,111,4.3333334)" /><linearGradient + id="linearGradient12453"><stop + style="stop-color:#b11917;stop-opacity:1;" + offset="0" + id="stop12449" /><stop + style="stop-color:#e65014;stop-opacity:1;" + offset="1" + id="stop12451" /></linearGradient><linearGradient + xlink:href="#linearGradient12299" + id="linearGradient12301" + x1="323" + y1="26.5" + x2="323" + y2="16" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.66666666,0,0,0.66666666,111.66666,4.3333334)" /><linearGradient + id="linearGradient12299"><stop + style="stop-color:#0787c1;stop-opacity:1;" + offset="0" + id="stop12295" /><stop + style="stop-color:#65adb9;stop-opacity:1;" + offset="1" + id="stop12297" /></linearGradient><linearGradient + xlink:href="#linearGradient12445" + id="linearGradient12447" + x1="333" + y1="26.000002" + x2="333" + y2="15.500002" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.66666666,0,0,0.66666666,111,4.6666654)" /><linearGradient + id="linearGradient12445"><stop + style="stop-color:#798b2f;stop-opacity:1;" + offset="0" + id="stop12441" /><stop + style="stop-color:#9fc41e;stop-opacity:1;" + offset="1" + id="stop12443" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_ftb_logo" + transform="translate(-324,-4)"><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-8-2" + width="24" + height="24" + x="324" + y="4" /><path + id="path15348-5" + style="fill:url(#linearGradient12455);fill-opacity:1;stroke:none;stroke-width:0.869508;paint-order:stroke markers fill;stop-color:#000000" + d="m 339,11 v 2 7.666666 c 0,0.736383 0.59696,1.333338 1.33334,1.333334 H 345 v -4.333332 c -1.5e-4,-0.671316 -0.3371,-1.297777 -0.89712,-1.667968 0.55925,-0.369682 0.89609,-0.994972 0.89712,-1.665366 v -2 C 345,11.596959 344.40305,11.000007 343.66668,11 Z m 2,2 h 2 v 2 h -2 z m 0,4 h 2 v 3 h -2 z" /><path + id="path15342-4" + style="fill:url(#linearGradient12301);fill-opacity:1;stroke:none;stroke-width:0.869508;paint-order:stroke markers fill;stop-color:#000000" + d="m 327,11 c -0.73638,-4e-6 -1.33334,0.596951 -1.33334,1.333334 V 22 h 2 V 17 H 330 v -2 h -2.33334 V 13 H 331 v -2 z" /><path + style="fill:url(#linearGradient12447);fill-opacity:1;stroke:none;stroke-width:0.869508;paint-order:stroke markers fill;stop-color:#000000" + d="m 332,11 v 2 h 2 V 20.394205 22 h 2 v -9 h 2 v -2 z" + id="rect10933-8" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/gear.svg b/launcher/resources/multimc/scalable/instances/gear.svg new file mode 100644 index 00000000..b2923d67 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/gear.svg @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><radialGradient + xlink:href="#linearGradient21157" + id="radialGradient21159" + cx="368" + cy="16" + fx="368" + fy="16" + r="7" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient21157"><stop + style="stop-color:#e1edf2;stop-opacity:1;" + offset="0" + id="stop21153" /><stop + style="stop-color:#abbdc4;stop-opacity:1;" + offset="0.72112602" + id="stop21161" /><stop + style="stop-color:#95acb6;stop-opacity:1;" + offset="1" + id="stop21155" /></linearGradient><radialGradient + xlink:href="#linearGradient21167" + id="radialGradient21309" + gradientUnits="userSpaceOnUse" + cx="400" + cy="16" + fx="400" + fy="16" + r="11" + gradientTransform="matrix(1.3636364,0,0,1.3636364,-177.45455,-5.8181818)" /><linearGradient + id="linearGradient21167"><stop + style="stop-color:#e5e6e9;stop-opacity:1;" + offset="0.13595749" + id="stop21163" /><stop + style="stop-color:#c5c7cf;stop-opacity:1;" + offset="0.86267382" + id="stop21165" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_gear" + transform="translate(-356,-4)"><path + id="path26489" + style="opacity:1;fill:url(#radialGradient21159);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 368,9 c -3.86599,0 -7,3.134007 -7,7 0,3.865993 3.13401,7 7,7 3.86599,0 7,-3.134007 7,-7 0,-3.865993 -3.13401,-7 -7,-7 z m 0,5 c 1.10456,0 2,0.89543 2,2 0,1.10457 -0.89544,2 -2,2 -1.10456,0 -2,-0.89543 -2,-2 0,-1.10457 0.89544,-2 2,-2 z" /><path + id="path23199" + style="fill:url(#radialGradient21309);fill-opacity:1;stroke:none;stroke-width:0.148828;paint-order:stroke markers fill;stop-color:#000000" + d="m 366,5 v 2.2265625 c -1.00464,0.2280151 -1.94322,0.6232232 -2.78906,1.15625 l -1.57422,-1.5742187 -2.82813,2.828125 1.57422,1.5742192 C 359.84979,12.056778 359.45458,12.995357 359.22656,14 H 357 v 4 h 2.22656 c 0.22802,1.004643 0.62323,1.943222 1.15625,2.789062 l -1.57422,1.574219 2.82813,2.830078 1.57422,-1.576171 c 0.84584,0.533026 1.78442,0.928234 2.78906,1.15625 V 27 h 4 v -2.226562 c 1.00464,-0.228016 1.94322,-0.623224 2.78906,-1.15625 l 1.57422,1.576171 2.83008,-2.830078 -1.57617,-1.574219 C 376.15021,19.943222 376.54542,19.004643 376.77344,18 H 379 v -4 h -2.22656 c -0.22802,-1.004643 -0.62323,-1.943222 -1.15625,-2.789062 l 1.57617,-1.5742192 -2.83008,-2.828125 -1.57422,1.5742187 C 371.94322,7.8497857 371.00464,7.4545776 370,7.2265625 V 5 Z m 2,5 c 3.31371,0 6,2.686295 6,6 0,3.313705 -2.68629,6 -6,6 -3.31371,0 -6,-2.686295 -6,-6 0,-3.313705 2.68629,-6 6,-6 z" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-6-0" + width="24" + height="24" + x="356" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/gold.svg b/launcher/resources/multimc/scalable/instances/gold.svg new file mode 100644 index 00000000..f1513d70 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/gold.svg @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient48524"><stop + style="stop-color:#dfcd64;stop-opacity:1;" + offset="0" + id="stop48516" /><stop + style="stop-color:#d6b917;stop-opacity:1;" + offset="0.11879402" + id="stop48518" /><stop + style="stop-color:#f6e689;stop-opacity:1;" + offset="0.71356344" + id="stop48520" /><stop + style="stop-color:#d4bb2b;stop-opacity:1;" + offset="1" + id="stop48522" /></linearGradient><linearGradient + xlink:href="#linearGradient48524" + id="linearGradient48512" + gradientUnits="userSpaceOnUse" + x1="153" + y1="25" + x2="135" + y2="7" + gradientTransform="translate(256)" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_gold" + transform="translate(-388,-4)"><rect + style="fill:#d7bc21;fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15088-8" + width="20" + height="20" + x="390" + y="6" + ry="3" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-88-6" + width="24" + height="24" + x="388" + y="4" /><rect + style="fill:url(#linearGradient48512);fill-opacity:1;stroke:none;stroke-width:1;paint-order:stroke markers fill;stop-color:#000000" + id="rect40970-3" + width="18" + height="18" + x="391" + y="7" + ry="2" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/grass.svg b/launcher/resources/multimc/scalable/instances/grass.svg new file mode 100644 index 00000000..cd29fd83 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/grass.svg @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient53203"><stop + style="stop-color:#77563b;stop-opacity:1;" + offset="0" + id="stop53199" /><stop + style="stop-color:#86674f;stop-opacity:1;" + offset="1" + id="stop53201" /></linearGradient><linearGradient + id="linearGradient29505"><stop + style="stop-color:#99cd61;stop-opacity:1;" + offset="0" + id="stop29501" /><stop + style="stop-color:#bccd61;stop-opacity:1;" + offset="1" + id="stop29503" /></linearGradient><linearGradient + xlink:href="#linearGradient53203" + id="linearGradient56913" + gradientUnits="userSpaceOnUse" + x1="785" + y1="26" + x2="785" + y2="6" + gradientTransform="translate(-352)" /><linearGradient + xlink:href="#linearGradient56992" + id="linearGradient56984" + x1="433" + y1="11" + x2="433" + y2="20" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient56992"><stop + style="stop-color:#4d3f33;stop-opacity:0.5;" + offset="0" + id="stop56986" /><stop + style="stop-color:#4d3f33;stop-opacity:0;" + offset="1" + id="stop56990" /></linearGradient><linearGradient + xlink:href="#linearGradient29505" + id="linearGradient29507" + x1="428" + y1="14" + x2="428" + y2="4" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(2,2)" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_grass" + transform="translate(-420,-4)"><path + id="rect15088-9-1-7" + style="fill:url(#linearGradient56913);stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="m 425,8 h 14 l 3,1 v 14 c 0,1.662 -1.338,3 -3,3 h -14 c -1.662,0 -3,-1.338 -3,-3 V 9 Z" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-4-8" + width="24" + height="24" + x="420" + y="4" /><path + id="rect48773-2" + style="opacity:0.268946;fill:#a88356;fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="M 424.13672,8 C 424.05936,8.00781 424,8.07286 424,8.15234 V 9.84766 C 424,9.93244 424.06756,10 424.15234,10 h 1.69532 C 425.93244,10 426,9.93244 426,9.84766 V 8.15234 C 426,8.06756 425.93244,8 425.84766,8 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m 10,2 C 434.05936,10.00781 434,10.07286 434,10.15234 v 1.69532 C 434,11.93244 434.06756,12 434.15234,12 h 1.69532 C 435.93244,12 436,11.93244 436,11.84766 V 10.15234 C 436,10.06756 435.93244,10 435.84766,10 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m -8,4 C 426.05936,14.00781 426,14.07286 426,14.15234 v 1.69532 C 426,15.93244 426.06756,16 426.15234,16 h 1.69532 C 427.93244,16 428,15.93244 428,15.84766 V 14.15234 C 428,14.06756 427.93244,14 427.84766,14 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m 13,2 C 439.05936,16.00781 439,16.07286 439,16.15234 v 1.69532 C 439,17.93244 439.06756,18 439.15234,18 h 1.69532 C 440.93244,18 441,17.93244 441,17.84766 V 16.15234 C 441,16.06756 440.93244,16 440.84766,16 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m -7,2 C 432.05936,18.00781 432,18.07286 432,18.15234 v 1.69532 C 432,19.93244 432.06756,20 432.15234,20 h 1.69532 C 433.93244,20 434,19.93244 434,19.84766 V 18.15234 C 434,18.06756 433.93244,18 433.84766,18 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m -9,2 C 423.05936,20.00781 423,20.07286 423,20.15234 v 1.69532 C 423,21.93244 423.06756,22 423.15234,22 h 1.69532 C 424.93244,22 425,21.93244 425,21.84766 V 20.15234 C 425,20.06756 424.93244,20 424.84766,20 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m 15,2 C 438.05936,22.00781 438,22.07286 438,22.15234 v 1.69532 C 438,23.93244 438.06756,24 438.15234,24 h 1.69532 C 439.93244,24 440,23.93244 440,23.84766 V 22.15234 C 440,22.06756 439.93244,22 439.84766,22 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z m -9,2 C 429.05936,24.00781 429,24.07286 429,24.15234 v 1.69532 C 429,25.93244 429.06756,26 429.15234,26 h 1.69532 C 430.93244,26 431,25.93244 431,25.84766 V 24.15234 C 431,24.06756 430.93244,24 430.84766,24 h -1.69532 c -0.005,0 -0.0105,-5.2e-4 -0.0156,0 z" /><path + id="rect56976" + style="fill:url(#linearGradient56984);stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="m 425,8 h 7 7 l 3,1 v 14 l -3,3 h -14 l -3,-3 V 9 Z" /><path + id="rect24023" + style="fill:url(#linearGradient29507);fill-opacity:1;stroke:none;paint-order:stroke markers fill;stop-color:#000000" + d="m 425,6 c -1.662,0 -3,1.3380037 -3,3 v 3 2 h 2 v -2 h 2 v 2 h 4 v 2 h 2 v -2 -2 -2 h 2 v 2 2 h 2 v -2 h 2 v 2 2 h 2 v -2 h 2 V 9 c 0,-1.6619983 -1.338,-3 -3,-3 h -7 z" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/herobrine.svg b/launcher/resources/multimc/scalable/instances/herobrine.svg new file mode 100644 index 00000000..24f4d2c9 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/herobrine.svg @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient2085"><stop + style="stop-color:#261a0a;stop-opacity:1;" + offset="0" + id="stop2081" /><stop + style="stop-color:#3c2b13;stop-opacity:1;" + offset="1" + id="stop2083" /></linearGradient><radialGradient + xlink:href="#linearGradient2066" + id="radialGradient2757-3" + cx="496.06177" + cy="17.211182" + fx="495.87827" + fy="18.730774" + r="11" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.5554022,0,0,1.2337313,-807.57556,-8.2669434)" /><linearGradient + id="linearGradient2066"><stop + style="stop-color:#ceb8aa;stop-opacity:1;" + offset="0.23876573" + id="stop2062" /><stop + style="stop-color:#b39888;stop-opacity:1;" + offset="0.51858544" + id="stop2064" /></linearGradient><linearGradient + xlink:href="#linearGradient2085" + id="linearGradient94741" + gradientUnits="userSpaceOnUse" + x1="504" + y1="15" + x2="504" + y2="5" + gradientTransform="translate(-36,-4)" /><linearGradient + xlink:href="#linearGradient2564" + id="linearGradient2566" + x1="466" + y1="27" + x2="466" + y2="22" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-4,-4)" /><linearGradient + id="linearGradient2564"><stop + style="stop-color:#45362e;stop-opacity:1;" + offset="0" + id="stop2560" /><stop + style="stop-color:#59463c;stop-opacity:1;" + offset="1" + id="stop2562" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_herobrine" + transform="translate(-448)"><path + id="rect56542-7-5" + style="fill:url(#radialGradient2757-3);stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + d="m 452,1 h 16 l 3,2.999999 V 20.000001 C 471,21.662 469.662,23 468,23 h -16 c -1.662,0 -3,-1.338 -3,-2.999999 V 3.999999 Z" /><path + id="rect56552" + style="fill:url(#linearGradient94741);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 452,1 c -1.662,0 -3,1.3380017 -3,3 v 7 h 2 c 1.108,0 2,-0.892002 2,-2 V 8 h 14 v 1 c 0,1.107998 0.892,2 2,2 h 2 V 4 c 0,-1.6619983 -1.338,-3 -3,-3 h -1 -14 z" /><rect + style="opacity:1;fill:#8a5d54;fill-opacity:1;stroke:none;stroke-width:0.396874;paint-order:stroke markers fill;stop-color:#000000" + id="rect53396" + width="6" + height="3" + x="457" + y="18" + ry="0" /><rect + style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect63182-8-0" + width="7" + height="3" + x="462" + y="13" + ry="1" /><rect + style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect63184-7-9" + width="7" + height="3" + x="451" + y="13" + ry="1" /><rect + style="opacity:1;fill:#6a493c;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect50123" + width="4" + height="2" + x="458" + y="16" + ry="0" /><path + id="path195645-9" + style="fill:url(#linearGradient2566);fill-opacity:1;stroke:none;stroke-width:0.362295;paint-order:stroke markers fill;stop-color:#000000" + d="m 457,18 a 2,2 0 0 0 -2,2 v 3 h 3 4 3 v -3 a 2,2 0 0 0 -2,-2 h -1 v 2 h -4 v -2 z" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-8-3-9" + width="24" + height="24" + x="448" + y="0" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/iron.svg b/launcher/resources/multimc/scalable/instances/iron.svg new file mode 100644 index 00000000..6a6faf77 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/iron.svg @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient27992"><stop + style="stop-color:#c5c7cf;stop-opacity:1;" + offset="0" + id="stop27990" /><stop + style="stop-color:#d8d9e0;stop-opacity:1;" + offset="1" + id="stop27988" /></linearGradient><linearGradient + id="linearGradient56358"><stop + style="stop-color:#ededed;stop-opacity:1;" + offset="0" + id="stop56354" /><stop + style="stop-color:#f4f4f4;stop-opacity:1;" + offset="1" + id="stop56356" /></linearGradient><linearGradient + xlink:href="#linearGradient27992" + id="linearGradient17901" + x1="496" + y1="26" + x2="496" + y2="6" + gradientUnits="userSpaceOnUse" /><linearGradient + xlink:href="#linearGradient56358" + id="linearGradient18032" + gradientUnits="userSpaceOnUse" + x1="503" + y1="25" + x2="503" + y2="23" + gradientTransform="translate(0,-4)" /><linearGradient + xlink:href="#linearGradient56358" + id="linearGradient18124" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-8)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + xlink:href="#linearGradient18539" + id="linearGradient18530" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-6)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + id="linearGradient18539"><stop + style="stop-color:#27414e;stop-opacity:0;" + offset="0" + id="stop18537" /><stop + style="stop-color:#27414e;stop-opacity:0.74901961;" + offset="0.49837714" + id="stop18535" /><stop + style="stop-color:#27414e;stop-opacity:1;" + offset="0.83958842" + id="stop18533" /></linearGradient><linearGradient + xlink:href="#linearGradient18539" + id="linearGradient18590" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-10)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + xlink:href="#linearGradient18539" + id="linearGradient18615" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-14)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + xlink:href="#linearGradient18539" + id="linearGradient18640" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-2)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + xlink:href="#linearGradient56358" + id="linearGradient18124-2" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-12)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + xlink:href="#linearGradient56358" + id="linearGradient18124-0" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-16)" + x1="503" + y1="25" + x2="503" + y2="23" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_iron" + transform="translate(-484,-4)"><rect + style="fill:url(#linearGradient17901);fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15088" + width="20" + height="20" + x="486" + y="6" + ry="3" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-6-1-2" + width="24" + height="24" + x="484" + y="4" /><path + id="rect17965" + style="fill:#efefef;fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="m 487,23 c 0,1.107999 0.892,2 2,2 h 14 c 1.108,0 2,-0.892001 2,-2 z" /><rect + style="fill:url(#linearGradient18032);fill-opacity:1;stroke-width:0.999996;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15357-7-8" + width="18" + height="2" + x="487" + y="19" /><rect + style="fill:url(#linearGradient18124);fill-opacity:1;stroke-width:0.999996;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15357-7-8-4" + width="18" + height="2" + x="487" + y="15" /><rect + style="opacity:0.1;fill:url(#linearGradient18530);fill-opacity:1;stroke-width:0.999996;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15357-7-8-4-7" + width="18" + height="2" + x="487" + y="17" /><rect + style="opacity:0.1;fill:url(#linearGradient18590);fill-opacity:1;stroke-width:0.999996;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15357-7-8-4-7-5" + width="18" + height="2" + x="487" + y="13" /><rect + style="opacity:0.1;fill:url(#linearGradient18615);fill-opacity:1;stroke-width:0.999996;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15357-7-8-4-7-6" + width="18" + height="2" + x="487" + y="9" /><rect + style="opacity:0.1;fill:url(#linearGradient18640);fill-opacity:1;stroke-width:0.999996;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15357-7-8-4-7-56" + width="18" + height="2" + x="487" + y="21" /><rect + style="fill:url(#linearGradient18124-2);fill-opacity:1;stroke-width:0.999996;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15357-7-8-4-1" + width="18" + height="2" + x="487" + y="11" /><path + id="rect15357-7-8-4-5" + style="fill:url(#linearGradient18124-0);fill-opacity:1;stroke-width:0.999996;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="m 489,7 c -1.108,0 -2,0.8920011 -2,2 h 18 c 0,-1.1079989 -0.892,-2 -2,-2 z" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/magitech.svg b/launcher/resources/multimc/scalable/instances/magitech.svg new file mode 100644 index 00000000..57ef6df1 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/magitech.svg @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><radialGradient + xlink:href="#linearGradient16441" + id="radialGradient16443" + cx="559.9212" + cy="16.022875" + fx="559.9212" + fy="16.022875" + r="11.80246" + gradientTransform="matrix(1,0,0,1.0119015,0,-0.19069696)" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient16441"><stop + style="stop-color:#9f0bff;stop-opacity:1;" + offset="0.4400529" + id="stop16439" /><stop + style="stop-color:#7111f8;stop-opacity:1;" + offset="1" + id="stop16437" /></linearGradient><radialGradient + xlink:href="#linearGradient14255" + id="radialGradient14257" + cx="560" + cy="16" + fx="560" + fy="16" + r="9" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.91538385,0,0,0.91538385,15.375434,1.3532593)" /><linearGradient + id="linearGradient14255"><stop + style="stop-color:#e570f7;stop-opacity:1;" + offset="0" + id="stop14251" /><stop + style="stop-color:#d829c8;stop-opacity:1;" + offset="1" + id="stop14253" /></linearGradient><linearGradient + xlink:href="#linearGradient16452" + id="linearGradient16454" + x1="560" + y1="25" + x2="560" + y2="11" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-32)" /><linearGradient + id="linearGradient16452"><stop + style="stop-color:#f6cff4;stop-opacity:1;" + offset="0" + id="stop16450" /><stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="1" + id="stop16448" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_magitech" + transform="translate(-516,-4)"><path + style="opacity:1;fill:url(#radialGradient16443);fill-opacity:1;stroke:none;stroke-width:0.328827;paint-order:stroke markers fill;stop-color:#000000" + id="path63885" + d="m 567.75822,23.780557 c -1.02129,1.017197 -1.40469,3.26498 -2.72399,3.814557 -1.3193,0.549578 -3.76804,-0.657585 -5.20836,-0.687167 -1.44032,-0.02958 -3.32578,1.488919 -4.65697,0.936933 -1.33119,-0.551986 -2.06769,-2.91036 -3.08281,-3.927341 -1.01511,-1.016982 -3.30517,-1.550442 -3.83572,-2.877061 -0.53055,-1.326619 0.75095,-3.615262 0.76004,-5.050859 0.009,-1.435596 -1.30602,-3.611418 -0.75806,-4.936294 0.54796,-1.3248769 2.7981,-1.6627753 3.83368,-2.6540083 1.03559,-0.9912328 1.77327,-3.6016077 3.08037,-4.1709394 1.3071,-0.5693318 3.41767,0.6823629 4.85198,0.6871672 1.43432,0.0048 3.67769,-1.1020263 5.01335,-0.5805511 1.33567,0.5214752 1.68844,2.9320874 2.72643,3.9273412 1.03799,0.9952536 3.30533,1.5532379 3.83572,2.8770604 0.53039,1.323824 -0.73478,3.255376 -0.76004,4.694477 -0.0253,1.439101 1.28343,3.594239 0.75806,4.936295 -0.52537,1.342056 -2.8124,1.993192 -3.83368,3.01039 z" + transform="matrix(0.77720995,0.20825278,-0.20825278,0.77720995,96.078534,-113.04768)" /><path + id="rect68163" + style="fill:url(#radialGradient14257);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 528.64654,8.1238816 c -0.88525,-0.058796 -2.03882,1.1746971 -2.89455,1.4267114 -0.85572,0.2520155 -2.19516,-0.2057082 -2.87666,0.3700866 -0.68152,0.5757944 -0.57701,2.1554034 -0.99227,2.9463914 -0.41525,0.79099 -1.77713,1.689562 -1.86295,2.574518 -0.0858,0.884955 1.02746,1.834893 1.29799,2.687153 0.27054,0.85226 0.002,2.366339 0.58106,3.051875 0.57813,0.685534 2.05494,0.383747 2.84269,0.811687 0.78774,0.427941 1.79544,1.795111 2.68179,1.868314 0.88635,0.07321 1.74074,-1.059712 2.59597,-1.330167 0.85524,-0.270456 2.30644,0.02321 2.98037,-0.56854 0.67391,-0.591748 0.56704,-2.156299 0.99225,-2.944604 0.42521,-0.788304 1.67594,-1.494488 1.76105,-2.377852 0.0851,-0.883365 -1.0086,-1.840366 -1.29799,-2.687153 -0.2894,-0.846786 0.20315,-2.280018 -0.38618,-2.949967 -0.58933,-0.669948 -2.14415,-0.699521 -2.93567,-1.1120483 -0.7915,-0.4125278 -1.60167,-1.7076097 -2.4869,-1.7664051 z" /><path + id="rect67092" + style="fill:url(#linearGradient16454);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="M 530,11.419922 V 15 l -2,1 -2,-1 v -3.576172 c -1.82001,0.79431 -2.99746,2.590392 -3,4.576172 0,2.049733 1.2349,3.810136 3,4.582031 v 2.435547 c 0.47576,0.420763 0.96578,0.80592 1.42383,0.84375 0.87952,0.07265 1.72754,-1.040827 2.57617,-1.322266 v -1.957031 c 1.7651,-0.771895 3,-2.532298 3,-4.582031 -9.9e-4,-1.987198 -1.1787,-3.785199 -3,-4.580078 z" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-0" + width="24" + height="24" + x="516" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/meat.svg b/launcher/resources/multimc/scalable/instances/meat.svg new file mode 100644 index 00000000..36f0551b --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/meat.svg @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + sodipodi:docname="meat.svg" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><sodipodi:namedview + id="namedview68946" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + showgrid="false" + inkscape:zoom="9.8333333" + inkscape:cx="12" + inkscape:cy="12" + inkscape:window-width="1366" + inkscape:window-height="699" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="i_meat" /><defs + id="defs172"><linearGradient + id="linearGradient6068"><stop + style="stop-color:#cdcdcd;stop-opacity:1;" + offset="0" + id="stop6064" /><stop + style="stop-color:#eeeeee;stop-opacity:1;" + offset="1" + id="stop6066" /></linearGradient><linearGradient + xlink:href="#linearGradient6068" + id="linearGradient39389" + x1="565" + y1="23" + x2="567" + y2="21" + gradientUnits="userSpaceOnUse" /><linearGradient + xlink:href="#linearGradient38100" + id="linearGradient38102" + x1="408.70773" + y1="-379.00925" + x2="408.70773" + y2="-389.8125" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient38100"><stop + style="stop-color:#956c4a;stop-opacity:1;" + offset="0" + id="stop38096" /><stop + style="stop-color:#bb7c47;stop-opacity:1;" + offset="1" + id="stop38098" /></linearGradient><linearGradient + xlink:href="#linearGradient39375" + id="linearGradient39377" + x1="401.63666" + y1="-379.00925" + x2="401.63666" + y2="-389.8125" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient39375"><stop + style="stop-color:#d15e65;stop-opacity:1;" + offset="0" + id="stop39371" /><stop + style="stop-color:#b2594e;stop-opacity:1;" + offset="1" + id="stop39373" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_meat" + transform="translate(-548,-4)"><path + id="rect80640" + style="opacity:1;fill:url(#linearGradient39389);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 568.48528,21.449747 a 1.5,1.5 0 0 0 -1.70424,-0.290027 l -2.18485,-2.184846 c -0.39173,-0.391738 -1.02247,-0.391737 -1.41421,0 l -0.70711,0.707106 c -0.39173,0.391737 -0.39173,1.022477 0,1.414214 l 2.18485,2.184847 a 1.5,1.5 0 0 0 0.29003,1.70424 1.5,1.5 0 0 0 2.12132,0 1.5,1.5 0 0 0 0.4378,-0.979175 1.5,1.5 0 0 0 0.97641,-0.435038 1.5,1.5 0 0 0 0,-2.121321 z" /><rect + style="opacity:1;fill:url(#linearGradient38102);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect74200" + width="16" + height="11" + x="397.64703" + y="-389.8125" + ry="4" + rx="4" + transform="rotate(45)" /><rect + style="opacity:1;fill:url(#linearGradient39377);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect74196" + width="8" + height="11" + x="396.64703" + y="-389.8125" + ry="4" + rx="3" + transform="rotate(45)" /><rect + style="opacity:1;fill:#dfdfdf;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect79410" + width="2" + height="3" + x="399.64703" + y="-385.8125" + ry="1" + transform="rotate(45)" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-61" + width="24" + height="24" + x="548" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/modrinth.svg b/launcher/resources/multimc/scalable/instances/modrinth.svg index a40f0e72..7982b6d4 100644 --- a/launcher/resources/multimc/scalable/instances/modrinth.svg +++ b/launcher/resources/multimc/scalable/instances/modrinth.svg @@ -1,4 +1,70 @@ -<svg width="512" height="514" viewBox="0 0 512 514" fill="none" xmlns="http://www.w3.org/2000/svg"> - <path fill-rule="evenodd" clip-rule="evenodd" d="M503.16 323.56C514.55 281.47 515.32 235.91 503.2 190.76C466.57 54.2299 326.04 -26.8001 189.33 9.77991C83.8101 38.0199 11.3899 128.07 0.689941 230.47H43.99C54.29 147.33 113.74 74.7298 199.75 51.7098C306.05 23.2598 415.13 80.6699 453.17 181.38L411.03 192.65C391.64 145.8 352.57 111.45 306.3 96.8198L298.56 140.66C335.09 154.13 364.72 184.5 375.56 224.91C391.36 283.8 361.94 344.14 308.56 369.17L320.09 412.16C390.25 383.21 432.4 310.3 422.43 235.14L464.41 223.91C468.91 252.62 467.35 281.16 460.55 308.07L503.16 323.56Z" fill="#30b27b"/> - <path d="M321.99 504.22C185.27 540.8 44.7501 459.77 8.11011 323.24C3.84011 307.31 1.17 291.33 0 275.46H43.27C44.36 287.37 46.4699 299.35 49.6799 311.29C53.0399 323.8 57.45 335.75 62.79 347.07L101.38 323.92C98.1299 316.42 95.39 308.6 93.21 300.47C69.17 210.87 122.41 118.77 212.13 94.7601C229.13 90.2101 246.23 88.4401 262.93 89.1501L255.19 133C244.73 133.05 234.11 134.42 223.53 137.25C157.31 154.98 118.01 222.95 135.75 289.09C136.85 293.16 138.13 297.13 139.59 300.99L188.94 271.38L174.07 231.95L220.67 184.08L279.57 171.39L296.62 192.38L269.47 219.88L245.79 227.33L228.87 244.72L237.16 267.79C237.16 267.79 253.95 285.63 253.98 285.64L277.7 279.33L294.58 260.79L331.44 249.12L342.42 273.82L304.39 320.45L240.66 340.63L212.08 308.81L162.26 338.7C187.8 367.78 226.2 383.93 266.01 380.56L277.54 423.55C218.13 431.41 160.1 406.82 124.05 361.64L85.6399 384.68C136.25 451.17 223.84 484.11 309.61 461.16C371.35 444.64 419.4 402.56 445.42 349.38L488.06 364.88C457.17 431.16 398.22 483.82 321.99 504.22Z" fill="#30b27b"/> -</svg> +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="32" + height="32" + version="1.1" + viewBox="0 0 32 32" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient3108"><stop + style="stop-color:#1bd96a;stop-opacity:1;" + offset="0" + id="stop3104" /><stop + style="stop-color:#1bd9a1;stop-opacity:1;" + offset="1" + id="stop3106" /></linearGradient><linearGradient + xlink:href="#linearGradient3108" + id="linearGradient3110" + x1="70.852509" + y1="141.75883" + x2="70.852509" + y2="0.053809531" + gradientUnits="userSpaceOnUse" /><linearGradient + xlink:href="#linearGradient3108" + id="linearGradient50774" + gradientUnits="userSpaceOnUse" + x1="70.852509" + y1="141.75883" + x2="70.852509" + y2="0.053809531" /><linearGradient + xlink:href="#linearGradient3108" + id="linearGradient50776" + gradientUnits="userSpaceOnUse" + x1="70.852509" + y1="141.75883" + x2="70.852509" + y2="0.053809531" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_modrinth" + transform="translate(-576)"><g + id="g83832" + transform="matrix(0.16936591,0,0,0.16936591,580,3.9908865)" + style="fill:url(#linearGradient3110);fill-opacity:1"><path + d="M 159.07,89.29 A 70.94,70.94 0 1 0 20,63.52 H 32 A 58.78,58.78 0 0 1 145.23,49.93 l -11.66,3.12 a 46.54,46.54 0 0 0 -29,-26.52 l -2.15,12.13 a 34.31,34.31 0 0 1 2.77,63.26 l 3.19,11.9 a 46.52,46.52 0 0 0 28.33,-49 l 11.62,-3.1 A 57.94,57.94 0 0 1 147.27,85 Z" + transform="translate(-19.79)" + fill="var(--color-brand)" + fill-rule="evenodd" + id="path83828" + style="fill:url(#linearGradient50774);fill-opacity:1" /><path + d="M 108.92,139.3 A 70.93,70.93 0 0 1 19.79,76 h 12 a 59.48,59.48 0 0 0 1.78,9.91 58.73,58.73 0 0 0 3.63,9.91 l 10.68,-6.41 a 46.58,46.58 0 0 1 44.72,-65 L 90.43,36.54 A 34.38,34.38 0 0 0 57.36,79.75 C 57.67,80.88 58,82 58.43,83 L 72.09,74.81 68,63.93 80.9,50.68 97.21,47.17 101.9,53 l -7.52,7.61 -6.55,2.06 -4.69,4.82 2.3,6.38 c 0,0 4.64,4.94 4.65,4.94 l 6.57,-1.74 4.67,-5.13 10.2,-3.24 3,6.84 L 104.05,88.43 86.41,94 78.49,85.19 64.7,93.48 a 34.44,34.44 0 0 0 28.72,11.59 L 96.61,117 A 46.6,46.6 0 0 1 54.13,99.83 l -10.64,6.38 a 58.81,58.81 0 0 0 99.6,-9.77 l 11.8,4.29 a 70.77,70.77 0 0 1 -45.97,38.57 z" + fill="var(--color-brand)" + id="path83830" + style="fill:url(#linearGradient50776);fill-opacity:1" + transform="translate(-19.79)" /></g><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-8-5" + width="32" + height="32" + x="576" + y="0" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/netherstar.svg b/launcher/resources/multimc/scalable/instances/netherstar.svg new file mode 100644 index 00000000..a5d9606e --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/netherstar.svg @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient13104"><stop + style="stop-color:#e7e3fb;stop-opacity:1;" + offset="0" + id="stop13100" /><stop + style="stop-color:#e7e3fb;stop-opacity:0;" + offset="1" + id="stop13102" /></linearGradient><radialGradient + xlink:href="#linearGradient62774" + id="radialGradient62776" + cx="624" + cy="14" + fx="624" + fy="14" + r="12" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient62774"><stop + style="stop-color:#f2effd;stop-opacity:1;" + offset="0.45171013" + id="stop62772" /><stop + style="stop-color:#d2cbf3;stop-opacity:1;" + offset="1" + id="stop62770" /></linearGradient><radialGradient + xlink:href="#linearGradient62766" + id="radialGradient62768" + cx="624" + cy="16" + fx="624" + fy="16" + r="6" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient62766"><stop + style="stop-color:#fafbb9;stop-opacity:1;" + offset="0" + id="stop62762" /><stop + style="stop-color:#fafbb9;stop-opacity:0;" + offset="1" + id="stop62764" /></linearGradient><linearGradient + xlink:href="#linearGradient13104" + id="linearGradient13106" + x1="624" + y1="7" + x2="624" + y2="25" + gradientUnits="userSpaceOnUse" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_netherstar" + transform="translate(-612,-4)"><path + id="path87169-8-4" + style="fill:url(#radialGradient62776);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 624,7 c -1,2.999997 -2,2.5857914 -2,4 0,0.999999 0,1.000001 -1,2 -1,0.999997 -1,1 -2,1 -1.41421,0 -1,1.000001 -4,2 3,0.999999 2.58579,2 4,2 1,0 1,3e-6 2,1 1,0.999999 1,1.000001 1,2 0,1.414209 1,1.000003 2,4 1,-2.999997 2,-2.585791 2,-4 0,-0.999999 0,-1.000001 1,-2 1,-0.999997 1,-1 2,-1 1.41421,0 1,-1.000001 4,-2 -3,-0.999999 -2.58579,-2 -4,-2 -1,0 -1,-3e-6 -2,-1 -1,-0.999999 -1,-1.000001 -1,-2 0,-1.4142086 -1,-1.000003 -2,-4 z" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-6-9" + width="24" + height="24" + x="612" + y="4" /><path + style="fill:url(#radialGradient62768);fill-opacity:1;stroke:none;stroke-width:0.132291;paint-order:stroke markers fill;stop-color:#000000" + d="m 624,19 c 1,-2 1,-2 3,-3 -2,-1 -2,-1 -3,-3 -1,2 -1,2 -3,3 2,1 2,1 3,3 z" + id="path88076" /><path + id="path12156" + style="color:#000000;fill:url(#linearGradient13106);fill-opacity:1;paint-order:stroke markers fill" + d="m 624,7 c -1,2.999994 -2,2.5857928 -2,4 0,0.999998 0,1.000002 -1,2 -1,0.999996 -1,1 -2,1 -1.41421,0 -1,1.000002 -4,2 3,0.999998 2.58579,2 4,2 1,0 1,4e-6 2,1 1,0.999998 1,1.000002 1,2 0,1.414208 1,1.000006 2,4 1,-2.999994 2,-2.585792 2,-4 0,-0.999998 0,-1.000002 1,-2 1,-0.999996 1,-1 2,-1 1.41421,0 1,-1.000002 4,-2 -3,-0.999998 -2.58579,-2 -4,-2 -1,0 -1,-4e-6 -2,-1 -1,-0.999998 -1,-1.000002 -1,-2 0,-1.4142072 -1,-1.000006 -2,-4 z m 0,2.0976562 c 0.20512,0.3196583 0.45222,0.9531658 0.60742,1.1386718 C 625.00535,10.711958 625,10.528599 625,11 c 0,0.499999 -0.0138,0.958752 0.23047,1.447266 0.24426,0.488512 0.5625,0.759767 1.0625,1.259765 0.5,0.499998 0.77125,0.818243 1.25976,1.0625 C 628.04125,15.013788 628.5,15 629,15 c 0.4714,0 0.28804,-0.0054 0.76367,0.392578 0.18551,0.155201 0.81901,0.402302 1.13867,0.607422 -0.31966,0.20512 -0.95316,0.452221 -1.13867,0.607422 C 629.28804,17.00535 629.4714,17 629,17 c -0.5,0 -0.95875,-0.01379 -1.44727,0.230469 -0.48851,0.244257 -0.75976,0.562502 -1.25976,1.0625 -0.5,0.499998 -0.81824,0.771253 -1.0625,1.259765 C 624.98621,20.041248 625,20.500001 625,21 c 0,0.471401 0.005,0.288042 -0.39258,0.763672 -0.1552,0.185506 -0.4023,0.819013 -0.60742,1.138672 -0.20512,-0.319659 -0.45222,-0.953166 -0.60742,-1.138672 C 622.99465,21.288042 623,21.471401 623,21 c 0,-0.499999 0.0138,-0.958752 -0.23047,-1.447266 -0.24426,-0.488512 -0.5625,-0.759767 -1.0625,-1.259765 -0.5,-0.499998 -0.77125,-0.818243 -1.25976,-1.0625 C 619.95875,16.986212 619.5,17 619,17 c -0.4714,0 -0.28804,0.0054 -0.76367,-0.392578 C 618.05082,16.452221 617.41732,16.20512 617.09766,16 c 0.31966,-0.20512 0.95316,-0.452221 1.13867,-0.607422 C 618.71196,14.99465 618.5286,15 619,15 c 0.5,0 0.95875,0.01379 1.44727,-0.230469 0.48851,-0.244257 0.75976,-0.562502 1.25976,-1.0625 0.5,-0.499998 0.81824,-0.771253 1.0625,-1.259765 C 623.01379,11.958752 623,11.499999 623,11 c 0,-0.471401 -0.005,-0.288042 0.39258,-0.763672 0.1552,-0.185506 0.4023,-0.8190135 0.60742,-1.1386718 z" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/planks.svg b/launcher/resources/multimc/scalable/instances/planks.svg new file mode 100644 index 00000000..8febfa6b --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/planks.svg @@ -0,0 +1,93 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + xlink:href="#linearGradient19391" + id="linearGradient19373" + x1="690" + y1="22" + x2="690" + y2="21" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient19391"><stop + style="stop-color:#cfaf6b;stop-opacity:1;" + offset="0" + id="stop19387" /><stop + style="stop-color:#ddc694;stop-opacity:1;" + offset="1" + id="stop19389" /></linearGradient><linearGradient + xlink:href="#linearGradient19391" + id="linearGradient19435" + gradientUnits="userSpaceOnUse" + x1="690" + y1="22" + x2="690" + y2="21" + gradientTransform="translate(0,-5)" /><linearGradient + xlink:href="#linearGradient19391" + id="linearGradient19458" + gradientUnits="userSpaceOnUse" + x1="690" + y1="22" + x2="690" + y2="21" + gradientTransform="translate(0,-10)" /><linearGradient + xlink:href="#linearGradient19391" + id="linearGradient19481" + gradientUnits="userSpaceOnUse" + x1="690" + y1="22" + x2="690" + y2="21" + gradientTransform="translate(0,-15)" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_planks" + transform="translate(-676,-4)"><rect + style="fill:#a88a4a;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56542-7-5-0" + width="20" + height="20" + x="678" + y="6" + ry="3" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-4-9" + width="24" + height="24" + x="676" + y="4" /><path + id="rect15086" + style="fill:url(#linearGradient19373);fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="m 678,21 v 2 c 0,0.771066 0.2909,1.469665 0.76562,2 h 18.46876 C 697.7091,24.469665 698,23.771066 698,23 v -2 z" /><rect + style="fill:url(#linearGradient19435);fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15086-4" + width="20" + height="4" + x="678" + y="16" + ry="0" /><rect + style="fill:url(#linearGradient19458);fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15086-2" + width="20" + height="4" + x="678" + y="11" + ry="0" /><path + id="rect15086-9" + style="fill:url(#linearGradient19481);fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="m 681,6 c -1.662,0 -3,1.3380017 -3,3 v 1 h 20 V 9 c 0,-1.6619983 -1.338,-3 -3,-3 z" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/skeleton.svg b/launcher/resources/multimc/scalable/instances/skeleton.svg new file mode 100644 index 00000000..ca9e8dd4 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/skeleton.svg @@ -0,0 +1,134 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + xlink:href="#linearGradient6068" + id="linearGradient6070" + x1="656" + y1="27" + x2="656" + y2="5" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient6068"><stop + style="stop-color:#cdcdcd;stop-opacity:1;" + offset="0" + id="stop6064" /><stop + style="stop-color:#eeeeee;stop-opacity:1;" + offset="1" + id="stop6066" /></linearGradient><linearGradient + xlink:href="#linearGradient7624" + id="linearGradient7626" + x1="658" + y1="20" + x2="658" + y2="24" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient7624"><stop + style="stop-color:#8e8e86;stop-opacity:1;" + offset="0" + id="stop7620" /><stop + style="stop-color:#8e8e86;stop-opacity:0;" + offset="1" + id="stop7622" /></linearGradient><linearGradient + xlink:href="#linearGradient7155" + id="linearGradient7165" + x1="656" + y1="25" + x2="656" + y2="22" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient7155"><stop + style="stop-color:#3e4447;stop-opacity:1;" + offset="0" + id="stop7151" /><stop + style="stop-color:#2e3134;stop-opacity:1;" + offset="1" + id="stop7153" /></linearGradient><radialGradient + xlink:href="#linearGradient6078" + id="radialGradient6080" + cx="662" + cy="18" + fx="662" + fy="18" + r="3" + gradientTransform="matrix(0.99999794,-1.7103091e-6,1.7879388e-6,1.0000015,0.0013367,0.00110992)" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient6078"><stop + style="stop-color:#006868;stop-opacity:1;" + offset="0" + id="stop6074" /><stop + style="stop-color:#3e4447;stop-opacity:1;" + offset="1" + id="stop6076" /></linearGradient><linearGradient + xlink:href="#linearGradient7155" + id="linearGradient7157" + x1="651" + y1="20" + x2="651" + y2="16" + gradientUnits="userSpaceOnUse" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_skeleton" + transform="translate(-644,-4)"><rect + style="fill:url(#linearGradient6070);fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect543-0" + width="22" + height="22" + x="645" + y="5" + ry="3" /><rect + style="fill:url(#linearGradient7626);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect61092" + width="6" + height="3" + x="653" + y="20" + ry="1" /><rect + style="fill:url(#linearGradient7165);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect60969" + width="16" + height="3" + x="648" + y="22" + ry="1" /><rect + style="fill:url(#radialGradient6080);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect63182" + width="6" + height="4" + x="659" + y="16" + ry="1" /><rect + style="fill:url(#linearGradient7157);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect63184" + width="6" + height="4" + x="647" + y="16" + ry="1" /><rect + style="fill:#00ffff;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect63186" + width="2" + height="2" + x="661" + y="17" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-88-4" + width="24" + height="24" + x="644" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/squarecreeper.svg b/launcher/resources/multimc/scalable/instances/squarecreeper.svg new file mode 100644 index 00000000..ddb9aec8 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/squarecreeper.svg @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><radialGradient + xlink:href="#linearGradient36865" + id="radialGradient10457-1" + cx="112" + cy="17" + fx="112" + fy="17" + r="6" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1666668,-6.8921104e-7,5.6666669e-7,1.1666667,589.33332,-2.8332561)" /><linearGradient + id="linearGradient36865"><stop + style="stop-color:#63271f;stop-opacity:1;" + offset="0" + id="stop36861" /><stop + style="stop-color:#3d1212;stop-opacity:1;" + offset="1" + id="stop36863" /></linearGradient><linearGradient + xlink:href="#linearGradient36859" + id="linearGradient11859-1" + x1="111" + y1="25" + x2="111" + y2="7" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(608)" /><linearGradient + id="linearGradient36859"><stop + style="stop-color:#729657;stop-opacity:1;" + offset="0" + id="stop36855" /><stop + style="stop-color:#a5bf6e;stop-opacity:1;" + offset="1" + id="stop36857" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_squarecreeper" + transform="translate(-708,-4)"><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-8-3-0" + width="24" + height="24" + x="708" + y="4" /><rect + style="fill:url(#linearGradient11859-1);fill-opacity:1;stroke-width:0.226785;paint-order:stroke markers fill;stop-color:#000000" + id="rect543-0-2-3-9" + width="18" + height="18" + x="711" + y="7" + ry="2.4545455" /><path + id="rect29291-0" + style="fill:url(#radialGradient10457-1);fill-opacity:1;stroke-width:0.529166;paint-order:stroke markers fill;stop-color:#000000" + d="m 714,12 v 4 h 4 v -4 z m 4,4 v 2 h -2 v 6 h 2 v -2 h 4 v 2 h 2 v -6 h -2 v -2 z m 4,0 h 4 v -4 h -4 z" /><rect + style="opacity:1;fill:#ff0000;fill-opacity:1;stroke:none;paint-order:stroke markers fill;stop-color:#000000" + id="rect37478" + width="2" + height="2" + x="722" + y="14" /><rect + style="fill:#ff0000;fill-opacity:1;stroke:none;paint-order:stroke markers fill;stop-color:#000000" + id="rect37478-7" + width="2" + height="2" + x="716" + y="14" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/steve.svg b/launcher/resources/multimc/scalable/instances/steve.svg new file mode 100644 index 00000000..9b6d2595 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/steve.svg @@ -0,0 +1,154 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + id="linearGradient2739"><stop + style="stop-color:#cca997;stop-opacity:1;" + offset="0.23748928" + id="stop2755" /><stop + style="stop-color:#bd8e74;stop-opacity:1;" + offset="0.51858547" + id="stop2735" /></linearGradient><linearGradient + id="linearGradient1330"><stop + style="stop-color:#261a0a;stop-opacity:1;" + offset="0" + id="stop1326" /><stop + style="stop-color:#422e11;stop-opacity:1;" + offset="1" + id="stop1328" /></linearGradient><linearGradient + id="linearGradient1463"><stop + style="stop-color:#45220e;stop-opacity:1;" + offset="0" + id="stop1459" /><stop + style="stop-color:#552910;stop-opacity:1;" + offset="1" + id="stop1461" /></linearGradient><linearGradient + id="linearGradient1503"><stop + style="stop-color:#5c3874;stop-opacity:1;" + offset="0" + id="stop1499" /><stop + style="stop-color:#3c3874;stop-opacity:1;" + offset="1" + id="stop1501" /></linearGradient><radialGradient + xlink:href="#linearGradient2739" + id="radialGradient2757-6" + cx="496.06177" + cy="17.211182" + fx="495.87827" + fy="18.730774" + r="11" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.5554022,0,0,1.2337313,-519.57556,-16.266943)" /><linearGradient + xlink:href="#linearGradient1330" + id="linearGradient1332-1" + x1="487" + y1="15" + x2="487" + y2="5" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(252,-12)" /><linearGradient + xlink:href="#linearGradient1463" + id="linearGradient1465-0" + x1="755" + y1="27" + x2="755" + y2="22" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(-4,-12)" /><linearGradient + xlink:href="#linearGradient1503" + id="linearGradient1505-6" + x1="748" + y1="20" + x2="748" + y2="17" + gradientUnits="userSpaceOnUse" /><linearGradient + xlink:href="#linearGradient1503" + id="linearGradient5294" + gradientUnits="userSpaceOnUse" + x1="748" + y1="20" + x2="748" + y2="17" /><linearGradient + xlink:href="#linearGradient1503" + id="linearGradient5296" + gradientUnits="userSpaceOnUse" + x1="748" + y1="20" + x2="748" + y2="17" /></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_steve" + transform="translate(-736,8)"><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-8-3-9-5" + width="24" + height="24" + x="736" + y="-8" /><path + id="rect56542-7-1" + style="fill:url(#radialGradient2757-6);stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + d="m 740,-7 h 16 l 3,3 v 16 c 0,1.662 -1.338,3 -3,3 h -16 c -1.662,0 -3,-1.338 -3,-3 V -4 Z" /><path + id="rect56552-6-8" + style="fill:url(#linearGradient1332-1);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 740,-7 c -1.662,0 -3,1.338002 -3,3 v 7 h 2 c 1.108,0 2,-0.892003 2,-2 V 0 h 14 v 1 c 0,1.107997 0.892,2 2,2 h 2 v -7 c 0,-1.661998 -1.338,-3 -3,-3 h -1 -14 z" /><rect + style="fill:#8a4c3d;fill-opacity:1;stroke:none;stroke-width:0.396874;paint-order:stroke markers fill;stop-color:#000000" + id="rect53396-9-7" + width="6" + height="3" + x="745" + y="10" + ry="0" /><rect + style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect63182-8-0-3-9" + width="7" + height="3" + x="750" + y="5" + ry="1" /><rect + style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect63184-7-9-7-2" + width="7" + height="3" + x="739" + y="5" + ry="1" /><rect + style="fill:#6a4030;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect50123-4-0" + width="4" + height="2" + x="746" + y="8" + ry="0" /><path + id="path195645-2" + style="fill:url(#linearGradient1465-0);fill-opacity:1;stroke:none;stroke-width:0.362295;paint-order:stroke markers fill;stop-color:#000000" + d="m 745,10 a 2,2 0 0 0 -2,2 v 3 h 3 4 3 v -3 a 2,2 0 0 0 -2,-2 h -1 v 2 h -4 v -2 z" /><g + id="g1469-3" + style="fill:url(#linearGradient1505-6);fill-opacity:1" + transform="translate(-4,-12)"><rect + style="fill:url(#linearGradient5294);fill-opacity:1;stroke-width:0.396874;paint-order:stroke markers fill;stop-color:#000000" + id="rect75119-2-7" + width="3" + height="3" + x="746" + y="17" /><rect + style="fill:url(#linearGradient5296);fill-opacity:1;stroke-width:0.396874;paint-order:stroke markers fill;stop-color:#000000" + id="rect112219-5" + width="3" + height="3" + x="755" + y="17" /></g></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/stone.svg b/launcher/resources/multimc/scalable/instances/stone.svg new file mode 100644 index 00000000..6df534d2 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/stone.svg @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + xlink:href="#linearGradient25803" + id="linearGradient25805" + x1="785" + y1="26" + x2="785" + y2="6" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient25803"><stop + style="stop-color:#8e8e86;stop-opacity:1;" + offset="0" + id="stop25799" /><stop + style="stop-color:#a2a29b;stop-opacity:1;" + offset="1" + id="stop25801" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_stone" + transform="translate(-772,-4)"><rect + style="fill:url(#linearGradient25805);fill-opacity:1;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + id="rect15088-9" + width="20" + height="20" + x="774" + y="6" + ry="3" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-4-1" + width="24" + height="24" + x="772" + y="4" /><path + id="path47261" + style="opacity:0.5;fill:#bfbfbb;fill-opacity:1;stroke-width:0.999997;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="m 777,11 v 1 h 12 v -1 z m 14,2 v 1 h 2 v -1 z m -17,2 v 1 h 8 v -1 z m 16,4 v 1 h 4 v -1 z m -8,2 v 1 h 2 v -1 z m 2,3 v 1 h 5 v -1 z" /><path + id="path47259" + style="opacity:0.5;fill:#7e7e77;fill-opacity:1;stroke-width:0.999997;stroke-linecap:square;stroke-linejoin:bevel;paint-order:stroke markers fill;stop-color:#000000" + d="m 774,8 v 1 h 7 V 8 Z m 15,0 v 1 h 5 V 8 Z m -4,8 v 1 h 5 v -1 z m -11,4 v 1 h 6 v -1 z m 3,3 v 1 h 2 v -1 z m 14,0 v 1 h 3 v -1 z" /></g></svg> diff --git a/launcher/resources/multimc/scalable/instances/tnt.svg b/launcher/resources/multimc/scalable/instances/tnt.svg new file mode 100644 index 00000000..e876eba3 --- /dev/null +++ b/launcher/resources/multimc/scalable/instances/tnt.svg @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="24" + height="24" + version="1.1" + viewBox="0 0 24 24" + id="svg168" + xml:space="preserve" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"><defs + id="defs172"><linearGradient + xlink:href="#linearGradient18899" + id="linearGradient18901" + x1="805" + y1="16" + x2="812" + y2="16" + gradientUnits="userSpaceOnUse" /><linearGradient + id="linearGradient18899"><stop + style="stop-color:#bf454c;stop-opacity:1;" + offset="0" + id="stop18895" /><stop + style="stop-color:#df6277;stop-opacity:1;" + offset="0.5" + id="stop18972" /><stop + style="stop-color:#bf454c;stop-opacity:1;" + offset="1" + id="stop18897" /></linearGradient><linearGradient + xlink:href="#linearGradient18899" + id="linearGradient19011" + x1="812" + y1="16" + x2="820" + y2="16" + gradientUnits="userSpaceOnUse" /><linearGradient + xlink:href="#linearGradient18899" + id="linearGradient19015" + gradientUnits="userSpaceOnUse" + x1="805" + y1="16" + x2="812" + y2="16" + gradientTransform="matrix(-1,0,0,1,1632,0)" /><linearGradient + xlink:href="#linearGradient19917" + id="linearGradient22848" + gradientUnits="userSpaceOnUse" + x1="816" + y1="27" + x2="816" + y2="20" /><linearGradient + id="linearGradient19917"><stop + style="stop-color:#a02722;stop-opacity:1;" + offset="0" + id="stop19913" /><stop + style="stop-color:#a02722;stop-opacity:0;" + offset="1" + id="stop19915" /></linearGradient><radialGradient + xlink:href="#linearGradient19935" + id="radialGradient19929" + cx="816" + cy="14" + fx="816" + fy="14" + r="11" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.1570249,0,0,1,-128.13223,0)" /><linearGradient + id="linearGradient19935"><stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop19933" /><stop + style="stop-color:#f6cff4;stop-opacity:1;" + offset="1" + id="stop19931" /></linearGradient></defs><title + id="title132">Prism Launcher Logo</title><metadata + id="metadata166"><rdf:RDF><cc:Work + rdf:about=""><dc:title>Prism Launcher Logo</dc:title><dc:date>19/10/2022</dc:date><dc:creator><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:creator><dc:contributor><cc:Agent><dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title></cc:Agent></dc:contributor><dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source><dc:rights><cc:Agent><dc:title>CC BY-SA 4.0</dc:title></cc:Agent></dc:rights><dc:publisher><cc:Agent><dc:title>Prism Launcher</dc:title></cc:Agent></dc:publisher></cc:Work></rdf:RDF></metadata><g + id="i_tnt" + transform="translate(-804,-4)"><rect + style="fill:#a02722;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect13011-7" + width="20" + height="20" + x="806" + y="6" + ry="3" /><g + id="g19020"><path + id="rect18703" + style="opacity:1;fill:url(#linearGradient18901);fill-opacity:1;stroke:none;paint-order:stroke markers fill;stop-color:#000000" + d="m 809,6 c -1.662,0 -3,1.3380017 -3,3 v 14 c 0,1.661998 1.338,3 3,3 h 3 V 6 Z" /><rect + style="opacity:1;fill:url(#linearGradient19011);fill-opacity:1;stroke:none;paint-order:stroke markers fill;stop-color:#000000" + id="rect19003" + width="6" + height="20" + x="813" + y="6" /><path + id="path19013" + style="opacity:1;fill:url(#linearGradient19015);fill-opacity:1;stroke:none;paint-order:stroke markers fill;stop-color:#000000" + d="m 823,6 c 1.662,0 3,1.3380017 3,3 v 14 c 0,1.661998 -1.338,3 -3,3 h -3 V 6 Z" /></g><rect + style="opacity:1;fill:url(#linearGradient22848);fill-opacity:1;stroke:none;paint-order:stroke markers fill;stop-color:#000000" + id="rect19910" + width="20" + height="20" + x="806" + y="6" + ry="3" /><rect + style="opacity:1;fill:url(#radialGradient19929);fill-opacity:1;stroke:none;stroke-width:0.295813;paint-order:stroke markers fill;stop-color:#000000" + id="rect121411" + width="20" + height="10" + x="806" + y="11" /><path + id="rect122467" + style="opacity:1;fill:#4d3f33;fill-opacity:1;stroke:none;stroke-width:0.374177;paint-order:stroke markers fill;stop-color:#000000" + d="m 808,13 v 2 h 1 v 4 h 2 v -4 h 1 v -2 z m 5,0 v 6 h 2 v -3.171875 l 2,2 V 19 h 2 v -6 h -2 v 2 l -2,-2 z m 7,0 v 2 h 1 v 4 h 2 v -4 h 1 v -2 z" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-9-7" + width="24" + height="24" + x="804" + y="4" /></g></svg> diff --git a/launcher/resources/multimc/scalable/launch.svg b/launcher/resources/multimc/scalable/launch.svg new file mode 100644 index 00000000..321647a0 --- /dev/null +++ b/launcher/resources/multimc/scalable/launch.svg @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="32" + height="32" + viewBox="0 0 8.4666667 8.4666667" + version="1.1" + id="svg19142" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs19139"> + <radialGradient + xlink:href="#linearGradient3801" + id="radialGradient11398" + cx="16.288221" + cy="1036.3623" + fx="16.288221" + fy="1036.3623" + r="12.356801" + gradientTransform="matrix(1,0,0,1.1851852,0,-191.91894)" + gradientUnits="userSpaceOnUse" /> + <linearGradient + id="linearGradient3801"> + <stop + style="stop-color:#00b81a;stop-opacity:1;" + offset="0" + id="stop3803" /> + <stop + style="stop-color:#00600d;stop-opacity:1;" + offset="1" + id="stop3805" /> + </linearGradient> + <radialGradient + xlink:href="#linearGradient3801" + id="radialGradient20362" + cx="16.288221" + cy="1036.3623" + fx="16.288221" + fy="1036.3623" + r="12.356801" + gradientTransform="matrix(1,0,0,1.1851852,0,-191.91894)" + gradientUnits="userSpaceOnUse" /> + <radialGradient + xlink:href="#linearGradient15792" + id="radialGradient12126" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.745076,0.97121566,-0.94714744,0.72661186,979.1198,272.32494)" + cx="7.3809543" + cy="1029.1321" + fx="7.3809543" + fy="1029.1321" + r="12.356801" /> + <linearGradient + id="linearGradient15792"> + <stop + style="stop-color:#00b81a;stop-opacity:1;" + offset="0" + id="stop15788" /> + <stop + style="stop-color:#008311;stop-opacity:1;" + offset="1" + id="stop15790" /> + </linearGradient> + <radialGradient + xlink:href="#linearGradient3801" + id="radialGradient20379" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.1851852,0,-191.91894)" + cx="16.288221" + cy="1036.3623" + fx="16.288221" + fy="1036.3623" + r="12.356801" /> + </defs> + <g + id="layer1" + transform="translate(-107.77091,-124.13108)"> + <g + transform="matrix(0.26458333,0,0,0.26458333,107.69465,-145.83977)" + id="layer1-3" + style="fill:#00c900;fill-opacity:1;stroke:url(#radialGradient11398)"> + <g + id="g4187" + transform="matrix(1.6112635,0,0,1.6112635,-11.986846,-633.49032)" + style="fill:#00c900;fill-opacity:1;stroke:url(#radialGradient20379);stroke-width:0.620631"> + <path + style="opacity:1;fill:#0ebb0e;fill-opacity:1;stroke:url(#radialGradient12126);stroke-width:1.24126;stroke-dasharray:none;stroke-opacity:1" + id="path3809-3" + d="m 10.5,1044.3622 v -16 l 13.5,8 z" /> + </g> + </g> + </g> +</svg> diff --git a/launcher/resources/multimc/scalable/rename.svg b/launcher/resources/multimc/scalable/rename.svg new file mode 100644 index 00000000..a585e264 --- /dev/null +++ b/launcher/resources/multimc/scalable/rename.svg @@ -0,0 +1,437 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="33.072914mm" + height="33.072918mm" + viewBox="0 0 33.072914 33.072918" + version="1.1" + id="svg30785" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview30787" + pagecolor="#505050" + bordercolor="#ffffff" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="1" + inkscape:deskcolor="#505050" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.1893044" + inkscape:cx="14.714484" + inkscape:cy="139.15697" + inkscape:window-width="1440" + inkscape:window-height="827" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs30782"> + <linearGradient + y2="93.999413" + x2="87.757362" + y1="79.998817" + x1="63.911137" + gradientTransform="matrix(1.3755238,0,0,1.8570645,-22.548199,-92.562977)" + gradientUnits="userSpaceOnUse" + id="linearGradient6028" + xlink:href="#linearGradient3291" /> + <linearGradient + id="linearGradient3291"> + <stop + style="stop-color:black;stop-opacity:1" + offset="0" + id="stop3293" /> + <stop + style="stop-color:black;stop-opacity:0" + offset="1" + id="stop3295" /> + </linearGradient> + <filter + id="filter12295" + x="-0.061093309" + y="-0.057532126" + width="1.1221866" + height="1.1150643"> + <feGaussianBlur + stdDeviation="1.4758613" + id="feGaussianBlur12297" /> + </filter> + <radialGradient + r="3.406888" + fy="120.64188" + fx="42.617531" + cy="120.64188" + cx="42.617531" + gradientTransform="matrix(1.909059,1.8392116,-8.6222515,7.5766472,1009.8522,-881.36145)" + gradientUnits="userSpaceOnUse" + id="radialGradient6030" + xlink:href="#linearGradient2257" /> + <linearGradient + id="linearGradient2257"> + <stop + style="stop-color:#b4942a;stop-opacity:1;" + offset="0" + id="stop2259" /> + <stop + style="stop-color:#e4dcc9;stop-opacity:1" + offset="1" + id="stop2261" /> + </linearGradient> + <linearGradient + y2="77.047241" + x2="81.452583" + y1="72.804123" + x1="75.848022" + gradientTransform="matrix(0.9986497,0,0,0.9998891,0.1404398,0.00532324)" + gradientUnits="userSpaceOnUse" + id="linearGradient6032" + xlink:href="#linearGradient2598" /> + <linearGradient + id="linearGradient2598"> + <stop + id="stop2600" + offset="0" + style="stop-color:#252525;stop-opacity:1;" /> + <stop + style="stop-color:#252525;stop-opacity:1;" + offset="0.5" + id="stop2606" /> + <stop + id="stop2608" + offset="0.75" + style="stop-color:#252525;stop-opacity:1;" /> + <stop + id="stop2602" + offset="1" + style="stop-color:#000000;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="87.154587" + x2="80.579521" + y1="83.325729" + x1="76.708534" + gradientTransform="matrix(0.9986497,0,0,0.9998891,0.1404398,0.00532324)" + gradientUnits="userSpaceOnUse" + id="linearGradient6034" + xlink:href="#linearGradient7364" /> + <linearGradient + id="linearGradient7364"> + <stop + id="stop7366" + offset="0" + style="stop-color:#d4a100;stop-opacity:0.97647059;" /> + <stop + id="stop7368" + offset="1" + style="stop-color:#ffc712;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="57.383999" + x2="14.493531" + y1="57.383999" + x1="11.326384" + gradientTransform="matrix(1.2875994,1.1737414,-0.5465891,0.6213041,81.686465,27.89447)" + gradientUnits="userSpaceOnUse" + id="linearGradient6036" + xlink:href="#linearGradient3058" /> + <linearGradient + id="linearGradient3058"> + <stop + id="stop3060" + offset="0" + style="stop-color:#9a7600;stop-opacity:1;" /> + <stop + style="stop-color:#e3ad00;stop-opacity:1;" + offset="0.09292036" + id="stop3066" /> + <stop + id="stop3070" + offset="0.5043171" + style="stop-color:#ffcd2c;stop-opacity:1;" /> + <stop + id="stop3068" + offset="0.91571385" + style="stop-color:#e3ad00;stop-opacity:1;" /> + <stop + id="stop3062" + offset="1" + style="stop-color:#b98d00;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="-22.052734" + x2="100.65602" + y1="-22.560064" + x1="114.92793" + gradientTransform="matrix(0.9992082,0,0,0.9993395,0.1083622,-0.09037494)" + gradientUnits="userSpaceOnUse" + id="linearGradient6038" + xlink:href="#linearGradient5826" /> + <linearGradient + id="linearGradient5826"> + <stop + style="stop-color:#980000;stop-opacity:1;" + offset="0" + id="stop5828" /> + <stop + style="stop-color:#db5c5c;stop-opacity:1;" + offset="1" + id="stop5830" /> + </linearGradient> + <linearGradient + y2="7.4622769" + x2="82.172836" + y1="7.4622769" + x1="-12.817558" + gradientUnits="userSpaceOnUse" + id="linearGradient6040" + xlink:href="#linearGradient3303" /> + <linearGradient + id="linearGradient3303"> + <stop + style="stop-color:#ffffff;stop-opacity:0.68345326;" + offset="0" + id="stop3305" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop3307" /> + </linearGradient> + <filter + id="filter3849" + x="-0.0079507314" + y="-0.38873081" + width="1.0159015" + height="1.7774616"> + <feGaussianBlur + stdDeviation="0.31468463" + id="feGaussianBlur3851" /> + </filter> + <radialGradient + r="47.595196" + fy="7.4622769" + fx="34.677639" + cy="7.4622769" + cx="34.677639" + gradientTransform="matrix(-1.5103,0.00264127,-1.167078e-4,-0.00911022,87.0522,7.438666)" + gradientUnits="userSpaceOnUse" + id="radialGradient6042" + xlink:href="#linearGradient3325" /> + <linearGradient + id="linearGradient3325"> + <stop + id="stop3327" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + id="stop3329" + offset="1" + style="stop-color:#ffffff;stop-opacity:0;" /> + </linearGradient> + <linearGradient + y2="107.35519" + x2="24.450998" + y1="117.83894" + x1="33.342377" + gradientTransform="matrix(0.6182226,0,0,0.6232687,24.10803,47.993844)" + gradientUnits="userSpaceOnUse" + id="linearGradient6044" + xlink:href="#linearGradient2922" /> + <linearGradient + id="linearGradient2922"> + <stop + id="stop2924" + offset="0" + style="stop-color:#000000;stop-opacity:1;" /> + <stop + id="stop2926" + offset="1" + style="stop-color:#515151;stop-opacity:1;" /> + </linearGradient> + <linearGradient + y2="2.3657269" + x2="48.732723" + y1="0.81150496" + x1="48.498562" + gradientTransform="matrix(1.6732108,1.5189394,-1.5009523,1.6928488,18.675678,-24.465565)" + gradientUnits="userSpaceOnUse" + id="linearGradient6046" + xlink:href="#linearGradient3325" /> + <linearGradient + y2="57.15118" + x2="96.579895" + y1="54.119438" + x1="92.226158" + gradientTransform="matrix(0.9973012,0,0,0.9997782,0.28069,0.0106459)" + gradientUnits="userSpaceOnUse" + id="linearGradient6048" + xlink:href="#linearGradient5433" /> + <linearGradient + id="linearGradient5433"> + <stop + id="stop5435" + offset="0" + style="stop-color:#ea3838;stop-opacity:1;" /> + <stop + id="stop5437" + offset="1" + style="stop-color:#c40000;stop-opacity:1;" /> + </linearGradient> + <radialGradient + r="1.7246193" + fy="2.6743078" + fx="49.011971" + cy="2.6743078" + cx="49.011971" + gradientTransform="matrix(2.2600183,0,0,0.2752449,-2.2590409,-25.415382)" + gradientUnits="userSpaceOnUse" + id="radialGradient6050" + xlink:href="#linearGradient3207" /> + <linearGradient + id="linearGradient3207"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop3209" /> + <stop + style="stop-color:#252525;stop-opacity:0;" + offset="1" + id="stop3211" /> + </linearGradient> + <radialGradient + r="1.7246193" + fy="2.6743078" + fx="49.011971" + cy="2.6743078" + cx="49.011971" + gradientTransform="matrix(1.550633,0,0,0.1873121,21.621938,-31.864287)" + gradientUnits="userSpaceOnUse" + id="radialGradient6052" + xlink:href="#linearGradient3207" /> + <radialGradient + r="1.7246193" + fy="2.6743078" + fx="49.011971" + cy="2.6743078" + cx="49.011971" + gradientTransform="matrix(1.5495914,0,0,0.1876849,-193.24041,-23.535874)" + gradientUnits="userSpaceOnUse" + id="radialGradient6054" + xlink:href="#linearGradient3207" /> + </defs> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-62.462199,-187.28812)"> + <g + id="g4356" + transform="matrix(0.43758532,0,0,0.43516994,47.592708,166.39996)" + style="stroke-width:0.879897"> + <path + id="path3180" + d="m 90.067703,48.28801 c 0.613642,-0.692125 4.648657,-0.363057 8.944253,3.536477 4.337724,3.937759 5.210074,7.748115 4.441394,8.615025 -0.5003,0.564284 -1.00061,1.128566 -1.50092,1.692851 -4.461914,-4.050501 -8.9238,-8.101002 -13.385691,-12.151503 0.500309,-0.564283 1.000624,-1.128565 1.500964,-1.69285 0,0 0,0 0,0" + style="fill:#bf0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.879897px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:#b3925d;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 36.000762,124 20.247,-9.42653 0.09417,-0.10772 -13.269004,-12.28446 -0.127672,0.1459 z" + id="path3299" /> + <path + id="path7753" + d="m 97.750257,56.002191 c -1.025821,-0.04502 -1.882013,0.614542 -2.665637,0.986566 -4.174912,3.698786 -21.569273,21.653428 -22.000397,22.168708 l -17.273332,20.659839 -0.106627,0.116066 -9.682256,17.6334 23.598527,-5.26172 29.942357,-36.049248 3.589728,-4.294461 c 0.64726,-1.199814 1.23861,-7.813473 -1.74155,-12.76732 -1.452992,-2.415269 -2.634989,-3.146806 -3.660813,-3.19183 z m 5.402363,15.95915 c -0.0266,0.04924 -0.0446,0.143824 -0.0711,0.174098 -0.0129,0.01476 1.49247,-1.049396 0.6753,-0.870498 z" + style="fill:url(#linearGradient6028);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.879897px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter12295)" /> + <path + id="path2247" + d="m 37.004018,123.01573 18.885171,-8.78019 0.09416,-0.10769 -12.551842,-11.60866 -0.12769,0.14592 z" + style="fill:url(#radialGradient6030);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + id="rect2192" + d="m 49.164276,108.94499 c 1.648961,1.50106 2.755448,1.51054 3.34488,2.0471 0.09525,0.0867 0.175312,0.18851 0.243795,0.29167 L 97.392942,60.017302 90.912418,54.117987 46.187555,105.48147 c 0.214748,0.0564 0.415855,0.13454 0.602285,0.30424 0.538767,0.49045 0.717813,1.65124 2.374436,3.15928 z" + style="fill:url(#linearGradient6032);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.439949;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + <path + style="opacity:0.353488;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.439949;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + d="m 54.219542,109.12044 -1.750182,2.00168 c 0.538752,0.53092 0.431653,1.46553 1.421976,2.36702 1.067261,0.97156 1.630178,0.45849 2.321697,1.08447 l 1.771382,-2.02599 z" + id="path2233" /> + <path + id="rect2190" + d="M 97.156354,59.801933 52.550305,111.02955 c 0.541583,0.53354 0.517441,1.37742 1.512824,2.28353 1.072712,0.97652 1.555044,0.55628 2.250088,1.18547 L 100.94048,63.246681 Z" + style="fill:url(#linearGradient6034);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.439949;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + <path + style="opacity:0.386047;fill:#252525;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.439949;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + d="m 47.641192,104.81388 -0.897802,1.02682 -0.0345,0.0376 c 0.447512,0.42018 0.395724,1.39005 1.878296,2.86086 l 0.08229,0.0749 0.586334,0.53373 0.0823,0.0749 c 1.616252,1.35012 2.54668,1.16726 3.136095,1.7038 l 0.947655,-1.09585 z" + id="path2231" /> + <path + style="opacity:0.353488;fill:#131313;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.439949;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + d="m 43.884886,101.37497 -0.940801,0.95531 c 0.02064,0.0187 -0.05311,0.1047 -0.03237,0.12358 0.423005,0.38509 0.412824,1.36825 1.189787,2.20191 l 0.072,0.0655 0.318878,0.29029 0.04115,0.0374 c 0.925767,0.72156 1.702344,0.46358 2.175362,0.82926 l 0.940872,-1.07609 z" + id="path2229" /> + <path + id="rect1315" + d="m 44.501995,104.6749 c 1.032229,0.92922 1.738227,0.6105 2.287845,1.11081 L 91.395905,54.558106 87.571444,51.076654 42.944168,102.32853 c 0.02096,0.019 0.04162,0.0379 0.06269,0.0571 0.42971,0.39116 0.455145,1.35294 1.495139,2.28929 z" + style="fill:url(#linearGradient6036);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.439949;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + <rect + transform="matrix(0.7409346,0.6715772,-0.6655662,0.7463388,0,0)" + y="-24.64492" + x="99.380959" + height="4.2522693" + width="18.073059" + id="rect2069" + style="fill:url(#linearGradient6038);fill-opacity:1;stroke:none;stroke-width:0.879897;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + <ellipse + transform="matrix(0.3854946,-0.4403693,-1.7345162,-1.5764895,62.874028,110.46407)" + id="path5963" + style="fill:url(#linearGradient6040);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.175979;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1;filter:url(#filter3849)" + cx="34.677639" + cy="7.4622769" + rx="47.495197" + ry="0.97142172" /> + <path + style="fill:url(#radialGradient6042);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.175979;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + id="path3321" + d="M 106.56087,7.4622769 A 71.883232,0.4230493 0 0 1 35.242273,7.8853132 71.883232,0.4230493 0 0 1 -37.196723,7.4689227 71.883232,0.4230493 0 0 1 32.983878,7.0393451 71.883232,0.4230493 0 0 1 106.52539,7.448987" + transform="matrix(0.3184879,-0.3665274,-1.2576415,-1.1452705,66.925762,101.47904)" /> + <path + id="path2265" + d="m 44.721041,119.98334 c -1.894932,-0.77816 -4.469372,-3.93608 -5.787909,-5.07837 l -2.933131,9.08971 z" + style="fill:url(#linearGradient6044);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + id="path3233" + d="m 97.676422,50.957862 c 2.773338,2.157871 4.754818,5.136648 4.863888,5.422718 0.10904,0.286071 -2.586875,-3.046365 -4.878244,-4.572341 -2.273846,-1.514326 -5.450917,-1.552229 -5.685693,-1.736594 -0.234782,-0.184361 -1.822614,-1.877275 -0.38221,-1.814774 1.506596,0.06537 3.94013,1.035831 6.082259,2.700991 z" + style="fill:url(#linearGradient6046);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.879897px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:url(#linearGradient6048);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.439949;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + d="m 93.653015,51.592952 -2.773744,3.218036 6.482458,5.873697 2.773741,-3.186793 z" + id="path5045" /> + <rect + transform="matrix(0.7404161,0.6721488,-0.6634233,0.7482443,0,0)" + y="-25.364759" + x="104.60918" + height="1.7080779" + width="7.795228" + id="rect3205" + style="fill:url(#radialGradient6050);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + <rect + style="fill:url(#radialGradient6052);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + id="rect2956" + width="5.3484583" + height="1.162492" + x="94.946716" + y="-31.829779" + transform="matrix(0.6942228,0.7197602,-0.7693435,0.6388354,0,0)" /> + <rect + transform="matrix(-0.7514575,-0.6597815,-0.5893147,0.8079036,0,0)" + y="-23.501301" + x="-119.96733" + height="1.1647878" + width="5.3448997" + id="rect2961" + style="fill:url(#radialGradient6054);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + </g> + </g> +</svg> diff --git a/launcher/resources/multimc/scalable/shortcut.svg b/launcher/resources/multimc/scalable/shortcut.svg new file mode 100644 index 00000000..549c3724 --- /dev/null +++ b/launcher/resources/multimc/scalable/shortcut.svg @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="128" + height="128" + id="svg2" + version="1.0" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <defs + id="defs4"> + <linearGradient + id="linearGradient3185"> + <stop + style="stop-color:#eeeeee;stop-opacity:1;" + offset="0" + id="stop3187" /> + <stop + style="stop-color:#eeeeee;stop-opacity:0;" + offset="1" + id="stop3189" /> + </linearGradient> + <linearGradient + id="linearGradient3133"> + <stop + style="stop-color:#646661;stop-opacity:1" + offset="0" + id="stop3135" /> + <stop + style="stop-color:#111111;stop-opacity:1" + offset="1" + id="stop3137" /> + </linearGradient> + <radialGradient + xlink:href="#linearGradient3133" + id="radialGradient3139" + cx="64" + cy="35.686314" + fx="64" + fy="35.686314" + r="40" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.1360441,0,0,1.446027,-72.706823,-26.184217)" /> + <linearGradient + xlink:href="#linearGradient3185" + id="linearGradient3191" + x1="112" + y1="98.41069" + x2="61.978939" + y2="11.771669" + gradientUnits="userSpaceOnUse" /> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3393"> + <path + style="opacity:1;fill:#dbdbdb;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 13.8125,8 C 10.584167,8 8,10.584167 8,13.8125 L 8,114.1875 C 8,117.41583 10.584167,120 13.8125,120 L 114.1875,120 C 117.41583,120 120,117.41583 120,114.1875 L 120,13.8125 C 120,10.584167 117.41583,8 114.1875,8 L 13.8125,8 z M 21.8125,16 L 106.1875,16 C 109.41583,16 112,18.584167 112,21.8125 L 112,106.1875 C 112,109.41583 109.41583,112 106.1875,112 L 21.8125,112 C 18.584166,112 16,109.41583 16,106.1875 L 16,21.8125 C 16,18.584166 18.584167,16 21.8125,16 z " + id="path3395" /> + </clipPath> + <radialGradient + xlink:href="#linearGradient3133" + id="radialGradient3413" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.1360441,0,0,-1.446027,-72.706823,154.18422)" + cx="64" + cy="35.686314" + fx="64" + fy="35.686314" + r="40" /> + <radialGradient + xlink:href="#linearGradient3133" + id="radialGradient3417" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.1360441,0,0,1.446027,-72.706823,-25.184217)" + cx="64" + cy="35.686314" + fx="64" + fy="35.686314" + r="40" /> + <filter + id="filter3351" + x="-0.048" + y="-0.048" + width="1.096" + height="1.096"> + <feGaussianBlur + stdDeviation="2" + id="feGaussianBlur3353" /> + </filter> + </defs> + <metadata + id="metadata7"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + id="layer1"> + <rect + style="opacity:0.7;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3351)" + id="rect3305" + width="100" + height="100" + x="14" + y="14" + rx="7.4348507" + ry="7.4348507" + clip-path="url(#clipPath3393)" /> + <rect + ry="5.6263733" + rx="5.6263733" + y="16" + x="16" + height="96" + width="96" + id="rect3141" + style="opacity:0.7;fill:#eeeeee;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <rect + style="opacity:1;fill:url(#radialGradient3139);fill-opacity:1.0;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2160" + width="80" + height="80" + x="24" + y="24" + rx="5.6263733" + ry="5.6263733" /> + <rect + style="opacity:0.7;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect3178" + width="95" + height="95" + x="16.5" + y="16.5" + rx="5.6263733" + ry="5.6263733" /> + <g + id="g3160" + transform="matrix(1.6656201,0,0,1.6656201,-62.574569,-26.624804)" + style="fill:#ffffff;fill-opacity:1"> + <path + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:8;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 44.03125 40 L 55.34375 51.3125 C 43.467571 59.035057 35.734919 71.703669 57.34375 93.3125 C 52.734046 74.873684 60.878036 66.021115 70.75 66.71875 L 84 79.96875 L 84 73.3125 L 84 40 L 44.03125 40 z " + transform="matrix(0.600377,0,0,0.600377,37.568332,15.98492)" + id="path2179" /> + </g> + </g> +</svg> diff --git a/launcher/resources/multimc/scalable/tag.svg b/launcher/resources/multimc/scalable/tag.svg new file mode 100644 index 00000000..81b5d545 --- /dev/null +++ b/launcher/resources/multimc/scalable/tag.svg @@ -0,0 +1,398 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="33.866665mm" + height="33.866665mm" + viewBox="0 0 33.866665 33.866665" + version="1.1" + id="svg5" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview7" + pagecolor="#505050" + bordercolor="#ffffff" + borderopacity="1" + inkscape:showpageshadow="0" + inkscape:pageopacity="0" + inkscape:pagecheckerboard="1" + inkscape:deskcolor="#505050" + inkscape:document-units="mm" + showgrid="false" + inkscape:zoom="1.6819304" + inkscape:cx="97.209729" + inkscape:cy="104.93894" + inkscape:window-width="1440" + inkscape:window-height="827" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" /> + <defs + id="defs2"> + <radialGradient + xlink:href="#linearGradient3291" + id="radialGradient10686" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.197802,0,92.82166)" + cx="63.912209" + cy="115.70919" + fx="42.094791" + fy="115.7093" + r="63.912209" /> + <linearGradient + id="linearGradient3291"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop3293" /> + <stop + style="stop-color:#000000;stop-opacity:0;" + offset="1" + id="stop3295" /> + </linearGradient> + <radialGradient + xlink:href="#linearGradient3075" + id="radialGradient11644" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.844258,0,0,1.606667,44.38044,-98.18508)" + spreadMethod="reflect" + cx="-52.250774" + cy="128.00081" + fx="-52.250774" + fy="128.00081" + r="36.937431" /> + <linearGradient + id="linearGradient3075"> + <stop + id="stop3077" + offset="0" + style="stop-color:#ffffff;stop-opacity:1;" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0.42597079" + id="stop3093" /> + <stop + style="stop-color:#f1f1f1;stop-opacity:1;" + offset="0.5892781" + id="stop3085" /> + <stop + id="stop3087" + offset="0.80219781" + style="stop-color:#eaeaea;stop-opacity:1;" /> + <stop + id="stop3079" + offset="1" + style="stop-color:#dfdfdf;stop-opacity:1;" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient2316" + id="linearGradient11646" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.835095,0,0,0.835095,6.816147,12.32049)" + x1="32.39278" + y1="79.018364" + x2="83.208656" + y2="79.018364" /> + <linearGradient + id="linearGradient2316"> + <stop + id="stop2318" + offset="0" + style="stop-color:#dd6a0e;stop-opacity:1;" /> + <stop + id="stop2320" + offset="1" + style="stop-color:#ffb66d;stop-opacity:1;" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient5259" + id="linearGradient11648" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0.267368,-0.06264141)" + x1="24.851341" + y1="60.846405" + x2="-35.981007" + y2="112.08296" /> + <linearGradient + id="linearGradient5259"> + <stop + style="stop-color:#000000;stop-opacity:1;" + offset="0" + id="stop5261" /> + <stop + id="stop5267" + offset="0.5" + style="stop-color:#7f7f7f;stop-opacity:0.33935019;" /> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="1" + id="stop5263" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient2316" + id="linearGradient11654" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.835095,0,0,0.835095,7.613067,13.11741)" + x1="32.39278" + y1="79.018364" + x2="83.208656" + y2="79.018364" /> + <linearGradient + xlink:href="#linearGradient7033" + id="linearGradient11656" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0.144757,-0.233352)" + x1="96.437851" + y1="14.713447" + x2="96.397697" + y2="23.267729" /> + <linearGradient + id="linearGradient7033"> + <stop + style="stop-color:#ffffff;stop-opacity:1;" + offset="0" + id="stop7035" /> + <stop + style="stop-color:#ffffff;stop-opacity:0;" + offset="1" + id="stop7037" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient2959" + id="linearGradient11658" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.965789,0,0,0.944211,3.248297,-0.448682)" + x1="111.30237" + y1="-18.911451" + x2="108.5625" + y2="26.541067" /> + <linearGradient + y2="3.1118" + x2="17.0464" + y1="7.6073999" + x1="17.0464" + gradientUnits="userSpaceOnUse" + id="linearGradient2959"> + <stop + id="stop2961" + style="stop-color:#EEEEEE" + offset="0" /> + <stop + id="stop2963" + style="stop-color:#CECECE" + offset="0.2909" /> + <stop + id="stop2965" + style="stop-color:#888888" + offset="0.85" /> + <stop + id="stop2967" + style="stop-color:#555555" + offset="1" /> + </linearGradient> + <linearGradient + xlink:href="#linearGradient7033" + id="linearGradient11660" + gradientUnits="userSpaceOnUse" + x1="65.073738" + y1="53.097416" + x2="62.605522" + y2="102.24165" /> + <linearGradient + xlink:href="#linearGradient2959" + id="linearGradient11662" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.989491,0.144757,0.128566)" + x1="112.14121" + y1="0.22972308" + x2="108.5625" + y2="41.496986" /> + <linearGradient + xlink:href="#linearGradient7033" + id="linearGradient11664" + gradientUnits="userSpaceOnUse" + x1="236.57014" + y1="-50.274925" + x2="2.61567" + y2="111.73157" /> + <linearGradient + xlink:href="#linearGradient7033" + id="linearGradient11666" + gradientUnits="userSpaceOnUse" + x1="95.915977" + y1="-33.667568" + x2="32.102207" + y2="129.69464" /> + <radialGradient + xlink:href="#linearGradient3291" + id="radialGradient11668" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.381766,0.111574,-0.139672,0.47791,70.02209,5.232857)" + cx="99.498825" + cy="33.076019" + fx="92.406448" + fy="33.504173" + r="17.845808" /> + <linearGradient + xlink:href="#linearGradient2316" + id="linearGradient15192" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.835095,0,0,0.835095,5.637308,11.14165)" + x1="32.39278" + y1="79.018364" + x2="83.208656" + y2="79.018364" /> + <linearGradient + xlink:href="#linearGradient3291" + id="linearGradient12566" + x1="96.686058" + y1="28.999111" + x2="109.04183" + y2="41.42416" + gradientUnits="userSpaceOnUse" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5259" + id="linearGradient3805" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0.267368,-0.06264141)" + x1="24.851341" + y1="60.846405" + x2="-35.981007" + y2="112.08296" /> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5259" + id="linearGradient3807" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0.267368,-0.06264141)" + x1="24.851341" + y1="60.846405" + x2="-35.981007" + y2="112.08296" /> + </defs> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <g + id="layer1-3" + transform="matrix(0.26458333,0,0,0.26458333,-0.0150732,-0.07996336)"> + <path + id="path2276" + d="M 50.892799,3.2812959 V 0.48658747 Z" + style="fill:#ffffff;fill-opacity:0.756881;fill-rule:nonzero;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + <path + style="opacity:0.381395;fill:url(#radialGradient10686);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + id="path3289" + d="m 127.82442,115.70919 a 63.91221,12.641975 0 1 1 -127.82442,0 63.91221,12.641975 0 1 1 127.82442,0 z" + transform="matrix(1,0,0,0.416667,0.144757,74.63816)" /> + <g + id="g11627" + transform="matrix(0.99373,0,0,0.99373,9.698994e-4,0.76812)"> + <path + id="rect1410" + d="m 65.957252,16.860398 c -3.049556,-0.275801 -6.186939,0.749438 -8.53125,3.09375 l -54.125,54.09375 c -4.19508499,4.195085 -4.19508509,10.961163 0,15.15625 l 30.15625,30.156252 c 4.195085,4.19509 10.961166,4.19508 15.15625,0 L 102.70726,65.235398 c 2.49083,-2.490832 3.13273,-5.870037 3.125,-9.09375 l -0.0625,-28.6875 c 0,-5.932749 -4.786,-10.71875 -10.718753,-10.71875 0,0 -28.607642,0.09192 -29.093755,0.125 z m 28.843755,5.125 c 3.66262,-0.16143 6.156253,2.485447 6.156253,5.5625 0,3.077053 -2.485453,5.5625 -5.562503,5.5625 -3.07706,10e-7 -5.59375,-2.485447 -5.59375,-5.5625 0,-2.884737 2.18203,-5.438298 5,-5.5625 z" + style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:0.0431373" /> + <rect + transform="rotate(-45)" + rx="7.8982348" + ry="7.8982348" + y="64.655273" + x="-51.673248" + height="44.167801" + width="73.874908" + id="rect3166" + style="opacity:1;fill:url(#radialGradient11644);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:0.0431373" /> + <path + id="path3173" + d="M 75.885718,57.507812 34.284739,99.108794" + style="opacity:0.356557;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:url(#linearGradient11646);stroke-width:6.681;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <rect + style="opacity:0.229508;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3805);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + id="rect5257" + width="73.874908" + height="44.167801" + x="-51.673248" + y="64.655273" + ry="7.8982348" + rx="7.8982348" + transform="rotate(-45)" /> + <rect + transform="rotate(-45)" + rx="7.8982348" + ry="7.8982348" + y="64.655273" + x="-51.673248" + height="44.167801" + width="73.874908" + id="rect5269" + style="opacity:0.229508;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3807);stroke-width:4.7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + <rect + style="opacity:0.229508;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient11648);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + id="rect5271" + width="73.874908" + height="44.167801" + x="-51.673248" + y="64.655273" + ry="7.8982348" + rx="7.8982348" + transform="rotate(-45)" /> + <path + style="opacity:0.356557;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:url(#linearGradient11654);stroke-width:4.281;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 76.682637,58.304731 35.081658,99.905718" + id="path6146" /> + <path + id="path7023" + d="m 95.974287,17.823297 c -10.492771,0 -20.733943,-0.08387 -31.226713,-0.08387 -1.762073,0 -4.255833,0.942555 -5.871767,2.558489 -1.660248,1.726659 -3.404362,3.117855 -5.064611,4.844513 2.414223,-2.414222 7.212846,-5.724904 11.093084,-5.724904 7.421011,0 27.351047,-0.0983 31.070007,-0.03189 3.71177,0 7.055473,2.121104 8.954723,5.410703 -0.68877,-1.943344 -4.67334,-6.973043 -8.954723,-6.973043 z" + style="fill:url(#linearGradient11656);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="opacity:1;fill:url(#linearGradient11658);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.281;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + d="m 100.82818,26.326961 c -1.890153,-1.727837 -3.415423,-4.670514 -3.415423,-7.920927 0,-3.533359 1.96775,-6.823917 4.142823,-9.4743797 2.17506,-2.6504632 5.28768,-4.1241296 7.58345,-4.64867 2.29577,-0.5245403 5.79507,-0.1221965 7.97013,1.534343 2.17508,1.6565394 3.47363,4.2591447 3.47363,7.7925027 0,3.533359 -2.02809,6.984823 -4.20316,9.635286 -2.17507,2.650461 -5.98704,4.450271 -8.28282,4.974812 -0.90522,0.206827 -1.39525,0.258815 -2.34919,0.16418 v 3.641114 c 0.90698,-0.07736 1.37675,-0.178048 2.34919,-0.400232 5.41187,-1.236508 9.82659,-4.36931 12.70617,-7.878262 2.87957,-3.508952 4.52714,-7.616269 4.52714,-11.71412 0,-4.0978497 -1.64757,-7.4555617 -4.52714,-9.6486567 -2.22718,-1.69622208 -5.36254,-2.77457075 -9.175,-2.59658065 -1.11678,0.0521386 -2.30504,0.22146591 -3.53117,0.50161219 -5.41185,1.23650756 -9.856773,4.39881646 -12.736353,7.90776816 -2.87957,3.508952 -4.49695,7.586762 -4.49695,11.684613 -1e-5,4.09785 1.61738,7.485066 4.49695,9.678163 0.53992,0.411206 2.4878,1.271962 1.78068,1.091745 -0.0068,-0.0017 1.96319,1.251665 1.85535,0.684439 1.810883,-0.738325 2.208813,-3.477697 1.831693,-5.00875 z" + id="path9411" /> + <path + id="path10706" + d="m 90.5625,16.75 c -8.068686,0.0274 -24.229165,0.100191 -24.59375,0.125 -3.049557,-0.2758 -6.186939,0.749438 -8.53125,3.09375 L 7.84375,69.53125 c 11.529551,1.982326 27.892323,4.585247 51.125,7.96875 8.273982,1.204986 18.293655,2.036346 28.90625,2.59375 L 102.71875,65.25 c 2.49083,-2.490831 3.13273,-5.870037 3.125,-9.09375 l -0.0625,-28.6875 c 0,-5.932748 -4.786,-10.71875 -10.71875,-10.71875 -10e-7,0 -1.810438,-0.0091 -4.5,0 z m 4.3125,5.21875 c 3.6158,-0.116775 6.09375,2.540736 6.09375,5.59375 0,3.077054 -2.48545,5.5625 -5.5625,5.5625 -3.077063,2e-6 -5.59375,-2.485447 -5.59375,-5.5625 -3e-6,-2.884736 2.18203,-5.438298 5,-5.5625 0.02861,-0.0013 0.03403,-0.03033 0.0625,-0.03125 z" + style="opacity:0.110656;fill:url(#linearGradient11660);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:0.0431373" /> + <path + id="path7046" + d="m 97.375359,32.751517 c 2.10015,-0.773731 3.390351,-2.538598 3.560031,-4.734753 -1.957113,-1.810695 -3.290633,-4.723021 -3.290633,-8.129308 -1e-5,-3.702801 2.03744,-7.151156 4.289563,-9.9287217 2.25211,-2.7775654 5.47498,-4.3219011 7.85207,-4.8715958 2.3771,-0.5496945 6.00035,-0.1280564 8.25246,1.6079222 2.25212,1.7359783 3.59667,4.4633913 3.59667,8.1661903 0,3.702801 -2.09993,7.319779 -4.35205,10.097344 -2.25211,2.777565 -6.19911,4.663684 -8.57621,5.213379 -0.93729,0.216746 -1.96089,0.315625 -2.94862,0.216451 v 3.815723 c 0.93911,-0.08107 1.94173,-0.230984 2.94862,-0.463824 5.60357,-1.295804 10.17467,-4.578839 13.15625,-8.256062 2.98157,-3.677222 4.6875,-7.981505 4.6875,-12.275868 0,-4.2943614 -1.70593,-7.8130918 -4.6875,-10.1113563 -2.30607,-1.7775641 -5.5525,-2.90762479 -9.5,-2.72109918 -1.15634,0.0546388 -2.38669,0.23208625 -3.65625,0.52566685 C 103.1037,2.1974095 98.501327,5.5113663 95.519757,9.1885892 c -2.98158,3.6772228 -4.65625,7.9505838 -4.65625,12.2449458 -1e-5,4.294362 1.67467,7.844014 4.65625,10.142279 0.55904,0.430925 1.186172,0.832604 1.855602,1.175703 z" + style="opacity:1;fill:url(#linearGradient11662);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.281;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" /> + <path + id="path11592" + d="m 87.21875,16.75 c -8.50359,0.03263 -20.930988,0.103292 -21.25,0.125 -3.049557,-0.2758 -6.186939,0.749438 -8.53125,3.09375 L 7.84375,69.53125 c 6.512962,1.119802 14.566555,2.45529 24.53125,4 11.012521,-17.30544 27.351155,-37.289448 38.8125,-46.875 4.644801,-3.884621 11.982929,-7.180912 20.34375,-9.90625 -0.306904,6.24e-4 -0.632555,-0.0011 -0.96875,0 -1.008586,0.0034 -2.128951,-0.0047 -3.34375,0 z m 18.375,8.6875 c -1.5547,0.686392 -3.10706,1.369523 -4.625,2.0625 3e-4,0.0238 0,0.03865 0,0.0625 0,3.077054 -2.48545,5.5625 -5.5625,5.5625 -1.334195,10e-7 -2.567233,-0.469835 -3.53125,-1.25 -6.682325,3.356446 -12.081361,6.518861 -14.59375,9.03125 -8.240797,8.240798 -15.526075,23.751079 -20.6875,36.25 0.784476,0.114764 1.574287,0.227138 2.375,0.34375 8.273982,1.204986 18.293655,2.036346 28.90625,2.59375 L 102.71875,65.25 c 2.49083,-2.490831 3.13273,-5.870037 3.125,-9.09375 l -0.0625,-28.6875 c 0,-0.695244 -0.0619,-1.373359 -0.1875,-2.03125 z" + style="opacity:0.20082;fill:url(#linearGradient11664);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:0.0431373" /> + <path + style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.281;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + d="m 100.93539,27.951048 c -1.957113,-1.829927 -3.290633,-4.773185 -3.290633,-8.21565 -1e-5,-3.742128 1.49788,-7.442934 3.750003,-10.2499997 2.25211,-2.8070662 4.93541,-4.475717 7.3125,-5.03125 2.3771,-0.5555328 5.02914,-0.1294165 7.28125,1.625 2.25212,1.7544162 3.8125,4.7266227 3.8125,8.4687497 0,3.742128 -1.56038,7.505434 -3.8125,10.3125 -2.25211,2.807065 -4.90415,4.413217 -7.28125,4.96875 -0.93729,0.219048 -1.91852,0.318977 -2.90625,0.21875 v 4.15625 c 0.93911,-0.08193 1.89936,-0.233437 2.90625,-0.46875 5.60357,-1.309567 10.17467,-4.627471 13.15625,-8.34375 2.98157,-3.716278 4.6875,-8.066277 4.6875,-12.40625 0,-4.3399723 -1.70593,-7.8960753 -4.6875,-10.2187497 -2.30607,-1.79644362 -5.5525,-2.93850675 -9.5,-2.75000004 -1.15634,0.05521916 -2.38669,0.23455125 -3.65625,0.53125001 C 103.1037,1.8574651 98.501327,5.2066196 95.519757,8.9228983 c -2.98158,3.7162787 -4.65625,8.0350267 -4.65625,12.3749997 -1e-5,4.339973 1.67467,7.927325 4.65625,10.25 0.55904,0.435502 1.17432,0.809507 1.84375,1.15625 0.0064,0.0033 0.0248,-0.0033 0.03125,0 2.0689,-0.781949 3.370953,-2.53362 3.540633,-4.7531 z" + id="path8516" /> + <path + style="opacity:0.143443;fill:url(#linearGradient11666);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:5.6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:0.0431373" + d="m 87.21875,16.75 c -8.50359,0.03263 -20.930988,0.103292 -21.25,0.125 -3.049557,-0.2758 -6.186939,0.749438 -8.53125,3.09375 L 7.84375,69.53125 c 6.512962,1.119802 51.882405,-33.289448 63.34375,-42.875 4.644801,-3.884621 11.982929,-7.180912 20.34375,-9.90625 -0.306904,6.24e-4 -0.632555,-0.0011 -0.96875,0 -1.008586,0.0034 -2.128951,-0.0047 -3.34375,0 z m 18.375,8.6875 c -1.5547,0.686392 -3.10706,1.369523 -4.625,2.0625 3e-4,0.0238 0,0.03865 0,0.0625 0,3.077054 -2.48545,5.5625 -5.5625,5.5625 -1.334195,10e-7 -2.567233,-0.469835 -3.53125,-1.25 -6.682325,3.356446 -12.081361,6.518861 -14.59375,9.03125 -8.240797,8.240798 -0.01884,38.630096 10.59375,39.1875 L 102.71875,65.25 c 2.49083,-2.490831 3.13273,-5.870037 3.125,-9.09375 l -0.0625,-28.6875 c 0,-0.695244 -0.0619,-1.373359 -0.1875,-2.03125 z" + id="path11602" /> + <path + style="opacity:0.606557;fill:url(#radialGradient11668);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.281;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + d="m 90.96875,26.46875 c 0.743967,2.297267 2.100743,4.216351 3.96875,5.65625 0.555536,0.428222 1.147267,0.846552 1.8125,1.1875 2.656083,-0.950513 4.01114,-3.505137 3.46875,-6.40625 -0.15257,-0.139467 -0.321073,-0.282994 -0.46875,-0.4375 z m 21.71875,0 c -1.83753,1.211058 -3.85538,2.017967 -5.28125,2.34375 -0.89954,0.205529 -1.36454,0.250292 -2.3125,0.15625 v 1.96875 1.65625 2.1875 c 0.93322,-0.08056 1.93692,-0.23737 2.9375,-0.46875 5.36542,-1.24073 9.78487,-4.350662 12.75,-7.84375 z" + transform="matrix(1.00631,0,0,1.00631,-9.76019e-4,-0.772966)" + id="path11610" /> + <path + id="path14317" + d="M 74.706878,56.328972 33.105899,97.929959" + style="opacity:0.356557;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:url(#linearGradient15192);stroke-width:10.0168;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + </g> + <path + style="opacity:0.536885;fill:#c5c5c5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4;stroke-opacity:1" + d="m 89.656712,30.354292 c 0.49124,2.325735 2.588013,4.056766 5.131181,4.056767 2.543162,0 4.679407,-1.731031 5.170643,-4.056767 -0.854771,1.932015 -2.866287,3.291339 -5.170643,3.291339 -2.30436,0 -4.276402,-1.359324 -5.131181,-3.291339 z" + id="path11672" /> + <path + style="opacity:0.303279;fill:url(#linearGradient12566);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 100.18163,26.901091 c 1.15086,4.050666 3.65645,3.092196 4.93347,6.825449 v 2.355173 c -4.56581,-1.437505 -6.222135,-1.137689 -8.429042,-2.759676 2.139037,-0.83309 4.052592,-2.587176 3.495572,-6.420946 z" + id="path12550" /> + </g> + </g> +</svg> diff --git a/launcher/resources/pe_blue/pe_blue.qrc b/launcher/resources/pe_blue/pe_blue.qrc index 3121ffe6..639675f0 100644 --- a/launcher/resources/pe_blue/pe_blue.qrc +++ b/launcher/resources/pe_blue/pe_blue.qrc @@ -39,5 +39,6 @@ <file>scalable/export.svg</file> <file>scalable/rename.svg</file> <file>scalable/launch.svg</file> + <file>scalable/shortcut.svg</file> </qresource> </RCC> diff --git a/launcher/resources/pe_blue/scalable/shortcut.svg b/launcher/resources/pe_blue/scalable/shortcut.svg new file mode 100644 index 00000000..45b73496 --- /dev/null +++ b/launcher/resources/pe_blue/scalable/shortcut.svg @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"> +<path fill-rule="evenodd" clip-rule="evenodd" fill="#3366CC" d="M6,32h20c3.3,0,6-2.7,6-6V6c0-3.3-2.7-6-6-6h-9.1 + C17.6,1.2,18,2.6,18,4h8c1.1,0,2,0.9,2,2v20c0,1.1-0.9,2-2,2H6c-1.1,0-2-0.9-2-2v-4.5l-4-3V26C0,29.3,2.7,32,6,32z"/> +<path fill-rule="evenodd" clip-rule="evenodd" fill="#39B54A" d="M8.8,17.6C9.2,17.9,9.6,18,10,18c0.3,0,0.6-0.1,0.9-0.2 + c0.7-0.3,1.1-1,1.1-1.8v-1.9V14c6.3,0,11.7,4.2,13.4,10c0.4-1.3,0.6-2.6,0.6-4c0-7.7-6.3-14-14-14V4c0-0.8-0.4-1.5-1.1-1.8 + C10.6,2.1,10.3,2,10,2C9.6,2,9.2,2.1,8.8,2.4l-8,6C0.3,8.8,0,9.4,0,10c0,0.6,0.3,1.2,0.8,1.6L8.8,17.6z"/> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +</svg> diff --git a/launcher/resources/pe_colored/pe_colored.qrc b/launcher/resources/pe_colored/pe_colored.qrc index ce5ad8e2..fac58da8 100644 --- a/launcher/resources/pe_colored/pe_colored.qrc +++ b/launcher/resources/pe_colored/pe_colored.qrc @@ -39,5 +39,6 @@ <file>scalable/export.svg</file> <file>scalable/rename.svg</file> <file>scalable/launch.svg</file> + <file>scalable/shortcut.svg</file> </qresource> </RCC> diff --git a/launcher/resources/pe_colored/scalable/shortcut.svg b/launcher/resources/pe_colored/scalable/shortcut.svg new file mode 100644 index 00000000..1469674f --- /dev/null +++ b/launcher/resources/pe_colored/scalable/shortcut.svg @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"> +<g> + <path fill="#39B54A" d="M26,0h-9.1C17.6,1.2,18,2.6,18,4h8c1.1,0,2,0.9,2,2v3h4V6C32,2.7,29.3,0,26,0z"/> + <path fill="#8C6239" d="M28,26c0,1.1-0.9,2-2,2H6c-1.1,0-2-0.9-2-2v-4.5l-4-3V26c0,3.3,2.7,6,6,6h20c3.3,0,6-2.7,6-6V9h-4V26z"/> +</g> +<path fill-rule="evenodd" clip-rule="evenodd" fill="#009245" d="M8.8,17.6C9.2,17.9,9.6,18,10,18c0.3,0,0.6-0.1,0.9-0.2 + c0.7-0.3,1.1-1,1.1-1.8v-1.9V14c6.3,0,11.7,4.2,13.4,10c0.4-1.3,0.6-2.6,0.6-4c0-7.7-6.3-14-14-14V4c0-0.8-0.4-1.5-1.1-1.8 + C10.6,2.1,10.3,2,10,2C9.6,2,9.2,2.1,8.8,2.4l-8,6C0.3,8.8,0,9.4,0,10c0,0.6,0.3,1.2,0.8,1.6L8.8,17.6z"/> +</svg> diff --git a/launcher/resources/pe_dark/pe_dark.qrc b/launcher/resources/pe_dark/pe_dark.qrc index 156d8f8b..c0c6ee6c 100644 --- a/launcher/resources/pe_dark/pe_dark.qrc +++ b/launcher/resources/pe_dark/pe_dark.qrc @@ -39,5 +39,6 @@ <file>scalable/export.svg</file> <file>scalable/rename.svg</file> <file>scalable/launch.svg</file> + <file>scalable/shortcut.svg</file> </qresource> </RCC> diff --git a/launcher/resources/pe_dark/scalable/shortcut.svg b/launcher/resources/pe_dark/scalable/shortcut.svg new file mode 100644 index 00000000..29b45f26 --- /dev/null +++ b/launcher/resources/pe_dark/scalable/shortcut.svg @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M6,32h20c3.3,0,6-2.7,6-6V6c0-3.3-2.7-6-6-6h-9.1C17.6,1.2,18,2.6,18,4h8 + c1.1,0,2,0.9,2,2v20c0,1.1-0.9,2-2,2H6c-1.1,0-2-0.9-2-2v-4.5l-4-3V26C0,29.3,2.7,32,6,32z"/> +<path fill-rule="evenodd" clip-rule="evenodd" fill="#666666" d="M8.8,17.6C9.2,17.9,9.6,18,10,18c0.3,0,0.6-0.1,0.9-0.2 + c0.7-0.3,1.1-1,1.1-1.8v-1.9V14c6.3,0,11.7,4.2,13.4,10c0.4-1.3,0.6-2.6,0.6-4c0-7.7-6.3-14-14-14V4c0-0.8-0.4-1.5-1.1-1.8 + C10.6,2.1,10.3,2,10,2C9.6,2,9.2,2.1,8.8,2.4l-8,6C0.3,8.8,0,9.4,0,10c0,0.6,0.3,1.2,0.8,1.6L8.8,17.6z"/> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +</svg> diff --git a/launcher/resources/pe_light/pe_light.qrc b/launcher/resources/pe_light/pe_light.qrc index d8e4a1bd..bd6a2496 100644 --- a/launcher/resources/pe_light/pe_light.qrc +++ b/launcher/resources/pe_light/pe_light.qrc @@ -39,5 +39,6 @@ <file>scalable/export.svg</file> <file>scalable/rename.svg</file> <file>scalable/launch.svg</file> + <file>scalable/shortcut.svg</file> </qresource> </RCC> diff --git a/launcher/resources/pe_light/scalable/shortcut.svg b/launcher/resources/pe_light/scalable/shortcut.svg new file mode 100644 index 00000000..4d232bcf --- /dev/null +++ b/launcher/resources/pe_light/scalable/shortcut.svg @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Calque_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve"> +<path fill-rule="evenodd" clip-rule="evenodd" fill="#F2F2F2" d="M6,32h20c3.3,0,6-2.7,6-6V6c0-3.3-2.7-6-6-6h-9.1 + C17.6,1.2,18,2.6,18,4h8c1.1,0,2,0.9,2,2v20c0,1.1-0.9,2-2,2H6c-1.1,0-2-0.9-2-2v-4.5l-4-3V26C0,29.3,2.7,32,6,32z"/> +<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M8.8,17.6C9.2,17.9,9.6,18,10,18c0.3,0,0.6-0.1,0.9-0.2 + c0.7-0.3,1.1-1,1.1-1.8v-1.9V14c6.3,0,11.7,4.2,13.4,10c0.4-1.3,0.6-2.6,0.6-4c0-7.7-6.3-14-14-14V4c0-0.8-0.4-1.5-1.1-1.8 + C10.6,2.1,10.3,2,10,2C9.6,2,9.2,2.1,8.8,2.4l-8,6C0.3,8.8,0,9.4,0,10c0,0.6,0.3,1.2,0.8,1.6L8.8,17.6z"/> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +<g> +</g> +</svg> diff --git a/launcher/ui/MainWindow.cpp b/launcher/ui/MainWindow.cpp index 929f2a85..b626bbae 100644 --- a/launcher/ui/MainWindow.cpp +++ b/launcher/ui/MainWindow.cpp @@ -39,6 +39,7 @@ #include "Application.h" #include "BuildConfig.h" +#include "FileSystem.h" #include "MainWindow.h" @@ -71,6 +72,7 @@ #include <BaseInstance.h> #include <InstanceList.h> +#include <minecraft/MinecraftInstance.h> #include <MMCZip.h> #include <icons/IconList.h> #include <java/JavaUtils.h> @@ -106,8 +108,14 @@ #include "ui/dialogs/UpdateDialog.h" #include "ui/dialogs/EditAccountDialog.h" #include "ui/dialogs/ExportInstanceDialog.h" +#include "ui/dialogs/ImportResourcePackDialog.h" #include "ui/themes/ITheme.h" +#include <minecraft/mod/ResourcePackFolderModel.h> +#include <minecraft/mod/tasks/LocalResourcePackParseTask.h> +#include <minecraft/mod/TexturePackFolderModel.h> +#include <minecraft/mod/tasks/LocalTexturePackParseTask.h> + #include "UpdateController.h" #include "KonamiCode.h" @@ -239,6 +247,7 @@ public: TranslatedAction actionLaunchInstanceOffline; TranslatedAction actionLaunchInstanceDemo; TranslatedAction actionExportInstance; + TranslatedAction actionCreateInstanceShortcut; QVector<TranslatedAction *> all_actions; LabeledToolButton *renameButton = nullptr; @@ -626,6 +635,7 @@ public: actionExportInstance->setEnabled(enabled); actionDeleteInstance->setEnabled(enabled); actionCopyInstance->setEnabled(enabled); + actionCreateInstanceShortcut->setEnabled(enabled); } void createStatusBar(QMainWindow *MainWindow) @@ -764,6 +774,15 @@ public: actionCopyInstance->setIcon(APPLICATION->getThemedIcon("copy")); all_actions.append(&actionCopyInstance); + actionCreateInstanceShortcut = TranslatedAction(MainWindow); + actionCreateInstanceShortcut->setObjectName(QStringLiteral("actionCreateInstanceShortcut")); + actionCreateInstanceShortcut.setTextId(QT_TRANSLATE_NOOP("MainWindow", "Create Shortcut")); + actionCreateInstanceShortcut.setTooltipId(QT_TRANSLATE_NOOP("MainWindow", "Creates a shortcut on your desktop to launch the selected instance.")); + //actionCreateInstanceShortcut->setShortcut(QKeySequence(tr("Ctrl+D"))); // TODO + // FIXME missing on Legacy, Flat and Flat (White) + actionCreateInstanceShortcut->setIcon(APPLICATION->getThemedIcon("shortcut")); + all_actions.append(&actionCreateInstanceShortcut); + setInstanceActionsEnabled(false); } @@ -802,6 +821,8 @@ public: instanceToolBar->addAction(actionCopyInstance); instanceToolBar->addAction(actionDeleteInstance); + instanceToolBar->addAction(actionCreateInstanceShortcut); // TODO find better position for this + QLayout * lay = instanceToolBar->layout(); for(int i = 0; i < lay->count(); i++) { @@ -1794,17 +1815,41 @@ void MainWindow::on_actionAddInstance_triggered() void MainWindow::droppedURLs(QList<QUrl> urls) { - for(auto & url:urls) - { - if(url.isLocalFile()) - { - addInstance(url.toLocalFile()); - } - else - { + // NOTE: This loop only processes one dropped file! + for (auto& url : urls) { + // The isLocalFile() check below doesn't work as intended without an explicit scheme. + if (url.scheme().isEmpty()) + url.setScheme("file"); + + if (!url.isLocalFile()) { // probably instance/modpack addInstance(url.toString()); + break; } - // Only process one dropped file... + + auto localFileName = url.toLocalFile(); + QFileInfo localFileInfo(localFileName); + + bool isResourcePack = ResourcePackUtils::validate(localFileInfo); + bool isTexturePack = TexturePackUtils::validate(localFileInfo); + + if (!isResourcePack && !isTexturePack) { // probably instance/modpack + addInstance(localFileName); + break; + } + + ImportResourcePackDialog dlg(this); + + if (dlg.exec() != QDialog::Accepted) + break; + + qDebug() << "Adding resource/texture pack" << localFileName << "to" << dlg.selectedInstanceKey; + + auto inst = APPLICATION->instances()->getInstanceById(dlg.selectedInstanceKey); + auto minecraftInst = std::dynamic_pointer_cast<MinecraftInstance>(inst); + if (isResourcePack) + minecraftInst->resourcePackList()->installResource(localFileName); + else if (isTexturePack) + minecraftInst->texturePackList()->installResource(localFileName); break; } } @@ -2161,6 +2206,130 @@ void MainWindow::on_actionKillInstance_triggered() } } +void MainWindow::on_actionCreateInstanceShortcut_triggered() +{ + if (m_selectedInstance) + { + auto desktopPath = FS::getDesktopDir(); + if (desktopPath.isEmpty()) { + // TODO come up with an alternative solution (open "save file" dialog) + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Couldn't find desktop?!")); + return; + } + +#if defined(Q_OS_MACOS) + QString appPath = QApplication::applicationFilePath(); + if (appPath.startsWith("/private/var/")) { + QMessageBox::critical(this, tr("Create instance shortcut"), tr("The launcher is in the folder it was extracted from, therefore it cannot create shortcuts.")); + return; + } + + if (FS::createShortcut(FS::PathCombine(desktopPath, m_selectedInstance->name()), + appPath, { "--launch", m_selectedInstance->id() }, + m_selectedInstance->name(), "")) { + QMessageBox::information(this, tr("Create instance shortcut"), tr("Created a shortcut to this instance on your desktop!")); + } + else + { + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Failed to create instance shortcut!")); + } +#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) || defined(Q_OS_OPENBSD) + QString appPath = QApplication::applicationFilePath(); + if (appPath.startsWith("/tmp/.mount_")) { + // AppImage! + appPath = QProcessEnvironment::systemEnvironment().value(QStringLiteral("APPIMAGE")); + if (appPath.isEmpty()) + { + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Launcher is running as misconfigured AppImage? ($APPIMAGE environment variable is missing)")); + } + else if (appPath.endsWith("/")) + { + appPath.chop(1); + } + } + + auto icon = APPLICATION->icons()->icon(m_selectedInstance->iconKey()); + if (icon == nullptr) + { + icon = APPLICATION->icons()->icon("grass"); + } + + QString iconPath = FS::PathCombine(m_selectedInstance->instanceRoot(), "icon.png"); + + QFile iconFile(iconPath); + if (!iconFile.open(QFile::WriteOnly)) + { + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Failed to create icon for shortcut.")); + return; + } + bool success = icon->icon().pixmap(64, 64).save(&iconFile, "PNG"); + iconFile.close(); + + if (!success) + { + iconFile.remove(); + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Failed to create icon for shortcut.")); + return; + } + + if (FS::createShortcut(FS::PathCombine(desktopPath, m_selectedInstance->name()), + appPath, { "--launch", m_selectedInstance->id() }, + m_selectedInstance->name(), iconPath)) { + QMessageBox::information(this, tr("Create instance shortcut"), tr("Created a shortcut to this instance on your desktop!")); + } + else + { + iconFile.remove(); + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Failed to create instance shortcut!")); + } +#elif defined(Q_OS_WIN) + auto icon = APPLICATION->icons()->icon(m_selectedInstance->iconKey()); + if (icon == nullptr) + { + icon = APPLICATION->icons()->icon("grass"); + } + + QString iconPath = FS::PathCombine(m_selectedInstance->instanceRoot(), "icon.ico"); + + // part of fix for weird bug involving the window icon being replaced + // dunno why it happens, but this 2-line fix seems to be enough, so w/e + auto appIcon = APPLICATION->getThemedIcon("logo"); + + QFile iconFile(iconPath); + if (!iconFile.open(QFile::WriteOnly)) + { + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Failed to create icon for shortcut.")); + return; + } + bool success = icon->icon().pixmap(64, 64).save(&iconFile, "ICO"); + iconFile.close(); + + // restore original window icon + QGuiApplication::setWindowIcon(appIcon); + + if (!success) + { + iconFile.remove(); + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Failed to create icon for shortcut.")); + return; + } + + if (FS::createShortcut(FS::PathCombine(desktopPath, m_selectedInstance->name()), + QApplication::applicationFilePath(), { "--launch", m_selectedInstance->id() }, + m_selectedInstance->name(), iconPath)) { + QMessageBox::information(this, tr("Create instance shortcut"), tr("Created a shortcut to this instance on your desktop!")); + } + else + { + iconFile.remove(); + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Failed to create instance shortcut!")); + } +#else + QMessageBox::critical(this, tr("Create instance shortcut"), tr("Not supported on your platform!")); +#endif + } +} + void MainWindow::taskEnd() { QObject *sender = QObject::sender(); diff --git a/launcher/ui/MainWindow.h b/launcher/ui/MainWindow.h index 0aa01ee2..f96f641d 100644 --- a/launcher/ui/MainWindow.h +++ b/launcher/ui/MainWindow.h @@ -161,6 +161,8 @@ private slots: void on_actionEditInstance_triggered(); + void on_actionCreateInstanceShortcut_triggered(); + void taskEnd(); /** diff --git a/launcher/ui/dialogs/ImportResourcePackDialog.cpp b/launcher/ui/dialogs/ImportResourcePackDialog.cpp new file mode 100644 index 00000000..e807e926 --- /dev/null +++ b/launcher/ui/dialogs/ImportResourcePackDialog.cpp @@ -0,0 +1,66 @@ +#include "ImportResourcePackDialog.h" +#include "ui_ImportResourcePackDialog.h" + +#include <QFileDialog> +#include <QPushButton> + +#include "Application.h" +#include "InstanceList.h" + +#include <InstanceList.h> +#include "ui/instanceview/InstanceProxyModel.h" +#include "ui/instanceview/InstanceDelegate.h" + +ImportResourcePackDialog::ImportResourcePackDialog(QWidget* parent) : QDialog(parent), ui(new Ui::ImportResourcePackDialog) +{ + ui->setupUi(this); + setWindowModality(Qt::WindowModal); + + auto contentsWidget = ui->instanceView; + contentsWidget->setViewMode(QListView::ListMode); + contentsWidget->setFlow(QListView::LeftToRight); + contentsWidget->setIconSize(QSize(48, 48)); + contentsWidget->setMovement(QListView::Static); + contentsWidget->setResizeMode(QListView::Adjust); + contentsWidget->setSelectionMode(QAbstractItemView::SingleSelection); + contentsWidget->setSpacing(5); + contentsWidget->setWordWrap(true); + contentsWidget->setWrapping(true); + // NOTE: We can't have uniform sizes because the text may wrap if it's too long. If we set this, it will cut off the wrapped text. + contentsWidget->setUniformItemSizes(false); + contentsWidget->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + contentsWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + contentsWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + contentsWidget->setItemDelegate(new ListViewDelegate()); + + proxyModel = new InstanceProxyModel(this); + proxyModel->setSourceModel(APPLICATION->instances().get()); + proxyModel->sort(0); + contentsWidget->setModel(proxyModel); + + connect(contentsWidget, SIGNAL(doubleClicked(QModelIndex)), SLOT(activated(QModelIndex))); + connect(contentsWidget->selectionModel(), SIGNAL(selectionChanged(QItemSelection, QItemSelection)), + SLOT(selectionChanged(QItemSelection, QItemSelection))); +} + +void ImportResourcePackDialog::activated(QModelIndex index) +{ + selectedInstanceKey = index.data(InstanceList::InstanceIDRole).toString(); + accept(); +} + +void ImportResourcePackDialog::selectionChanged(QItemSelection selected, QItemSelection deselected) +{ + if (selected.empty()) + return; + + QString key = selected.first().indexes().first().data(InstanceList::InstanceIDRole).toString(); + if (!key.isEmpty()) { + selectedInstanceKey = key; + } +} + +ImportResourcePackDialog::~ImportResourcePackDialog() +{ + delete ui; +} diff --git a/launcher/ui/dialogs/ImportResourcePackDialog.h b/launcher/ui/dialogs/ImportResourcePackDialog.h new file mode 100644 index 00000000..8356f204 --- /dev/null +++ b/launcher/ui/dialogs/ImportResourcePackDialog.h @@ -0,0 +1,27 @@ +#pragma once + +#include <QDialog> +#include <QItemSelection> + +#include "ui/instanceview/InstanceProxyModel.h" + +namespace Ui { +class ImportResourcePackDialog; +} + +class ImportResourcePackDialog : public QDialog { + Q_OBJECT + + public: + explicit ImportResourcePackDialog(QWidget* parent = 0); + ~ImportResourcePackDialog(); + InstanceProxyModel* proxyModel; + QString selectedInstanceKey; + + private: + Ui::ImportResourcePackDialog* ui; + + private slots: + void selectionChanged(QItemSelection, QItemSelection); + void activated(QModelIndex); +}; diff --git a/launcher/ui/dialogs/ImportResourcePackDialog.ui b/launcher/ui/dialogs/ImportResourcePackDialog.ui new file mode 100644 index 00000000..20cb9177 --- /dev/null +++ b/launcher/ui/dialogs/ImportResourcePackDialog.ui @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ImportResourcePackDialog</class> + <widget class="QDialog" name="ImportResourcePackDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>676</width> + <height>555</height> + </rect> + </property> + <property name="windowTitle"> + <string>Choose instance to import</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Choose the instance you would like to import this resource pack to.</string> + </property> + </widget> + </item> + <item> + <widget class="QListView" name="instanceView"/> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>ImportResourcePackDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>248</x> + <y>254</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>ImportResourcePackDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>316</x> + <y>260</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/launcher/ui/pages/global/JavaPage.cpp b/launcher/ui/pages/global/JavaPage.cpp index 2cee15bf..81dd4cc1 100644 --- a/launcher/ui/pages/global/JavaPage.cpp +++ b/launcher/ui/pages/global/JavaPage.cpp @@ -58,9 +58,8 @@ JavaPage::JavaPage(QWidget *parent) : QWidget(parent), ui(new Ui::JavaPage) ui->setupUi(this); ui->tabWidget->tabBar()->hide(); - auto sysMiB = Sys::getSystemRam() / Sys::mebibyte; - ui->maxMemSpinBox->setMaximum(sysMiB); loadSettings(); + updateThresholds(); } JavaPage::~JavaPage() @@ -177,6 +176,11 @@ void JavaPage::on_javaTestBtn_clicked() checker->run(); } +void JavaPage::on_maxMemSpinBox_valueChanged(int i) +{ + updateThresholds(); +} + void JavaPage::checkerFinished() { checker.reset(); @@ -186,3 +190,29 @@ void JavaPage::retranslate() { ui->retranslateUi(this); } + +void JavaPage::updateThresholds() +{ + auto sysMiB = Sys::getSystemRam() / Sys::mebibyte; + unsigned int maxMem = ui->maxMemSpinBox->value(); + + QString iconName; + + if (maxMem >= sysMiB) { + iconName = "status-bad"; + ui->labelMaxMemIcon->setToolTip(tr("Your maximum memory allocation exceeds your system memory capacity.")); + } else if (maxMem > (sysMiB * 0.9)) { + iconName = "status-yellow"; + ui->labelMaxMemIcon->setToolTip(tr("Your maximum memory allocation approaches your system memory capacity.")); + } else { + iconName = "status-good"; + ui->labelMaxMemIcon->setToolTip(""); + } + + { + auto height = ui->labelMaxMemIcon->fontInfo().pixelSize(); + QIcon icon = APPLICATION->getThemedIcon(iconName); + QPixmap pix = icon.pixmap(height, height); + ui->labelMaxMemIcon->setPixmap(pix); + } +} diff --git a/launcher/ui/pages/global/JavaPage.h b/launcher/ui/pages/global/JavaPage.h index 64d4098e..2ef6d749 100644 --- a/launcher/ui/pages/global/JavaPage.h +++ b/launcher/ui/pages/global/JavaPage.h @@ -76,6 +76,8 @@ public: bool apply() override; void retranslate() override; + void updateThresholds(); + private: void applySettings(); void loadSettings(); @@ -85,6 +87,7 @@ slots: void on_javaDetectBtn_clicked(); void on_javaTestBtn_clicked(); void on_javaBrowseBtn_clicked(); + void on_maxMemSpinBox_valueChanged(int i); void checkerFinished(); private: diff --git a/launcher/ui/pages/global/JavaPage.ui b/launcher/ui/pages/global/JavaPage.ui index 6ccffed4..6749cbe4 100644 --- a/launcher/ui/pages/global/JavaPage.ui +++ b/launcher/ui/pages/global/JavaPage.ui @@ -44,50 +44,38 @@ <property name="title"> <string>Memory</string> </property> - <layout class="QGridLayout" name="gridLayout_2"> - <item row="1" column="1"> - <widget class="QSpinBox" name="maxMemSpinBox"> - <property name="toolTip"> - <string>The maximum amount of memory Minecraft is allowed to use.</string> - </property> - <property name="suffix"> - <string notr="true"> MiB</string> - </property> - <property name="minimum"> - <number>128</number> - </property> - <property name="maximum"> - <number>65536</number> - </property> - <property name="singleStep"> - <number>128</number> + <layout class="QGridLayout" name="gridLayout_2" columnstretch="1,0,0,0"> + <item row="1" column="0"> + <widget class="QLabel" name="labelMaxMem"> + <property name="text"> + <string>Ma&ximum memory allocation:</string> </property> - <property name="value"> - <number>1024</number> + <property name="buddy"> + <cstring>maxMemSpinBox</cstring> </property> </widget> </item> - <item row="0" column="0"> - <widget class="QLabel" name="labelMinMem"> + <item row="2" column="0"> + <widget class="QLabel" name="labelPermGen"> <property name="text"> - <string>&Minimum memory allocation:</string> + <string notr="true">&PermGen:</string> </property> <property name="buddy"> - <cstring>minMemSpinBox</cstring> + <cstring>permGenSpinBox</cstring> </property> </widget> </item> - <item row="1" column="0"> - <widget class="QLabel" name="labelMaxMem"> + <item row="0" column="0"> + <widget class="QLabel" name="labelMinMem"> <property name="text"> - <string>Ma&ximum memory allocation:</string> + <string>&Minimum memory allocation:</string> </property> <property name="buddy"> - <cstring>maxMemSpinBox</cstring> + <cstring>minMemSpinBox</cstring> </property> </widget> </item> - <item row="0" column="1"> + <item row="0" column="2"> <widget class="QSpinBox" name="minMemSpinBox"> <property name="toolTip"> <string>The amount of memory Minecraft is started with.</string> @@ -99,7 +87,7 @@ <number>128</number> </property> <property name="maximum"> - <number>65536</number> + <number>1048576</number> </property> <property name="singleStep"> <number>128</number> @@ -109,17 +97,29 @@ </property> </widget> </item> - <item row="2" column="0"> - <widget class="QLabel" name="labelPermGen"> - <property name="text"> - <string notr="true">&PermGen:</string> + <item row="1" column="2"> + <widget class="QSpinBox" name="maxMemSpinBox"> + <property name="toolTip"> + <string>The maximum amount of memory Minecraft is allowed to use.</string> </property> - <property name="buddy"> - <cstring>permGenSpinBox</cstring> + <property name="suffix"> + <string notr="true"> MiB</string> + </property> + <property name="minimum"> + <number>128</number> + </property> + <property name="maximum"> + <number>1048576</number> + </property> + <property name="singleStep"> + <number>128</number> + </property> + <property name="value"> + <number>1024</number> </property> </widget> </item> - <item row="2" column="1"> + <item row="2" column="2"> <widget class="QSpinBox" name="permGenSpinBox"> <property name="toolTip"> <string>The amount of memory available to store loaded Java classes.</string> @@ -141,6 +141,16 @@ </property> </widget> </item> + <item row="1" column="3"> + <widget class="QLabel" name="labelMaxMemIcon"> + <property name="text"> + <string/> + </property> + <property name="buddy"> + <cstring>maxMemSpinBox</cstring> + </property> + </widget> + </item> </layout> </widget> </item> diff --git a/launcher/ui/pages/instance/ExternalResourcesPage.cpp b/launcher/ui/pages/instance/ExternalResourcesPage.cpp index b6c873cc..5c919573 100644 --- a/launcher/ui/pages/instance/ExternalResourcesPage.cpp +++ b/launcher/ui/pages/instance/ExternalResourcesPage.cpp @@ -14,8 +14,6 @@ ExternalResourcesPage::ExternalResourcesPage(BaseInstance* instance, std::shared { ui->setupUi(this); - ExternalResourcesPage::runningStateChanged(m_instance && m_instance->isRunning()); - ui->actionsToolbar->insertSpacer(ui->actionViewConfigs); m_filterModel = model->createFilterProxyModel(this); @@ -45,7 +43,6 @@ ExternalResourcesPage::ExternalResourcesPage(BaseInstance* instance, std::shared auto selection_model = ui->treeView->selectionModel(); connect(selection_model, &QItemSelectionModel::currentChanged, this, &ExternalResourcesPage::current); connect(ui->filterEdit, &QLineEdit::textChanged, this, &ExternalResourcesPage::filterTextChanged); - connect(m_instance, &BaseInstance::runningStatusChanged, this, &ExternalResourcesPage::runningStateChanged); } ExternalResourcesPage::~ExternalResourcesPage() @@ -97,14 +94,6 @@ void ExternalResourcesPage::filterTextChanged(const QString& newContents) m_filterModel->setFilterRegularExpression(m_viewFilter); } -void ExternalResourcesPage::runningStateChanged(bool running) -{ - if (m_controlsEnabled == !running) - return; - - m_controlsEnabled = !running; -} - bool ExternalResourcesPage::shouldDisplay() const { return true; diff --git a/launcher/ui/pages/instance/ExternalResourcesPage.h b/launcher/ui/pages/instance/ExternalResourcesPage.h index 8e352cef..11058bf6 100644 --- a/launcher/ui/pages/instance/ExternalResourcesPage.h +++ b/launcher/ui/pages/instance/ExternalResourcesPage.h @@ -47,7 +47,6 @@ class ExternalResourcesPage : public QMainWindow, public BasePage { protected slots: void itemActivated(const QModelIndex& index); void filterTextChanged(const QString& newContents); - virtual void runningStateChanged(bool running); virtual void addItem(); virtual void removeItem(); diff --git a/launcher/ui/pages/instance/InstanceSettingsPage.cpp b/launcher/ui/pages/instance/InstanceSettingsPage.cpp index 5da7f19f..af2ba7c8 100644 --- a/launcher/ui/pages/instance/InstanceSettingsPage.cpp +++ b/launcher/ui/pages/instance/InstanceSettingsPage.cpp @@ -59,12 +59,12 @@ InstanceSettingsPage::InstanceSettingsPage(BaseInstance *inst, QWidget *parent) { m_settings = inst->settings(); ui->setupUi(this); - auto sysMB = Sys::getSystemRam() / Sys::mebibyte; - ui->maxMemSpinBox->setMaximum(sysMB); + connect(ui->openGlobalJavaSettingsButton, &QCommandLinkButton::clicked, this, &InstanceSettingsPage::globalSettingsButtonClicked); connect(APPLICATION, &Application::globalSettingsAboutToOpen, this, &InstanceSettingsPage::applySettings); connect(APPLICATION, &Application::globalSettingsClosed, this, &InstanceSettingsPage::loadSettings); loadSettings(); + updateThresholds(); } bool InstanceSettingsPage::shouldDisplay() const @@ -437,6 +437,11 @@ void InstanceSettingsPage::on_javaTestBtn_clicked() checker->run(); } +void InstanceSettingsPage::on_maxMemSpinBox_valueChanged(int i) +{ + updateThresholds(); +} + void InstanceSettingsPage::checkerFinished() { checker.reset(); @@ -447,3 +452,29 @@ void InstanceSettingsPage::retranslate() ui->retranslateUi(this); ui->customCommands->retranslate(); // TODO: why is this seperate from the others? } + +void InstanceSettingsPage::updateThresholds() +{ + auto sysMiB = Sys::getSystemRam() / Sys::mebibyte; + unsigned int maxMem = ui->maxMemSpinBox->value(); + + QString iconName; + + if (maxMem >= sysMiB) { + iconName = "status-bad"; + ui->labelMaxMemIcon->setToolTip(tr("Your maximum memory allocation exceeds your system memory capacity.")); + } else if (maxMem > (sysMiB * 0.9)) { + iconName = "status-yellow"; + ui->labelMaxMemIcon->setToolTip(tr("Your maximum memory allocation approaches your system memory capacity.")); + } else { + iconName = "status-good"; + ui->labelMaxMemIcon->setToolTip(""); + } + + { + auto height = ui->labelMaxMemIcon->fontInfo().pixelSize(); + QIcon icon = APPLICATION->getThemedIcon(iconName); + QPixmap pix = icon.pixmap(height, height); + ui->labelMaxMemIcon->setPixmap(pix); + } +} diff --git a/launcher/ui/pages/instance/InstanceSettingsPage.h b/launcher/ui/pages/instance/InstanceSettingsPage.h index 97d1296f..7450188d 100644 --- a/launcher/ui/pages/instance/InstanceSettingsPage.h +++ b/launcher/ui/pages/instance/InstanceSettingsPage.h @@ -77,10 +77,13 @@ public: virtual bool shouldDisplay() const override; void retranslate() override; + void updateThresholds(); + private slots: void on_javaDetectBtn_clicked(); void on_javaTestBtn_clicked(); void on_javaBrowseBtn_clicked(); + void on_maxMemSpinBox_valueChanged(int i); void applySettings(); void loadSettings(); diff --git a/launcher/ui/pages/instance/InstanceSettingsPage.ui b/launcher/ui/pages/instance/InstanceSettingsPage.ui index 8b3c3370..b064367d 100644 --- a/launcher/ui/pages/instance/InstanceSettingsPage.ui +++ b/launcher/ui/pages/instance/InstanceSettingsPage.ui @@ -112,7 +112,14 @@ <property name="checked"> <bool>false</bool> </property> - <layout class="QGridLayout" name="gridLayout_2"> + <layout class="QGridLayout" name="gridLayout_2" columnstretch="1,0,0,0"> + <item row="2" column="0"> + <widget class="QLabel" name="labelPermGen"> + <property name="text"> + <string notr="true">PermGen:</string> + </property> + </widget> + </item> <item row="0" column="0"> <widget class="QLabel" name="labelMinMem"> <property name="text"> @@ -120,10 +127,24 @@ </property> </widget> </item> - <item row="1" column="1"> - <widget class="QSpinBox" name="maxMemSpinBox"> + <item row="1" column="0"> + <widget class="QLabel" name="labelMaxMem"> + <property name="text"> + <string>Maximum memory allocation:</string> + </property> + </widget> + </item> + <item row="3" column="0" colspan="3"> + <widget class="QLabel" name="labelPermgenNote"> + <property name="text"> + <string>Note: Permgen is set automatically by Java 8 and later</string> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="QSpinBox" name="minMemSpinBox"> <property name="toolTip"> - <string>The maximum amount of memory Minecraft is allowed to use.</string> + <string>The amount of memory Minecraft is started with.</string> </property> <property name="suffix"> <string notr="true"> MiB</string> @@ -132,20 +153,20 @@ <number>128</number> </property> <property name="maximum"> - <number>65536</number> + <number>1048576</number> </property> <property name="singleStep"> <number>128</number> </property> <property name="value"> - <number>1024</number> + <number>256</number> </property> </widget> </item> - <item row="0" column="1"> - <widget class="QSpinBox" name="minMemSpinBox"> + <item row="1" column="2"> + <widget class="QSpinBox" name="maxMemSpinBox"> <property name="toolTip"> - <string>The amount of memory Minecraft is started with.</string> + <string>The maximum amount of memory Minecraft is allowed to use.</string> </property> <property name="suffix"> <string notr="true"> MiB</string> @@ -154,17 +175,17 @@ <number>128</number> </property> <property name="maximum"> - <number>65536</number> + <number>1048576</number> </property> <property name="singleStep"> <number>128</number> </property> <property name="value"> - <number>256</number> + <number>1024</number> </property> </widget> </item> - <item row="2" column="1"> + <item row="2" column="2"> <widget class="QSpinBox" name="permGenSpinBox"> <property name="toolTip"> <string>The amount of memory available to store loaded Java classes.</string> @@ -186,24 +207,16 @@ </property> </widget> </item> - <item row="2" column="0"> - <widget class="QLabel" name="labelPermGen"> + <item row="1" column="3"> + <widget class="QLabel" name="labelMaxMemIcon"> <property name="text"> - <string notr="true">PermGen:</string> + <string notr="true"/> </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="labelMaxMem"> - <property name="text"> - <string>Maximum memory allocation:</string> + <property name="alignment"> + <set>Qt::AlignCenter</set> </property> - </widget> - </item> - <item row="3" column="0" colspan="2"> - <widget class="QLabel" name="labelPermgenNote"> - <property name="text"> - <string>Note: Permgen is set automatically by Java 8 and later</string> + <property name="buddy"> + <cstring>maxMemSpinBox</cstring> </property> </widget> </item> diff --git a/launcher/ui/pages/instance/ModFolderPage.cpp b/launcher/ui/pages/instance/ModFolderPage.cpp index f0106066..0a2e6155 100644 --- a/launcher/ui/pages/instance/ModFolderPage.cpp +++ b/launcher/ui/pages/instance/ModFolderPage.cpp @@ -108,13 +108,13 @@ ModFolderPage::ModFolderPage(BaseInstance* inst, std::shared_ptr<ModFolderModel> disconnect(mods.get(), &ModFolderModel::updateFinished, this, 0); }); + connect(m_instance, &BaseInstance::runningStatusChanged, this, &ModFolderPage::runningStateChanged); ModFolderPage::runningStateChanged(m_instance && m_instance->isRunning()); } } void ModFolderPage::runningStateChanged(bool running) { - ExternalResourcesPage::runningStateChanged(running); ui->actionDownloadItem->setEnabled(!running); ui->actionUpdateItem->setEnabled(!running); ui->actionAddItem->setEnabled(!running); diff --git a/launcher/ui/pages/instance/ModFolderPage.h b/launcher/ui/pages/instance/ModFolderPage.h index c9a55bde..f20adf34 100644 --- a/launcher/ui/pages/instance/ModFolderPage.h +++ b/launcher/ui/pages/instance/ModFolderPage.h @@ -53,12 +53,12 @@ class ModFolderPage : public ExternalResourcesPage { virtual QString helpPage() const override { return "Loader-mods"; } virtual bool shouldDisplay() const override; - void runningStateChanged(bool running) override; public slots: bool onSelectionChanged(const QModelIndex& current, const QModelIndex& previous) override; private slots: + void runningStateChanged(bool running); void removeItem() override; void installMods(); diff --git a/launcher/ui/pages/instance/VersionPage.cpp b/launcher/ui/pages/instance/VersionPage.cpp index a021c633..7f98cba2 100644 --- a/launcher/ui/pages/instance/VersionPage.cpp +++ b/launcher/ui/pages/instance/VersionPage.cpp @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-3.0-only /* - * PolyMC - Minecraft Launcher + * Prism Launcher - Minecraft Launcher * Copyright (c) 2022 Jamie Mansfield <jmansfield@cadixdev.org> * Copyright (C) 2022 Sefa Eyeoglu <contact@scrumplex.net> + * Copyright (C) 2022 TheKodeToad <TheKodeToad@proton.me> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -270,6 +271,7 @@ void VersionPage::updateButtons(int row) ui->actionInstall_mods->setEnabled(controlsEnabled); ui->actionReplace_Minecraft_jar->setEnabled(controlsEnabled); ui->actionAdd_to_Minecraft_jar->setEnabled(controlsEnabled); + ui->actionAdd_Agents->setEnabled(controlsEnabled); } bool VersionPage::reloadPackProfile() @@ -342,6 +344,18 @@ void VersionPage::on_actionReplace_Minecraft_jar_triggered() updateButtons(); } + +void VersionPage::on_actionAdd_Agents_triggered() +{ + QStringList list = GuiUtil::BrowseForFiles("agent", tr("Select agents"), tr("Java agents (*.jar)"), + APPLICATION->settings()->get("CentralModsDir").toString(), this->parentWidget()); + + if (!list.isEmpty()) + m_profile->installAgents(list); + + updateButtons(); +} + void VersionPage::on_actionMove_up_triggered() { try diff --git a/launcher/ui/pages/instance/VersionPage.h b/launcher/ui/pages/instance/VersionPage.h index 979311fc..23d2a1b3 100644 --- a/launcher/ui/pages/instance/VersionPage.h +++ b/launcher/ui/pages/instance/VersionPage.h @@ -1,7 +1,8 @@ // SPDX-License-Identifier: GPL-3.0-only /* - * PolyMC - Minecraft Launcher + * Prism Launcher - Minecraft Launcher * Copyright (c) 2022 Jamie Mansfield <jmansfield@cadixdev.org> + * Copyright (C) 2022 TheKodeToad <TheKodeToad@proton.me> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -82,6 +83,7 @@ private slots: void on_actionMove_down_triggered(); void on_actionAdd_to_Minecraft_jar_triggered(); void on_actionReplace_Minecraft_jar_triggered(); + void on_actionAdd_Agents_triggered(); void on_actionRevert_triggered(); void on_actionEdit_triggered(); void on_actionInstall_mods_triggered(); diff --git a/launcher/ui/pages/instance/VersionPage.ui b/launcher/ui/pages/instance/VersionPage.ui index 14b7cd9f..74b9568a 100644 --- a/launcher/ui/pages/instance/VersionPage.ui +++ b/launcher/ui/pages/instance/VersionPage.ui @@ -109,6 +109,7 @@ <addaction name="separator"/> <addaction name="actionAdd_to_Minecraft_jar"/> <addaction name="actionReplace_Minecraft_jar"/> + <addaction name="actionAdd_Agents"/> <addaction name="actionAdd_Empty"/> <addaction name="separator"/> <addaction name="actionMinecraftFolder"/> @@ -226,6 +227,14 @@ <string>Replace Minecraft.jar</string> </property> </action> + <action name="actionAdd_Agents"> + <property name="text"> + <string>Add Agents</string> + </property> + <property name="toolTip"> + <string>Add Java agents.</string> + </property> + </action> <action name="actionAdd_Empty"> <property name="text"> <string>Add Empty</string> diff --git a/launcher/ui/widgets/JavaSettingsWidget.cpp b/launcher/ui/widgets/JavaSettingsWidget.cpp index c7c4dbbd..15994319 100644 --- a/launcher/ui/widgets/JavaSettingsWidget.cpp +++ b/launcher/ui/widgets/JavaSettingsWidget.cpp @@ -71,6 +71,7 @@ void JavaSettingsWidget::setupUi() m_memoryGroupBox->setObjectName(QStringLiteral("memoryGroupBox")); m_gridLayout_2 = new QGridLayout(m_memoryGroupBox); m_gridLayout_2->setObjectName(QStringLiteral("gridLayout_2")); + m_gridLayout_2->setColumnStretch(0, 1); m_labelMinMem = new QLabel(m_memoryGroupBox); m_labelMinMem->setObjectName(QStringLiteral("labelMinMem")); @@ -80,7 +81,7 @@ void JavaSettingsWidget::setupUi() m_minMemSpinBox->setObjectName(QStringLiteral("minMemSpinBox")); m_minMemSpinBox->setSuffix(QStringLiteral(" MiB")); m_minMemSpinBox->setMinimum(128); - m_minMemSpinBox->setMaximum(m_availableMemory); + m_minMemSpinBox->setMaximum(1048576); m_minMemSpinBox->setSingleStep(128); m_labelMinMem->setBuddy(m_minMemSpinBox); m_gridLayout_2->addWidget(m_minMemSpinBox, 0, 1, 1, 1); @@ -93,11 +94,15 @@ void JavaSettingsWidget::setupUi() m_maxMemSpinBox->setObjectName(QStringLiteral("maxMemSpinBox")); m_maxMemSpinBox->setSuffix(QStringLiteral(" MiB")); m_maxMemSpinBox->setMinimum(128); - m_maxMemSpinBox->setMaximum(m_availableMemory); + m_maxMemSpinBox->setMaximum(1048576); m_maxMemSpinBox->setSingleStep(128); m_labelMaxMem->setBuddy(m_maxMemSpinBox); m_gridLayout_2->addWidget(m_maxMemSpinBox, 1, 1, 1, 1); + m_labelMaxMemIcon = new QLabel(m_memoryGroupBox); + m_labelMaxMemIcon->setObjectName(QStringLiteral("labelMaxMemIcon")); + m_gridLayout_2->addWidget(m_labelMaxMemIcon, 1, 2, 1, 1); + m_labelPermGen = new QLabel(m_memoryGroupBox); m_labelPermGen->setObjectName(QStringLiteral("labelPermGen")); m_labelPermGen->setText(QStringLiteral("PermGen:")); @@ -108,7 +113,7 @@ void JavaSettingsWidget::setupUi() m_permGenSpinBox->setObjectName(QStringLiteral("permGenSpinBox")); m_permGenSpinBox->setSuffix(QStringLiteral(" MiB")); m_permGenSpinBox->setMinimum(64); - m_permGenSpinBox->setMaximum(m_availableMemory); + m_permGenSpinBox->setMaximum(1048576); m_permGenSpinBox->setSingleStep(8); m_gridLayout_2->addWidget(m_permGenSpinBox, 2, 1, 1, 1); m_permGenSpinBox->setVisible(false); @@ -130,6 +135,7 @@ void JavaSettingsWidget::initialize() m_minMemSpinBox->setValue(observedMinMemory); m_maxMemSpinBox->setValue(observedMaxMemory); m_permGenSpinBox->setValue(observedPermGenMemory); + updateThresholds(); } void JavaSettingsWidget::refresh() @@ -210,9 +216,9 @@ int JavaSettingsWidget::permGenSize() const void JavaSettingsWidget::memoryValueChanged(int) { bool actuallyChanged = false; - int min = m_minMemSpinBox->value(); - int max = m_maxMemSpinBox->value(); - int permgen = m_permGenSpinBox->value(); + unsigned int min = m_minMemSpinBox->value(); + unsigned int max = m_maxMemSpinBox->value(); + unsigned int permgen = m_permGenSpinBox->value(); QObject *obj = sender(); if (obj == m_minMemSpinBox && min != observedMinMemory) { @@ -242,6 +248,7 @@ void JavaSettingsWidget::memoryValueChanged(int) if(actuallyChanged) { checkJavaPathOnEdit(m_javaPathTextBox->text()); + updateThresholds(); } } @@ -435,3 +442,26 @@ void JavaSettingsWidget::retranslate() m_permGenSpinBox->setToolTip(tr("The amount of memory available to store loaded Java classes.")); m_javaBrowseBtn->setText(tr("Browse")); } + +void JavaSettingsWidget::updateThresholds() +{ + QString iconName; + + if (observedMaxMemory >= m_availableMemory) { + iconName = "status-bad"; + m_labelMaxMemIcon->setToolTip(tr("Your maximum memory allocation exceeds your system memory capacity.")); + } else if (observedMaxMemory > (m_availableMemory * 0.9)) { + iconName = "status-yellow"; + m_labelMaxMemIcon->setToolTip(tr("Your maximum memory allocation approaches your system memory capacity.")); + } else { + iconName = "status-good"; + m_labelMaxMemIcon->setToolTip(""); + } + + { + auto height = m_labelMaxMemIcon->fontInfo().pixelSize(); + QIcon icon = APPLICATION->getThemedIcon(iconName); + QPixmap pix = icon.pixmap(height, height); + m_labelMaxMemIcon->setPixmap(pix); + } +} diff --git a/launcher/ui/widgets/JavaSettingsWidget.h b/launcher/ui/widgets/JavaSettingsWidget.h index 5344e2cd..e4b7c712 100644 --- a/launcher/ui/widgets/JavaSettingsWidget.h +++ b/launcher/ui/widgets/JavaSettingsWidget.h @@ -56,6 +56,8 @@ public: int maxHeapSize() const; QString javaPath() const; + void updateThresholds(); + protected slots: void memoryValueChanged(int); @@ -85,6 +87,7 @@ private: /* data */ QSpinBox *m_maxMemSpinBox = nullptr; QLabel *m_labelMinMem = nullptr; QLabel *m_labelMaxMem = nullptr; + QLabel *m_labelMaxMemIcon = nullptr; QSpinBox *m_minMemSpinBox = nullptr; QLabel *m_labelPermGen = nullptr; QSpinBox *m_permGenSpinBox = nullptr; @@ -92,9 +95,9 @@ private: /* data */ QIcon yellowIcon; QIcon badIcon; - int observedMinMemory = 0; - int observedMaxMemory = 0; - int observedPermGenMemory = 0; + unsigned int observedMinMemory = 0; + unsigned int observedMaxMemory = 0; + unsigned int observedPermGenMemory = 0; QString queuedCheck; uint64_t m_availableMemory = 0ull; shared_qobject_ptr<JavaChecker> m_checker; |