GlobalTK
Ola Caro Convidado Cadastre-se
Porque Me Cadastrar No GlobalTk?

O GlobalTk, e O Forum Que Mais Inova No Mundo
Tem Uma Equipe Completa Para Le Ajudar
E Tirar Duvidas
Forum De: DDTANK, HABBO, MU, POKEMON,PB
E Muito Mais Cadastre-se Jah e Gratis;
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Nossos Sites

GlobalTk Facebook
Login

Esqueci minha senha

Top dos mais postadores
ИightDragoη (1945)
 
-Dєlєgαdσ (1522)
 
MΛĐΛRΛ (1425)
 
Dorgas (1319)
 
-Kιℓℓєя™ (1302)
 
-CaaH (1183)
 
тнєđяαgσɳ (1104)
 
Iori.Yagami™ (1044)
 
-Ice (1004)
 
Ocacique (987)
 

Últimos assuntos
» DDTank Sky - Painel Liberado
Qua Jul 22, 2015 5:41 pm por carnera

» DDtank Private 5.5
Sex Nov 14, 2014 3:12 pm por Edward

» DDtank (listao)
Qui Nov 13, 2014 3:27 pm por Edward

» _\|/_ |CLan ALOPRADO'S| _\|/_ 4FUN
Ter Out 28, 2014 4:43 pm por Vinicius95938076

» World - ST Fórum
Qua Ago 27, 2014 2:13 pm por fulaninho

» ddt 1188 mt bom
Sab Ago 16, 2014 12:11 pm por -Ice

» Meu canal de gameplays comentadas e variadas Guido Games
Seg Ago 04, 2014 5:22 pm por GuidoGames

»  Isso é legal! Eu tenho um Minecraft Atualizar código e fui aceita! Sem amarras que eles estão dando-lhes de graça em http://linkbitty.com/minecraft
Dom Jul 20, 2014 9:59 am por danielsedi

» [Listão] DDtank Private 2013
Qui Jul 17, 2014 7:39 am por adaltonlegal

Os membros mais ativos da semana

Xat Do Forum!

[Tutorial] Fazendo um plugin

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial] Fazendo um plugin

Mensagem por Sr.Dener em Ter Out 02, 2012 7:08 pm

Vou descrever aqui, um tutorial bem basico de como fazer um plugin.

Antes de tudo, voce precisa do Netbeans ou Eclipse. Para plugins do bukkit eu pessoalmente gosto de netbeans:

[Você precisa estar registrado e conectado para ver este link.]

Primeiro, abra o netbeans, crie um projeto Java > Java Application (Apicação/Aplicativo Java) chamado MeuProjeto.

Ele vai criar um projeto, com um pacote (o desenho da caixinha), com o nome do seu projeto, e uma classe chamada Main la dentro. A classe Main vai estar no arquivo Main.java, cada .java é uma classe (quase sempre )

Voce deverá primeiro, ir em Bibliotecas, em baixo do pacote (caixinha) do seu projeto, Adicionar Jar/Pasta, e selecionar o jar do craftbukkit, aquele mesmo que voce usa pra rodar o servidor. Assim seu projeto poderá usar as coisas do bukkit.

Pra ficar supimpa, deverá ter ficado assim seu projeto: (o resto é resto nao fechei pq dps da trabalho abrir tudo denovo)


Agora, voce ja está ligando seu codigo ao bukkit, então vamos começar a parte legal: O java !

Abra a classe Main. Voce verá isso:

Codigo

O que está deopis de // (em cinza ou verde na pagina aí) é comentário e não faz parte do programa, é comentário, então agente pode deletar todos estes comentários.

Agora, renomeie o nome o arquivo Main.java para meuPlugin.java , e cole isto no codigo dele:

Codigo

Agora, vou ensinar pra voces, a arte de programar sem programar. O netbeans faz tudo pra voce.

Voce criou uma classe chamada meuPlugin que herda a classe JavaPlugin do bukkit (tem tudo q ela tem). Essa é a clase principal do plugin.

Agora, nós temos que colocar algo dentro da nossa classe. Para faze-la funcionar no bukkit, toda classe que é extends JavaPlugin precisa ter 2 métodos. Explicando muito simplesmente, um método é como se fosse uma ação da classe.
Os metodos que a classe que extends JavaPlugin devem ter é: onDisable e onEnable, que são executados automaticamente pelo bukkit quando o plugin desliga / liga

Codigo

Certo, agora agente poderia fazer o plugin inicializar o que ele deve inicializar dentro do onEnable, para o plugin funcionar de verdade.

Agora vamos criar a classe que cuida dos eventos. Tudo é um evento, o jogador quebrar o bloco é um evento, o jogador andar é outro, um monstro morrer é outro, um raio cair é outro, um chunk carregar é outro. Quando se faz plugins, voce faz ações para estes eventos. Ex. 'quando o jogador quebrar um bloco, acontecer coisa tal'.

Vamos fazer um simples plugin, de quando o jogador matar um monstro, agente verificar se o monstro é um Zumbi. Se for um zumbi, o jogador vai ganhar 1 bacon por matar o zumbi !

Vamos fazer a classe de eventos então. Crie uma classe chamada Eventos, dentro do mesmo pacote meuprojeto que voce criou. Lá que a magía acontece. Vamos criar um método para ser executado quando alguem morre , para fazer o que queremos fazer. Alguem morrer se refere ao evento EntityDeathEvent.

Codigo

Para voce saber quais eventos voce pde usar, o modo mais fácil é ir la em cima do codigo onde ficam os imports e digitar:

import org.bukkit.event

Depois de digitar isto, digite um ponto ( . ) depois do event, vai aparecer as listas de eventos que voce pode usar.

Ok, agora voce tem o metodo de quando o bixo morre. Como fazer ele saber se é um zumbi, e dropar um bacon ?

Agora vou explicar um conceito de Java.
Ai voce tem a classe EntityDeathEvent, chamada event. Dentro dessa classe EntityDeathEvent tem varios metodos (como esse public void bla bla bla) e variaaas outras classes, com mais metodos dentro. Sempre que voce quer saber o que tem dentro da outra classe, poe o ponto ( . ). Por exemplo, vai no miolo do método que agente criou, e digita evento. , vai aparecer tudo que tem dentro dessa classe EntityDeathEvent que agente chamou de evento

Agora, digitando event. voce devera procurar getEntity(). Isto vai retornar a classe Entity do evento, ou seja, a classe que representa a entidade do evento, no caso a criatura que acabou de morrer !!

deopis do getEntity(), digite outro ., veja as opções. Agora são as opções da classe Entity, que ta dentro da classe EntityDeathEvent.

Voce não irá usar opções do entity, voce simplesmente usará o codigo decorado do java 'instanceof', que significa em palavras de boa 'é um'. Voce quer saber se o entity é um zumbi, então vai ter que fazer um if. Um if é um 'se', uma condição. Google isto pra aprender mais logica basica de programação.

A classe deverá ficar assim:

Codigo

Bom, agora, se o zumbi morrer, vai dropar um bacon... legal...mas... certeza ?
Não ! Falta agente dizer ao bukkit para passar eventos para nossa classe Eventos !! E isto fazemos la no onEnable da nossa outra classe !

Desta vez , invez de postar o codigo pronto, vou explicar como fazer e voces vão atraz.

Vá la para a classe principal que extends JavaPlugin. Vá no método onEnable, e digite

this. (this ponto)

this significa referencia a propria classe. Quando voce digitar isto vai aparecer todas opções da classe. Estas opções vem da classe JavaPlugin que voce deu extends, afinal sua classe nao tem nada ainda.

Procure por getServer(), isto vai te retornar o servidor rodando.
Depois do getServer(), digite outro ponto, e procure por getPluginManager(). Agora voce terá o manolo que controla os plugins, vamos dizer a ele usar nossos eventos. Procure o metodo registerEvents. Pra executar este metodo voce precisa de um Listener, e um JavaPlugin. Nós temos nosso listener ! Então só dar um 'new Eventos()' nele (que significa criar a classe na memoria de verdade pra ser usada), e também temos um JavaPlugin, que ja ta na memoria, que é esta propria classe, ou seja, this !

No final, voce deverá ter esta linha dentro do onEnable
this.getServer().getPluginManager().registerEvents(new Eventos(), this);

Agora, selecione o pacote onde ta tudo e aperte f9 para compilar. Se deu erro, voce fez algo errado, repita o tutorial e poste duvidas. Erros ficam na barra da esquerda como lampadas. Muitas vezes clicando nela ela ja te da a opção de como corrigir.

Se compilou, abra um .jar de um plugin, e tire tudo menos o plugin.yml. Na pasta dos projetos do netbeans, ache seu projeto/build/classes

pegue esta pasta do pacote (que está dentro de classes), e jogue no jar.
Agora, cole isto dentro do plugin.yml:

Code:
name: meuPlugin
version: 1
main: meuProjeto.meuPlugin
authors: Mallesco

Pronto, se voce fez tudo certo, voce tem seu 1o plugin. Só jogar na pasta do bukkit e se deliciar matando Zumbis.

Se voce quiser aprender mais sobre java, como sintaxes e dominar mesmo, voce precisará dar uma boa estudada.

Recomendo uma apostila: [Você precisa estar registrado e conectado para ver este link.]

Espero ter ajudado.

___________________________________________________








~Recomendo :

[Você precisa estar registrado e conectado para ver este link.]
[Você precisa estar registrado e conectado para ver este link.]
Suporte da GlobalTk
Regras No Chat

[Você precisa estar registrado e conectado para ver este link.]

Sr.Dener
Gold
Gold

Mensagens Mensagens : 406
Pontos Pontos : 1220
Data de inscrição Data de inscrição : 17/09/2012
Chrome
Brasil

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum