Skip to content

CurseForge ​

Плагін curseforge з @opys/minecraft.

Моди з CurseForge, названі за файлом.

js
curseforge({
  token: process.env.CURSEFORGE_TOKEN,
  to: (file) => '${game_directory}/mods/' + file.filename,
  files: [
    6717445, // ID файла
    'https://www.curseforge.com/minecraft/mc-mods/jei/files/6307712', // або його URL
  ],
});

Параметри ​

ПараметрЩо робить
filesID файлів або URL сторінок файлів.
toКуди встановлюється кожен файл.
tokenКлюч API CurseForge. Обов'язковий.
apiBaseДзеркало API CurseForge.

Чому потрібен токен: у CurseForge немає анонімного API. Візьміть ключ з їхньої консолі і читайте його із середовища, щоб конфігурацію можна було зберігати в репозиторії.

sh
CURSEFORGE_TOKEN=your-key opys build

to ​

Викликається один раз для кожного файла. Повертає місце, куди цей файл встановлюється.

file.Що це
filenameІм'я jar.
fileIdФайл, який ви назвали.
projectIdПроєкт мода.
sizeРозмір у байтах.

Починайте шлях зі змінної, такої як ${game_directory}. Вона заповнюється на комп'ютері гравця.

Що він додає ​

ВидЩо
ФайлиПо одному на кожен названий файл.
ЗапускНемає.
ЗмінніНемає.
СередовищеНемає.

Кожен пункт нижче: що це таке і як воно потрапляє в маніфест.

Файли · по одному на ID файла ​

З CDN CurseForge, закріплені за sha1, який публікує CurseForge. path це те, що повернула ваша функція to.

js
// opys.config.mjs
export default defineConfig({
  plugins: [
    forge({ version: '1.20.1' }),
    java({ version: '17' }),
    curseforge({
      token: process.env.CURSEFORGE_TOKEN,
      to: (file) => '${game_directory}/mods/' + file.filename,
      files: [6307712],
    }),
  ],
  manifest: {
    command: '@forge.command',
    args: ['@forge.jvmArgs', '@forge.mainClass', '@forge.gameArgs'],
    workdir: '${game_directory}',
  },
});
jsonc
// у маніфесті
{
  "path": "${game_directory}/mods/<the file's name>.jar",
  "source": { "url": "https://edge.forgecdn.net/files/…/<the file's name>.jar" },
  "size": 1234567,
  "integrity": { "sha1": "…" }
}

Немає фрагментів запуску і немає змінних.

Токен не додається. Він використовується під час збирання. URL завантаження публічні, тому гравцям токен ніколи не потрібен.

Цілий модпак ​

js
plugins: [
  curseforgeModpack({ token: process.env.CURSEFORGE_TOKEN, file: 1040985 }),
  java({ version: '17' }),
],

Він додає завантажувач, який просить збірка, кожен її мод і overrides збірки, розпаковані в ${game_directory}.

Фрагменти запуску це фрагменти завантажувача під іменем curseforgeModpack: '@curseforgeModpack.jvmArgs' і так далі. Збірки Quilt не підтримуються.

Варто знати ​

  • Мод називається за ID його файла, числом після /files/, а не за ID проєкту.
  • Залежності мода не додаються. Перелічіть їх.
  • Модпак не каже, яку Java він хоче. Додайте java.