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!

@  Klessia_Aghata : (Há 8 horas) ;(
@  TristezaAll : (Há 4 dias) Triste
@  TristezaAll : (Há 4 dias) a
@  Dodger : (Há 4 dias) a parte boa de tudo acabar é que mta informação vai ficar inacessível
@  BaN_PoSeiDoN : (Há 4 dias) E ta errado? gdfksgkdfsgf o maluco assumiu o uso de hack no servidor com essa intenção mesmo. Ainda é banido por usar um hack tão porcaria, que vergonha...
@  KieranMenor_ : (Há 5 dias) Baniro o cara, porra. kkkkkkkkkkkkkkkkk
@  Anúncio : (Há 5 dias)

» Acesse nosso canal no Youtube - www.youtube.com/InstaMCNetworkTV

@  BaN_PoSeiDoN : (Há 5 dias) @Hilde Você é bobo, servidor tem 5 pessoas e olhe lá, com esse dinheiro ai você poderia sei lá, ter comprado um jogo ou sla saído com seus amigos gkdfskgfdjdgf
@  Kทαʑiทнα : (Há 5 dias) Oia
@  Hilde : (Há 5 dias) só esse mês comprei duas vezes o pacote de 150 gemas na promoção do mega maio vo pegar vip no epic
@  BaN_PoSeiDoN : (Há 6 dias) Tenho é dó de quem ainda gasta dinheiro aqui, espero que ninguém tenha feito essa burrada esse ano...
@  BaN_PoSeiDoN : (Há 6 dias) Pandorah não entra faz 3 meses, Jhony também... os diretores nem se fala, o Feldmann deve ter morrido de tanto jogar Overwatch que é só isso que ele resolveu fazer desde 2018... A Mahzinha e o NET devem ter tido um filho para terem abandonado o servidor assim, lamentável deixar o servidor neste estado e sem nem dar explicações...
@  BaN_PoSeiDoN : (Há 6 dias) Eis que promovem um Sub-Diretor para tomar conta no lugar dos outros Diretores que estão ''de férias eternas'' e o Sub-Diretor entra nas ''férias eternas'' gdfkskgdkdgf
@  Elfss : (Há 6 dias) @Rayslasz não pode rir
@  Rayslasz : (Há 6 dias) opa, pq ligeiro foi banido da shout?
@  zJhonnyHT_ : (Há uma semana) @Elfss eae lesho, vo te chama no whats em pacero | @Dieguu ótimo amigo, depois me passe seu whats pq perdi, para conversarmos amigo]
@  Dieguu : (Há uma semana) @zJhonnyHT_ to bem mano e vc ?????
@  AsixL : (Há uma semana) k
@  Maily : (Há uma semana) Dois Hackers no lobby. Algum staff?
@  Elfss : (Há uma semana) @SenhorMicha ue, mas que surpresa tem nisso? kkkk
@  Elfss : (Há uma semana) @zJhonnyHT_ eae seu bostinha
@  SenhorMicha : (Há uma semana) E outra coisa, hoje o servidor só serve pra no máximo "passear", diante de diversos minigames que estão sem sala pra jogar, e também o Epic e o Criativo praticamente vazios.
@  SenhorMicha : (Há uma semana) Me surpreendi recentemente semana passada pelo fato do Insta ter 7 players jogando, as 15h da tarde. Antigamente este horario pegava uma boa e as vezes uma ótima quantia de gente.
@  Alokura : (Há uma semana) Sorte a sua..
@  SahGB : (Há uma semana) deu ate uma nostalgia
@  SahGB : (Há uma semana) mano faz tempo q nn entro no insta
@  Anúncio : (Há uma semana)

» Acesse nosso canal no Youtube - www.youtube.com/InstaMCNetworkTV

@  SahGB : (Há uma semana) oie
@  zJhonnyHT_ : (Há uma semana) @Dieguu to com saudades tambem dieguuuuuuuuuuu <3 como ce ta mano
@  -Lord- : (Há uma semana) Brabo
@  -Lord- : (Há uma semana) Insta existe ainda
@  Dieguu : (Há uma semana) meça suas palavras parça
@  Dieguu : (Há uma semana) @BaN_PoSeiDoN carai borracha mano
@  Dieguu : (Há uma semana) <3 <3 cade o jhoní genty
@  Dieguu : (Há uma semana) @zJhonnyHT_ JHONI SAUDAAADEEES SUMIDO
@  zJhonnyHT_ : (Há uma semana) @Dieguu cade o jhonì gente?
@  BaN_PoSeiDoN : (Há uma semana) A situação tava tão desesperada que supostamente venderam até um cargo de sub-diretor para alguém ai...
@  BaN_PoSeiDoN : (Há uma semana) Claro, os diretores sugaram dinheiro e foram para praia, eventos e si pá até o casamento foi financiado daqui, viu que não estava mais valendo a pena, que tinham preguiça de fazer coisas novas então deixaram ai pra morrer de fome o servidor... já já o dominio do fórum expira e nem fórum tem mais, a maquina do servidor acontece a mesma coisa e já era, com o teamspeak já aconteceu só falta o resto. Nem se pronunciar a direção tem a coragem de fazer pois sabe que os players vão ficar de mimimi e jogar tudo isso na cara deles.
@  Dieguu : (Há uma semana) é o tal do chernobyl
@  SenhorMicha : (Há uma semana) uma vila do velho-oeste***
@  SenhorMicha : (Há uma semana) Servidor tá parecendo um velho-oeste desértico e abandonado...
@  BaN_PoSeiDoN : (Há 2 semanas) @ziulgui Eae caixa d' água, passou na faculdade federal? virou alguém na vida depois de tanto tempo? ou nesse meio tempo que você cagou e não puxou a descarga não evoluiu em nada?
@  BaN_PoSeiDoN : (Há 2 semanas) ​@Elfss Seu Blastoise está estranho... ele fica de pé e cai para o lado ué
@  Elfss : (Há 2 semanas) @BaN_PoSeiDoN eae mano, não fala assim do meu blastoise, vou te dar um pau
@  Samuelzin : (Há 2 semanas) kkkkkkkkkjjj rapazeada não perdoa
@  Zabi : (Há 2 semanas) e.e
@  Anúncio : (Há 2 semanas) » Entre em nosso TeamSpeak 3: ts.instamc.com.br
@  BaN_PoSeiDoN : (Há 2 semanas) @ziulgui Não tem e você é um dos responsáveis por isso, parabéns cabeça de caixa d' água...
@  BaN_PoSeiDoN : (Há 2 semanas)

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 11m 32s
  • 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 11m 32s
  • 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 11m 32s
  • Localização: Moderador do EpicSurvival
  • Nick: _Arkasher
  • Clan:STAFF

@UP!


Assinatura >

#6
Hugoo

Hugoo

    Liga 081 😝🔥

  • VIP
  • 1.871 posts
    • Tempo Online: 45d 12m 27s
  • Localização: Recife - PE
Eu sei um pouco sobre plugins, belo tópico...

#7
_Arkasher

_Arkasher

    Membro Experiente

  • Membros
  • 57 posts
    • Tempo Online: 5d 19h 11m 32s
  • 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!


  • Hugoo curtiu isso
Assinatura >

#8
_Arkasher

_Arkasher

    Membro Experiente

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

@UP!


Assinatura >

#9
_Arkasher

_Arkasher

    Membro Experiente

  • Membros
  • 57 posts
    • Tempo Online: 5d 19h 11m 32s
  • 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
  • 504 posts
    • Tempo Online: 19d 10h 1m 6s
  • 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