de Josh Wulf

Cum să modificați Minecraft într-un mod ușor cu TypeScript

De obicei, modificarea Minecraft necesită codificare în Java și o mulțime de schele. Acum puteți scrie și partaja moduri Minecraft folosind TypeScript / Javascript.

ScriptCraft este o bibliotecă open source JavaScript Minecraft modding și am scris suport pentru TypeScript și o grămadă de instrumente pentru a crea o experiență de dezvoltator familiară pentru cei care provin din JavaScript land (inclusiv Yeoman și NPM).

În acest articol, vă voi ajuta să vă configurați și să creați primul dvs. mod TypeScript Minecraft în mai puțin de o oră – doar 20 de minute, în funcție de conexiunea dvs. la internet.

În acest videoclip (Click aici dacă încorporarea nu funcționează mai sus) Vă arăt cum să scrieți un mod Minecraft de bază folosind TypeScript și să îl executați pe computerul dvs. local atât cu un desktop Minecraft cât și cu un server mobil.

ad-banner

Mai jos, vă voi parcurge pașii, cu linkuri către resurse.

Condiții prealabile

Veți avea nevoie de unele programe software instalate pe computer, pentru a rula serverul Minecraft și instrumentele pentru scrierea pluginului. Instalați toate cele patru următoarele:

  • Docher – o soluție de containerizare.
  • Node.js – un motor de executare JavaScript și o bibliotecă.
  • Portar – o interfață grafică web pentru gestionarea containerelor Docker.
  • Cod Visual Studio – un editor de cod.

Client Minecraft

Ai nevoie de un Minecraft client pentru a vă testa pluginul.

Instalați cel puțin una dintre următoarele:

Instalare

Acum că aveți condițiile prealabile instalate, este timpul să instalați instrumentele pentru server și pentru dezvoltarea pluginului.

  1. Rulați următoarea comandă:
npm i -g smac yo generator-sma-plugin typescript

Aceasta va instala patru lucruri pe computer:

  • smacControler de arhitectură modulară Scriptcraft, un program care rulează Servere Minecraft pentru pluginurile dvs.
  • yoYeoman, un instrument de schele.
  • generator-sma-plugin – un plugin Yeoman pentru generarea unui nou plugin Minecraft folosind Scriptcraft Modular Architecture.
  • typescript – transpilatorul TypeScript, pentru conversia codului TypeScript în JavaScript ES5 care poate rula în Minecraft.

Creați un nou plugin

Acum că aveți setul de instrumente instalat, creați un nou plugin executând această comandă:

yo sma-plugin

Aceasta pornește expertul pentru plugin:

➜ yo sma-plugin
     _-----_     ╭──────────────────────────╮    |       |    │      Welcome to the      │    |--(o)--|    │  Scriptcraft SMA Plugin  │   `---------´   │       generator by       │    ( _´U`_ )    │      Magikcraft.io!      │    /___A___   /╰──────────────────────────╯     |  ~  |   __'.___.'__ ´   `  |° ´ Y `
? Your package name (workspace)

Există o singură întrebare la care trebuie să răspundeți aici – numele pluginului dvs. Vrăjitorul va crea un folder nou cu numele pluginului și va plasa fișierele pentru noul plugin în el.

Cum sa modificati Minecraft intr un mod usor cu TypeScript

Acest screencast vă arată procesul:

Schelează un plugin Minecraft folosind Magikcraft
Magikcraft.io vă permite să scrieți pluginuri Minecraft în TypeScript / JavaScript care vor rula pe desktop / mobil.asciinema.org

După finalizarea vrăjitorului, acesta emite un mesaj similar cu acesta (am ales numele my-sma-plugin în acest exemplu):

1611572767 123 Cum sa modificati Minecraft intr un mod usor cu TypeScript

Editați noul dvs. plugin

Porniți Visual Studio Code și deschideți directorul care conține noul dvs. plugin.

1611572768 838 Cum sa modificati Minecraft intr un mod usor cu TypeScript

Iată o descriere a fișierelor din noul dvs. plugin:

  • __tests__ – un director care conține teste unitare pentru pluginul dvs. Acestea sunt conduse cu Jasmine. Adăugați mai multe teste aici pe măsură ce vă dezvoltați pluginul.
  • .vscode – setări pentru codul Visual Studio.
  • autoload – toate fișierele de aici sunt executate automat atunci când pluginul dvs. este activat pe serverul Minecraft. Utilizați acest lucru pentru sarcini de inițializare, înregistrarea gestionarilor de evenimente și așa mai departe.
  • lib – Un loc unde puteți pune fișiere care nu trebuie încărcate automat (sau care sunt necesare din fișierele dvs. încărcate automat). Dacă pluginul dvs. oferă funcționalitate altor pluginuri, atunci îl exportați prin lib/index.ts.
  • node_modules – aici sunt instalate module de la npm. Nu puteți utiliza module de la npm care utilizează API-uri V8 (cum ar fi fs sau http). Multe dintre caracteristicile de care aveți nevoie sunt furnizate de API Scriptcraft și de către @magikcraft/core pachet.
  • .editorconfig – setări pentru editor.
  • .gitattributes – setări pentru git.
  • .gitignore – fișiere de ignorat git.
  • .prettierrc – setări pentru formatarea codului.
  • package-lock.json —Versiuni de dependențe instalate.
  • package.json —Configurare pentru acest plugin, inclusiv dependențe și scripturi.
  • README.md – instrucțiuni pentru dezvoltarea și testarea pluginului.
  • smac-nukkit.json – o configurație pentru rularea unui server Nukkit cu pluginul încărcat.
  • smac.json – o configurație pentru rularea unui server Bukkit cu pluginul încărcat.
  • tsconfig.json – configurația TypeScript pentru transpunerea pluginului în JavaScript.

Deschis autoload/index.ts:

1611572768 746 Cum sa modificati Minecraft intr un mod usor cu TypeScript

Acest fișier este executat automat la încărcarea pluginului. Modificările pe care le faceți aici vor fi vizibile atunci când (re) încărcați pluginul.

Porniți un server de dezvoltare

Puteți încărca pluginul pe un server de dezvoltare. Există două servere pe care le puteți utiliza – unul pentru clientul desktop Java și celălalt pentru clientul mobil Pocket Edition.

Porniți serverul desktop

Rulați acest lucru pentru a porni un server desktop:

npm run start:bukkit

Asta va:

  1. Trageți imaginea serverului Bukkit din Docker Hub.
  2. Porniți serverul Bukkit cu pluginul încărcat.
  3. Porniți transponderul TypeScript pentru a vă transpile codul în ES5.

Acum vă puteți conecta la server cu clientul desktop. Click pe Multiplayer atunci Direct Connect, apoi utilizați adresa serverului 127.0.0.1:

1611572768 255 Cum sa modificati Minecraft intr un mod usor cu TypeScript

Porniți serverul mobil

Rulați această comandă pentru a porni un server mobil:

npm run start:nukkit

Asta va:

  1. Trageți imaginea serverului Nukkit din Docker Hub.
  2. Porniți serverul Nukkit cu pluginul încărcat.
  3. Porniți transponderul TypeScript pentru a vă transpile codul în ES5.

Acum vă puteți conecta la server cu clientul dvs. de ediție de buzunar. Click pe Play atunci Servers, apoi adăugați un server cu adresa 127.0.0.1:

1611572768 629 Cum sa modificati Minecraft intr un mod usor cu TypeScript

Reîncărcați modificările pluginului

Pe măsură ce vă schimbați pluginul și salvați TypeScript modificat, acesta va fi automat transpus în JavaScript.

Pentru a reîncărca modificările din serverul de dezvoltare, tastați următoarele în consola serverului:

ts onrefresh()

Vedeți ecranul de mai jos pentru a vedea cum arată.

Opriți serverul

Pentru a opri serverul, tastați această comandă în consola serverului:

smac stop

Consultați ecranul de mai jos pentru a vedea cum arată când rulați această comandă.

Screencast: Start, Reîncărcați și Opriți

Această screencast vă arată pornirea serverului desktop, reîncărcarea codului pluginului și oprirea serverului de dezvoltare.

Porniți un server de dezvoltare Magikcraft
Porniți un server de dezvoltare Magikcraft.asciinema.org

Resurse suplimentare