Ir para conteúdo

[Skript-API] Como usar Plugins em Skripts


danielzinh

Posts Recomendados

Você quer usar classes, eventos de Plugins em seu código?

 

_______________________________________

Introdução

 

Primeiro que precisamos saber, é como pegar as classes para importa-las.

Eu recomendo você usar esse programa: MediaFire (Java Decompiler)

 

Esse programa é um decompilador de plugins, ele vê os plugins diretamente da raiz

 

Atenção: Necessário um conhecimento mínimo em Java

Dependências: Skript-mirror ou Skript-reflect (recomendado)

 

_______________________________________

Começo

 

Para começarmos, precisamos importar uma classe, mas primeiro... que classe?

Para esse exemplo, irei usar o plugin ChestShop. Irei importar uma classe de evento onde sempre que o jogador compra alguma coisa, ele é ativado

 

Vamos ver se esse evento existe...

 

Abrimos o Java Decompiler, e arrastamos o ChestShop para lá:

image.png.c562d74a68953a11feba5345ab7d7ef8.png

 

Vamos explorar seus pacotes... achei!

image.png.63de50e29651167e4b35d7792eb7f2d7.png

 

Atenção: nem todos os plugins são tão fáceis assim, a maioria dos plugins não possuem API (não possuem essas coisas que facilitam nossa vida).

 

Agora, nós já sabemos que classe importar.

image.png.e7ec27c1d09819a709c504d24e3a9697.png

Clique com o direito na classe e aperte em Copy Qualified Name para copiar o nome da classe.

 

Agora, no Skript, faremos isso: 

image.png.982aa681ec5204ff4aafd8cddd4edd5c.png

Você colocará import: e colará o nome que copiou acima, e pronto, nossa classe já está importada.

 

Agora vamos procurar o evento dentro dessa classe.

image.png.c6f655916c57b33f26d8889687aaae13.png

Achei! todos os eventos de plugins possuem esse extends Event.

 

Então, iremos copiar isso:

image.png.bb16f81d7ec1d6d052d4302bc07ba35b.png

e colocar em nosso código! muwhahahah!

 

E pronto! já temos um evento personalizado de um plugin!

image.png.eb4225095daee72d8a1d28295602db0b.png

 

Conseguir valores de um Evento Personalizado

isso é muito simples, primeiro, vamos ver quais opções de valores temos disponíveis..

image.png.c6a8cf347483a8b2b5f80ea932f7b657.png

Oba! todos os métodos (public) que possuirem get no começo, podem ser utilizadas!

 

Por exemplo, eu quero conseguir o nome da pessoa que comprou, então eu acho... que é esse getClient(), vamos testar!

 

Porém! atenção:

 

ERRADO:

image.png.0803f6d57b187196d6f8d0212094f7be.png

 

CORRETO:

image.png.9cae26b19671c51d07ff1d33dfd7d005.png

 

Isso é um evento, e não uma function! então sempre coloque event.método().

 

Outro aviso importante: Em eventos personalizados não existe %player%, você só pode usar os métodos get!

Se o evento personalizado não possui um event.getPlayer() você não poderá obter o nome do jogador, mas, igual a esse caso, o nick do jogador pode estar em um método diferente, como event.getOwner() e/ou event.getClient() fique atento!

 

 

_______________________________________

Qualquer erro, dúvida ou informação errada escreva um comentário abaixo que eu tentarei ajudar.

image.png

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, a class='ipsType_brandedLink' href='https://gamersboard.com.br/login/' data-ipsDialog data-ipsDialog-size='medium' data-ipsDialog-title='Sign In Now'>acesse agora para postar com sua conta.
Observação: sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

Processando...
×
×
  • Criar Novo...