Launcher/Launcher/runtime/config.js
Yaroslavik 93ab36477e Update optional mods.. Again... (#65)
Поддержка многослойного дерева вложенности / новая механика выбора одного из национальных модов.
Сортировка дерева производится так же, как и в прошлой версии (Сначала всё как config.js, потом всё остальное). Необходимо соблюдать порядок, это важно. Т.к. дерево на нём завязано. То есть модификации должны быть по порядку {Кор-мод}{Мод}{Аддон}, с соответствующими им уровнями вложенности.

Теперь выбор "одного из" работает со всеми модами/субмодами. (К примеру: При включении миникарты - отключится JEI со всеми его аддонами. Т.к. JEI и миникарта имели общий флаг группы [onlyOneGroup]  и соответственно включенный параметр [onlyOne])

Видео с демонстрацией работы вложенности/зависимости и функции выбора "одного из": https://lww.page.link/FKec
2018-11-14 15:51:58 +07:00

57 lines
2.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// ====== LAUNCHER CONFIG ====== //
var config = {
dir: "GravitLauncher", // Launcher directory
title: "GravitLauncher", // Window title
icons: [ "favicon.png" ], // Window icon paths
// Auth config
linkText: "GravitLauncher", // Text for link under "Auth" button
linkURL: new java.net.URL("https://gravitlauncher.ml"), // URL for link under "Auth" button
// Menu config
discord_url: new java.net.URL("https://discord.gg/bf7ZtwC"),
// Settings defaults
settingsMagic: 0xC0DE5, // Ancient magic, don't touch
autoEnterDefault: false, // Should autoEnter be enabled by default?
fullScreenDefault: false, // Should fullScreen be enabled by default?
ramDefault: 1024, // Default RAM amount (0 for auto)
};
// ====== DON'T TOUCH! ====== //
DirBridge.dir = IOHelper.HOME_DIR.resolve(config.dir);
if (!IOHelper.isDir(DirBridge.dir)) {
java.nio.file.Files.createDirectory(DirBridge.dir);
}
DirBridge.defaultUpdatesDir = DirBridge.dir.resolve("updates");
if (!IOHelper.isDir(DirBridge.defaultUpdatesDir)) {
java.nio.file.Files.createDirectory(DirBridge.defaultUpdatesDir);
}
//====== SERVERS CONFIG ====== //
var serversConfig = {
defaults: {
// Лозунг сервера
description: "Мир в котором возможно все"
},
getServerProperty: function(profile, property){
if(serversConfig[profile]==null || serversConfig[profile][property]==null){
return serversConfig.defaults[property];
}
return serversConfig[profile][property];
}
};
var optModNames = {
optAutoModName: true,//Попытатся автоматически создать представляемое имя модификации
modInfo: {//"Путь до опц. модификации" : "Отображаемый клиенту контент"
/*"mods/ModName-1.1.jar": {
name: "ModName", //Наименование модификации (Отображаемое в лаунчере) [Можно не указывать]
description:"Лучший в своём роде ModName.", //Описание модификации [Можно не указывать]
subTreeLevel: 1, //Уровень вложенности модификации (Ядро - 1, Мод - 2, Аддон - 3 и т.д...) (будет произведён отступ от левого края для выделения) [Можно не указывать, по умолчанию: 1]
onlyOne: true, //Для выбора только одной из группы модификаций [Можно не указывать]
onlyOneGroup: 1 //Используется в совокупности с onlyOne. Определяет ту самую группу, из которой производится выбор.
},*/
}
}