Use separate native folder for each platform
This commit is contained in:
@@ -342,7 +342,7 @@ settings.advanced.launcher_visible=Visibilidad de launcher
|
|||||||
settings.advanced.minecraft_arguments=Minecraft Arguments
|
settings.advanced.minecraft_arguments=Minecraft Arguments
|
||||||
settings.advanced.natives_directory=Loka biblioteko- vojo (LWJGL)
|
settings.advanced.natives_directory=Loka biblioteko- vojo (LWJGL)
|
||||||
settings.advanced.natives_directory.choose=Elektu lokan bibliotekvojn
|
settings.advanced.natives_directory.choose=Elektu lokan bibliotekvojn
|
||||||
settings.advanced.natives_directory.default=Por defecto (.minecraft/versions/<version name>/natives/)
|
settings.advanced.natives_directory.default=Por defecto (El lanzador proporciona la biblioteca local del juego)
|
||||||
settings.advanced.no_jvm_args=No JVM Args por defecto
|
settings.advanced.no_jvm_args=No JVM Args por defecto
|
||||||
settings.advanced.precall_command=Comando pre-inicio (será ejecutado antes de inicio del juego)
|
settings.advanced.precall_command=Comando pre-inicio (será ejecutado antes de inicio del juego)
|
||||||
settings.advanced.server_ip=Host de servidor
|
settings.advanced.server_ip=Host de servidor
|
||||||
|
|||||||
@@ -359,7 +359,7 @@ settings.advanced.launcher_visible=Видимость лаунчера
|
|||||||
settings.advanced.minecraft_arguments=Параметры Minecraft
|
settings.advanced.minecraft_arguments=Параметры Minecraft
|
||||||
settings.advanced.natives_directory=путь к локальной библиотеке (LWJGL)
|
settings.advanced.natives_directory=путь к локальной библиотеке (LWJGL)
|
||||||
settings.advanced.natives_directory.choose=Выберите путь к локальной библиотеке
|
settings.advanced.natives_directory.choose=Выберите путь к локальной библиотеке
|
||||||
settings.advanced.natives_directory.default=По умолчанию (.minecraft/versions/<версия>/natives/)
|
settings.advanced.natives_directory.default=По умолчанию (Локальная библиотека игры предоставляется лаунчером)
|
||||||
settings.advanced.no_jvm_args=По умолчанию параметры JVM отсутствуют
|
settings.advanced.no_jvm_args=По умолчанию параметры JVM отсутствуют
|
||||||
settings.advanced.precall_command=Команда предзапуска (будет выполнено до запуска игры)
|
settings.advanced.precall_command=Команда предзапуска (будет выполнено до запуска игры)
|
||||||
settings.advanced.server_ip=Адрес сервера
|
settings.advanced.server_ip=Адрес сервера
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import org.jackhuang.hmcl.util.Lang;
|
|||||||
import org.jackhuang.hmcl.util.ToStringBuilder;
|
import org.jackhuang.hmcl.util.ToStringBuilder;
|
||||||
import org.jackhuang.hmcl.util.gson.JsonUtils;
|
import org.jackhuang.hmcl.util.gson.JsonUtils;
|
||||||
import org.jackhuang.hmcl.util.io.FileUtils;
|
import org.jackhuang.hmcl.util.io.FileUtils;
|
||||||
|
import org.jackhuang.hmcl.util.platform.Platform;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -154,8 +155,8 @@ public class DefaultGameRepository implements GameRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public File getNativeDirectory(String id) {
|
public File getNativeDirectory(String id, Platform platform) {
|
||||||
return new File(getVersionRoot(id), "natives");
|
return new File(getVersionRoot(id), "natives-" + platform);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
package org.jackhuang.hmcl.game;
|
package org.jackhuang.hmcl.game;
|
||||||
|
|
||||||
import org.jackhuang.hmcl.task.Task;
|
import org.jackhuang.hmcl.task.Task;
|
||||||
|
import org.jackhuang.hmcl.util.platform.Platform;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -123,9 +124,10 @@ public interface GameRepository extends VersionProvider {
|
|||||||
* always fail({@code UnsupportedOperationException}) and not to use it.
|
* always fail({@code UnsupportedOperationException}) and not to use it.
|
||||||
*
|
*
|
||||||
* @param id version id
|
* @param id version id
|
||||||
|
* @param platform the platform of native libraries
|
||||||
* @return the native directory
|
* @return the native directory
|
||||||
*/
|
*/
|
||||||
File getNativeDirectory(String id);
|
File getNativeDirectory(String id, Platform platform);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get minecraft jar
|
* Get minecraft jar
|
||||||
|
|||||||
@@ -356,7 +356,7 @@ public class DefaultLauncher extends Launcher {
|
|||||||
public ManagedProcess launch() throws IOException, InterruptedException {
|
public ManagedProcess launch() throws IOException, InterruptedException {
|
||||||
File nativeFolder = null;
|
File nativeFolder = null;
|
||||||
if (options.getNativesDirType() == NativesDirectoryType.VERSION_FOLDER) {
|
if (options.getNativesDirType() == NativesDirectoryType.VERSION_FOLDER) {
|
||||||
nativeFolder = repository.getNativeDirectory(version.getId());
|
nativeFolder = repository.getNativeDirectory(version.getId(), options.getJava().getPlatform());
|
||||||
} else {
|
} else {
|
||||||
nativeFolder = new File(options.getNativesDir());
|
nativeFolder = new File(options.getNativesDir());
|
||||||
}
|
}
|
||||||
@@ -431,7 +431,7 @@ public class DefaultLauncher extends Launcher {
|
|||||||
|
|
||||||
File nativeFolder = null;
|
File nativeFolder = null;
|
||||||
if (options.getNativesDirType() == NativesDirectoryType.VERSION_FOLDER) {
|
if (options.getNativesDirType() == NativesDirectoryType.VERSION_FOLDER) {
|
||||||
nativeFolder = repository.getNativeDirectory(version.getId());
|
nativeFolder = repository.getNativeDirectory(version.getId(), options.getJava().getPlatform());
|
||||||
} else {
|
} else {
|
||||||
nativeFolder = new File(options.getNativesDir());
|
nativeFolder = new File(options.getNativesDir());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user