Paso 11: Ampliar más: 2
En primer lugar para agregar sombreros, tenemos que asegúrese de que sólo el jugador hace el comando, porque si consola lo hace, bien, hay ninguna mano a una cuadra y no cabeza para ponerlo en. Así que antes de la declaración de sendMessage y devolver true en nuestra función bajo demanda , necesitamos comprobar si la commandSender es una instancia del reproductor. Esto se puede hacer, como usted sabe, por esto:
} else { commandSender.sendMessage("You need to be a player to use this command!"); return true; }
Con las llaves dando vuelta las cosas en nuestra función sendMessage y devolver true . Sólo podemos añadir una declaración más después de esa declaración si hemos añadido, diciendo los commandSender que el comando puede ser utilizado por un jugador (no olvides devolver true, como todavía se reconoce el comando), que puede hacerse:
} else {commandSender.sendMessage ("necesita ser un jugador para utilizar este comando!"); Player player = (Player) commandSender;
Hacia el interior de nuestra instrucción instanceof , necesitamos añadir, antes de la sentencia return:
PlayerInventory inventory = player.getInventory();
Esto obtiene un objeto de reproductor de nuestro commandSender, y es seguro echar dentro de esta afirmación si , porque ya comprobamos que nuestro commandSenderes un reproductor.
A continuación, necesitamos obtener el inventario del jugador, con el fin de obtener la manzana en la mano del jugador y equipar a su cabeza. Esto puede lograrse simplemente por:
inventory.setHelmet(inventory.getItemInMainHand());
La manera esto funciona, es como usted probablemente sabe, es sale jugador variable y obtiene su inventario y pone a una variable llamada inventario. Esto debe ser un PlayerInventory y no sólo un inventario, porque inventarios pueden ser cosas como cofres, goteros, etc., mientras que un jugador tiene manos, armadura y otros pequeños pedacitos que no tienen inventarios regulares.
La siguiente tarea es ajustar el casco en el elemento de la mano del jugador. Esto es más simple que usted puede pensar que:
inventory.setHelmet
Este puede dividirse en dos partes. Hay la
inventory.getItemInMainHand()
Y:
Voy a ir por ellas un bit a la vez. El primero de ellos obtiene nuestra variable previamente definida de inventario y establece el sombrero o casco, como lo que viene después de él en paréntesis.
La segunda parte, que es conseguir como el sombrero, otra vez es nuestra variable de inventario y obtiene el elemento en nuestra mano. Artículos pueden ser en tu main o mano, pero para este tutorial va a obtener el artículo en nuestro uno principal. Para ajustar el sombrero, está sobre él. Ahora compilar el plugin, y listo probarlo!