Ir para conteúdo

Bem-vindo ao Fórum InstaMC
Cadastre-se agora para obter acesso a todos os nossos recursos. Uma vez cadastrado e logado, você será capaz de criar tópicos, postar respostas a tópicos já existentes, a reputação de seus companheiros, começar seu próprio mensageiro privado, atualizações de status, criar o seu perfil e muito mais. Se você já possui uma conta ou quer criar clique nos botões abaixo.
Entrar Cadastre-se

Fechar/Abrir shoutbox Seja bem-vindo ao nosso fórum!

@  Italo324 : (Hoje, 04:14 ) Bom dia!
@  Poleto324 : (Há um dia) @IamThePlayer Isso depende muito, se for um player antigo no servidor e que já tenha um bom conhecimento sobre as regras, pode sim gerar mute.
@  IamThePlayer : (Há um dia) Enviar 3 msgs com a mesma coisa no /g do epic é flood e da mute neh?
@  Hupp : (Há um dia) sem farpas
@  Anúncio : (Há um dia) » Entre em nosso TeamSpeak 3: ts.instamc.com.br
@  Hupp : (Há um dia) Slk tem gente q vai ban e dps volta pareçe um Bulldog nrml kkkkkkk
@  Sliminho : (Há um dia) Staff dos MG, obito26738409 hack (to sem gravador)
@  Sliminho : (Há um dia) Staff dos MG, filipehokage hack speed (to sem gravador)
@  sxpientia : (Há um dia) oii
@  SenhorMicha : (Há 2 dias) msg original: Itaipava é uma delicia
@  SenhorMicha : (Há 2 dias) Ooops, bugou
@  SenhorMicha : (Há 2 dias) ́
@  LytyGN_ : (Há 2 dias) uau, 2 sugestões aceitas uma seguida da outra, fiquei até feliz c:
@  Hupp : (Há 2 dias) ou Lyty sugestão top pow
@  Hupp : (Há 2 dias) 100% ironia
@  LytyGN_ : (Há 2 dias) Que a treta comece....
@  Hupp : (Há 2 dias) tu q disse kkk
@  Hupp : (Há 2 dias) ss
@  DaviMG4 : (Há 2 dias) @Hupp eu gastei 500 conto?
@  Hupp : (Há 2 dias) principalmente vc kk
@  Hupp : (Há 2 dias) n posso manda a conversa toda pq nesse dia o pessoal tava q tava kk
@  Hupp : (Há 2 dias) Gemas kkk
@  DaviMG4 : (Há 2 dias) @Hupp qq eu tinha comprado? nem lembro
@  DaviMG4 : (Há 2 dias) @Hupp KKKKKKKK
@  Anúncio : (Há 2 dias)

» Curta nossa página no Facebook - www.fb.com/InstaMCNetwork

@  Hupp : (Há 2 dias) bons tempos
@  Hupp : (Há 2 dias) Quando o Daviih era legal http://prntscr.com/lunhxg
@  LytyGN_ : (Há 2 dias) '-'
@  Rayslasz : (Há 2 dias) @LytyGN_ Nousaaaaaaaaa, q mintira sentiu inveja de mim safadu
@  IamThePlayer : (Há 2 dias) Eu apoio
@  Hupp : (Há 2 dias) xD xD
@  DaviMG4 : (Há 2 dias) gente, era brincadeira do cara KKK
@  DaviMG4 : (Há 2 dias) https://www.instamc..../43041-revisão/
@  Dieguu : (Há 3 dias) @BrunoBlue hora hora
@  Zig : (Há 3 dias) Quando tempo
@  BrunoBlue : (Há 3 dias) algum staff coloca tag de vip no ts pra mim pls
@  BrunoBlue : (Há 3 dias)
@  Lauranja : (Há 3 dias) Bom diaa :D
@  iSayuri_ : (Há 3 dias) Bom dia
@  Jvzin : (Há 4 dias) :o
@  AzEite : (Há 4 dias) nn olha pra tras
@  Skinzin : (Há 4 dias) Uér hausuhahusa
@  DaviMG4 : (Há 4 dias) @Skinzin então, tem que olhar pra frente sempre
@  DaviMG4 : (Há 4 dias) a
@  Anúncio : (Há 4 dias) » Entre em nosso TeamSpeak 3: ts.instamc.com.br
@  jonny324 : (Há 4 dias) exato
@  Skinzin : (Há 4 dias) Mutes Futuros? Pensando assim sim ashuauhsuhas
@  jonny324 : (Há 4 dias) @Skinzin mentira não é , o cara evitou mtt coisa
@  Skinzin : (Há 4 dias) Essa foi boa Jonny auhsuahs
@  Skinzin : (Há 4 dias) "mas veja o lado bom cara, você está imposibilitado de ofender, floodar [..]" AUHSUAH

Foto

[Tutorial] - Criando seu plugin #1: Eventos


  • Por favor, faça o login para responder
10 respostas neste tópico

#1
_Arkasher

_Arkasher

    Membro Experiente

  • Membros
  • 57 posts
    • Tempo Online: 5d 19h 9m 1s
  • Localização: Moderador do EpicSurvival
  • Nick: _Arkasher
  • Clan:STAFF

Olá pessoas,tudo beleza? Bem,vi que essa área é bem desanimada,apesar de ser uma área que pode ajudar muita gente...

 

 

Bem,não sou muito bom em explicar,mais vou tentar! =)

 

 

Observação > Eu vou usar o NETBEANS como Plataforma.

Observação 2 > Editei as prints com o paint kkkkk

 

De que precisa para iniciar o desenvolvimento?

 

1 - NetBeans ou Eclipse (Eu sugiro Eclipse,apesar de eu usar NetBeans,pois acho mais simples)

Links >

NetBeans: https://netbeans.org...oads/index.html

Eclipse: https://www.eclipse.org/downloads/

 

2 - craftbukkit ou Spigot (Sugiro Spigot,pois possui algumas correções de Bugs)

Links >

Spigot/craftbukkit: https://getspigot.org/

 

 

Após ter baixado os programas,você irá abrir a plataforma de sua escolha (*ESTOU USANDO NETBEANS COMO PLATAFORMA*)

 

Após ter aberto,você irá procurar na parte superior esquerda,uma pasta amarela,ou pode apertar CTRL+SHIFT+N para criar um novo projeto.

 

Print > http://prntscr.com/aeaqno

 

Logo em seguida,Irá clicar em Java > Aplicação java > e dar Próximo.

 

Irá aparecer uma tela,no qual você deverá colocar o nome de seu projeto e clicar em finalizar. No meu caso,coloquei "Tutorial".

 

Print > http://prntscr.com/aearlq

 

Após ter feito isso,seu projeto estará criado,agora nós temos que adicionar a API na lib(biblioteca) do projeto.

 

Você vai ter que clicar em seu projeto (onde está o +), e clicar com o botão direito em "Bibliotecas".

 

Print > http://prntscr.com/aeat3m

 

Logo em seguida,clique em "Adicionar JAR/Pasta", e irá abrir uma interface. Nesta interface,você irá procurar onde está o seu Spigot/craftbukkit, e clicar em "Abrir" no canto inferior direito da interface.

 

 

Feito isso,estamos prontos para começar o desenvolvimento do plugin =)

 

Procure por > 

public class Tutorial {

Em sua classe,(lembrando que "Tutorial" é o nome da CLASSE) e deixe assim > 

public class Tutorial extends JavaPlugin implements Listener {

Na classe de seu plugin(lembrando que no eclipse você tem que criar a classe,no netbeans ele cria automaticamente),você irá colocar o seguinte código:

public void onEnable() {

}

public void onDisable() {

}

Lembrando que,ele precisa estar entre os chaves principais da classe,para explicar melhor,vai umas prints.

 

Print 1 > http://prntscr.com/aeayf1

 

Print 2 > http://prntscr.com/aeaykd

 

Print 3 > http://prntscr.com/aeaypa

 

 

Bem,agora vou explicar o que é "onEnable" e "onDisable".

 

 

Bem,o onEnable,ele serve para indicar quando o plugin foi ativado,fazendo assim,você registrar eventos,comandos e entre outras coisas :)

 

Já o onDisable,ele serve para indicar quando o plugin foi desativado.

 

 

 

Muito bem,então vamos enviar uma mensagem para o "Console" para indicar quando o plugin foi ativado ou desativado? =)

 

Nós iremos colocar o seguinte código no onEnable:

Bukkit.getConsoleSender().sendMessage("§3[§aTutorial§3] §6> §fPlugin habilitado com sucesso!");

Observação > A Mensagem que está entre os "" você coloca de acordo com sua escolha. para fazer o símbolo "§",você precisa apertar:

CTRL+ALT+ +.

 

Observação 2 > O § é usado para fazer cores (Se colocar "&" não irá funcionar)!

 

Observação 3 > Não é obrigado a enviar a mensagem,então se não quiser,apenas não coloque isso.

 

Print > http://prntscr.com/aeb24p

 

Veja que há uma linha vermelha sublinhada, isso é porque nós não importamos o Bukkit. Então como resolvo isso?

Para resolver,você pode clicar na lâmpada com um X ao lado da linha e clicar em "Adicionar importação para org.bukkit.Bukkit"

 

Print > http://prntscr.com/aeb3cc

 

 

Agora,como vocês viram no titulo do tópico,neste tutorial,vou ensinar a usarem um Evento! (Não é evento gladiador,e os outros que vocês conhecem.)

 

Então,nós vamos colocar o seguinte código (Fora dos chaves do onEnable e onDisable e dentro dos chaves principais da classe)

Vamos setar a mensagem de entrada:

@EventHandler
public void onJoin(PlayerJoinEvent e) {

}

Da mesma forma que adicionamos as importações do Bukkit,iremos adicionar o do @EventHandler e o do PlayerJoinEvent

 

Print > http://prntscr.com/aeb65c

 

Explicando para que serve o @EventHandler.

Bem,basicamente,ele faz o seu evento funcionar,se não colocar ele acima de seu evento,o evento não irá funcionar. E ele também serve para avisar ao plugin que esse "Método" é um evento.

 

No "public void onJoin", em onJoin,você pode colocar QUALQUER coisa. Apenas coloquei onJoin para facilitar o entendimento.

Em "PlayerJoinEvent e",onde está "e" você também pode colocar qualquer coisa.

 

 

Agora,entre os chaves do onJoin,nós vamos editar a mensagem de quando o player entra no servidor.

 

Coloque assim >

e.setJoinMessage(null);
Bukkit.broadcastMessage("§4§l[§a§l+§4§l] §f"+e.getPlayer().getName());

Irá ficar assim > 

@EventHandler
    public void onJoin(PlayerJoinEvent e) {
     e.setJoinMessage(null);
     Bukkit.broadcastMessage("§4§l[§a§l+§4§l] §f"+e.getPlayer().getName());
    }

Explicando:

 

O e.setJoinMessage(null), ele cancela a mensagem de JOIN. Você também poderia colocar assim ao invés de null >

e.setJoinMessage("§4§l[§a§l+§4§l] §f"+e.getPlayer().getName());

e remover o Bukkit.broadcastMessage,porém eu prefiro fazer do jeito que mostrei mesmo.

 

Mas... Para que serve o "Bukkit.broadcastMessage("§4§l[§a§l+§4§l] §f"+e.getPlayer().getName());"?

 

Bem,ele serve para enviar uma mensagem global para o servidor.

Onde está > 

"§4§l[§a§l+§4§l] §f"

É a mensagem que irá enviar,lembrando que ela precisa estar entre as aspas.

 

Onde está > 

e.getPlayer().getName()

Isso serve para identificar o nick do jogador que entrou. 

Observação > Onde está "e".getPlayer,o "e" é o que você definiu no

public void onJoin(PlayerJoinEvent <o que você definiu aqui>) {

 

Onde está o + (Aqui > "§4§l[§a§l+§4§l] §f"   +    e.getPlayer().getName()) ele serve para você "Juntar" as mensagens e formar uma só.

 

Agora,nós vamos setar a mensagem de saída:

 

Coloque o seguinte código >

@EventHandler
    public void onQuit(PlayerQuitEvent e) {
     e.setQuitMessage(null);
     Bukkit.broadcastMessage("§4§l[§a§l-§4§l] §f"+e.getPlayer().getName());
    }

Observação > Lembre-se de colocar fora dos chaves do PlayerJoinEvent.

 

Adicione apenas a importação do PlayerQuitEvent,pois o @EventHandler já está importado.

 

Explicando >

 

Em "e.setQuitMessage(null);",é a mesma coisa do setJoinMessage,só que ao invés de setar a mensagem de entrada como nula,estamos setando a mensagem de saída como nula.

 

 

Feito isso,as suas mensagens de entrada e saída estão prontas!

Mas agora,precisamos registrar o evento,para que funcione!

 

Isso é simples,apenas vá no onEnable() e entre os chaves dele,coloque o seguinte código:

Bukkit.getPluginManager().registerEvents(this, this);

Print > http://prntscr.com/aebefe

 

 

 

Bem,então nossa classe está pronta.

 

Print > http://prntscr.com/aebev8

 

 

Agora,vamos para o MAIS importante! Vamos criar nossa plugin.yml.

 

Mais o que é essa plugin.yml? Bem,ela é o principal de nosso plugin,sem ela o plugin não funciona. Nela nós declaramos o nome do plugin,classe principal e os comandos (Como esse plugin que criamos não possui comandos,não vamos declarar nenhum comando).

 

Para cria-la,vamos em > Menu iniciar > Documentos > NetBeansProjects

 

Em "NetBeansProjects",você irá procurar a pasta no qual está o nome de seu plugin

 

Print > http://prntscr.com/aebgqz

 

Agora,clique em "src". Após entrar na pasta src,clique com o botão direito em um lugar vazio > Novo > Documento de texto 

 

Print > http://prntscr.com/aebhi7

 

Agora,abra o documento (Não precisa renomear) e coloque o seguinte > 

name: Tutorial
version: 1.0
main: tutorial.Tutorial
commands:

Em "name:" coloque o nome do seu plugin.

Em "version:" coloque a versão do seu plugin.

Em "main:" coloque a classe principal do seu plugin (Se seguiu exatamente o que eu fiz no tutorial, irá ficar > tutorial.Tutorial (Primeiro tutorial minusculo e segundo com T maiúsculo).

Em "commands:" não precisa colocar nada.

 

Agora,vamos transformar isso em uma yml.

Clique em > Arquivo (Você precisa ter o NotePad++) > Salvar Como.

 

Print > http://prntscr.com/aebkaq

Irá abrir uma interface,lá você irá colocar em "Nome" o seguinte > plugin.yml e clique em Salvar

 

Print > http://prntscr.com/aebkui

 

Feito isso,pode excluir a "Novo documento de texto".

 

Agora,vamos mandar o nosso plugin para uma .jar (Bem simples,apenas seguir os passos)!

 

Vá no seu projeto > Clique com o botão direito no nome dele > e clique em "Construir"

 

Print > http://prntscr.com/aebmuo

 

Print 2 > http://prntscr.com/aebn0f

 

Feito isso,é só você ir no Menu iniciar,e pesquisar por "Nomedoseuplugin.jar" (Sem os aspas e no meu caso, Tutorial.jar), colocar no seu servidor e pronto ! Sua mensagem de entrada e saída está feita!

 

 

Bem,é isso galera,esse foi o primeiro tutorial,pretendo fazer outros. Deu bastante trabalho fazer o tópico(Apesar de ele estar meio sem cor e tal,ficou bem grande),então um like não cuta nada né? :P

 

 

 

Se quiser comprar algum plugin,me chame no skype > yan.broetto1


  • Femmi, TheHammerKeeper, Italo324 e 1 outro curtiram isso
Assinatura >

#2
jgmo

jgmo

    Membro Experiente

  • VIP
  • 397 posts
    • Tempo Online: 12d 3h 31m 25s
  • Localização: Morro Do Alemao
  • Nick: jgmo
  • Clan:FV

Otimo topico sempre quis aprender a criar plugins , sei configuralos mais criar nao !!


Assinatura >

#3
Yuu-Senpai

Yuu-Senpai

    ㅤㅤㅤㅤㅤ

  • Banidos
  • 423 posts
  • Localização: ㅤㅤㅤㅤㅤ
  • Nick: ㅤㅤㅤㅤㅤ
  • Clan:ㅤㅤㅤㅤㅤ

eu tenho q aprender oq é plugin para fazelo ;-;


  • Tomori Chan >.< curtiu isso

#4
_Arkasher

_Arkasher

    Membro Experiente

  • Membros
  • 57 posts
    • Tempo Online: 5d 19h 9m 1s
  • Localização: Moderador do EpicSurvival
  • Nick: _Arkasher
  • Clan:STAFF

eu tenho q aprender oq é plugin para fazelo ;-;

huahsuasuh

 

Otimo topico sempre quis aprender a criar plugins , sei configuralos mais criar nao !!

Vlw! :D Depois que aprende o básico fica mais simples aprender o resto.


Assinatura >

#5
_Arkasher

_Arkasher

    Membro Experiente

  • Membros
  • 57 posts
    • Tempo Online: 5d 19h 9m 1s
  • Localização: Moderador do EpicSurvival
  • Nick: _Arkasher
  • Clan:STAFF

@UP!


Assinatura >

#6
6ix9ine

6ix9ine

    0 8 1

  • VIP
  • 1.871 posts
    • Tempo Online: 44d 23h 54m 46s
  • Localização: Recife - PE
Eu sei um pouco sobre plugins, belo tópico...
Assinatura >

#7
_Arkasher

_Arkasher

    Membro Experiente

  • Membros
  • 57 posts
    • Tempo Online: 5d 19h 9m 1s
  • Localização: Moderador do EpicSurvival
  • Nick: _Arkasher
  • Clan:STAFF

Eu sei um pouco sobre plugins, belo tópico...

Não sei se foi ironia,até porque o tópico está bem feio mesmo,não sou bom em fazer tópicos :P

 

De qualquer forma,vlw!


  • 6ix9ine curtiu isso
Assinatura >

#8
_Arkasher

_Arkasher

    Membro Experiente

  • Membros
  • 57 posts
    • Tempo Online: 5d 19h 9m 1s
  • Localização: Moderador do EpicSurvival
  • Nick: _Arkasher
  • Clan:STAFF

@UP!


Assinatura >

#9
_Arkasher

_Arkasher

    Membro Experiente

  • Membros
  • 57 posts
    • Tempo Online: 5d 19h 9m 1s
  • Localização: Moderador do EpicSurvival
  • Nick: _Arkasher
  • Clan:STAFF

@UP


Assinatura >

#10
ribamar

ribamar

    Novato

  • Membros
  • 1 posts
    • Tempo Online: 1s
  • Nick: ribamar

gostei do tema plugin me intereça muito.

como seria o desenvolvimento de um plugin para captura de vídeos ?



#11
zChromaGamer

zChromaGamer

    Jogador de Futebol

  • VIP
  • 503 posts
    • Tempo Online: 19d 9h 22m 49s
  • Localização: ...
  • Nick: JavawCHEATER
  • Clan:1Kilo

gostei do tema plugin me intereça muito.

como seria o desenvolvimento de um plugin para captura de vídeos ?

 

Não é possível, um plugin realiza funções variadas do que é possível dentro do minecraft, no caso, a captura de vídeo é realizada fora do minecraft e por um programa.


Assinatura >




0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos