forked from SKCraft/Launcher
-
Notifications
You must be signed in to change notification settings - Fork 0
Hidden Modpacks
pama1234 edited this page Jun 6, 2024
·
2 revisions
可以创建仅在用户输入特定“密钥”时出现的模组包。
如果你有 PHP 支持,Modpack 创建工具可以为你自动生成支持此功能的包列表文件。参见 Creating-Modpacks。
确保在 launcher.properties
中配置 packageListUrl
参数,使其包含一个“%s”,这个“%s”会被用户在设置中设置的游戏密钥(经过 URL 编码)替换。
例如,如果你的属性文件如下所示:
packageListUrl=http://example.com/packages.json?key=%s
而在选项中,用户设置了这个:
它会加载以下 URL:
http://example.com/packages.json?key=secret
你也可以使用下面提供的 PHP 脚本手动设置此功能。你的网站需要支持 PHP 脚本。Dropbox 不会工作。
以下是一个示例 PHP 脚本,它读取密钥参数以显示一个额外的模组包:
<?php
// 此文件自动生成 packages.json
function getPackageData($pathname) {
$data = json_decode(file_get_contents($pathname));
if (isset($data->name) && isset($data->version)) {
return [
'name' => $data->name,
'title' => isset($data->title) ? $data->title : $data->name,
'version' => $data->version,
'location' => $pathname,
'priority' => 1,
];
} else {
return null;
}
}
$key = isset($_GET['key']) ? $_GET['key'] : "";
$files = glob("*.json");
if ($files === false) {
$files = [];
}
$document = [
'minimumVersion' => 1,
'packages' => [],
];
// 获取同一文件夹中的包
foreach ($files as $file) {
$data = getPackageData($file);
if ($data !== null) {
$document['packages'][] = $data;
}
}
// 如果密钥是 'secret',则添加来自 'private/beta.json' 的包
if ($key == "secret") {
$document['packages'][] = getPackageData("private/beta.json");
}
header("Content-Type: text/plain");
echo json_encode($document, JSON_PRETTY_PRINT);
?>
需要帮助吗?请参阅Getting-Help.
教程
启动器功能:
- Fancy-Launcher
- Portable-Mode
- Hidden-Modpacks
- Deploying-Server-Modpacks
- Launcher-Arguments
- Custom-JAR (.jar mods)
- Custom-Version-Manifest
自定义:
- Localization
- News-Page-Guide
- Custom-Microsoft-OAuth-application
- Using-an-IDE (Eclipse, IntelliJ)
附加阅读:
觉得此启动器有用吗?
捐赠给obw,目前的主项目的维护者:
捐赠给sk89q,最初的维护者: