Skip to content

@opys/minecraft ​

npm

Кожен плагін Minecraft для opys в одному імпорті. Власного коду він не має: він реекспортує пакети нижче.

sh
npm install -g @opys/cli
npm install -D @opys/dev @opys/minecraft

Приклад ​

js
// opys.config.mjs
import { defineConfig, userDataDir } from '@opys/dev';
import { forge, java } from '@opys/minecraft';

export default defineConfig({
  output: 'game.opys',
  plugins: [forge({ version: '1.20.1' }), java({ version: '17' })],
  manifest: {
    command: '@forge.command',
    args: ['@forge.jvmArgs', '@forge.mainClass', '@forge.gameArgs'],
    workdir: '${game_directory}',
  },
  run: (manifest) => ({
    manifest: {
      vars: {
        ...manifest.vars,
        root: userDataDir('my-pack'),
        username: 'Player',
        uuid: '00000000-0000-0000-0000-000000000001',
        token: '0',
      },
    },
  }),
});

Потім opys launch.

Що всередині ​

Гра ​

Виберіть один. Кожен приносить гру, її бібліотеки і її командний рядок.

ПлагінЩо встановлюєПакет
minecraftГру без завантажувача модів.@opys/minecraft-vanilla
forgeForge.@opys/forge
neoforgeNeoForge.@opys/neoforge
fabricFabric.@opys/fabric
cleanroomCleanroom: 1.12.2 на сучасній Java.@opys/cleanroom
lwjgl3ifylwjgl3ify: 1.7.10 на сучасній Java.@opys/lwjgl3ify

Java ​

ПлагінЩо встановлюєПакет
javaJDK, щоб гравцям не треба було нічого встановлювати.@opys/java
dgpujПрокладку, що вибирає дискретну відеокарту.@opys/dgpuj

Моди та інші файли ​

ПлагінЩо встановлюєПакет
modrinthФайли з Modrinth, за версією.@opys/modrinth
modrinthModpackЦілий модпак Modrinth, разом із завантажувачем.@opys/modrinth
curseforgeФайли з CurseForge, за файлом.@opys/curseforge
curseforgeModpackЦілий модпак CurseForge, разом із завантажувачем.@opys/curseforge
linksБудь-який файл, на який у вас є посилання.@opys/links

files, для теки на вашому диску, у @opys/dev.

Акаунти і сервери ​

ЕкспортЩо робитьПакет
authlibertyВказує гру на ваші власні сервери авторизації.@opys/authliberty
bifrostПідписує токен входу. Функція, вжита в run.@opys/bifrost
serverlistЗаповнює список серверів для багатокористувацької гри.@opys/minecraft-serverlist
serverСервер Minecraft, для серверної збірки.@opys/minecraft-server

Один імпорт чи кілька ​

Обидва працюють, і це той самий код.

js
import { forge, java, modrinth } from '@opys/minecraft';
js
import { forge } from '@opys/forge';
import { java } from '@opys/java';
import { modrinth } from '@opys/modrinth';

Дві назви тут відрізняються від пакетів, звідки вони походять:

ТутУ власному пакеті
bifrostresolveBifrost у @opys/bifrost. Обидві назви працюють тут.
DEFAULT_PLATFORMSТут це @opys/java. @opys/dgpuj має власний.

Кожен плагін ​

Кожен плагін у найчастішому написанні. Кожен параметр у власному README плагіна.

js
// гра: один із
minecraft({ version: '1.21.1' });
forge({ version: '1.20.1' });
neoforge({ version: '1.21.1' });
fabric({ version: '1.21.1' });
cleanroom({ version: '1.12.2' });
lwjgl3ify({ version: '1.7.10' });

// java
java({ version: '21' });
dgpuj();

// моди та інші файли
modrinth({ versions: ['Xbc0uyRg'], to: (file) => '${game_directory}/mods/' + file.filename });
curseforge({ files: [4835191], to: (file) => '${game_directory}/mods/' + file.filename, token });
links({ links: ['https://github.com/owner/repo/releases/download/v1.0/mod.jar'], to: (file) => '${game_directory}/mods/' + file.filename });
modrinthModpack({ pack: 'xVcA1pSL' });
curseforgeModpack({ file: 1040985, token });

// акаунти і сервери
authliberty({ version: 'latest', hosts: { auth: 'https://auth.example.com' } });
serverlist({ servers: [{ name: 'My server', ip: 'play.example.com' }] });
bifrost({ privateKey, username: 'Player', uuid: '00000000-0000-0000-0000-000000000001' }); // у `run`

Документація ​

Частина opys.