Skip to content

Fabric ​

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

Fabric для будь-якої версії Minecraft, яку підтримує Fabric.

js
// opys.config.mjs
export default defineConfig({
  plugins: [
    fabric({ version: '1.21.4' }),
    java({ version: '21' }),
  ],
  manifest: {
    command: '@fabric.command',
    args: [
      '@fabric.jvmArgs',
      '@fabric.mainClass',
      '@fabric.gameArgs',
    ],
    workdir: '${game_directory}',
  },
});

Використовуйте його замість minecraft. Завантажувач привозить гру з собою.

Параметри ​

ПараметрЩо робить
versionЯка збірка. Див. нижче.
loaderВерсія завантажувача Fabric. Якщо пропущено: найновіша стабільна.
sourceДзеркало Fabric Meta.
manifestBaseДзеркало списку версій Mojang.
librariesБібліотеки для додавання або заміни.

version ​

Звичайна версія Minecraft. У Fabric немає псевдонімів.

js
fabric({ version: '1.21.4' }); // найновіший стабільний завантажувач Fabric
fabric({ version: '1.21.4', loader: '0.16.10' }); // закріплений

Без loader використовується найновіший стабільний завантажувач, тому він може змінюватися між збираннями. Закріпіть його для збірки, яка ніколи не рухається.

Що він додає ​

Усе, що додає ванільний Minecraft, з такими відмінностями.

ВидЩо
ФайлиЗавантажувач Fabric і його бібліотеки, поверх гри.
Запускcommand, jvmArgs, mainClass, gameArgs.
ЗмінніТі самі, що ванільні.
СередовищеНемає.

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

Файли · бібліотеки Fabric ​

Завантажувач Fabric і те, що йому потрібно, із сервера Fabric.

js
// opys.config.mjs
export default defineConfig({
  plugins: [
    fabric({ version: '1.21.4' }),
    java({ version: '21' }),
  ],
  manifest: {
    command: '@fabric.command',
    args: [
      '@fabric.jvmArgs',
      '@fabric.mainClass',
      '@fabric.gameArgs',
    ],
    workdir: '${game_directory}',
  },
});
jsonc
// у маніфесті
{
  "path": "${library_directory}/net/fabricmc/fabric-loader/0.19.5/fabric-loader-0.19.5.jar",
  "source": { "url": "https://maven.fabricmc.net/net/fabricmc/fabric-loader/0.19.5/fabric-loader-0.19.5.jar" }
}

Запуск ​

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

js
// opys.config.mjs
export default defineConfig({
  plugins: [
    fabric({ version: '1.21.4' }),
    java({ version: '21' }),
  ],
  manifest: {
    command: '@fabric.command',
    args: [
      '@fabric.jvmArgs',
      '@fabric.mainClass',
      '@fabric.gameArgs',
    ],
    workdir: '${game_directory}',
  },
});
jsonc
// у маніфесті
"launch": {
  // '@fabric.command'
  "command": "${java_bin}",
  "args": [
    // '@fabric.jvmArgs'
    // … ванільні аргументи JVM, далі:
    "-cp",
    "${classpath}",
    "-DFabricMcEmu= net.minecraft.client.main.Main ",
    // '@fabric.mainClass'
    "net.fabricmc.loader.impl.launch.knot.KnotClient",
    // '@fabric.gameArgs'
    "--username", "${auth_player_name}",
    "--version", "${version_name}"
    // … ванільні аргументи гри
  ],
  "workdir": "${game_directory}"
}
Ви пишетеСтає
'@fabric.command'Програма для запуску: та Java, яку має збірка.
'@fabric.jvmArgs'Аргументи для самої Java, в кінці з classpath.
'@fabric.mainClass'Клас для старту. Один аргумент.
'@fabric.gameArgs'Аргументи для гри: хто грає і де що знаходиться.

Змінні ​

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

js
// opys.config.mjs
export default defineConfig({
  plugins: [
    fabric({ version: '1.21.4' }),
    java({ version: '21' }),
  ],
  manifest: {
    command: '@fabric.command',
    args: [
      '@fabric.jvmArgs',
      '@fabric.mainClass',
      '@fabric.gameArgs',
    ],
    workdir: '${game_directory}',
  },
});
jsonc
// у маніфесті
"vars": {
  "game_directory": "${root}/",
  "library_directory": "${root}/libraries",
  // … решта, як у ванільній версії
}

Нічого не запускається на комп'ютері гравця до гри. У Fabric немає кроку встановлення.

Варто знати ​