Minecraft tapp Server Mod skapande (11 / 14 steg)
Steg 11: Expanderar ytterligare: 2
Först för att lägga till hattar, måste vi se till att endast spelaren gör kommandot, eftersom om konsolen gör det, bra, det finns ingen hand att få ett kvarter från, och ingen chef att sätta det på. Så innan instruktionen sendMessage och returnera sant i vår onCommand funktion måste vi kontrollera om commandSender är en instans av spelare. Detta kan göras, som ni kanske vet, av detta:
om (commandSender instanceof spelare) {
Med klammerparenteserna går runt sendMessage och returnerar true saker i vår funktion. Vi kan bara lägga till en else -sats efter uttalandet om vi just har lagt till, berättar commandSender att kommandot kan endast användas av en spelare (Glöm inte att returnera sant, eftersom kommandot kändes fortfarande), vilket kan göras genom:
} annat {
commandSender.sendMessage ("du måste vara en spelare att använda det här kommandot!");
return true;
}
Tillbaka till insidan av våra instanceof uttalande måste vi lägga till detta, innan programsatsen return:
Spelare spelare = (spelare) commandSender;
Detta blir en spelare objekt ur våra commandSender, och det är säkert att kasta i denna om -uttryck, eftersom vi redan kontrollerat att vår commandSenderär en spelare.
Sedan behöver vi få spelarens lager, för att få blocket i spelarens hand och utrusta den till huvudet. Detta kan bara uppnås genom:
PlayerInventory inventering = player.getInventory();
Hur detta fungerar, är som du säkert kan berätta, är det blir ut spelare variabel, och får sin inventering, och sätter på en variabel som kallas för inventering. Detta måste vara en PlayerInventory och inte bara en inventering, eftersom inventeringar kan vara saker som kistor, droppers, ect., medan en spelare har händer, rustningar och andra små bitar som regelbundna inventeringar inte har.
Nästa uppgift är att sätta hjälmen till objekt i spelarens hand. Detta är enklare än du kanske tror att:
inventory.setHelmet(inventory.getItemInMainHand());
Detta kan delas upp i två delar. Det finns de
inventory.setHelmet
Och:
inventory.getItemInMainHand()
Jag kommer att gå av dem en bit i taget. Den första som får våra tidigare definierade inventering variabel, och sätter en hatt eller hjälm, som allt som kommer efter det inom parentes.
Den andra delen, som får anges som hatten, igen får vår inventering variabel, och får artikeln i vår huvudsakliga hand. Objekt kan vara i din huvudsakliga eller i hand, men för den här läraren vi kommer att få artikeln i vår huvudsakliga en. För att ställa hatten, det är allt! Nu kompilera plugin, och du är redo att testa den!