macOS Mojave La dernière version: 10.14.6
Macbook Pro (15-inch, 2018) Processeur: Intel Core i7 à 2,2 GHz Mémoire: 16 Go de DDR4 à 2400 MHz Disque de démarrage: Macintosh HD Graphiques: Radeon Pro 555X 4GB Intel UHD Graphics 630 1536MB
Accédez au Site de téléchargement. Ensuite, vous devriez pouvoir accéder aux sites suivants. Pour le moment, j'ai choisi la dernière version.
Ensuite, installez la «édition complète» de «Java» dans ce fichier. Il semble qu'il n'y ait pas de problème avec "Standard Edition", mais j'ai utilisé "Full Edition" car il n'y a aucune raison de la choisir.
Cependant, pour une raison quelconque, il était joué par la sécurité Mac, je l'ai donc résolu en me référant au site suivant. (Peut-être que la dernière version d'Eclipse n'était pas certifiée côté Mac?) Mac-Autoriser toutes les applications à s'exécuter
Tout d'abord, sélectionnez Fichier-> Nouveau-> Projet Maven
.
Ensuite, l'écran suivant s'affichera: Mettez un mandrin dans "Créer un projet unique (sauter la sélection d'architecture)" et cliquez sur "Suivant>".
Vient ensuite l'écran de saisie des informations sur le projet. (Qiita est juste ma faute de frappe ...) "ID de groupe" est le nom du créateur. "Artifact Id" est le nom du projet = nom du plug-in. Vous pouvez le nommer comme vous le souhaitez. «Version» est le numéro de version. Vous pouvez nommer cela comme vous le souhaitez. Réglez ces trois. D'autres ne devraient pas avoir besoin d'être modifiés.
Ceci termine la création du projet!
pon.xml
Ensuite, nous allons définir les paramètres de configuration du plug-in. Ici, préparez "ce dont vous avez besoin (dépendance)". Je pense que c'est l'état initial.
<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>
Les paramètres relatifs au spigot sont décrits ici. Vous pouvez utiliser 'API Bukkit' en ajoutant 'spigot-repository' et 'Spigot-API' comme indiqué ci-dessous.
<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>
<!-- ↓ (Version Minecraft)-R0.1-SNAPSHOT -->
<version>1.13.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
Cependant, cela seul ne fonctionnera pas selon la version de Minecraft, alors décrivez les propriétés comme suit.
<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>
<!-- ↓ (Version Minecraft)-R0.1-SNAPSHOT -->
<version>1.13.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
<!--↓ Paramètre de propriété-->
<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>
Aussi, actuellement, changez comme suit pour faciliter la coopération avec plugin.yml
qui sera ajouté plus tard.
<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>
<!-- ↓ (Version Minecraft)-R0.1-SNAPSHOT -->
<version>1.13.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
<!--↓ Paramètre de propriété-->
<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.Lien avec xml-->
<build>
<resources>
<resource>
<targetPath>.</targetPath>
<filtering>true</filtering>
<directory>src/main/resources/</directory>
</resource>
</resources>
</build>
</project>
Ceci termine la modification de pom.xml
.
La dépendance a un peu changé en raison du changement de pom.xml
, il est donc nécessaire de la mettre à jour.
Pour ce faire, cliquez avec le bouton droit de la souris sur le projet créé (QiitaSample
est applicable sur mon écran) et sélectionnez Maven-> Mettre à jour le projet
.
Cela commencera à mettre à jour les dépendances (cela n'a pas pris longtemps).
Ensuite, vous verrez l'écran suivant. (Dans le cas de l'auteur, il y aura des projets créés avant, mais s'il s'agit de la première création, il n'y en aura qu'un) Chuck le projet créé cette fois-ci et appuyez sur OK, Ceci termine la mise à jour!
Maintenant que les dépendances de l'API Bukkit ont été définies, vous pouvez commencer à créer le plugin lui-même.
Cliquez-droit sur src / main / java
sous le projet créé et sélectionnez [Nouveau] → [Package].
Ensuite, utilisons le nom du package ** qui est l'ID du groupe et le nom de la prise connectés par. (Dot) **.
Dans le cas de l'auteur, l'ID de groupe est «com.github.kubota» et le nom du plug-in est «QiitaSample», qui est «com.gtihub.kubota.qiitasample».
Certaines modifications sont dues au fait que ce nom de package ne peut pas être utilisé en majuscules, il est donc remplacé par la partie inférieure, et -
(trait d'union) ne peut pas être utilisé, il est donc remplacé par _
(trait de soulignement).
Ensuite, faites un clic droit sur le package créé et sélectionnez "Nouveau" -> "Classe".
Ensuite, l'écran suivant s'affichera, alors saisissons le nom de la classe qui y fleurira.
Le nom peut être n'importe quoi, mais par souci de clarté, utilisons le nom du projet actuel ou Main
.
(C'est ma faute de frappe que Qiita ici est QIita ...)
Lorsque vous l'ouvrez, cela devrait ressembler à ceci:
package com.github.kubota.qiitasample;
public class QIitaPlugin {
}
Modifions cela comme suit.
package com.github.kubota.qiitasample;
import org.bukkit.plugin.java.JavaPlugin;
public class QIitaPlugin extends JavaPlugin{
//↓ onEnable est une méthode qui est exécutée lorsqu'elle est chargée
@Override
public void onEnable() {
//↓ Laisser un journal sur le serveur
getLogger().info("Hello, Qiita!");
}
}
Ensuite, j'expliquerai chaque partie modifiée une par une.
import org.bukkit.plugin.java.JavaPlugin;
Cette ligne importe les fonctionnalités nécessaires pour créer un plugin
.
public class QIitaPlugin extends JavaPlugin{
Avec ʻexetends JavaPlugin` ajouté à ce stade, il est possible de créer en ajoutant des fonctions à la classe dans laquelle les fonctions de base de Minecraft sont déjà implémentées.
public class QIitaPlugin extends JavaPlugin{
//↓ onEnable est une méthode qui est exécutée lorsqu'elle est chargée
@Override
public void onEnable() {
//↓ Laisser un journal sur le serveur
getLogger().info("Hello, Qiita!");
}
}
Voici une brève explication de la méthode ʻonEnable. L'endroit appelé «@ Override» indique que la méthode de la classe «Javaplugin» est écrasée. La cible d'écrasement est la méthode ʻonEnable
.
La méthode ʻonEnable` est une méthode qui est automatiquement exécutée lorsque le plug-in est activé.
Le traitement ici n'a aucune fonction tant qu'il n'est pas écrasé.
Donc, comme processus d'écrasement, ajoutez quelque chose qui s'appelle "Hello, Qiita!" À la console avec la méthode'getLogger (). Info () '. Par ce processus d'écrasement, il est devenu une méthode avec une fonction appelée ** qui affiche automatiquement "Hello, Qiita!" Sur la console lorsque le plug-in est activé.
Cliquez avec le bouton droit sur src / main / resources
et sélectionnez Nouveau> Fichier.
Créez ensuite un fichier nommé plugin.yml
.
Si les quatre suivants sont décrits.
name: "Classe principale"
version: "version"
main: "Classe principale"
api-version: "Version de l'API Bukkit""
name
décrit le nom du plug-in.
version
est la version du plug-in. Cependant, cette version est OK si vous écrivez $ {project.version}
car plugin.yml
est lié à pom.xml
cette fois.
main
décrit le nom du package de la classe principale et le nom de la classe reliés par des points.
ʻApi-version` n'est pas strictement requis, mais c'est presque obligatoire, alors mentionnons-le.
Cela répertorie les versions d'API Bukkit prises en charge. Par exemple, 1.13 ou 1.13.2 vaut 1.13, 1.14 ou 1.14.2 vaut 1.14, et ainsi de suite.
name: "QiitaSample"
version: "${project.version}"
main: "com.github.kubota.qiitasample.QiitaSample"
api-version: "1.13"
Cela termine presque la mise en œuvre. Tout ce que vous avez à faire est de compiler. Pour ce faire, faites un clic droit sur le nom du projet et sélectionnez "Exécuter" -> "Maven install".
Lorsque vous faites cela, le résultat sera affiché sur l'écran de la console. S'il est affiché comme «BUILD SUCCESS», il réussit.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.762 s
[INFO] Finished at: 2019-08-12T21:15:44+09:00
[INFO] ------------------------------------------------------------------------
Ensuite, le fichier Jar
doit être ajouté à terget
.
Si vous ajoutez ce fichier Jar
aux Plugins
du répertoire du serveur qui a été créé à l'origine et que vous l'exécutez, Plugin commencera à fonctionner.
(Le nom du plug est QiitaTest
pour diverses raisons, mais j'ai confirmé qu'il fonctionne normalement selon la procédure ci-dessus)
C'est la fin de ce contenu. J'ai développé le plug-in sous l'environnement Mac, mais je pense que ce sera utile car l'utilisation d'Eclipse elle-même est la même pour Windows. (Bien que la disposition des boutons puisse être légèrement différente ...)
Acceptez la commande [MineCraft plug-in] et déclenchez un événement
name: "SampleProject"
version: "${project.version}"
main: "com.github.kubota.sampleproject.SampleProject"
api-version: "1.13"
Bien qu'il soit décrit dans plugin.yml
de la partie principale.
J'ai mal compris qu'il n'y a pas de problème avec uniquement le nom du paquet à cet endroit principal
et je l'ai décrit comme suit.
name: "SampleProject"
version: "${project.version}"
main: "com.github.kubota.sampleproject"
api-version: "1.13"
Par conséquent, le fichier SampleProject
n'a pas pu être référencé et l'erreur suivante a été générée.
[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