Estou aqui para dar continuidade nos ensinamentos de programação de plugins
Para quem não leu a parte um lei pois la é falo passo a passo como criar classes projetos etc
e eu irei dar continuidade ao código do ultimo tópico
Ok então vamos começar
=========================================================================================================
No ultimo tópico eu ensinei a criar um comando que abriria um inventario contendo um item
agora vamos aprimoralo
Primeiramente eu ensinei apenas a criar uma varial de item que era no caso o
ItemStack espada = new ItemStack(Material.DIAMOND_SWORD);
Agora vamos adicionar alguma coisas para esse item
Primeiro devemos setar o itemMeta dele
ItemMeta e = espada.getItemMeta();
Definimos que "e" sera o iteMeta da variável "Espada"
e.setDisplayName("Kit PvP");
Agora pegamos a variável "e" e dizemos para o plugin setar o nome do nosso item para "Kit PvP" por exemplo
Agora vamos adicionar uma lore ao item
Lore seria um tipo de descrição do item que fica abaixo do nome
![[IMG]](http://image.prntscr.com/image/7fcc971650be4bbc85bb0cb849d715c0.png)
Para isso vamos fazer da seguinte forma
ArrayList<String> espadalore = new ArrayList<String>();
espadalore.add("Custa: 1k");
e.setLore(espadalore);
Com essas 3 linhas vamos definir que a variável "espadalore"
definimos que queremos que a lore da dessa variável seja "Custa 1k"
e que o lore da variável "e" sera "espadalore"
então ate agora temos nosso código desse jeito
Se quiser adicionar mais linhas de Lore é só ir adicionando um embaixo da outro
espadalore.add("1"); LINHA 1
espadalore.add("2"); LINHA 2
espadalore.add("3"); LINHA 3
Agora tento isso vamos criar nosso 1 evento
oque eu vou ensinar hoje sera para que quando um player click no item do menu de kits
ele não consiga pegar o itens para si e ele receba alguns itens
Para isso vamos começar outro código
ele devera começar a ser escrito
em cima da ultima chave "}"
Primeiro devemos colocar o
@EventHandler
Para indicar para o plugin que ele deve fazer uma captura de eventos
agora vamos criar a variável do evento
public void onClick(InventoryClickEvent e ) {
}
esse "onClick" não é obrigatório é apenas a forma padra que eu uso
mas lembre-se que se for mudar a primeira palavra tem que ser tudo em minúsculo
e as demais depois dela devem começar com maiúsculo
Ok esse evento quer dizer que quando ouver um click no inventario ele ira fazer certa ação
e definimos a variável "e" para isso
Agora para definir o player que queremos que a ação aconteça devemos fazer da seguinte forma
Player p = (Player)e.getWhoClicked();
aqui definimos que "p" sera o Player que clicou no inventário
e depois vamos adicionar
if (e.getInventory().getName().equalsIgnoreCase("Kits"))
e.setCancelled(true);
Aqui vamos dizer para o plugin
Se o nome do inventario for "kits" ele deve cancelar a ação
ou seja o player não vai conseguir retirar o item do inventario
agora vamos para o proximo
if(e.getCurrentItem().getType() == Material.DIAMOND_SWORD) {
Aqui vamos dizer que se o item clicado for o material Diadmon_Sword (Espada de diamante)
ele devera fazer isso
p.sendMessage("Kit entregue");
p.getInventory().setBoots(new ItemStack(Material.DIAMOND_BOOTS));
p.getInventory().setLeggings(new ItemStack(Material.DIAMOND_LEGGINGS));
p.getInventory().setChestplate(new ItemStack(Material.DIAMOND_CHESTPLATE));
p.getInventory().setHelmet(new ItemStack(Material.DIAMOND_HELMET));
Agora nos definimos a ação que ele ira fazer que sera de
colocar uma armadura no jogaro
p.getInvetory().setBoots();
vai falar para o plugin pegar o inventario do player e setar no local da bota algum item
no casso uma bota de diamante
e assim do mesmo com os outros
sendo os outros calça, peitoral, capacete
por fim vamos dar uma espada para o player
como vocês já sabem criar um item vou só falar como dar para o player
devera ser feito assim
p.getInventory().setItem((SLOT QUE QUER COLOCAR), (ITEM QUE QUER COLOCAR));
ou você pode fazer assim
p.getInventory().addItem(ITEM QUE QUER COLOCAR);
a diferença é que no 1 você pode decidir em que slot o item ira ficar
já no 2 o item sera colocado onde tiver espaço
e finalize com um
p.closeInventory();
para fechar o menu de kits
então temos nosso código assim:
Estamos quase terminando só falta uma coisa
temos que registrar os eventos do nosso plugin para isso devemos fazer o seguinte
do lato do " extends JavaPlugin"
adicione: "implements Listener"
e no onEnable devemos adicionar
getServer().getPluginManager().registerEvents(this, this);
Isso ira indicar para o plugin registrar todos os eventos que acontecerem na classe principal
então vamos terminar com nosso código assim
E pronto
só exportar e testar no seu server
Então chegamos e o fim de outro tópico
Novamente perguntas,ideias,criticas Mandem um MP
ou pergunte aqui mesmo
Se gostou do tópico da um comente ai

Clique para expandir...