mirror of
https://github.com/UltimMC/Launcher.git
synced 2026-01-04 22:30:07 +00:00
Merge remote-tracking branch 'upstream/develop' into develop
This commit is contained in:
51
.github/ISSUE_TEMPLATE.md
vendored
51
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,51 +0,0 @@
|
|||||||
<!--
|
|
||||||
Before submitting this issue, please make sure you have:
|
|
||||||
|
|
||||||
1. Filled out this form completely, the only optional field is "additional info".
|
|
||||||
- Use as many details as possible and state the problem clearly.
|
|
||||||
2. Proof-read your ENTIRE issue report.
|
|
||||||
- Grammar and spelling mistakes make issue reports harder to understand.
|
|
||||||
3. Made sure your problem is not caused by an issue in your own modpack.
|
|
||||||
- We provide support for MultiMC, not your modpack. Problems with your modpack will be ignored.
|
|
||||||
4. Given the issue a descriptive title.
|
|
||||||
- A good title includes a brief summary of the issue and avoids things such as "Help" and "What?!".
|
|
||||||
Use of UPPERCASE is discouraged, as it reads like someone is screaming.
|
|
||||||
5. Place all information below the ---- of lines.
|
|
||||||
- It makes the issue look pretty
|
|
||||||
|
|
||||||
If you believe your issue to be a bug, please make sure you check the wiki page: https://github.com/MultiMC/MultiMC5/wiki/Report-a-Bug
|
|
||||||
-->
|
|
||||||
|
|
||||||
System Information
|
|
||||||
-----------------------------
|
|
||||||
MultiMC version:
|
|
||||||
|
|
||||||
Operating System:
|
|
||||||
|
|
||||||
Summary of the issue or suggestion:
|
|
||||||
----------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
What should happen:
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
Steps to reproduce the issue (Add more if needed):
|
|
||||||
-------------------------------------------------------------
|
|
||||||
1.
|
|
||||||
|
|
||||||
2.
|
|
||||||
|
|
||||||
3.
|
|
||||||
|
|
||||||
Suspected cause:
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
|
|
||||||
Logs/Screenshots:
|
|
||||||
----------------------------
|
|
||||||
[//]: # (Please refer to https://github.com/MultiMC/MultiMC5/wiki/Log-Upload for instructions on how to attach your logs.)
|
|
||||||
|
|
||||||
|
|
||||||
Additional Info:
|
|
||||||
---------------------------
|
|
||||||
52
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
52
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
name: Bug Report
|
||||||
|
description: File a bug report
|
||||||
|
labels: [bug, needs-triage]
|
||||||
|
issue_body: false
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
If you need help with running Minecraft, please visit us [on our Discord](https://discord.gg/multimc) before making a bug report.
|
||||||
|
|
||||||
|
Before submitting a bug report, please make sure you have read this *entire* form, and that:
|
||||||
|
* You have read the [FAQ](https://github.com/MultiMC/MultiMC5/wiki/FAQ) and it has not answered your question
|
||||||
|
* Your bug is not caused by Minecraft or any mods you have installed.
|
||||||
|
* Your issue has not been reported before, [make sure to use the search function!](https://github.com/MultiMC/MultiMC5/issues)
|
||||||
|
|
||||||
|
**Do not forget to give your issue a descriptive title.** "Bug in the instance screen" makes it hard to distinguish issues at a glance.
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Operating System
|
||||||
|
description: If you know this bug occurs on multiple operating systems, select all you have tested.
|
||||||
|
multiple: true
|
||||||
|
options:
|
||||||
|
- Windows
|
||||||
|
- macOS
|
||||||
|
- Linux
|
||||||
|
- Other
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Description of bug
|
||||||
|
description: What did you expect to happen, what happened, and why is it incorrect?
|
||||||
|
placeholder: The cat button should show a cat, but it showed a dog instead!
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Steps to reproduce
|
||||||
|
description: A bulleted list, or an exported instance if relevant.
|
||||||
|
placeholder: "* Press the cat button"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Suspected cause
|
||||||
|
description: If you know what could be causing this bug, describe it here.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: This issue is unique
|
||||||
|
options:
|
||||||
|
- label: I have searched the issue tracker and did not find an issue describing my bug.
|
||||||
|
required: true
|
||||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
blank_issues_enabled: true
|
||||||
|
contact_links:
|
||||||
|
- name: MultiMC Discord
|
||||||
|
url: https://discord.gg/multimc
|
||||||
|
about: Please ask for support here before opening an issue.
|
||||||
41
.github/ISSUE_TEMPLATE/suggestion.yml
vendored
Normal file
41
.github/ISSUE_TEMPLATE/suggestion.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
name: Suggestion
|
||||||
|
description: Make a suggestion
|
||||||
|
labels: [idea, needs-triage]
|
||||||
|
issue_body: true
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
### Use this form to suggest a feature for MultiMC.
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Role
|
||||||
|
description: In what way do you use MultiMC that needs this feature?
|
||||||
|
placeholder: I play modded Minecraft.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Suggestion
|
||||||
|
description: What do you want MultiMC to do?
|
||||||
|
placeholder: I want the cat button to meow.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Benefit
|
||||||
|
description: Why do you need MultiMC to do this?
|
||||||
|
placeholder: so that I can always hear a cat when I need to.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: This suggestion is unique
|
||||||
|
options:
|
||||||
|
- label: I have searched the issue tracker and did not find an issue describing my suggestion, especially not one that has been rejected.
|
||||||
|
required: true
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
### You may use the editor below to elaborate further.
|
||||||
|
# The issue_body: true up there makes the standard WYSIWYG editor for issues show up down here.
|
||||||
4
BUILD.md
4
BUILD.md
@@ -94,8 +94,8 @@ Getting the project to build and run on Windows is easy if you use Qt's IDE, Qt
|
|||||||
* [Qt 5.6+ Development tools](http://qt-project.org/downloads) -- Qt Online Installer for Windows
|
* [Qt 5.6+ Development tools](http://qt-project.org/downloads) -- Qt Online Installer for Windows
|
||||||
- http://download.qt.io/new_archive/qt/5.6/5.6.0/qt-opensource-windows-x86-mingw492-5.6.0.exe
|
- http://download.qt.io/new_archive/qt/5.6/5.6.0/qt-opensource-windows-x86-mingw492-5.6.0.exe
|
||||||
- Download the MinGW version (MSVC version does not work).
|
- Download the MinGW version (MSVC version does not work).
|
||||||
* [OpenSSL](https://indy.fulgan.com/SSL/Archive/) -- Win32 OpenSSL, version 1.0.2g (from 2016)
|
* [OpenSSL](https://github.com/IndySockets/OpenSSL-Binaries/tree/master/Archive/) -- Win32 OpenSSL, version 1.0.2g (from 2016)
|
||||||
- https://indy.fulgan.com/SSL/Archive/openssl-1.0.2g-i386-win32.zip
|
- https://github.com/IndySockets/OpenSSL-Binaries/raw/master/Archive/openssl-1.0.2g-i386-win32.zip
|
||||||
- the usual OpenSSL for Windows (http://slproweb.com/products/Win32OpenSSL.html) only provides the newest version of OpenSSL, and we need the 1.0.2g version
|
- the usual OpenSSL for Windows (http://slproweb.com/products/Win32OpenSSL.html) only provides the newest version of OpenSSL, and we need the 1.0.2g version
|
||||||
- **Download the 32-bit version, not 64-bit.**
|
- **Download the 32-bit version, not 64-bit.**
|
||||||
- Microsoft Visual C++ 2008 Redist is required for this, there's a link on the OpenSSL download page above next to the main download.
|
- Microsoft Visual C++ 2008 Redist is required for this, there's a link on the OpenSSL download page above next to the main download.
|
||||||
|
|||||||
@@ -226,8 +226,8 @@ set(MINECRAFT_SOURCES
|
|||||||
|
|
||||||
minecraft/launch/ClaimAccount.cpp
|
minecraft/launch/ClaimAccount.cpp
|
||||||
minecraft/launch/ClaimAccount.h
|
minecraft/launch/ClaimAccount.h
|
||||||
minecraft/launch/CreateServerResourcePacksFolder.cpp
|
minecraft/launch/CreateGameFolders.cpp
|
||||||
minecraft/launch/CreateServerResourcePacksFolder.h
|
minecraft/launch/CreateGameFolders.h
|
||||||
minecraft/launch/ModMinecraftJar.cpp
|
minecraft/launch/ModMinecraftJar.cpp
|
||||||
minecraft/launch/ModMinecraftJar.h
|
minecraft/launch/ModMinecraftJar.h
|
||||||
minecraft/launch/DirectJavaLaunch.cpp
|
minecraft/launch/DirectJavaLaunch.cpp
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#include "MinecraftInstance.h"
|
#include "MinecraftInstance.h"
|
||||||
#include <minecraft/launch/CreateServerResourcePacksFolder.h>
|
#include <minecraft/launch/CreateGameFolders.h>
|
||||||
#include <minecraft/launch/ExtractNatives.h>
|
#include <minecraft/launch/ExtractNatives.h>
|
||||||
#include <minecraft/launch/PrintInstanceInfo.h>
|
#include <minecraft/launch/PrintInstanceInfo.h>
|
||||||
#include <settings/Setting.h>
|
#include <settings/Setting.h>
|
||||||
@@ -38,6 +38,7 @@
|
|||||||
#include "MinecraftUpdate.h"
|
#include "MinecraftUpdate.h"
|
||||||
#include "MinecraftLoadAndCheck.h"
|
#include "MinecraftLoadAndCheck.h"
|
||||||
#include <minecraft/gameoptions/GameOptions.h>
|
#include <minecraft/gameoptions/GameOptions.h>
|
||||||
|
#include <minecraft/update/FoldersTask.h>
|
||||||
|
|
||||||
#define IBUS "@im=ibus"
|
#define IBUS "@im=ibus"
|
||||||
|
|
||||||
@@ -810,6 +811,11 @@ shared_qobject_ptr<LaunchTask> MinecraftInstance::createLaunchTask(AuthSessionPt
|
|||||||
return process;
|
return process;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// create the .minecraft folder and server-resource-packs (workaround for Minecraft bug MCL-3732)
|
||||||
|
{
|
||||||
|
process->appendStep(new CreateGameFolders(pptr));
|
||||||
|
}
|
||||||
|
|
||||||
// run pre-launch command if that's needed
|
// run pre-launch command if that's needed
|
||||||
if(getPreLaunchCommand().size())
|
if(getPreLaunchCommand().size())
|
||||||
{
|
{
|
||||||
@@ -835,7 +841,7 @@ shared_qobject_ptr<LaunchTask> MinecraftInstance::createLaunchTask(AuthSessionPt
|
|||||||
process->appendStep(new ModMinecraftJar(pptr));
|
process->appendStep(new ModMinecraftJar(pptr));
|
||||||
}
|
}
|
||||||
|
|
||||||
// if there are any jar mods
|
// Scan mods folders for mods
|
||||||
{
|
{
|
||||||
process->appendStep(new ScanModFolders(pptr));
|
process->appendStep(new ScanModFolders(pptr));
|
||||||
}
|
}
|
||||||
@@ -845,11 +851,6 @@ shared_qobject_ptr<LaunchTask> MinecraftInstance::createLaunchTask(AuthSessionPt
|
|||||||
process->appendStep(new PrintInstanceInfo(pptr, session));
|
process->appendStep(new PrintInstanceInfo(pptr, session));
|
||||||
}
|
}
|
||||||
|
|
||||||
// create the server-resource-packs folder (workaround for Minecraft bug MCL-3732)
|
|
||||||
{
|
|
||||||
process->appendStep(new CreateServerResourcePacksFolder(pptr));
|
|
||||||
}
|
|
||||||
|
|
||||||
// extract native jars if needed
|
// extract native jars if needed
|
||||||
{
|
{
|
||||||
process->appendStep(new ExtractNatives(pptr));
|
process->appendStep(new ExtractNatives(pptr));
|
||||||
|
|||||||
28
api/logic/minecraft/launch/CreateGameFolders.cpp
Normal file
28
api/logic/minecraft/launch/CreateGameFolders.cpp
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#include "CreateGameFolders.h"
|
||||||
|
#include "minecraft/MinecraftInstance.h"
|
||||||
|
#include "launch/LaunchTask.h"
|
||||||
|
#include "FileSystem.h"
|
||||||
|
|
||||||
|
CreateGameFolders::CreateGameFolders(LaunchTask* parent): LaunchStep(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CreateGameFolders::executeTask()
|
||||||
|
{
|
||||||
|
auto instance = m_parent->instance();
|
||||||
|
std::shared_ptr<MinecraftInstance> minecraftInstance = std::dynamic_pointer_cast<MinecraftInstance>(instance);
|
||||||
|
|
||||||
|
if(!FS::ensureFolderPathExists(minecraftInstance->gameRoot()))
|
||||||
|
{
|
||||||
|
emit logLine("Couldn't create the main game folder", MessageLevel::Error);
|
||||||
|
emitFailed("Couldn't create the main game folder");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// HACK: this is a workaround for MCL-3732 - 'server-resource-packs' folder is created.
|
||||||
|
if(!FS::ensureFolderPathExists(FS::PathCombine(minecraftInstance->gameRoot(), "server-resource-packs")))
|
||||||
|
{
|
||||||
|
emit logLine("Couldn't create the 'server-resource-packs' folder", MessageLevel::Error);
|
||||||
|
}
|
||||||
|
emitSucceeded();
|
||||||
|
}
|
||||||
@@ -19,13 +19,13 @@
|
|||||||
#include <LoggedProcess.h>
|
#include <LoggedProcess.h>
|
||||||
#include <minecraft/auth/AuthSession.h>
|
#include <minecraft/auth/AuthSession.h>
|
||||||
|
|
||||||
// HACK: this is a workaround for MCL-3732 - 'server-resource-packs' folder is created.
|
// Create the main .minecraft for the instance and any other necessary folders
|
||||||
class CreateServerResourcePacksFolder: public LaunchStep
|
class CreateGameFolders: public LaunchStep
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit CreateServerResourcePacksFolder(LaunchTask *parent);
|
explicit CreateGameFolders(LaunchTask *parent);
|
||||||
virtual ~CreateServerResourcePacksFolder() {};
|
virtual ~CreateGameFolders() {};
|
||||||
|
|
||||||
virtual void executeTask();
|
virtual void executeTask();
|
||||||
virtual bool canAbort() const
|
virtual bool canAbort() const
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
#include "CreateServerResourcePacksFolder.h"
|
|
||||||
#include "minecraft/MinecraftInstance.h"
|
|
||||||
#include "launch/LaunchTask.h"
|
|
||||||
#include "FileSystem.h"
|
|
||||||
|
|
||||||
CreateServerResourcePacksFolder::CreateServerResourcePacksFolder(LaunchTask* parent): LaunchStep(parent)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void CreateServerResourcePacksFolder::executeTask()
|
|
||||||
{
|
|
||||||
auto instance = m_parent->instance();
|
|
||||||
std::shared_ptr<MinecraftInstance> minecraftInstance = std::dynamic_pointer_cast<MinecraftInstance>(instance);
|
|
||||||
if(!FS::ensureFolderPathExists(FS::PathCombine(minecraftInstance->gameRoot(), "server-resource-packs")))
|
|
||||||
{
|
|
||||||
emit logLine(tr("Couldn't create the 'server-resource-packs' folder"), MessageLevel::Error);
|
|
||||||
}
|
|
||||||
emitSucceeded();
|
|
||||||
}
|
|
||||||
@@ -27,11 +27,16 @@ void ScanModFolders::executeTask()
|
|||||||
|
|
||||||
auto loaders = m_inst->loaderModList();
|
auto loaders = m_inst->loaderModList();
|
||||||
connect(loaders.get(), &ModFolderModel::updateFinished, this, &ScanModFolders::modsDone);
|
connect(loaders.get(), &ModFolderModel::updateFinished, this, &ScanModFolders::modsDone);
|
||||||
loaders->update();
|
if(!loaders->update()) {
|
||||||
|
m_modsDone = true;
|
||||||
|
}
|
||||||
|
|
||||||
auto cores = m_inst->coreModList();
|
auto cores = m_inst->coreModList();
|
||||||
connect(cores.get(), &ModFolderModel::updateFinished, this, &ScanModFolders::coreModsDone);
|
connect(cores.get(), &ModFolderModel::updateFinished, this, &ScanModFolders::coreModsDone);
|
||||||
cores->update();
|
if(!cores->update()) {
|
||||||
|
m_coreModsDone = true;
|
||||||
|
}
|
||||||
|
checkDone();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScanModFolders::modsDone()
|
void ScanModFolders::modsDone()
|
||||||
|
|||||||
Reference in New Issue
Block a user