[GO] Erstellen Sie mit Eclipse eine Minecraft-Plug-Entwicklungsumgebung

Einführung

Ich habe vor über einem Jahr Artikel zum Erstellen einer Minecraft-Umgebung mit mehreren Servern auf VPS veröffentlicht. Diesmal ist es neu, aber es ist die Fortsetzung.

Aufgrund meiner Arbeit hatte ich die Möglichkeit, Java zu lernen, und entschied mich daher, ein Minecraft-Plug-In zu erstellen. Eigentlich hatte ich vor ein paar Monaten die Gelegenheit, zum Java Day Tokyo zu gehen, und habe dort ein Buch wie dieses gekauft.

"Richten Sie mit Minecraft einen Multi-Server ein! (Think IT Books)"

Dieses Buch wurde von Think IT serialization von ecolight in ein Buch umgewandelt. In diesem Buch wird die Verwendung von NetBeans als Plug-in-Entwicklungsumgebung vorgestellt. Die Erklärung ist leicht zu verstehen und wird empfohlen.

In diesem Artikel werde ich es als Memorandum über die Wartung der Plug-in-Entwicklungsumgebung mit Eclipse belassen, die ich normalerweise verwende. ** Im ersten Jahr des Ingenieurs war die Entwicklung nur für Amateure gedacht, um Haare wachsen zu lassen. Bitte teilen Sie uns mit, was falsch ist. ** ** **

*** Wir suchen Leute, die das Plug-In mitentwickeln ***

Überblick

Zunächst werde ich als Fortsetzung des letzten Males vorstellen, wie der Server-MOD "Spigot" eingeführt wird. Nehmen Sie als Nächstes die Anfangseinstellungen für die Plug-Entwicklung mit Eclipse und Maven vor. Zuletzt erstellen wir ein Test-Plug-In und führen es auf dem Server aus.

Einführung von Spigot

Beginnen wir mit der Annahme, dass der Vanilla-Server (offizieller Server) bereits ausgeführt wird. Informationen zur Installation des Vanilla-Servers finden Sie unter Artikel, den ich zuletzt geschrieben habe (Da ich ihn jedoch vor mehr als einem Jahr geschrieben habe, sind die Informationen verfügbar. Es ist möglicherweise veraltet. Ich denke, dies ist eine vertraute Aufgabe für diejenigen, die Server-MOD verwendet haben. Bitte überspringen Sie sie entsprechend.

Git Installation

Die ausführbare Datei von spigot, bei der es sich um einen Server-MOD handelt, wurde aufgrund von Problemen wie der Lizenzierung nicht freigegeben (die Details sind mir nicht bekannt). Stattdessen generiert der Benutzer eine ausführbare Datei aus dem öffentlich verfügbaren Quellcode. Ein Tool "Build Tools" zum Generieren einer ausführbaren Datei ist ebenfalls verfügbar.

Installieren Sie zuerst das Tool "git", um den Quellcode herunterzuladen.

[root@host-150-95-181-84 ~]# yum install git -y

Laden Sie Buildtools herunter

Build Tools können hier heruntergeladen werden (https://hub.spigotmc.org/jenkins/job/BuildTools/). Die Download-URL für die neueste Version lautet [https://hub.spigotmc.org/jenkins/job/BuildTools/lastStableBuild/artifact/target/BuildTools.jar](https://hub.spigotmc.org/jenkins/job/BuildTools/ lastStableBuild / artefakt / target / BuildTools.jar).

[root@host-150-95-181-84 ~]# wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastStableBuild/artifact/target/BuildTools.jar

Führen Sie build aus

Verwenden Sie Buildtools, um eine ausführbare Serverdatei zu generieren. Wenn Sie Buildtools ausführen, werden mehrere Dateien generiert. Sie können dies daher in separaten Ordnern tun.

[root@host-150-95-181-84 ~]# mkdir buildtools
[root@host-150-95-181-84 ~]# mv BuildTools.jar buildtools/
[root@host-150-95-181-84 ~]# cd buildtools/
[root@host-150-95-181-84 buildtools]#

Den Befehl zum Ausführen von Buildtools finden Sie auf dieser Seite (https://www.spigotmc.org/wiki/buildtools/). Wenn Sie die Version angeben,

java -jar BuildTools.jar --rev 1.12.1

Machen. Wenn Sie die neueste Version erhalten möchten

java -jar BuildTools.jar --rev latest

Machen. Die Version ist mir diesmal egal, daher werde ich die neueste Version verwenden. Wenn Sie den Befehl ausführen, wird der Quellcode automatisch heruntergeladen und erstellt, und die ausführbare Serverdatei wird generiert.

[root@host-150-95-181-84 buildtools]# java -jar BuildTools.jar --rev latest
~~Ausgelassen (es dauert viel Zeit)~~
Success! Everything compiled successfully. Copying final .jar files now.
Copying craftbukkit-1.12.2-R0.1-SNAPSHOT.jar to /root/buildtools/.
  - Saved as craftbukkit-1.12.2.jar
Copying spigot-1.12.2-R0.1-SNAPSHOT.jar to /root/buildtools/.
  - Saved as spigot-1.12.2.jar
[root@host-150-95-181-84 buildtools]# ls
apache-maven-3.5.0  BuildTools.log.txt  craftbukkit-1.12.2.jar  work
BuildData           Bukkit              Spigot
BuildTools.jar      CraftBukkit         spigot-1.12.2.jar
[root@host-150-95-181-84 buildtools]#

Wenn die ausführbare Datei "spigot-1.12.2.jar" generiert wird, ist der Build erfolgreich (derzeit ist die neueste Version 1.12.2).

Starten Sie Spigot

Kopieren Sie die ausführbare Spigot-Datei in das Serververzeichnis und starten Sie sie. Dieser Bereich ist der gleiche wie der Vanilla-Server.

[root@host-150-95-181-84 buildtools]# cd ..
[root@host-150-95-181-84 ~]# mkdir server
[root@host-150-95-181-84 ~]# cp buildtools/spigot-1.12.2.jar server/
[root@host-150-95-181-84 ~]# cd server/
[root@host-150-95-181-84 server]java -jar spigot-1.12.2.jar nogui
Loading libraries, please wait...
[01:53:34 INFO]: Starting minecraft server version 1.12.2
[01:53:34 WARN]: To start the server with more ram, launch it as "java -Xmx1024M -Xms1024M -jar minecraft_server.jar"
[01:53:34 INFO]: Loading properties
[01:53:34 WARN]: server.properties does not exist
[01:53:34 INFO]: Generating new properties file
[01:53:34 WARN]: Failed to load eula.txt
[01:53:34 INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[01:53:34 INFO]: Stopping server

Wie beim Vanilla-Server müssen Sie Änderungen an eula.txt vornehmen.

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Mon Sep 25 01:53:34 JST 2017
eula=true

Führen Sie Spigot erneut aus. Sie sollten diesmal in der Lage sein, es zu starten.

[root@host-150-95-181-84 server]# java -Xmx512M -Xms512M -jar spigot-1.12.2.jar nogui

Nach dem Start wird im Gegensatz zum Vanilla-Server ein Ordner namens "Plugins" erstellt. Wenn sich ab dem nächsten Mal beim Start eine Plug-In-Datei in diesem Ordner befindet, wird diese gelesen.

[root@host-150-95-181-84 server]# ls
banned-ips.json      commands.yml  logs             plugins            spigot.yml      world
banned-players.json  eula.txt      ops.json         server.properties  usercache.json  world_nether
bukkit.yml           help.yml      permissions.yml  spigot-1.12.2.jar  whitelist.json  world_the_end

Aufbau einer Plug-in-Entwicklungsumgebung

Eclipse installieren

Das Installationsprogramm finden Sie hier [https://eclipse.org/home/index.php]. In der Windows-Version wird beim Starten der folgende Bildschirm angezeigt. image.png

Dieses Mal werden wir Maven verwenden, daher sollten Sie die Spitze auswählen. (Ich habe noch nie etwas anderes benutzt) Sie sehen einen Bildschirm, auf dem Sie entscheiden können, wo Sie Ihren Arbeitsbereich platzieren möchten. Wenn Sie nichts dagegen haben, können Sie die Standardeinstellungen beibehalten. Bitte ändern Sie dies gegebenenfalls, wenn Sie mit Git verlinken.

Erstellen eines Maven-Projekts

Wenn die Installation erfolgreich ist, wird der folgende Bildschirm angezeigt. image.png

Ändern Sie zunächst die Standardtextcodierung in UTF-8. Wählen Sie Menüleiste-> Fenster-> Einstellungen, ändern Sie die Textdatei-Codierung von Allgemein-> Arbeitsbereich im Einstellungsbildschirm in UTF-8 und klicken Sie auf Übernehmen und Schließen.

image.png

Wir werden ein Maven-Projekt erstellen. Wählen Sie Menüleiste-> Datei-> Neu-> Andere oder drücken Sie Strg + N, um den neuen Erstellungsbildschirm anzuzeigen.

image.png

In Maven befindet sich ein Maven-Projekt. Wählen Sie es aus und klicken Sie auf Weiter.

image.png

Aktivieren Sie ** Einfaches Projekt erstellen **. Wenn Sie das Kontrollkästchen nicht aktivieren, können Sie eine Projektvorlage verwenden, die als Archetyp bezeichnet wird. Dieses Mal werde ich sie jedoch nicht verwenden. Klicken Sie auf Weiter, um den nächsten Bildschirm anzuzeigen.

image.png

** Gruppen-ID ** ist der Name, der das Projekt eindeutig identifiziert. Es scheint üblich zu sein, den Namen des Stammpakets zu verwenden. Um Doppelungen mit anderen IDs zu vermeiden, ist es besser, die ursprüngliche Domain in umgekehrter Reihenfolge zu verwenden. (In meinem Fall habe ich ttk1.net, also benutze ich net.ttk1.) Wenn Sie es nicht veröffentlichen, müssen Sie sich keine Gedanken über die Vervielfältigung machen.

** Artefakt-ID ** ist der Name der generierten ausführbaren Datei. Diesmal ist es test_plugin. Standardmäßig ist ** Version ** 0.0.1-SNAPSHOT und ** Packaging ** ist jar, daher lautet die generierte Datei "test_plugin-0.0.1-SNAPSHOT.jar". Behalten Sie diesmal die Standardeinstellung bei.

Klicken Sie auf Fertig stellen, um ein leeres Projekt zu generieren.

Beschreibung von pom.xml

Sie müssen die Paketdatei herunterladen, um die Spigot-API verwenden zu können. Das Maven-Projekt lädt es automatisch herunter, indem es die erforderlichen Informationen zur Paketdatei in der Datei pom.xml beschreibt. Die Beschreibung der Spigot-API finden Sie hier [https://www.spigotmc.org/wiki/spigot-maven/]. Kopieren Sie den Teil, der im Bild unten von der roten Linie umgeben ist. Die ** Version ** muss jedoch mit dem Spigot-Server identisch sein. (Diesmal ist es 1.12.2-R0.1-SNAPSHOT, also kopieren Sie es so wie es ist.)

image.png

Da sowohl die Spigot-API als auch die Bukkit-API beschrieben werden, wird nur der Spigot-API-Teil verwendet.

image.png

Wenn Sie pom.xml aktualisieren, wird die Paketdatei automatisch in Maven Dependency heruntergeladen.

Hauptklasse erstellen

Erstellen Sie zunächst ein Paket. Klicken Sie im Paket-Explorer-> Neu-> Paket mit der rechten Maustaste auf src / main / java. Geben Sie für ** Name ** dieselbe Gruppen-ID ein, die Sie zuvor eingegeben haben.

image.png

Als nächstes erstellen wir die Hauptklasse. Klicken Sie mit der rechten Maustaste auf net.ttk1 in Package Explorer-> New-> Class. Erstellen Sie eine Testklasse.

image.png

Erstellen Sie als Test eine Klasse, in der beim Anmelden die Meldung "Willkommen in meiner Welt!" Angezeigt wird. Dieses Mal werde ich die Erklärung des Programminhalts weglassen, aber die Beschreibung von Test.java lautet wie folgt.

package net.ttk1;

import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Test extends JavaPlugin {
    @Override
    public void onEnable() {
    	//Anzeigeeinstellungen für Anmeldemeldungen
    	getServer().getPluginManager().registerEvents(new LoginMsg(), this);
    	//Protokollausgabe beim Start
        getLogger().info("test enable");
    }

    @Override
    public void onDisable() {
    	//Protokollausgabe beim Stoppen
        getLogger().info("test disable");
    }
    
    class LoginMsg implements Listener {
    	@EventHandler
        public void onPlayerJoin(PlayerJoinEvent event) {
        	event.getPlayer().sendMessage("Welcome to my world!");
        }
    }
}

Beschreibung von plugin.yml

plugin.yml ist die Datei, die der Spigot-Server zum Laden des Plugins benötigt. Sie können hier mehr darüber lesen [https://bukkit.gamepedia.com/Plugin_YAML]. Es scheint, dass drei Elemente erforderlich sind, ** Name **, ** Version ** und ** Haupt **. name ist ein Name, der das Plug-In identifiziert und auch als Verzeichnisname auf dem Server verwendet wird, auf dem die Daten des Plug-Ins gespeichert sind. version ist die Version des Plugins. Nehmen wir auch die Version des Maven-Projekts auf. Geben Sie für main den vollständig qualifizierten Namen der Hauptklasse ein (diesmal Testklasse).

name: test_plugin
version: 0.0.1
main: net.ttk1.Test

Erstellen Sie die Datei plugin.yml in "src / main / resources". Klicken Sie im Paket-Explorer-> Neu-> Datei mit der rechten Maustaste auf src / main / resources.

image.png image.png

Test-Plug-In erstellen und ausführen

Lassen Sie uns das Projekt erstellen. Wählen Sie Menüleiste-> Ausführen-> Konfigurationen ausführen. Der folgende Bildschirm wird angezeigt. Klicken Sie mit der rechten Maustaste auf "Maven Build" und wählen Sie Neu.

image.png

Der folgende Bildschirm wird angezeigt.

image.png

Wenn Sie auf den Arbeitsbereich klicken, der von der roten Linie umgeben ist, wird der Projektauswahlbildschirm angezeigt. Wählen Sie daher "test_plugin". Dann wird die Zeichenfolge in das ** Basisverzeichnis ** eingegeben.

Geben Sie für ** Ziele ** "Paket" ein.

*** Wenn Sie das JDK nicht angeben, schlägt der Build fehl. Inhalt wird überarbeitet ***

Klicken Sie auf Ausführen, um den Build zu starten. Wenn die folgende Meldung angezeigt wird, ist der Build erfolgreich.

image.png

WARNUNG wird angezeigt, dies befindet sich jedoch in <Projekt> ~ </ Projekt> von pom.xml

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

Es verschwindet, wenn Sie hinzufügen.

Laden Sie das fertige Plugin in den Plugins-Ordner auf Ihrem Server hoch. Das Plug-In wird an der in der Zeile "Building jar:" angegebenen Position gespeichert.

Sie können den Upload in Dropbox oder Google Drive speichern und den freigegebenen Link vom Server "wget", aber der Befehl scp ist der schnellste Weg.

$ scp C:/Users/tama/eclipse-workspace/test_plugin/target/test_plugin-0.0.1-SNAPSHOT.jar [email protected]:./server/plugins
[email protected]'s password:
test_plugin-0.0.1-SNAPSHOT.jar                100% 3245   299.0KB/s   00:00

Starten wir den Spigot-Server.

[root@150-95-181-84 server]#java -Xmx512M -Xms512M -jar spigot-1.12.2.jar nogui
Loading libraries, please wait...
[03:44:26 INFO]: Starting minecraft server version 1.12.2
~~Unterlassung~~
[03:44:27 INFO]: [test_plugin] Loading test_plugin v0.0.1
~~Unterlassung~~
[03:44:31 INFO]: [test_plugin] Enabling test_plugin v0.0.1
[03:44:31 INFO]: [test_plugin] test enable
[03:44:31 INFO]: Server permissions file permissions.yml is empty, ignoring it
[03:44:31 INFO]: Done (4.552s)! For help, type "help" or "?"
>

Das Plug-In scheint problemlos geladen zu werden. Lassen Sie uns vom Minecraft-Client aus eine Verbindung herstellen.

image.png

*** Willkommen in meiner Welt! *** wird angezeigt!

War es diesmal etwas schwierig?

Zusammenfassung

Ich habe eine Plug-in-Entwicklungsumgebung mit Eclipse und Maven erstellt. Dieses Mal war es nicht der Zweck, ein Plug-In zu erstellen, also habe ich ein einfaches Plug-In erstellt, aber die Spigot-API bietet mehr Funktionen. Machen wir ein praktisches Plug-In und beleben Minecraft.

** Aufgrund der Dynamik können falsche Informationen, unangemessene Ausdrücke und Tippfehler vorliegen. Bitte weisen Sie auf diejenigen hin, die es bemerkt haben. ** ** **

Referenz

Von der Installation bis zur Projekterstellung mit einer praktischen Entwicklungsumgebung namens Eclipse + Maven Richten Sie mit Minecraft einen Multi-Server ein! (Think IT Books) Serie: Lassen Sie uns mit Minecraft einen Multi-Server einrichten! Grundlagen der Plug-In-Entwicklung

Recommended Posts

Erstellen Sie mit Eclipse eine Minecraft-Plug-Entwicklungsumgebung
Erstellen Sie eine Python-Entwicklungsumgebung mit Eclipse (fügen Sie einen HTML-Editor hinzu).
Erstellen Sie mit Laragon ganz einfach eine Entwicklungsumgebung
Erstellen Sie in kürzester Zeit eine LAMP-Umgebung
Erstellen Sie eine Entwicklungsumgebung für die C-Sprache mit einem Container
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Erstellen Sie mit Vagrant in 5 Minuten eine Django-Umgebung
Erstellen Sie mit der Doker Toolbox eine Django-Entwicklungsumgebung
Erstellen Sie eine Kubernetes-Umgebung für die Entwicklung unter Ubuntu
Entwicklungsumgebung in Python
Erstellen Sie eine mruby-Entwicklungsumgebung für ESP32 (Linux Edition)
Erstellen Sie eine Python-Entwicklungsumgebung auf Raspberry Pi
Flutter in Docker - Erstellen und Verwenden einer Flutter-Entwicklungsumgebung in einem Docker-Container
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (3) GVim8.0 und Python3.6
Erstellen einer Django-Entwicklungsumgebung mit pyenv-virtualenv auf einem Mac
Erstellen Sie eine lokale Entwicklungsumgebung für Laravel6.X auf Ihrem Mac
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (1)
Ich möchte einfach eine modellbasierte Entwicklungsumgebung erstellen
Erstellen Sie eine Python-Entwicklungsumgebung unter Mac OS X.
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
So erstellen Sie eine Entwicklungsumgebung für TensorFlow (1.0.0) (Mac)
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
Erstellen Sie eine Entwicklungsumgebung mit Poetry Django Docker Pycharm
Erstellen Sie mit Docker eine einfache Fast API-Entwicklungsumgebung
Erstellen Sie eine LAMP-Umgebung [CentOS 7]
[ev3dev × Python] Aufbau einer ev3dev-Entwicklungsumgebung
Erstellen Sie eine maschinelle Lernumgebung
Erstellen Sie die Python-Umgebung offline
Erstellen Sie Azure-Pipelies mit Azure DevOps in einer selbst gehosteten Linux-Umgebung
[Memo] Erstellen Sie mit Docker eine Entwicklungsumgebung für Django + Nuxt.js
Erstellen Sie eine Go-Entwicklungsumgebung mit den Remote-Containern von VS Code
Erstellen einer Entwicklungsumgebung für Android-Apps - Erstellen von Android-Apps mit Python
[Django] Erstellen Sie mit PyCharm schnell eine Entwicklungsumgebung für Django-Container (Docker)
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (2) Grundeinstellungen
Erstellen Sie mit VSCode x Remote Development x Pipenv eine komfortable Entwicklungsumgebung
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
Erstellen Sie mit Docker kostengünstig eine Flask-Entwicklungsumgebung
UpNext2 Development Record # 1 Erstellen Sie eine Python CI-Umgebung in VS Code
Führen Sie Eclipse in einer Docker-Umgebung (noVNC) aus.
Erstellen Sie mit Docker eine Go-Umgebung
Schreiben Sie das Vim-Plugin in Python
Erstellen Sie eine Python3-Umgebung unter CentOS7
Erstellen Sie in kürzester Zeit eine Selenium-Umgebung unter Amazon Linux 2
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
Installieren Sie Django in einer virtuellen Pipenv-Umgebung
Methode zum Erstellen einer Python-Umgebung in Xcode 6
So erstellen Sie eine Sphinx-Übersetzungsumgebung
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Erstellen Sie eine Tensorflow-Umgebung mit Raspberry Pi [2020]
Erstellen Sie mit Docker-Compose eine schnelle API-Umgebung
Erstellen Sie eine Entwicklungsumgebung mit Jupyter und Flask mit Python in Docker (unterstützt sowohl VS Code als auch Code-Server).
Erstellen Sie WordPress unter CentOS 8 in einer LAMP-Umgebung
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
Schreiben Sie ein einfaches Vim-Plugin in Python 3
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie eine Python-Entwicklungsumgebung (pythonz, virtualenv, direnv).
Erstellen Sie eine Python + OpenCV-Umgebung in Cloud9
Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen
Erstellen einer virtuellen Umgebung in einer Anaconda-Umgebung
Installieren Sie CaboCha in einer Umgebung, die nicht von Anaconda stammt (Win).