macOS Mojave Version: 10.14.6
Macbook Pro (15-inch, 2018) Prozessor: 2,2 GHz Intel Core i7 Speicher: 16 GB 2400 MHz DDR4 Startdiskette: Macintosh HD Grafik: Radeon Pro 555X 4GB Intel UHD Graphics 630 1536MB
Greifen Sie auf die Download Site zu. Dann sollten Sie auf die folgenden Websites zugreifen können. Vorerst habe ich die neueste Version gewählt.
Als nächstes installieren Sie die full Edition
von Java
in diesem.
Es scheint, dass es kein Problem mit "Standard Edition" gibt, aber ich habe "Full Edition" verwendet, da es keinen Grund gibt, sie auszuwählen.
Aus irgendeinem Grund wurde es jedoch von der Mac-Sicherheit gespielt, daher habe ich es unter Bezugnahme auf die folgende Site gelöst. (Vielleicht war die neueste Version von Eclipse auf der Mac-Seite nicht zertifiziert?) Mac - Alle Anwendungen ausführen lassen
Wählen Sie zunächst "Datei-> Neu-> Maven-Projekt".
Dann wird der folgende Bildschirm angezeigt. Setzen Sie ein Spannfutter in "Ein einzelnes Projekt erstellen (Architekturauswahl überspringen)" und klicken Sie auf "Weiter>".
Als nächstes wird der Bildschirm zur Eingabe von Projektinformationen angezeigt. (Qiita ist nur mein Tippfehler ...) "Gruppen-ID" ist der Name des Erstellers. "Artefakt-ID" ist der Projektname = Plug-In-Name. Sie können es benennen, wie Sie möchten. "Version" ist die Versionsnummer. Sie können dies beliebig benennen. Stellen Sie diese drei ein. Andere sollten nicht geändert werden müssen.
Damit ist die Projekterstellung abgeschlossen!
pon.xml
Als nächstes nehmen wir die Einstellungen zum Einstellen des Plug-Ins vor. Bereiten Sie hier "was Sie brauchen (Abhängigkeit)" vor. Ich denke, das ist der Ausgangszustand.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.kubota</groupId>
<artifactId>QiitaSample</artifactId>
<version>1.0.0</version>
</project>
Die Einstellungen für den Zapfen werden hier beschrieben. Sie können die "Bukkit-API" verwenden, indem Sie "Spigot-Repository" und "Spigot-API" hinzufügen, wie unten gezeigt.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.kubota</groupId>
<artifactId>QiitaSample</artifactId>
<version>1.0.0</version>
<!-- ↓ Spigot-repository -->
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
<!-- ↓ Spigot-API -->
<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<!-- ↓ (Minecraft-Version)-R0.1-SNAPSHOT -->
<version>1.13.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
Dies allein funktioniert jedoch je nach Version von Minecraft nicht. Beschreiben Sie die Eigenschaften daher wie folgt.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.kubota</groupId>
<artifactId>QiitaSample</artifactId>
<version>1.0.0</version>
<!-- ↓ Spigot-repository -->
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
<!-- ↓ Spigot-API -->
<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<!-- ↓ (Minecraft-Version)-R0.1-SNAPSHOT -->
<version>1.13.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
<!--↓ Eigenschafteneinstellung-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- ↓ Java version 12 -->
<maven.compiler.source>12</maven.compiler.source>
<maven.compiler.target>12</maven.compiler.target>
</properties>
</project>
Ändern Sie derzeit auch Folgendes, um die Zusammenarbeit mit "plugin.yml" zu erleichtern, das später hinzugefügt wird.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.kubota</groupId>
<artifactId>QiitaSample</artifactId>
<version>1.0.0</version>
<!-- ↓ Spigot-repository -->
<repositories>
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
<!-- ↓ Spigot-API -->
<dependencies>
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<!-- ↓ (Minecraft-Version)-R0.1-SNAPSHOT -->
<version>1.13.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
<!--↓ Eigenschafteneinstellung-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- ↓ Java version 12 -->
<maven.compiler.source>12</maven.compiler.source>
<maven.compiler.target>12</maven.compiler.target>
</properties>
<!-- plugin.yml pom.Link mit XML-->
<build>
<resources>
<resource>
<targetPath>.</targetPath>
<filtering>true</filtering>
<directory>src/main/resources/</directory>
</resource>
</resources>
</build>
</project>
Damit ist die Änderung von pom.xml
abgeschlossen.
Die Abhängigkeit hat sich aufgrund der Änderung von "pom.xml" ein wenig geändert, daher ist es notwendig, sie zu aktualisieren. Klicken Sie als Methode mit der rechten Maustaste auf das erstellte Projekt ("QiitaSample" ist auf meinem Bildschirm anwendbar) und wählen Sie es in der Reihenfolge "Maven-> Projekt aktualisieren" aus. Dadurch werden die Abhängigkeiten aktualisiert (es dauerte nicht lange).
Dann sehen Sie den folgenden Bildschirm. (Im Fall des Autors werden bereits Projekte erstellt, aber wenn es sich um die erste Erstellung handelt, gibt es nur eines.) Chuck das diesmal erstellte Projekt dazu und drücke OK, Damit ist das Update abgeschlossen!
Nachdem die Bukkit-API-Abhängigkeiten festgelegt wurden, können Sie das Plugin selbst erstellen.
Klicken Sie mit der rechten Maustaste unter dem erstellten Projekt auf "src / main / java" und wählen Sie [Neu] → [Paket].
Als nächstes verwenden wir den Paketnamen **, der die Gruppen-ID und den durch. (Punkt) ** verbundenen Steckernamen ist.
Im Fall des Autors lautet die Gruppen-ID "com.github.kubota" und der Plug-In-Name "QiitaSample", dh "com.gtihub.kubota.qiitasample".
Einige Änderungen sind darauf zurückzuführen, dass dieser Paketname nicht mit Großbuchstaben verwendet werden kann. Daher wird er durch Kleinbuchstaben ersetzt. Da -
(Bindestrich) nicht verwendet werden kann, wird er durch _
(Unterstrich) ersetzt.
Klicken Sie dann mit der rechten Maustaste auf das erstellte Paket und wählen Sie "Neu" -> "Klasse".
Dann wird der folgende Bildschirm angezeigt. Geben Sie also den Klassennamen ein, der dort blühen wird. Der Name kann beliebig sein, aber aus Gründen der Übersichtlichkeit verwenden wir den aktuellen Projektnamen oder "Main". (Es ist mein Tippfehler, dass Qiita hier QIita ist ...)
Wenn Sie es öffnen, sollte es so aussehen:
package com.github.kubota.qiitasample;
public class QIitaPlugin {
}
Lassen Sie uns dies wie folgt ändern.
package com.github.kubota.qiitasample;
import org.bukkit.plugin.java.JavaPlugin;
public class QIitaPlugin extends JavaPlugin{
//↓ onEnable ist eine Methode, die beim Laden ausgeführt wird
@Override
public void onEnable() {
//↓ Hinterlassen Sie ein Protokoll auf dem Server
getLogger().info("Hello, Qiita!");
}
}
Dann werde ich jeden geänderten Teil einzeln erklären.
import org.bukkit.plugin.java.JavaPlugin;
Diese Zeile importiert die Funktionalität, die zum Erstellen eines Plugins erforderlich ist.
public class QIitaPlugin extends JavaPlugin{
Mit dem an dieser Stelle hinzugefügten "Exetends Java Plugin" ist es möglich, durch Hinzufügen von Funktionen zu der Klasse, in der die Grundfunktionen von Minecraft bereits implementiert sind, zu erstellen.
public class QIitaPlugin extends JavaPlugin{
//↓ onEnable ist eine Methode, die beim Laden ausgeführt wird
@Override
public void onEnable() {
//↓ Hinterlassen Sie ein Protokoll auf dem Server
getLogger().info("Hello, Qiita!");
}
}
Hier finden Sie eine kurze Erläuterung der Methode "onEnable". Der Ort mit dem Namen "@ Override" gibt an, dass die Methode in der "Javaplugin" -Klasse überschrieben wird. Das Überschreibungsziel ist die Methode "onEnable". Die Methode "onEnable" ist eine Methode, die automatisch ausgeführt wird, wenn das Plug-In aktiviert wird. Die Verarbeitung hat hier keine Funktion, solange sie nicht überschrieben wird.
Fügen Sie als Überschreibvorgang der Konsole mit der Methode'getLogger (). Info () 'etwas mit dem Namen "Hallo, Qiita!" Hinzu. Durch diesen Überschreibvorgang wurde es zu einer Methode mit einer Funktion namens **, die automatisch "Hallo, Qiita!" Auf der Konsole anzeigt, wenn das Plug-In aktiviert ist.
Klicken Sie mit der rechten Maustaste auf "src / main / resources" und wählen Sie "Neu"> "Datei". Erstellen Sie dann eine Datei mit dem Namen "plugin.yml". Wenn die folgenden vier beschrieben sind.
name: "Hauptklasse"
version: "Ausführung"
main: "Hauptklasse"
api-version: "Bukkit API-Version""
name
beschreibt den Plug-In-Namen.
version
ist die Version des Plugins. Diese Version ist jedoch in Ordnung, wenn Sie "$ {project.version}" schreiben, da "plugin.yml" diesmal mit "pom.xml" verknüpft ist.
main
beschreibt den Paketnamen der Hauptklasse und den durch Punkte verbundenen Klassennamen.
api-version
ist nicht unbedingt erforderlich, aber fast erforderlich, also lasst es uns aufschreiben.
Hier werden die unterstützten Bukkit-API-Versionen aufgelistet. Zum Beispiel ist 1.13 oder 1.13.2 1.13, 1.14 oder 1.14.2 ist 1.14 und so weiter.
name: "QiitaSample"
version: "${project.version}"
main: "com.github.kubota.qiitasample.QiitaSample"
api-version: "1.13"
Dies ist fast das Ende der Implementierung. Alles was Sie tun müssen, ist zu kompilieren. Klicken Sie dazu mit der rechten Maustaste auf den Projektnamen und wählen Sie "Ausführen" -> "Maven installieren".
Wenn Sie dies tun, wird das Ergebnis auf dem Konsolenbildschirm angezeigt. Wenn es als "BUILD SUCCESS" angezeigt wird, ist es erfolgreich.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.762 s
[INFO] Finished at: 2019-08-12T21:15:44+09:00
[INFO] ------------------------------------------------------------------------
Dann sollte die "Jar" -Datei zu "terget" hinzugefügt werden.
Wenn Sie diese "Jar" -Datei zu "Plugins" des ursprünglich erstellten Serververzeichnisses hinzufügen und ausführen, funktioniert das Plugin. (Der Name des Steckers lautet aus verschiedenen Gründen "QiitaTest", aber ich habe bestätigt, dass er nach dem oben beschriebenen Verfahren normal funktioniert.)
Das ist das Ende dieses Inhalts. Ich habe das Plug-In unter der Mac-Umgebung entwickelt, aber ich denke, es wird hilfreich sein, da die Verwendung von Eclipse selbst für Windows dieselbe ist. (Obwohl das Tastenlayout etwas anders sein kann ...)
Akzeptieren Sie den Befehl [MineCraft Plug-In] und lösen Sie ein Ereignis aus
name: "SampleProject"
version: "${project.version}"
main: "com.github.kubota.sampleproject.SampleProject"
api-version: "1.13"
Obwohl es in plugin.yml
des Hauptteils beschrieben ist.
Ich habe falsch verstanden, dass es kein Problem nur mit dem Paketnamen an dieser Hauptstelle gibt, und habe es wie folgt beschrieben.
name: "SampleProject"
version: "${project.version}"
main: "com.github.kubota.sampleproject"
api-version: "1.13"
Infolgedessen konnte auf die Datei "SampleProject" nicht verwiesen werden, und der folgende Fehler wurde ausgelöst.
[16:11:39 ERROR]: Could not load 'plugins/SampleProject' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: Cannot find main class `com.github.kubota.sampleproject'
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:62) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:332) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:252) [spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
at org.bukkit.craftbukkit.v1_13_R2.CraftServer.loadPlugins(CraftServer.java:325) [spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
at net.minecraft.server.v1_13_R2.DedicatedServer.init(DedicatedServer.java:213) [spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:698) [spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
at java.lang.Thread.run(Thread.java:835) [?:?]
Caused by: java.lang.ClassNotFoundException: com.github.kubota.projectsample
at java.net.URLClassLoader.findClass(URLClassLoader.java:436) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:136) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:82) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:415) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:60) ~[spigot-1.13.2.jar:git-Spigot-1a3504a-dfa7583]
... 7 more
Recommended Posts