Πώς να τροποποιήσετε τον Minecraft με τον εύκολο τρόπο με το TypeScript

Συνήθως, η τροποποίηση του Minecraft απαιτεί κωδικοποίηση σε Java και πολλά ικριώματα. Τώρα μπορείτε να γράψετε και να μοιραστείτε mods Minecraft χρησιμοποιώντας TypeScript / Javascript.

Το ScriptCraft είναι μια βιβλιοθήκη modding JavaScript ανοιχτού κώδικα, και έχουμε γράψει υποστήριξη για το TypeScript, καθώς και πολλά εργαλεία για να δημιουργήσουμε μια οικεία εμπειρία προγραμματιστή για όσους προέρχονται από τη γη JavaScript (συμπεριλαμβανομένων των Yeoman και NPM).

Σε αυτό το άρθρο θα σας καθοδηγήσω στην προετοιμασία και τη δημιουργία του πρώτου σας ModScript Type Minecraft σε λιγότερο από μία ώρα - μόλις 20 λεπτά, ανάλογα με τη σύνδεσή σας στο διαδίκτυο.

Σε αυτό το βίντεο (κάντε κλικ εδώ εάν η ενσωμάτωση δεν λειτουργεί παραπάνω) Σας δείχνω πώς να γράψετε ένα βασικό mod Minecraft χρησιμοποιώντας TypeScript και να το εκτελέσετε στον τοπικό σας υπολογιστή με επιτραπέζιο και κινητό διακομιστή Minecraft.

Παρακάτω, θα σας καθοδηγήσω στα βήματα με συνδέσμους προς πόρους

Προαπαιτούμενα

Θα χρειαστείτε κάποιο λογισμικό εγκατεστημένο στον υπολογιστή σας, για να εκτελέσετε τον διακομιστή Minecraft και τα εργαλεία για τη σύνταξη της προσθήκης σας. Εγκαταστήστε και τα τέσσερα παρακάτω:

  • Docker - μια λύση εμπορευματοκιβωτίων.
  • Node.js - μια μηχανή εκτέλεσης JavaScript και μια βιβλιοθήκη.
  • Portainer - ένα διαδικτυακό GUI για τη διαχείριση κοντέινερ Docker.
  • Visual Studio Code - ένας επεξεργαστής κώδικα.

Πελάτης Minecraft

Χρειάζεστε έναν πελάτη Minecraft για να ελέγξετε την προσθήκη σας.

Εγκαταστήστε τουλάχιστον ένα από τα ακόλουθα:

  • Minecraft Java Edition - ένα επιτραπέζιο πρόγραμμα-πελάτης, εάν θέλετε να πραγματοποιήσετε δοκιμές σε διακομιστή Bukkit
  • Minecraft Pocket Edition - ένας φορητός υπολογιστής-πελάτης, εάν θέλετε να πραγματοποιήσετε δοκιμές σε διακομιστή Nukkit (τηλέφωνο / tablet / Xbox). Εάν το χρησιμοποιείτε, μπορείτε να χρησιμοποιήσετε το Minecraft Pocket Edition Bedrock Launcher για να εκτελέσετε τον φορητό υπολογιστή-πελάτη στον υπολογιστή σας.

Εγκατάσταση

Τώρα που έχετε εγκαταστήσει τις προϋποθέσεις, ήρθε η ώρα να εγκαταστήσετε τα εργαλεία για τον διακομιστή και για την ανάπτυξη προσθηκών.

  1. Εκτελέστε την ακόλουθη εντολή:
npm i -g smac yo generator-sma-plugin typescript

Αυτό θα εγκαταστήσει τέσσερα πράγματα στον υπολογιστή σας:

  • smac- Scriptcraft Modular Architecture Controller, ένα πρόγραμμα που εκτελεί Minecraft Servers για τις προσθήκες σας.
  • yo- Yeoman , ένα εργαλείο σκαλωσιάς.
  • generator-sma-plugin - ένα πρόσθετο Yeoman για τη δημιουργία ενός νέου plugin Minecraft χρησιμοποιώντας το Scriptcraft Modular Architecture.
  • typescript - ο μεταδότης TypeScript, για τη μετατροπή του κώδικα TypeScript σε JavaScript ES5 που μπορεί να εκτελεστεί στο Minecraft.

Δημιουργήστε μια νέα προσθήκη

Τώρα που έχετε εγκαταστήσει το σύνολο εργαλείων, δημιουργήστε μια νέα προσθήκη εκτελώντας αυτήν την εντολή:

yo sma-plugin

Αυτό ξεκινά τον οδηγό προσθήκης:

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

Υπάρχει μόνο μία ερώτηση που πρέπει να απαντήσετε εδώ - το όνομα της προσθήκης σας. Ο οδηγός θα δημιουργήσει έναν νέο φάκελο με το όνομα της προσθήκης και θα τοποθετήσει τα αρχεία για τη νέα προσθήκη σε αυτό.

Αυτό το screencast σας δείχνει τη διαδικασία:

Σκαλωσιά ένα πρόσθετο Minecraft χρησιμοποιώντας το Magikcraft

Το Magikcraft.io σας επιτρέπει να γράφετε πρόσθετα Minecraft σε TypeScript / JavaScript που θα εκτελούνται σε επιτραπέζιο υπολογιστή / κινητό. asciinema.org

Μόλις ολοκληρωθεί ο οδηγός, εκπέμπει ένα μήνυμα παρόμοιο με αυτό (επέλεξα το όνομα my-sma-pluginσε αυτό το παράδειγμα):

Επεξεργαστείτε τη νέα προσθήκη σας

Ξεκινήστε τον Visual Studio Code και ανοίξτε τον κατάλογο που περιέχει τη νέα σας προσθήκη.

Ακολουθεί μια περιγραφή των αρχείων στο νέο σας πρόσθετο:

  • __tests__- έναν κατάλογο που περιέχει δοκιμές μονάδας για την προσθήκη σας. Αυτά τρέχουν με Jasmine. Προσθέστε περισσότερες δοκιμές εδώ καθώς αναπτύσσετε την προσθήκη σας.
  • .vscode - ρυθμίσεις για τον κώδικα Visual Studio.
  • autoload- τυχόν αρχεία εδώ εκτελούνται αυτόματα όταν η προσθήκη σας είναι ενεργοποιημένη στον διακομιστή Minecraft. Χρησιμοποιήστε αυτό για εργασίες προετοιμασίας, καταγραφή χειριστών συμβάντων και ούτω καθεξής.
  • lib- Ένα μέρος για να τοποθετήσετε αρχεία που δεν πρέπει να φορτώνονται αυτόματα (ή που απαιτούνται από τα αρχεία που φορτώθηκαν αυτόματα). Εάν η προσθήκη σας παρέχει λειτουργικότητα σε άλλες προσθήκες, τότε θα την εξαγάγετε μέσω lib/index.ts.
  • node_modules- Εγκαθίστανται μονάδες από npm εδώ Δεν μπορείτε να χρησιμοποιήσετε λειτουργικές μονάδες από npm που χρησιμοποιούν API V8 (όπως fs ή http). Πολλές από τις δυνατότητες που χρειάζεστε παρέχονται από το Scriptcraft API και από το @magikcraft/coreπακέτο.
  • .editorconfig - ρυθμίσεις για το πρόγραμμα επεξεργασίας.
  • .gitattributes- ρυθμίσεις για git.
  • .gitignore- αρχεία που πρέπει να αγνοήσετε git.
  • .prettierrc - ρυθμίσεις για μορφοποίηση κώδικα.
  • package-lock.json —Μετατροπές εγκατεστημένων εξαρτήσεων.
  • package.json —configuration for this plugin, including dependencies and scripts.
  • README.md — instructions for developing and testing your plugin.
  • smac-nukkit.json — a configuration for running a Nukkit server with your plugin loaded.
  • smac.json — a configuration for running a Bukkit server with your plugin loaded.
  • tsconfig.json — the TypeScript configuration for transpiling your plugin to JavaScript.

Open autoload/index.ts:

This file is automatically executed when the plugin is loaded. Changes that you make here will be visible when you (re)load the plugin.

Start a development server

You can load your plugin in a development server. There are two servers that you can use — one for the desktop Java client, and the other for the mobile Pocket Edition client.

Start the desktop server

Run this to start a desktop server:

npm run start:bukkit

This will:

  1. Pull the Bukkit server image from Docker Hub.
  2. Start the Bukkit server with your plugin loaded.
  3. Start the TypeScript transpiler to transpile your code to ES5.

You can now connect to the server with your desktop client. Click on Multiplayer then Direct Connect, then use the server address 127.0.0.1:

Start the mobile server

Run this command to start a mobile server:

npm run start:nukkit

This will:

  1. Pull the Nukkit server image from Docker Hub.
  2. Start the Nukkit server with your plugin loaded.
  3. Start the TypeScript transpiler to transpile your code to ES5.

You can now connect to the server with your pocket edition client. Click on Play then Servers, then add a server with the address 127.0.0.1:

Reload changes to your plugin

As you change your plugin and save the changed TypeScript, it will automatically be transpiled to JavaScript.

To reload the changes in the development server, type the following in the server console:

ts onrefresh()

Δείτε το screencast παρακάτω για να δείτε πώς μοιάζει.

Διακοπή του διακομιστή

Για να σταματήσετε τον διακομιστή, πληκτρολογήστε αυτήν την εντολή στην κονσόλα διακομιστή:

smac stop

Δείτε το screencast παρακάτω για να δείτε πώς φαίνεται όταν εκτελείτε αυτήν την εντολή.

Screencast: Έναρξη, επαναφόρτωση και διακοπή

Αυτό το screencast σάς δείχνει να ξεκινάτε τον επιτραπέζιο διακομιστή, να επαναφορτώνετε τον κωδικό προσθήκης και επίσης να διακόπτετε τον διακομιστή ανάπτυξης.

Ξεκινήστε έναν Magikcraft Development Server

Ξεκινήστε έναν Magikcraft Development Server. asciinema.org

Περαιτέρω πόροι

  • Magikcraft στο GitHub
  • Magikcraft στο YouTube
  • Πηγή κώδικα MCT1 (Παράδειγμα προσθήκης)
  • ScriptCraft στο GitHub
  • Έγγραφα API Bukkit