diff options
141 files changed, 8895 insertions, 788 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c0e5b50a..1ba5d0e4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,6 +15,9 @@ on: SPARKLE_ED25519_KEY: description: Private key for signing Sparkle updates required: false + CACHIX_AUTH_TOKEN: + description: Private token for authenticating against Cachix cache + required: false jobs: build: @@ -35,17 +38,11 @@ jobs: qt_tools: '' - os: windows-2022 - name: "Windows-Legacy" - msystem: clang32 - qt_ver: 5 - - - os: windows-2022 - name: "Windows" + name: "Windows-MinGW-w64" msystem: clang64 - qt_ver: 6 - os: windows-2022 - name: "Windows-Legacy-MSVC" + name: "Windows-MSVC-Legacy" msystem: '' architecture: 'win32' vcvars_arch: 'amd64_x86' @@ -64,7 +61,19 @@ jobs: qt_ver: 6 qt_host: windows qt_arch: '' - qt_version: '6.4.1' + qt_version: '6.4.0' + qt_modules: 'qt5compat qtimageformats' + qt_tools: '' + + - os: windows-2022 + name: "Windows-MSVC-arm64" + msystem: '' + architecture: 'arm64' + vcvars_arch: 'amd64_arm64' + qt_ver: 6 + qt_host: windows + qt_arch: 'win64_msvc2019_arm64' + qt_version: '6.4.0' qt_modules: 'qt5compat qtimageformats' qt_tools: '' @@ -120,12 +129,12 @@ jobs: cmake:p extra-cmake-modules:p ninja:p - qt${{ matrix.qt_ver }}-base:p - qt${{ matrix.qt_ver }}-svg:p - qt${{ matrix.qt_ver }}-imageformats:p - quazip-qt${{ matrix.qt_ver }}:p + qt6-base:p + qt6-svg:p + qt6-imageformats:p + quazip-qt6:p ccache:p - ${{ matrix.qt_ver == 6 && 'qt6-5compat:p' || '' }} + qt6-5compat:p - name: Force newer ccache if: runner.os == 'Windows' && matrix.msystem == '' && inputs.build_type == 'Debug' @@ -136,7 +145,7 @@ jobs: if: (runner.os != 'Windows' || matrix.msystem == '') && inputs.build_type == 'Debug' uses: hendrikmuhs/ccache-action@v1.2.5 with: - key: ${{ matrix.os }}-qt${{ matrix.qt_ver }} + key: ${{ matrix.os }}-qt${{ matrix.qt_ver }}-${{ matrix.architecture }} - name: Setup ccache (Windows MinGW-w64) if: runner.os == 'Windows' && matrix.msystem != '' && inputs.build_type == 'Debug' @@ -159,9 +168,9 @@ jobs: uses: actions/cache@v3.0.11 with: path: '${{ github.workspace }}\.ccache' - key: ${{ matrix.os }}-qt${{ matrix.qt_ver }} + key: ${{ matrix.os }}-mingw-w64 restore-keys: | - ${{ matrix.os }}-qt${{ matrix.qt_ver }} + ${{ matrix.os }}-mingw-w64 - name: Set short version shell: bash @@ -185,8 +194,23 @@ jobs: if: runner.os == 'Linux' && matrix.qt_ver != 6 run: | sudo apt-get -y install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5core5a libqt5network5 libqt5gui5 - - - name: Install Qt (macOS, AppImage & Windows MSVC) + + - name: Install host Qt (Windows MSVC arm64) + if: runner.os == 'Windows' && matrix.architecture == 'arm64' + uses: jurplel/install-qt-action@v3 + with: + version: ${{ matrix.qt_version }} + host: 'windows' + target: 'desktop' + arch: '' + modules: ${{ matrix.qt_modules }} + tools: ${{ matrix.qt_tools }} + cache: ${{ inputs.is_qt_cached }} + cache-key-prefix: host-qt-arm64-windows + dir: ${{ github.workspace }}\HostQt + set-env: false + + - name: Install Qt (macOS, Linux, Qt 6 & Windows MSVC) if: runner.os == 'Linux' && matrix.qt_ver == 6 || runner.os == 'macOS' || (runner.os == 'Windows' && matrix.msystem == '') uses: jurplel/install-qt-action@v3 with: @@ -198,6 +222,13 @@ jobs: tools: ${{ matrix.qt_tools }} cache: ${{ inputs.is_qt_cached }} + - name: Install MSVC (Windows MSVC) + if: runner.os == 'Windows' && matrix.msystem == '' + uses: ilammy/msvc-dev-cmd@v1 + with: + vsversion: 2022 + arch: ${{ matrix.vcvars_arch }} + - name: Prepare AppImage (Linux) if: runner.os == 'Linux' && matrix.qt_ver != 5 run: | @@ -207,6 +238,11 @@ jobs: ${{ github.workspace }}/.github/scripts/prepare_JREs.sh + - name: Add QT_HOST_PATH var (Windows MSVC arm64) + if: runner.os == 'Windows' && matrix.architecture == 'arm64' + run: | + echo "QT_HOST_PATH=${{ github.workspace }}\HostQt\Qt\${{ matrix.qt_version }}\msvc2019_64" >> $env:GITHUB_ENV + ## # CONFIGURE ## @@ -225,12 +261,12 @@ jobs: if: runner.os == 'Windows' && matrix.msystem != '' shell: msys2 {0} run: | - cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=${{ matrix.name }} -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_OBJDUMP=/mingw64/bin/objdump.exe -G Ninja + cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=${{ matrix.name }} -DCMAKE_C_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DCMAKE_CXX_COMPILER_LAUNCHER=${{ env.CCACHE_VAR }} -DLauncher_QT_VERSION_MAJOR=6 -DCMAKE_OBJDUMP=/mingw64/bin/objdump.exe -G Ninja - name: Configure CMake (Windows MSVC) if: runner.os == 'Windows' && matrix.msystem == '' run: | - cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=${{ matrix.name }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDLL" -A${{ matrix.architecture}} + cmake -S . -B ${{ env.BUILD_DIR }} -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_DIR }} -DCMAKE_BUILD_TYPE=${{ inputs.build_type }} -DENABLE_LTO=ON -DLauncher_BUILD_PLATFORM=${{ matrix.name }} -DLauncher_QT_VERSION_MAJOR=${{ matrix.qt_ver }} -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDLL" -A${{ matrix.architecture}} -DLauncher_FORCE_BUNDLED_LIBS=ON # https://github.com/ccache/ccache/wiki/MS-Visual-Studio (I coudn't figure out the compiler prefix) if ("${{ env.CCACHE_VAR }}") { @@ -283,7 +319,7 @@ jobs: ctest -E "^example64|example$" --test-dir build --output-on-failure - name: Test (Windows MSVC) - if: runner.os == 'Windows' && matrix.msystem == '' + if: runner.os == 'Windows' && matrix.msystem == '' && matrix.architecture != 'arm64' run: | ctest -E "^example64|example$" --test-dir build --output-on-failure -C ${{ inputs.build_type }} @@ -321,23 +357,12 @@ jobs: EOF fi - - name: Add VC Enviroment Variables - if: runner.os == 'Windows' && matrix.msystem == '' - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: ${{ matrix.vcvars_arch }} - - name: Package (Windows MinGW-w64) if: runner.os == 'Windows' && matrix.msystem != '' shell: msys2 {0} run: | cmake --install ${{ env.BUILD_DIR }} - cd ${{ env.INSTALL_DIR }} - if [ "${{ matrix.qt_ver }}" == "5" ]; then - cp /clang32/bin/libcrypto-1_1.dll /clang32/bin/libssl-1_1.dll ./ - fi - - name: Package (Windows MSVC) if: runner.os == 'Windows' && matrix.msystem == '' run: | @@ -526,3 +551,33 @@ jobs: bundle: "Prism Launcher.flatpak" manifest-path: flatpak/org.prismlauncher.PrismLauncher.yml cache-key: flatpak-${{ github.sha }}-x86_64 + + nix: + runs-on: ubuntu-latest + strategy: + matrix: + package: + - prismlauncher + - prismlauncher-qt5 + steps: + - name: Clone repository + if: inputs.build_type == 'Debug' + uses: actions/checkout@v3 + with: + submodules: 'true' + - name: Install nix + if: inputs.build_type == 'Debug' + uses: cachix/install-nix-action@v18 + with: + install_url: https://nixos.org/nix/install + extra_nix_config: | + auto-optimise-store = true + experimental-features = nix-command flakes + - uses: cachix/cachix-action@v12 + if: inputs.build_type == 'Debug' + with: + name: prismlauncher + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + - name: Build + if: inputs.build_type == 'Debug' + run: nix build .#${{ matrix.package }} --print-build-logs diff --git a/.github/workflows/trigger_builds.yml b/.github/workflows/trigger_builds.yml index 44751fbc..a08193a0 100644 --- a/.github/workflows/trigger_builds.yml +++ b/.github/workflows/trigger_builds.yml @@ -8,7 +8,6 @@ on: - '**.md' - '**/LICENSE' - 'flake.lock' - - '**.nix' - 'packages/**' - '.github/ISSUE_TEMPLATE/**' - '.markdownlint**' @@ -17,7 +16,6 @@ on: - '**.md' - '**/LICENSE' - 'flake.lock' - - '**.nix' - 'packages/**' - '.github/ISSUE_TEMPLATE/**' - '.markdownlint**' @@ -33,3 +31,4 @@ jobs: is_qt_cached: true secrets: SPARKLE_ED25519_KEY: ${{ secrets.SPARKLE_ED25519_KEY }} + CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }} diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml index 8baa9693..a2f89819 100644 --- a/.github/workflows/trigger_release.yml +++ b/.github/workflows/trigger_release.yml @@ -46,15 +46,26 @@ jobs: tar -czf PrismLauncher-${{ env.VERSION }}.tar.gz PrismLauncher-${{ env.VERSION }} - for d in PrismLauncher-Windows-*; do + for d in PrismLauncher-Windows-MSVC*; do cd "${d}" || continue - MSVC="$(echo -n ${d} | grep -o MSVC || true)" LEGACY="$(echo -n ${d} | grep -o Legacy || true)" + ARM64="$(echo -n ${d} | grep -o arm64 || true)" INST="$(echo -n ${d} | grep -o Setup || true)" PORT="$(echo -n ${d} | grep -o Portable || true)" - NAME="PrismLauncher-Windows" - test -z "${MSVC}" && NAME="${NAME}-MinGW" || NAME="${NAME}-MSVC" + NAME="PrismLauncher-Windows-MSVC" test -z "${LEGACY}" || NAME="${NAME}-Legacy" + test -z "${ARM64}" || NAME="${NAME}-arm64" + test -z "${PORT}" || NAME="${NAME}-Portable" + test -z "${INST}" || mv PrismLauncher-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe + test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" * + cd .. + done + + for d in PrismLauncher-Windows-MinGW-w64*; do + cd "${d}" || continue + INST="$(echo -n ${d} | grep -o Setup || true)" + PORT="$(echo -n ${d} | grep -o Portable || true)" + NAME="PrismLauncher-Windows-MinGW-w64" test -z "${PORT}" || NAME="${NAME}-Portable" test -z "${INST}" || mv PrismLauncher-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" * @@ -77,15 +88,15 @@ jobs: PrismLauncher-Linux-${{ env.VERSION }}-x86_64.AppImage PrismLauncher-Linux-Qt6-${{ env.VERSION }}.tar.gz PrismLauncher-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz - PrismLauncher-Windows-MinGW-Legacy-${{ env.VERSION }}.zip - PrismLauncher-Windows-MinGW-Legacy-Portable-${{ env.VERSION }}.zip - PrismLauncher-Windows-MinGW-Legacy-Setup-${{ env.VERSION }}.exe - PrismLauncher-Windows-MinGW-${{ env.VERSION }}.zip - PrismLauncher-Windows-MinGW-Portable-${{ env.VERSION }}.zip - PrismLauncher-Windows-MinGW-Setup-${{ env.VERSION }}.exe + PrismLauncher-Windows-MinGW-w64-${{ env.VERSION }}.zip + PrismLauncher-Windows-MinGW-w64-Portable-${{ env.VERSION }}.zip + PrismLauncher-Windows-MinGW-w64-Setup-${{ env.VERSION }}.exe PrismLauncher-Windows-MSVC-Legacy-${{ env.VERSION }}.zip PrismLauncher-Windows-MSVC-Legacy-Portable-${{ env.VERSION }}.zip PrismLauncher-Windows-MSVC-Legacy-Setup-${{ env.VERSION }}.exe + PrismLauncher-Windows-MSVC-arm64-${{ env.VERSION }}.zip + PrismLauncher-Windows-MSVC-arm64-Portable-${{ env.VERSION }}.zip + PrismLauncher-Windows-MSVC-arm64-Setup-${{ env.VERSION }}.exe PrismLauncher-Windows-MSVC-${{ env.VERSION }}.zip PrismLauncher-Windows-MSVC-Portable-${{ env.VERSION }}.zip PrismLauncher-Windows-MSVC-Setup-${{ env.VERSION }}.exe diff --git a/CMakeLists.txt b/CMakeLists.txt index 8fc0d326..2bdd4811 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -221,7 +221,7 @@ if(Launcher_QT_VERSION_MAJOR EQUAL 5) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUNICODE -D_UNICODE") elseif(Launcher_QT_VERSION_MAJOR EQUAL 6) set(QT_VERSION_MAJOR 6) - find_package(Qt6 REQUIRED COMPONENTS Core Widgets Concurrent Network Test Xml Core5Compat) + find_package(Qt6 REQUIRED COMPONENTS Core CoreTools Widgets Concurrent Network Test Xml Core5Compat) list(APPEND Launcher_QT_LIBS Qt6::Core5Compat) if(NOT Launcher_FORCE_BUNDLED_LIBS) @@ -235,12 +235,16 @@ else() message(FATAL_ERROR "Qt version ${Launcher_QT_VERSION_MAJOR} is not supported") endif() -include(ECMQueryQt) -ecm_query_qt(QT_PLUGINS_DIR QT_INSTALL_PLUGINS) -ecm_query_qt(QT_LIBS_DIR QT_INSTALL_LIBS) -ecm_query_qt(QT_LIBEXECS_DIR QT_INSTALL_LIBEXECS) -ecm_query_qt(QT_DATA_DIR QT_HOST_DATA) -set(QT_MKSPECS_DIR ${QT_DATA_DIR}/mkspecs) +if(Launcher_QT_VERSION_MAJOR EQUAL 5) + include(ECMQueryQt) + ecm_query_qt(QT_PLUGINS_DIR QT_INSTALL_PLUGINS) + ecm_query_qt(QT_LIBS_DIR QT_INSTALL_LIBS) + ecm_query_qt(QT_LIBEXECS_DIR QT_INSTALL_LIBEXECS) +else() + set(QT_PLUGINS_DIR ${QT${QT_VERSION_MAJOR}_INSTALL_PREFIX}/${QT${QT_VERSION_MAJOR}_INSTALL_PLUGINS}) + set(QT_LIBS_DIR ${QT${QT_VERSION_MAJOR}_INSTALL_PREFIX}/${QT${QT_VERSION_MAJOR}_INSTALL_LIBS}) + set(QT_LIBEXECS_DIR ${QT${QT_VERSION_MAJOR}_INSTALL_PREFIX}/${QT${QT_VERSION_MAJOR}_INSTALL_LIBEXECS}) +endif() # NOTE: Qt 6 already sets this by default if (Qt5_POSITION_INDEPENDENT_CODE) @@ -368,11 +372,11 @@ if(NOT ZLIB_FOUND) set(SKIP_INSTALL_ALL ON) add_subdirectory(libraries/zlib EXCLUDE_FROM_ALL) - set(ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libraries/zlib" "${CMAKE_CURRENT_BINARY_DIR}/libraries/zlib") + set(ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libraries/zlib" "${CMAKE_CURRENT_BINARY_DIR}/libraries/zlib" CACHE STRING "") set_target_properties(zlibstatic PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${ZLIB_INCLUDE_DIR}") add_library(ZLIB::ZLIB ALIAS zlibstatic) - set(ZLIB_LIBRARY ZLIB::ZLIB) - set(ZLIB_FOUND true) + set(ZLIB_LIBRARY ZLIB::ZLIB CACHE STRING "zlib library name") + find_package(ZLIB REQUIRED) else() message(STATUS "Using system zlib") @@ -23,8 +23,8 @@ pkgs = forAllSystems (system: nixpkgs.legacyPackages.${system}); packagesFn = pkgs: rec { - prismlauncher = pkgs.libsForQt5.callPackage ./nix { inherit version self libnbtplusplus tomlplusplus; }; - prismlauncher-qt6 = pkgs.qt6Packages.callPackage ./nix { inherit version self libnbtplusplus tomlplusplus; }; + prismlauncher-qt5 = pkgs.libsForQt5.callPackage ./nix { inherit version self libnbtplusplus tomlplusplus; }; + prismlauncher = pkgs.qt6Packages.callPackage ./nix { inherit version self libnbtplusplus tomlplusplus; }; }; in { 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; diff --git a/nix/default.nix b/nix/default.nix index c7fc7576..6050fd37 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -1,100 +1,99 @@ -{ stdenv -, lib -, fetchFromGitHub +{ lib +, stdenv , cmake -, ninja , jdk8 , jdk -, ghc_filesystem , zlib , file , wrapQtAppsHook , xorg , libpulseaudio , qtbase -, quazip +, qtsvg +, qtwayland , libGL -, msaClientID ? "" -, extraJDKs ? [ ] +, quazip +, glfw +, openal , extra-cmake-modules +, ghc_filesystem +, msaClientID ? "" +, jdks ? [ jdk jdk8 ] # flake , self , version , libnbtplusplus , tomlplusplus -, enableLTO ? false }: -let - # Libraries required to run Minecraft - libpath = with xorg; lib.makeLibraryPath [ - libX11 - libXext - libXcursor - libXrandr - libXxf86vm - libpulseaudio - libGL - ]; - - # This variable will be passed to Minecraft by Prism Launcher - gameLibraryPath = libpath + ":/run/opengl-driver/lib"; - - javaPaths = lib.makeSearchPath "bin/java" ([ jdk jdk8 ] ++ extraJDKs); -in - stdenv.mkDerivation rec { pname = "prismlauncher"; inherit version; src = lib.cleanSource self; - nativeBuildInputs = [ cmake extra-cmake-modules ninja jdk ghc_filesystem file wrapQtAppsHook ]; - buildInputs = [ qtbase quazip zlib ]; + nativeBuildInputs = [ extra-cmake-modules cmake file jdk wrapQtAppsHook ]; + buildInputs = [ + qtbase + qtsvg + zlib + quazip + ghc_filesystem + ] ++ lib.optional (lib.versionAtLeast qtbase.version "6") qtwayland; + cmakeFlags = lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ] + ++ lib.optionals (lib.versionAtLeast qtbase.version "6") [ "-DLauncher_QT_VERSION_MAJOR=6" ]; dontWrapQtApps = true; postUnpack = '' - # Copy libnbtplusplus rm -rf source/libraries/libnbtplusplus mkdir source/libraries/libnbtplusplus ln -s ${libnbtplusplus}/* source/libraries/libnbtplusplus chmod -R +r+w source/libraries/libnbtplusplus - # Copy tomlplusplus + chown -R $USER: source/libraries/libnbtplusplus rm -rf source/libraries/tomlplusplus mkdir source/libraries/tomlplusplus ln -s ${tomlplusplus}/* source/libraries/tomlplusplus chmod -R +r+w source/libraries/tomlplusplus + chown -R $USER: source/libraries/tomlplusplus ''; - cmakeFlags = [ - "-GNinja" - "-DLauncher_QT_VERSION_MAJOR=${lib.versions.major qtbase.version}" - ] ++ lib.optionals enableLTO [ "-DENABLE_LTO=on" ] - ++ lib.optionals (msaClientID != "") [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ]; + postInstall = + let + libpath = with xorg; + lib.makeLibraryPath [ + libX11 + libXext + libXcursor + libXrandr + libXxf86vm + libpulseaudio + libGL + glfw + openal + stdenv.cc.cc.lib + ]; + in + '' + # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 + wrapQtApp $out/bin/prismlauncher \ + --set LD_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \ + --prefix PRISMLAUNCHER_JAVA_PATHS : ${lib.makeSearchPath "bin/java" jdks} \ + --prefix PATH : ${lib.makeBinPath [xorg.xrandr]} + ''; - # we have to check if the system is NixOS before adding stdenv.cc.cc.lib (#923) - postInstall = '' - # xorg.xrandr needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 - wrapQtApp $out/bin/prismlauncher \ - --run '[ -f /etc/NIXOS ] && export LD_LIBRARY_PATH="${stdenv.cc.cc.lib}/lib:$LD_LIBRARY_PATH"' \ - --prefix LD_LIBRARY_PATH : ${gameLibraryPath} \ - --prefix PRISMLAUNCHER_JAVA_PATHS : ${javaPaths} \ - --prefix PATH : ${lib.makeBinPath [ xorg.xrandr ]} - ''; meta = with lib; { homepage = "https://prismlauncher.org/"; - downloadPage = "https://prismlauncher.org/download/"; - changelog = "https://github.com/PrismLauncher/PrismLauncher/releases"; description = "A free, open source launcher for Minecraft"; longDescription = '' Allows you to have multiple, separate instances of Minecraft (each with their own mods, texture packs, saves, etc) and helps you manage them and their associated options with a simple interface. ''; - platforms = platforms.unix; + platforms = platforms.linux; + changelog = "https://github.com/PrismLauncher/PrismLauncher/releases/tag/${version}"; license = licenses.gpl3Only; maintainers = with maintainers; [ minion3665 Scrumplex ]; }; diff --git a/program_info/instance_icons.svg b/program_info/instance_icons.svg new file mode 100644 index 00000000..84c0ef6f --- /dev/null +++ b/program_info/instance_icons.svg @@ -0,0 +1,2720 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="1024" + height="1024" + version="1.1" + viewBox="0 0 1024 1024" + id="svg168" + sodipodi:docname="instance_icons.svg" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" + xml:space="preserve" + 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/"><defs + id="defs172"><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath7052"><rect + style="fill:#ff0000;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect7054" + width="6" + height="10" + x="6" + y="14" + ry="1" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath24641"><rect + style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect24643" + width="5" + height="6" + x="72" + y="12" + ry="1" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath37388"><rect + style="fill:#537a64;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect37390" + width="20" + height="7" + x="70" + y="16" + ry="1" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51465"><rect + style="fill:#dfdfdf;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect51467" + width="10.000002" + height="5.0000005" + x="183.38519" + y="17.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51555"><rect + style="fill:#fb9168;fill-opacity:1;stroke-width:0.271456;paint-order:stroke markers fill;stop-color:#000000" + id="rect51557" + width="19.999996" + height="16" + x="178.38519" + y="5.9999976" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath52515"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect52517" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath40516"><rect + style="opacity:1;fill:#f3db6c;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect40518" + width="16" + height="16" + x="200" + y="8" + ry="2" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath44346"><rect + style="opacity:1;fill:#f3db6c;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect44348" + width="16" + height="16" + x="456" + y="8" + ry="2" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath56548"><rect + style="fill:#bd8e74;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56550" + width="22" + height="22" + x="485" + y="5" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath70915"><path + sodipodi:type="star" + style="opacity:1;fill:#bd44b3;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="path70917" + inkscape:flatsided="false" + sodipodi:sides="8" + sodipodi:cx="560" + sodipodi:cy="16" + sodipodi:r1="10.946013" + sodipodi:r2="12.727922" + sodipodi:arg1="0.78539816" + sodipodi:arg2="1.1780972" + inkscape:rounded="0.29" + inkscape:randomized="0.014" + 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.60389168,0.3121766,-0.3121766,0.60389168,226.77688,-168.46627)" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath56548-5"><rect + style="fill:#bd8e74;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56550-5" + width="22" + height="22" + x="485" + y="5" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath40516-7"><rect + style="opacity:1;fill:#f3db6c;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect40518-3" + width="16" + height="16" + x="200" + y="8" + ry="2" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51555-6"><rect + style="fill:#fb9168;fill-opacity:1;stroke-width:0.271456;paint-order:stroke markers fill;stop-color:#000000" + id="rect51557-5" + width="19.999996" + height="16" + x="178.38519" + y="5.9999976" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51465-6"><rect + style="fill:#dfdfdf;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect51467-3" + width="10.000002" + height="5.0000005" + x="183.38519" + y="17.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath52515-9"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect52517-4" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath130950"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect130948" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath130954"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect130952" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51555-6-8"><rect + style="fill:#fb9168;fill-opacity:1;stroke-width:0.271456;paint-order:stroke markers fill;stop-color:#000000" + id="rect51557-5-1" + width="19.999996" + height="16" + x="178.38519" + y="5.9999976" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51465-6-2"><rect + style="fill:#dfdfdf;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect51467-3-9" + width="10.000002" + height="5.0000005" + x="183.38519" + y="17.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath52515-9-3"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect52517-4-9" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath131121"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect131119" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath131125"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect131123" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51555-6-8-0"><rect + style="fill:#fb9168;fill-opacity:1;stroke-width:0.271456;paint-order:stroke markers fill;stop-color:#000000" + id="rect51557-5-1-8" + width="19.999996" + height="16" + x="178.38519" + y="5.9999976" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51465-6-2-8"><rect + style="fill:#dfdfdf;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect51467-3-9-5" + width="10.000002" + height="5.0000005" + x="183.38519" + y="17.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath52515-9-3-0"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect52517-4-9-9" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath131331"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect131329" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath131335"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect131333" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath44346-0"><rect + style="opacity:1;fill:#f3db6c;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect44348-4" + width="16" + height="16" + x="456" + y="8" + ry="2" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath56548-4"><rect + style="fill:#bd8e74;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56550-4" + width="22" + height="22" + x="485" + y="5" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath70915-4"><path + sodipodi:type="star" + style="opacity:1;fill:#bd44b3;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="path70917-7" + inkscape:flatsided="false" + sodipodi:sides="8" + sodipodi:cx="560" + sodipodi:cy="16" + sodipodi:r1="10.946013" + sodipodi:r2="12.727922" + sodipodi:arg1="0.78539816" + sodipodi:arg2="1.1780972" + inkscape:rounded="0.29" + inkscape:randomized="0.014" + 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.60389168,0.3121766,-0.3121766,0.60389168,226.77688,-168.46627)" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath56548-5-6"><rect + style="fill:#bd8e74;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56550-5-3" + width="22" + height="22" + x="485" + y="5" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51555-6-8-0-1"><rect + style="fill:#fb9168;fill-opacity:1;stroke-width:0.271456;paint-order:stroke markers fill;stop-color:#000000" + id="rect51557-5-1-8-7" + width="19.999996" + height="16" + x="178.38519" + y="5.9999976" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51465-6-2-8-5"><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" + width="10.000002" + height="5.0000005" + x="183.38519" + y="17.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath52515-9-3-0-6"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect52517-4-9-9-2" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath166658"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect166656" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath166662"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect166660" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath70915-4-5"><path + sodipodi:type="star" + style="opacity:1;fill:#bd44b3;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="path70917-7-9" + inkscape:flatsided="false" + sodipodi:sides="8" + sodipodi:cx="560" + sodipodi:cy="16" + sodipodi:r1="10.946013" + sodipodi:r2="12.727922" + sodipodi:arg1="0.78539816" + sodipodi:arg2="1.1780972" + inkscape:rounded="0.29" + inkscape:randomized="0.014" + 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.60389168,0.3121766,-0.3121766,0.60389168,226.77688,-168.46627)" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath56548-5-6-7"><rect + style="fill:#bd8e74;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56550-5-3-5" + width="22" + height="22" + x="485" + y="5" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath7052-9"><rect + style="fill:#ff0000;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect7054-9" + width="6" + height="10" + x="6" + y="14" + ry="1" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath66059"><rect + style="fill:#ff0000;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect66057" + width="6" + height="10" + x="6" + y="14" + ry="1" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath66079"><rect + style="fill:#ff0000;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect66077" + width="6" + height="10" + x="6" + y="14" + ry="1" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51555-6-8-0-1-3"><rect + style="fill:#fb9168;fill-opacity:1;stroke-width:0.271456;paint-order:stroke markers fill;stop-color:#000000" + id="rect51557-5-1-8-7-7" + width="19.999996" + height="16" + x="178.38519" + y="5.9999976" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51465-6-2-8-5-5"><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" + width="10.000002" + height="5.0000005" + x="183.38519" + y="17.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath52515-9-3-0-6-2"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect52517-4-9-9-2-2" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath66197"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect66195" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath66201"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect66199" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath56548-4-6-8-7"><rect + style="fill:#bd8e74;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56550-4-2-7-3" + width="22" + height="22" + x="485" + y="5" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath56548-5-6-7-5-6-8-6"><rect + style="fill:#bd8e74;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56550-5-3-5-4-1-9-1" + width="22" + height="22" + x="485" + y="5" + ry="3" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath70915-4-5-0-2-7-5-3"><path + sodipodi:type="star" + style="opacity:1;fill:#bd44b3;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="path70917-7-9-2-9-4-0-3" + inkscape:flatsided="false" + sodipodi:sides="8" + sodipodi:cx="560" + sodipodi:cy="16" + sodipodi:r1="10.946013" + sodipodi:r2="12.727922" + sodipodi:arg1="0.78539816" + sodipodi:arg2="1.1780972" + inkscape:rounded="0.29" + inkscape:randomized="0.014" + 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.60389168,0.3121766,-0.3121766,0.60389168,226.77688,-168.46627)" /></clipPath><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient41693" + id="linearGradient2973" + gradientUnits="userSpaceOnUse" + x1="153" + y1="25" + x2="135" + y2="7" /><linearGradient + inkscape:collect="always" + 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><radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3000" + id="radialGradient3002-5" + cx="272" + cy="16" + fx="272" + fy="16" + r="12" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + 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)" /><linearGradient + inkscape:collect="always" + 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><radialGradient + inkscape:collect="always" + xlink:href="#linearGradient3853" + id="radialGradient3855-4" + cx="272" + cy="16" + fx="272" + fy="16" + r="5" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.2,0,0,2,-326.4,-16)" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient3108" + id="linearGradient3110" + x1="70.852509" + y1="141.75883" + x2="70.852509" + y2="0.053809531" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient1468" + id="linearGradient1470" + x1="300" + y1="26" + x2="300" + y2="10" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient6068" + id="linearGradient6070" + x1="656" + y1="27" + x2="656" + y2="5" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient7624" + id="linearGradient7626" + x1="658" + y1="20" + x2="658" + y2="24" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient7155" + id="linearGradient7165" + x1="656" + y1="25" + x2="656" + y2="22" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + 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 + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient7155" + id="linearGradient7157" + x1="651" + y1="20" + x2="651" + y2="16" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient36859" + id="linearGradient11859-1" + x1="111" + y1="25" + x2="111" + y2="7" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(608)" /><linearGradient + inkscape:collect="always" + 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><radialGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient11855" + id="linearGradient11859" + x1="111" + y1="25" + x2="111" + y2="7" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + 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 + inkscape:collect="always" + 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><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient5295" + id="linearGradient5297" + x1="239" + y1="5" + x2="239" + y2="27" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient5303" + id="linearGradient5316" + x1="243" + y1="17" + x2="243" + y2="20" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient5303" + id="linearGradient5305" + x1="236" + y1="17" + x2="236" + y2="20" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient84376" + id="linearGradient84368" + x1="48" + y1="26" + x2="48" + y2="6" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(128,32)" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient288023" + id="linearGradient85182" + x1="48" + y1="6" + x2="48" + y2="26" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(128,32)" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient25803" + id="linearGradient25805" + x1="785" + y1="26" + x2="785" + y2="6" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient27992" + id="linearGradient17901" + x1="496" + y1="26" + x2="496" + y2="6" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient56358" + id="linearGradient18032" + gradientUnits="userSpaceOnUse" + x1="503" + y1="25" + x2="503" + y2="23" + gradientTransform="translate(0,-4)" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient56358" + id="linearGradient18124" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-8)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient18539" + id="linearGradient18530" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-6)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient18539" + id="linearGradient18590" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-10)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient18539" + id="linearGradient18615" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-14)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient18539" + id="linearGradient18640" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-2)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient56358" + id="linearGradient18124-2" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-12)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient56358" + id="linearGradient18124-0" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(0,-16)" + x1="503" + y1="25" + x2="503" + y2="23" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient48524" + id="linearGradient48512" + gradientUnits="userSpaceOnUse" + x1="153" + y1="25" + x2="135" + y2="7" + gradientTransform="translate(256)" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient18899" + id="linearGradient18901" + x1="805" + y1="16" + x2="812" + y2="16" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient18899" + id="linearGradient19011" + x1="812" + y1="16" + x2="820" + y2="16" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient18899" + id="linearGradient19015" + gradientUnits="userSpaceOnUse" + x1="805" + y1="16" + x2="812" + y2="16" + gradientTransform="matrix(-1,0,0,1,1632,0)" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19917" + id="linearGradient22848" + gradientUnits="userSpaceOnUse" + x1="816" + y1="27" + x2="816" + y2="20" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + 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 + inkscape:collect="always" + 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><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient53203" + id="linearGradient39079" + gradientUnits="userSpaceOnUse" + x1="785" + y1="26" + x2="785" + y2="6" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient19391" + id="linearGradient19373" + x1="690" + y1="22" + x2="690" + y2="21" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient19391" + id="linearGradient19435" + gradientUnits="userSpaceOnUse" + x1="690" + y1="22" + x2="690" + y2="21" + gradientTransform="translate(0,-5)" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19391" + id="linearGradient19458" + gradientUnits="userSpaceOnUse" + x1="690" + y1="22" + x2="690" + y2="21" + gradientTransform="translate(0,-10)" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient19391" + id="linearGradient19481" + gradientUnits="userSpaceOnUse" + x1="690" + y1="22" + x2="690" + y2="21" + gradientTransform="translate(0,-15)" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient53203" + id="linearGradient56913" + gradientUnits="userSpaceOnUse" + x1="785" + y1="26" + x2="785" + y2="6" + gradientTransform="translate(-352)" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient56992" + id="linearGradient56984" + x1="433" + y1="11" + x2="433" + y2="20" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient29505" + id="linearGradient29507" + x1="428" + y1="14" + x2="428" + y2="4" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(2,2)" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient6068" + id="linearGradient39389" + x1="565" + y1="23" + x2="567" + y2="21" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient38100" + id="linearGradient38102" + x1="408.70773" + y1="-379.00925" + x2="408.70773" + y2="-389.8125" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient39375" + id="linearGradient39377" + x1="401.63666" + y1="-379.00925" + x2="401.63666" + y2="-389.8125" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><radialGradient + inkscape:collect="always" + xlink:href="#linearGradient62774" + id="radialGradient62776" + cx="624" + cy="15" + fx="624" + fy="15" + r="12" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient62766" + id="radialGradient62768" + cx="624" + cy="16" + fx="624" + fy="16" + r="6" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient12453" + id="linearGradient12455" + x1="351" + y1="26" + x2="351" + y2="10" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient12299" + id="linearGradient12301" + x1="324" + y1="26" + x2="324" + y2="10" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient12445" + id="linearGradient12447" + x1="334" + y1="26" + x2="334" + y2="10" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><radialGradient + inkscape:collect="always" + xlink:href="#linearGradient21157" + id="radialGradient21159" + cx="368" + cy="16" + fx="368" + fy="16" + r="7" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + 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 + inkscape:collect="always" + 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><radialGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + 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><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath70915-4-5-0-2-7-5-3-9-4"><path + sodipodi:type="star" + style="opacity:1;fill:#bd44b3;fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="path70917-7-9-2-9-4-0-3-1-9" + inkscape:flatsided="false" + sodipodi:sides="8" + sodipodi:cx="560" + sodipodi:cy="16" + sodipodi:r1="10.946013" + sodipodi:r2="12.727922" + sodipodi:arg1="0.78539816" + sodipodi:arg2="1.1780972" + inkscape:rounded="0.29" + inkscape:randomized="0.014" + 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.60389168,0.3121766,-0.3121766,0.60389168,226.77688,-168.46627)" /></clipPath><radialGradient + inkscape:collect="always" + xlink:href="#linearGradient14255" + id="radialGradient14257" + cx="560" + cy="16" + fx="560" + fy="16" + r="9" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient16452" + id="linearGradient16454" + x1="560" + y1="25" + x2="560" + y2="11" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><radialGradient + inkscape:collect="always" + 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,-771.57556,-4.2669434)" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient2564" + id="linearGradient2566" + x1="466" + y1="27" + x2="466" + y2="22" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><radialGradient + inkscape:collect="always" + xlink:href="#linearGradient2739" + id="radialGradient2757" + cx="496.06177" + cy="17.211182" + fx="495.87827" + fy="18.730774" + r="11" + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(2.5554022,0,0,1.2337313,-515.57556,-4.2669434)" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient1330" + id="linearGradient1332" + x1="487" + y1="15" + x2="487" + y2="5" + gradientUnits="userSpaceOnUse" + gradientTransform="translate(256)" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient1463" + id="linearGradient1465" + x1="755" + y1="27" + x2="755" + y2="22" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient1503" + id="linearGradient1505" + x1="748" + y1="20" + x2="748" + y2="17" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient1308" + id="linearGradient1310" + x1="16" + y1="27" + x2="16" + y2="5" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath7052-4-6"><rect + style="fill:#ff0000;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect7054-2-2" + width="6" + height="10" + x="6" + y="14" + ry="1" /></clipPath><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient1440" + id="linearGradient1442" + x1="7" + y1="24" + x2="11" + y2="14" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient1460" + id="linearGradient1462" + x1="10" + y1="18" + x2="12" + y2="14" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath87687"><rect + style="fill:#ff0000;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect87685" + width="6" + height="10" + x="6" + y="14" + ry="1" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath87707"><rect + style="fill:#ff0000;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect87705" + width="6" + height="10" + x="6" + y="14" + ry="1" /></clipPath><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient292700" + id="linearGradient292686" + x1="86.052681" + y1="26.999552" + x2="86" + y2="5" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient293074" + id="linearGradient293076" + x1="80" + y1="31" + x2="80" + y2="21" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient2085" + id="linearGradient42830" + x1="77" + y1="17" + x2="77" + y2="14" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient292039" + id="linearGradient292041" + x1="89" + y1="25" + x2="89" + y2="18" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient288023" + id="linearGradient288033" + x1="183" + y1="11" + x2="183" + y2="7" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient288023" + id="linearGradient288025" + x1="171" + y1="11" + x2="171" + y2="7" + gradientUnits="userSpaceOnUse" /><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath51555-6-8-0-1-3-1-4"><rect + style="fill:#fb9168;fill-opacity:1;stroke-width:0.271456;paint-order:stroke markers fill;stop-color:#000000" + id="rect51557-5-1-8-7-7-0-9" + width="19.999996" + height="16" + x="178.38519" + y="5.9999976" + ry="3" /></clipPath><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient287141" + id="linearGradient287143" + x1="181.38519" + y1="21.999998" + x2="181.38519" + y2="5.9999976" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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 + inkscape:collect="always" + xlink:href="#linearGradient287169" + id="linearGradient287171" + x1="178.38519" + y1="21.999998" + x2="198.38519" + y2="21.999998" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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"><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" + width="10.000002" + height="5.0000005" + x="183.38519" + y="17.999998" + ry="0.99999958" /></clipPath><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient287187" + id="linearGradient287189" + x1="192.38519" + y1="22.999998" + x2="192.38519" + y2="17.999998" + gradientUnits="userSpaceOnUse" /><linearGradient + inkscape:collect="always" + 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><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath52515-9-3-0-6-2-2-6"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect52517-4-9-9-2-2-2-0" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath87819"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect87817" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath87823"><rect + style="fill:#d6d2d2;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect87821" + width="6" + height="3" + x="179.38519" + y="13.999998" + ry="0.99999958" /></clipPath><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3108" + id="linearGradient94737" + gradientUnits="userSpaceOnUse" + x1="70.852509" + y1="141.75883" + x2="70.852509" + y2="0.053809531" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient3108" + id="linearGradient94739" + gradientUnits="userSpaceOnUse" + x1="70.852509" + y1="141.75883" + x2="70.852509" + y2="0.053809531" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2085" + id="linearGradient94741" + gradientUnits="userSpaceOnUse" + x1="504" + y1="15" + x2="504" + y2="5" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient1503" + id="linearGradient94747" + gradientUnits="userSpaceOnUse" + x1="748" + y1="20" + x2="748" + y2="17" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient1503" + id="linearGradient94749" + gradientUnits="userSpaceOnUse" + x1="748" + y1="20" + x2="748" + y2="17" /><linearGradient + inkscape:collect="always" + xlink:href="#linearGradient2085" + id="linearGradient94751" + gradientUnits="userSpaceOnUse" + x1="77" + y1="17" + x2="77" + y2="14" /></defs><sodipodi:namedview + id="namedview170" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + showgrid="true" + inkscape:zoom="16" + inkscape:cx="13.3125" + inkscape:cy="42.25" + inkscape:window-width="1366" + inkscape:window-height="699" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="i_steve" + showguides="true"><inkscape:grid + empspacing="32" + type="xygrid" + id="grid451" + originx="0" + originy="0" /><sodipodi:guide + position="48,1008" + orientation="0,-1" + id="guide80876" + inkscape:locked="false" /><sodipodi:guide + position="688,996" + orientation="1,0" + id="guide87005" + inkscape:locked="false" /></sodipodi:namedview><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="g23616" + transform="matrix(1,0,0,0.6,0,6.2)" /><g + id="i_diamond"><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="32" + height="32" + x="128" + y="0" /><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><g + id="i_brick" + style="opacity:0" + transform="translate(32)"><rect + style="fill:#df6277;fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect13011" + width="22" + height="22" + x="37" + y="5" + ry="3" /><path + id="rect13933" + style="fill:#dfdfdf;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="m 47,5 v 5 H 37 v 2 h 4 v 8 h -4 v 2 h 10 v 5 h 2 v -5 h 10 v -2 h -4 v -8 h 4 V 10 H 49 V 5 Z m -4,7 h 10 v 8 H 43 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" + width="32" + height="32" + x="32" + y="0" /></g><g + id="i_enderpearl-7" + transform="translate(-192)"><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="12" /><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,7 c -4.97057,0 -9,4.029438 -9,9 0,4.970562 4.02943,9 9,9 4.97056,0 9,-4.029438 9,-9 0,-4.970562 -4.02944,-9 -9,-9 z" + sodipodi:nodetypes="sssss" /><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,6 c -5.52284,0 -10,4.477158 -10,10 h 3 c 0,-3.865989 3.13401,-7 7,-7 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="32" + height="32" + x="256" + y="0" /></g><g + id="i_modrinth" + transform="translate(-480,32)"><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(#linearGradient94737);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(#linearGradient94739);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><g + id="i_flame" + transform="translate(-192,64)"><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,10 a 2,2 0 0 0 -2,2 h -3 -5 c 0,2.761421 2.23858,5 5,5 h 5 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,-0.895432 2,-2 0,-3.865965 3.13401,-7 7,-7 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" + width="32" + height="32" + x="288" + y="0" /><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 306.94922,12 C 305.86851,12.02738 305,12.912691 305,14 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 307 c -0.0173,0 -0.0336,-4.35e-4 -0.0508,0 z" /></g><g + id="i_skeleton" + transform="translate(-608)"><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="32" + height="32" + x="640" + y="0" /></g><g + id="i_squarecreeper" + transform="translate(-672,64)"><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="32" + height="32" + x="704" + y="0" /><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><g + id="i_creeper" + transform="translate(-64,32)"><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="32" + height="32" + x="96" + y="0" /></g><g + id="i_enderman" + transform="translate(-192,96)"><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="32" + height="32" + x="224" + y="0" /></g><g + id="i_stone" + transform="translate(-576,64)"><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="32" + height="32" + x="768" + y="0" /><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><g + id="i_iron" + transform="translate(-352,64)"><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="32" + height="32" + x="480" + y="0" /><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><g + id="i_gold" + transform="translate(-256,32)"><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="32" + height="32" + x="384" + y="0" /><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><g + id="i_tnt" + transform="translate(-640,64)"><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" + sodipodi:nodetypes="ssssccs" /><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" + sodipodi:nodetypes="ssssccs" /></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" + sodipodi:nodetypes="cccccccccccccccccccccccccccccc" /><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="32" + height="32" + x="800" + y="0" /></g><g + id="i_stone-2" + transform="translate(-576,32)"><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="32" + height="32" + x="768" + y="0" /><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><g + id="i_planks" + transform="translate(-512)"><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="32" + height="32" + x="672" + y="0" /><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><g + id="i_grass" + transform="translate(-224)"><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" + sodipodi:nodetypes="cccsssscc" /><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="32" + height="32" + x="416" + y="0" /><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" + sodipodi:nodetypes="cccccccccc" /><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><g + id="i_meat" + transform="translate(-480,32)"><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="0" + 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="32" + height="32" + x="544" + y="0" /></g><g + id="i_netherstar" + transform="translate(-544,64)"><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,4 c -1,1.999998 -2,3.000001 -3,4 -1,0.999999 0,3.000001 -1,4 -1,0.999999 -3,10e-7 -4,1 -1,0.999999 -2,2.000001 -4,3 2,0.999999 3,2.000001 4,3 1,0.999999 3,1e-6 4,1 1,0.999999 0,3.000001 1,4 1,0.999999 2,2.000002 3,4 1,-1.999998 2,-3.000001 3,-4 1,-0.999999 0,-3.000001 1,-4 1,-0.999999 3,-1e-6 4,-1 1,-0.999999 2,-2.000001 4,-3 -2,-0.999999 -3,-2.000001 -4,-3 -1,-0.999999 -3,-10e-7 -4,-1 -1,-0.999999 0,-3.000001 -1,-4 -1,-0.999999 -2,-2.000002 -3,-4 z" /><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,22 c 1,-3 3,-5 6,-6 -3,-1 -5,-3 -6,-6 -1,3 -3,5 -6,6 3,1 5,3 6,6 z" + id="path88076" + sodipodi:nodetypes="ccccc" /><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="32" + height="32" + x="608" + y="0" /></g><g + id="i_ftb_logo" + transform="translate(-224)"><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="32" + height="32" + x="320" + y="0" /><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 342,10 v 3 11 a 2,2 0 0 0 2,2 h 7 V 20 A 3,3 0 0 0 349.6543,17.49805 3,3 0 0 0 351,15 v -3 a 2,2 0 0 0 -2,-2 z m 3,3 h 3 v 3 h -3 z m 0,6 h 3 v 1 3 h -3 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 323,10 a 2,2 0 0 0 -2,2 v 14 h 3 v -7 h 4.5 V 16 H 324 v -3 h 5 v -3 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 330,10 v 3 h 4 v 13 h 3 V 13 h 4 v -3 z" + id="rect10933-8" + sodipodi:nodetypes="ccccccccc" /></g><g + id="i_gear" + transform="translate(-288,96)"><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" + sodipodi:nodetypes="ssssssssss" /><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="32" + height="32" + x="352" + y="0" /></g><g + id="i_magitech" + transform="translate(-416,96)"><path + sodipodi:type="star" + style="opacity:1;fill:url(#radialGradient16443);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="path63885" + inkscape:flatsided="false" + sodipodi:sides="8" + sodipodi:cx="560" + sodipodi:cy="16" + sodipodi:r1="10.946013" + sodipodi:r2="12.727922" + sodipodi:arg1="0.78539816" + sodipodi:arg2="1.1780972" + inkscape:rounded="0.29" + inkscape:randomized="0.014" + 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="rotate(15,543.92119,-105.50919)" /><g + id="g68167" + clip-path="url(#clipPath70915-4-5-0-2-7-5-3-9-4)" + transform="translate(-32)"><rect + style="opacity:1;fill:url(#radialGradient14257);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect68163" + width="18" + height="18" + x="551" + y="7" /><path + id="rect67092" + style="opacity:1;fill:url(#linearGradient16454);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="M 562,11.419922 V 15 l -2,1 -2,-1 v -3.576172 c -1.82001,0.794312 -2.99746,2.590388 -3,4.576172 0,2.049737 1.2349,3.810134 3,4.582031 V 25 h 4 v -4.417969 c 1.7651,-0.771897 3,-2.532294 3,-4.582031 -9.9e-4,-1.987202 -1.1787,-3.785197 -3,-4.580078 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-0" + width="32" + height="32" + x="512" + y="0" /></g><g + id="i_herobrine" + transform="translate(-448)"><g + id="g56546" + clip-path="none" + transform="translate(-32)"><rect + style="fill:url(#radialGradient2757-3);fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56542-7-5" + width="22" + height="22" + x="485" + y="5" + ry="2.999999" /><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 488 5 C 486.338 5 485 6.3380017 485 8 L 485 15 L 487 15 C 488.108 15 489 14.107998 489 13 L 489 12 L 503 12 L 503 13 C 503 14.107998 503.892 15 505 15 L 507 15 L 507 8 C 507 6.3380017 505.662 5 504 5 L 503 5 L 489 5 L 488 5 z " /></g><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="461" + y="22" + 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="466" + y="17" + 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="455" + y="17" + 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="462" + y="20" + 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 461,22 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="32" + height="32" + x="448" + y="0" /></g><g + id="i_steve" + transform="translate(-736,32)"><rect + style="fill:url(#radialGradient2757);fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect56542-7" + width="22" + height="22" + x="741" + y="5" + ry="3" /><path + id="rect56552-6" + style="fill:url(#linearGradient1332);fill-opacity:1;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + d="M 744 5 C 742.338 5 741 6.3380017 741 8 L 741 15 L 743 15 C 744.108 15 745 14.107997 745 13 L 745 12 L 759 12 L 759 13 C 759 14.107997 759.892 15 761 15 L 763 15 L 763 8 C 763 6.3380017 761.662 5 760 5 L 759 5 L 745 5 L 744 5 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" + width="6" + height="3" + x="749" + y="22" + 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" + width="7" + height="3" + x="754" + y="17" + 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" + width="7" + height="3" + x="743" + y="17" + 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" + width="4" + height="2" + x="750" + y="20" + ry="0" /><path + id="path195645" + style="fill:url(#linearGradient1465);fill-opacity:1;stroke:none;stroke-width:0.362295;paint-order:stroke markers fill;stop-color:#000000" + d="m 749,22 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" + style="fill:url(#linearGradient1505);fill-opacity:1"><rect + style="fill:url(#linearGradient94747);fill-opacity:1;stroke-width:0.396874;paint-order:stroke markers fill;stop-color:#000000" + id="rect75119-2" + width="3" + height="3" + x="746" + y="17" /><rect + style="fill:url(#linearGradient94749);fill-opacity:1;stroke-width:0.396874;paint-order:stroke markers fill;stop-color:#000000" + id="rect112219" + width="3" + height="3" + x="755" + y="17" /></g><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-9" + width="32" + height="32" + x="736" + y="0" /></g><g + id="i_dirt" + transform="translate(-192,64)"><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" + width="32" + height="32" + x="192" + y="0" /></g><g + id="i_bee" + transform="translate(0,64)"><rect + style="fill:url(#linearGradient1310);fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect543" + width="22" + height="22" + x="5" + y="5" + ry="3" /><g + id="g7050" + clip-path="url(#clipPath7052-4-6)"><rect + style="fill:url(#linearGradient1442);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect3612" + width="6" + height="10" + x="6" + y="14" /><rect + style="fill:url(#linearGradient1462);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect4739" + width="3" + height="4" + x="9" + y="14" /></g><use + x="0" + y="0" + xlink:href="#g7050" + id="use7056" + transform="matrix(-1,0,0,1,32,0)" /><g + id="g10049" + transform="translate(-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,33,0)" + 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="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="rect10053" + width="5" + height="3" + x="4" + 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 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><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412" + width="32" + height="32" + x="0" + y="0" /></g><g + id="i_chicken" + transform="translate(-64,96)"><rect + style="fill:url(#linearGradient292686);fill-opacity:1;stroke-width:0.277182;paint-order:stroke markers fill;stop-color:#000000" + id="rect18469" + width="18" + height="22" + x="71" + y="5" + 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="8" + height="8" + x="76" + y="21" + ry="1" /><g + id="g23887" + clip-path="none" + style="fill:url(#linearGradient42830);fill-opacity:1"><rect + style="fill:url(#linearGradient94751);fill-opacity:1;stroke-width:0.170787;paint-order:stroke markers fill;stop-color:#000000" + id="rect3612-5" + width="5" + height="5" + x="72" + y="12" + ry="1" /><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="32" + height="32" + x="64" + y="0" /><use + x="0" + y="0" + xlink:href="#g23887" + id="use42929" + transform="translate(11)" /><rect + style="fill:url(#linearGradient292041);fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect37390-3" + width="20" + height="7" + x="70" + y="16" + ry="1" /></g><g + id="i_fox" + transform="translate(-160,128)"><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" /><g + id="g51553" + clip-path="url(#clipPath51555-6-8-0-1-3-1-4)" + transform="translate(-12.385191,4.0000023)"><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="178.38519" + y="5.9999981" /><rect + style="fill:url(#linearGradient287171);fill-opacity:1;stroke-width:0.258767;paint-order:stroke markers fill;stop-color:#000000" + id="rect51545" + width="21.999998" + height="5" + x="177.38519" + y="19.999998" + ry="2" /></g><g + id="g51463" + clip-path="url(#clipPath51465-6-2-8-5-5-4-9)" + 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="url(#clipPath52515-9-3-0-6-2-2-6)" + transform="matrix(-1,0,0,1,352.38519,4.0000023)"><rect + style="fill:#e9ecec;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect52365" + width="6" + height="3" + x="179.38519" + y="13.999998" /><rect + style="fill:#141519;fill-opacity:1;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect52369" + width="6" + height="5" + x="176.38519" + y="12.999998" /></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="32" + height="32" + x="160" + y="0" /></g><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="166" + y="38" + 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 175,38 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 -2 h -9 v -5 z m -3,7 h 8 v 6 h -8 z" + sodipodi:nodetypes="cccccccccccccccccccccccccc" /><rect + style="fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.264583;paint-order:stroke markers fill;stop-color:#000000" + id="rect128412-7-0" + width="32" + height="32" + x="160" + y="32" /></svg> |