Jump to content

[Skript-API] Como usar Plugins em Skripts


danielzinh
 Share

Recommended Posts

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: Por favor, registre-se ou entre para visualizar isso.

 

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.

Por favor, registre-se ou entre para visualizar isso.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...