[JAVA] Ecrire Spigot dans VS Code

Ecrire Spigot dans VS Code

Je veux créer un plug-in pour Micra. Mais je ne veux pas utiliser Eclipse, pour ceux qui veulent utiliser VS Code wiki officiel de Spigot MC Est une traduction japonaise approximative. Veuillez noter qu'il y a quelques traductions et modifications pour travailler les parties qui ne fonctionnaient pas dans mon environnement [^ 1].

Conditions préalables

  1. VSCode a java Extension pack installé.
  2. OpenJDK doit être inclus. (Le pack d'extension Java nécessite OpenJDK.)
  3. Vous avez également besoin de Apache Maven.
  4. Avoir des connaissances de base en Java.
  5. Être capable de fournir un nom unique tel que le groupID du plug-in, le domaine Internet pouvant être utilisé pour le package ou une partie de l'adresse e-mail.

Préparation de l'espace de travail

Créez un espace de travail avec VS Coede et configurez-le. Vous pouvez modifier les paramètres à partir du menu de la fenêtre ou en éditant default.code-workspace.

files.autoGuestEncoding: Cochez la case. [^ 2]

files.encoding: Spécifiez utf8.

java.home: Spécifiez le chemin absolu d'OpenJDK.

java.jdt.ls.vmargs: Définissez des arguments Java VM supplémentaires pour démarrer Java Language Server. Défini sur "-Dfile.encoding = UTF-8". [^ 2]

javac-linter.javac: Définit l'exécutable javac. Spécifiez "-Dfile.encoding = UTF-8" dans l'argument de javac. [^ 2]

En fin de compte, "default.code-workspace" devrait ressembler à celui ci-dessous.

{ "folders": [ { "path": "." } ], "settings": { "files.autoGuessEncoding": true, "files.encoding": "utf8", "java.home": "C:\openjdk-1.8.0", "java.jdt.ls.vmargs": "-Dfile.encoding=UTF-8", "javac-linter.javac": "javac -Dfile.encoding=UTF-8" } }


## Créer un plug-in vide
 Cliquez avec le bouton droit sur le répertoire de l'espace de travail et cliquez sur "Générer à partir de l'archétype Maven".
 Cliquez sur "maven-archetype-quickstart" dans le menu qui apparaît en haut de la fenêtre VS Code. [^ 3]
 Si l'écran de sélection de version apparaît, sélectionnez la dernière (2.0).
 L'Explorateur s'ouvre, alors sélectionnez un espace de travail.

 Le terminal vous demandera certains paramètres du projet.

**groupId**:
 Entrez le nom du package
**artifactId**:
 Entrez le nom du plug-in sans le numéro de version
**version**:
 Entrez le numéro de version de la fiche. Si vous appuyez sur Entrée sans rien entrer, ce sera "1.0-SNAPSHOT".
**package**:
 Il est recommandé d'appuyer simplement sur la touche Entrée pour utiliser la valeur par défaut. La valeur par défaut est groupId.

 Après cela, Maven vous demandera de confirmer les paramètres du projet Maven.
 S'il est correct, appuyez sur Y ou Entrée pour confirmer.
 Lorsque la phrase "BUILD SUCCESS" apparaît dans le terminal, ouvrez pom.xml depuis le répertoire du plugin et modifiez-le comme suit.

 ** Remarque: Ce qui suit est le cas lorsque le groupId est défini sur «dev.cibmc.spigot.blankplugin» **
>```
<?xml version="1.0" encoding="UTF-8"?>
<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>dev.cibmc.spigot.blankplugin</groupId>
  <artifactId>BlankPlugin</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <repositories>
      <repository>
          <id>spigot-repo</id>
          <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
      </repository>
  </repositories>
  <dependencies>
      <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.12.2-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
      </dependency>
  </dependencies>
  <build>
    <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
    <resources>
      <resource>
        <directory>${project.basedir}/src/main/resources</directory>
        <includes>
          <include>plugin.yml</include>
        </includes>
      </resource>
    </resources>
  </build>
</project>

Bien entendu, vous pouvez changer la version de l'API Spigot.

Créez un répertoire de ressources dans [projectBaseDir] / src / main et créez-y plugin.yml. Voici un exemple de plugin.yml.

main: dev.cibmc.spigot.blankplugin.App name: BlankPlugin version: 0.1


---
 Ceci n'est pas une partie de l'article d'origine
 Cependant, dans mon environnement [^ 1], le contenu de versin devait être placé entre guillemets, et les éléments api et api-version étaient nécessaires.
 api spécifie la version de Minecraft (par exemple 1.16.2) et api-version spécifie la version de l'API de Spigot (par exemple 1.16).

 Par conséquent, il fonctionne normalement en procédant comme suit. (Pour la version 1.16.2)

>```
main: dev.cibmc.spigot.blankplugin.App
name: BlankPlugin
version: "0.1"
api: 1.16.2
api-version: 1.16

À ce stade, l'arborescence des répertoires de l'espace de travail devrait ressembler à ceci: BlankPlugin  ┣ src  ┃ ┣ main  ┃ ┃ ┣ java  ┃ ┃ ┃ ┗ dev  ┃ ┃ ┃   ┗ cibmc  ┃ ┃ ┃     ┗ spigot  ┃ ┃ ┃       ┗ blankplugin  ┃ ┃ ┃         ┗ App.java  ┃ ┃ ┗ resources  ┃ ┃   ┗ plugin.yml  ┃ ┗ test  ┣ target  ┗ pom.xml

Faites un clic droit sur "Brank Plugin" dans le panneau MAVEN et sélectionnez "Installer" dans le menu. Confirmez que "BUILD SUCCESS" est affiché dans le terminal.

** Remarque: Le groupId fourni à titre d'exemple, "dev.cibmc.spigot.blankplugin", doit être changé en votre propre groupId lorsque vous créez un plugin. ** **

** Note 2: Si vous ne souhaitez pas utiliser APP dans le nom de la classe principale, renommez le fichier, renommez la classe et modifiez la définition de main dans plugin.yml. ** **

Créer un plugin vierge

Ouvrez le fichier App.java dans le répertoire créé au chapitre précédent. (Ou si vous avez renommé le fichier, ce fichier) Voici un exemple de code.

package dev.cibmc.spigot.blankplugin; import org.bukkit.plugin.java.JavaPlugin; public class App extends JavaPlugin { @Override public void onEnable() { getLogger().info("Hello, SpigotMC!"); } @Override public void onDisable() { getLogger().info("See you again, SpigotMC!"); } }


 Lorsque "Classpath est incomplet. Seules les erreurs de syntaxe seront signalées." Est affiché en bas à droite de VS Code, cliquez avec le bouton droit sur "BrankPlugin" dans le panneau MAVEN et sélectionnez "Objectifs personnalisés ..." dans le menu.
 Après cela, entrez "eclipse: eclipse" dans le champ de saisie en haut de la fenêtre VS Code et appuyez sur la touche Entrée.

 Enfin, faites un clic droit sur "Brank Plugin" dans le panneau MAVEN et sélectionnez à nouveau "Installer".
 Si la construction réussit, le plug-in Spigot sera généré dans le répertoire cible.

## Exécuter un plugin vierge
 Copiez le plug-in créé dans le répertoire du plug-in et démarrez le serveur.
 Ensuite, le journal du serveur comme indiqué ci-dessous s'affiche.
>```
[HH:MM:SS] [Server thread/INFO]: [BlankPlugin] Enabling BlankPlugin v1.0-SNAPSHOT
[HH:MM:SS] [Server thread/INFO]: [BlankPlugin] Hello, SpigotMC!

Lorsque vous exécutez la commande d'arrêt sur la console, le journal suivant s'affiche.

[HH:MM:SS] [Server thread/INFO]: [BlankPlugin] Disabling BlankPlugin v1.0-SNAPSHOT [HH:MM:SS] [Server thread/INFO]: [BlankPlugin] See you again, SpigotMC!


# Les références
 Wiki officiel de Spigot MC (https://www.spigotmc.org/wiki/creating-a-blank-spigot-plugin-in-vs-code/)
 [^ 1]: windows10, Micra ver1.16.x
 [^ 2]: Dans mon cas, cela a bien fonctionné même si je ne l'ai pas mis.
 [^ 3]: Il peut y avoir jdk-8 etc. derrière, mais vous n'avez pas à vous en soucier.


Recommended Posts

Ecrire Spigot dans VS Code
Ecrire l'entrée standard dans le code
Ecrire le code de test du sélénium en python
Écrire du code de type python
Paramètres du code VS
(Pour moi) Mettez Flask dans VS Code
Passez PYTHONPATH en 1 minute avec VS Code
Utiliser Python dans un environnement Anaconda avec VS Code
Écrire du code semblable à Python (dictionnaire)
Ecrire DCGAN avec Keras
Écrire un décorateur en classe
Ecrire Python dans MySQL
Je veux écrire en Python! (1) Vérification du format de code
Ajouter un complément automatique à la programmation EV3 Micropyhon dans VS Code
Paramètres VS Code pour le développement en Python avec achèvement
VS Code indique qu'il y a une erreur dans cv2
Relancer la recherche de symboles dans l'espace de travail Python avec VS Code
Expose settings.json pour un codage Python efficace avec VS Code
Écrivez clairement du code qui augmente le branchement conditionnel
Python avec VSCode (Windows 10)
Ecrire des filtres Pandec en Python
Écrire une distribution bêta en Python
Ecrire python dans Rstudio (réticulé)
Comment utiliser VS Code dans un environnement Venv avec Windows
Écrire des données au format HDF
Définissez VSCode sur PyCharm.
Déboguer Python avec VS Code
Générer du code QR en Python
Ecrire des tests Spider dans Scrapy
UpNext2 Development Record # 1 Construire un environnement Python CI dans VS Code
Je veux pouvoir exécuter Python avec VS Code
Code de caractère appris en Python
Concurrence avec VS Code Créez un environnement Python pour les professionnels sous Windows
Facilitez les opérations de raccourci telles que Ctrl + P avec le terminal VS Code
J'ai écrit le code pour écrire le code Brainf * ck en python
Paramètres de débogage dans un environnement virtuel lors de l'utilisation de Pipenv avec VSCode
Ecrire une dichotomie en Python
Ecrire un test piloté par table en C
Écrivez, compilez et exécutez du code sur codeanywhere.com
[Python] Générer un code QR en mémoire
Ecrire un schéma JSON avec Python DSL
Comment écrire sobrement avec des pandas
Formater automatiquement le code Python avec Vim
Ecrire un serveur HTTP / 2 en Python
Ecrire une fonction AWS Lambda en Python
Extraits de code VS pour les analystes de données
Ecrire des algorithmes A * (A-star) en Python
[Maya] Ecrire un nœud personnalisé dans Open Maya 2.0
[Remarque] Erreur d'intelligence VS Code cv2
Résoudre l'erreur d'importation non résolue de VS Code
Ecrire des contraintes de clé externe dans Django
Ecrire un graphique à secteurs en Python
Ecrire le plugin vim en Python
Essayez d'exécuter Jupyter avec VS Code
Écrire une recherche de priorité en profondeur en Python
Exécuter le module Python unittest dans vs2017
Code: 2 "Hello World" dans "Choregraphe-Python script"