[JAVA] Minecraft BE Tap avec une épée en bois pour sauter

Cet article

―― Ceci est une explication de la ligne de plug-in que j'ai créée avec l'intention de créer un plug-in simple que même les débutants peuvent créer. J'espère que c'est une référence utile. -Introduit dans Blog, et source publiée et téléchargée dans Github Je vais.

introduction

Ceci est un article sur le plug-in Nukkit utilisé lors de la construction d'un serveur avec Minecraft BE (anciennement PE). Si vous pouvez utiliser Java dans une certaine mesure, vous pouvez le lire. Je pense que ce sera utile si vous pouvez le lire tout en le vérifiant, même si vous ne l'êtes pas.

De quel genre de structure s'agit-il

Tout d'abord, je vais vous présenter la structure du plug-in. Dans le plug-in, le traitement des événements selon Minecraft est préparé dans Nukkit, et nous écrirons le traitement en les utilisant.

@EventHandler
public void onJoin(PlayerJoinEvent event){
    //La description
}

Dans l'exemple ci-dessus, nous écrivons une fonction qui prend PlayerJoinEvent comme argument. Cela l'appellera lorsque le joueur rejoindra le serveur.

Il existe de nombreux autres types d'événements, et nous créerons des plugins tout en les utilisant.

Explication de ce qui a été créé

Cette fois, j'ai fait quelque chose qui, lorsque vous tapez avec une épée en bois, saute dans la direction à laquelle vous faites face. Cela utilise également des événements. Jetons un coup d'œil à la source.

@Override
public void onEnable(){
    this.getServer().getLogger().info("§b[TapFly]Commencé");
    this.getServer().getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onInteract(PlayerInteractEvent e){
    Player pl = e.getPlayer();
    Item item = pl.getInventory().getItemInHand();
    int itemid = item.getId();
    if(itemid == Item.WOODEN_SWORD) {
        double yaw = pl.getYaw();
        double pitch = pl.getPitch();
        double addX = -Math.sin(yaw * Math.PI / 180) * Math.cos(pitch * Math.PI / 180);
        double addY = -Math.sin(pitch * Math.PI / 180);
        double addZ = Math.cos(yaw * Math.PI / 180) * Math.cos(pitch * Math.PI / 180);
        pl.setMotion(new Vector3(addX, addY, addZ));
    }
}

Cela fait partie de la source du plug-in. J'ai beaucoup écrit, mais il y a deux fonctions. Séparons-les.

La première fonction appelée onEnable.

@Override
public void onEnable()

Il s'agit de la première fonction appelée dans le plug-in. Parfois appelé au début, il sert à initialiser les valeurs. Dans ce cas, nous nous enregistrons pour que l'événement soit appelé et émettons des caractères vers la console.

La deuxième fonction appelée onIteract.

@EventHandler
public void onInteract(PlayerInteractEvent e)

Il s'agit d'un événement qui se produit lorsque le joueur appuie sur quelque chose. À partir de cet événement, vous pouvez obtenir l'objet joueur, à partir duquel vous pouvez obtenir le nom ou l'objet objet que vous avez en main. Cette fois, je juge s'il s'agit d'une épée en bois de l'objet objet acquis et je la fais voler dans la direction à laquelle elle fait face. De plus, voler dans la direction à laquelle vous faites face est calculé à l'aide d'un triangle. Cependant, peu importe si vous volez dans la direction à laquelle vous faites face, il est important que vous puissiez le gérer à l'aide d'événements. Vous pourrez faire diverses choses en utilisant des événements pour obtenir des choses qui leur sont liées, prendre des décisions et les traiter.

Recommended Posts

Minecraft BE Tap avec une épée en bois pour sauter
Comment signer Minecraft MOD
Ne pas être un oncle statique
Correction de la possibilité de sauvegarder une colonne spécifique vide avec l'enregistrement actif
Il semble y avoir un mot «de-Java».
Je souhaite pouvoir lire des fichiers en utilisant refile avec administrate [rails6]
L'histoire selon laquelle traiter d'anciennes dates est agaçante
[Rails] rails nouveau pour créer une base de données avec PostgreSQL
Convertissez une chaîne en un tableau caractère par caractère avec Swift
[Ruby] Je veux faire un saut de méthode!
Transition vers un contrôleur de vue avec Swift WebKit
Ripper un CD en MP3 avec Ubuntu 18.04 LTS
Résumé du site qui sera utile dans Minecraft Modding 1.12.2
Développement de serveur Minecraft BE de PHP à Java
J'ai essayé de casser le bloc avec java (1)