Etape 11 : Élargir davantage: 2
Tout d’abord pour l’ajout de chapeaux, nous devons veiller à ce que seulement le joueur fait la commande, car si la console le fait, Eh bien, il y a pas la main pour obtenir une pâté de maisons et pas la tête pour le mettre sur. Nous devons donc avant l’instruction sendMessage et retournent la valeur true dans notre fonction onCommand vérifier si le commandSender est une instance de joueur. Cela peut être fait, comme vous le savez, par la présente :
} else { commandSender.sendMessage("You need to be a player to use this command!"); return true; }
Avec des accolades, contournant les choses dans notre fonction sendMessage et retournent la valeur true . Nous pouvons juste ajouter une instruction else après cette Déclaration si nous venons d’ajouter, en disant la commandSender que la commande utilisable uniquement par un joueur (n’oubliez pas de retourner la valeur true, comme le reconnaît toujours la commande), qui peut être fait :
} else {commandSender.sendMessage ("vous devez être un joueur d’utiliser cette commande!") ; Player player = (Player) commandSender;
Retour à l’intérieur de notre instruction instanceof , il faut ajouter à cela, avant l’instruction return :
PlayerInventory inventory = player.getInventory();
Cet exemple obtient un objet joueur hors de notre commandSender, et il est sûr de monter à l’intérieur de cette instruction if , parce que nous avons déjà vérifié que notre commandSenderest un joueur.
Ensuite, nous devons obtenir l’inventaire du joueur, afin d’obtenir le bloc dans la main du joueur et l’équiper à leur tête. Cela peut simplement être obtenue par :
inventory.setHelmet(inventory.getItemInMainHand());
La façon dont cela fonctionne, est comme vous pouvez probablement, est il sort lecteur variable et obtient leur inventaire et il met à une variable appelée l’inventaire. Cela doit être un PlayerInventory et pas seulement un inventaire, parce que les inventaires peuvent être des choses comme les coffres, compte-gouttes, ect., alors qu’un joueur a mains, armures et autres petits bouts qui n’ont pas des inventaires réguliers.
La tâche suivante consiste à définir le casque à l’élément dans la main du joueur. C’est plus simple que vous pouvez penser :
inventory.setHelmet
Cela peut être décomposé en deux parties. Il y a la
inventory.getItemInMainHand()
Et :
J’irai par eux un bit à la fois. Le premier obtient notre variable défini précédemment l’inventaire et définit le chapeau ou casque, comme tout ce qui vient après lui dans la parenthèse.
Encore une fois, la deuxième partie, se définie comme le chapeau, obtient notre variable de l’inventaire et obtient l’élément dans notre main droite. Éléments peuvent être dans votre main ou la main, mais pour ce tutoriel nous obtiendront le point dans notre principal unique. Pour fixer le chapeau, c’est tout ! Maintenant, compilez le plugin, et vous êtes prêt à le tester !