[Java] Criando um comando basico

Discussão em 'Botecolandia' iniciado por imperiius, 21 Abril 2017.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,088
    Curtidas Recebidas:
    915
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    349.00
    Nick:
    imperiius
    VEIO EM BUSCA DA DICA?​
    Hoje nesse tópico vou ensinar um pouco sobre como criar um comandos simples para minecraft​
    para deixar claro não sou programador habilidoso só sei o básico ​
    se quiser algum habilidoso fala com o [member=iBieel]​
    Primeiro tera que baixar algum programa para trabalhar recomendo o Eclipse​
    Esse é oque eu uso​
    e tambem precisara de uma API​
    Também é a que eu uso​
    OK tudo baixado e instalado vamos começar​
    ================================================================================================================​
    Com o programa aberto primeiro vamos criar um JavaProject​
    Vá em "File > New > JavaProjec"​
    [​IMG]
    Então escolha o nome do seu projeto e clique em "Finish"​
    Ok agora vamos importar a API para dentro do projeto​
    Clique com o botão DIREITO em cima do projeto criado va em "Build path > add external archives"​
    e procure a API bukkit que você baixou​
    [​IMG]
    Feito isso agora vamos criar uma classe​
    Novamente clique com o botão DIREITO do mouse no projetor e va em​
    "New > Class"​
    [​IMG]
    Agora você tera que dar um nome para a sua classe Principal​
    Aconselho colocar o nome de "Main"​
    Lembresse: TODOS OS NOMES DE CLASSES DEVEM INICIAR COM LETRA MAIUSCULA​
    E NÃO PODEM SER INICIADAS POR NÚMEROS OU CARACTERES ESPECIAIS​
    APENAS LETRAS​
    O nome da package eu costumo colocar coisas do tipo​
    com.imperiius.(Nome do projeto)​
    no casso ficaria​
    com.imperiius.tutorial​
    OBS: tudo em minusculo​
    Feito isso clique em finish e você terá criado sua classe principal​
    ok então agora é hora de programar​
    seu codigo deve estar assim​

    OBS: a package vai ser igual a que você colocou esse é sou um exemplo

    Ok então agora vamos extender para JavaPlugin​
    apenas coloque "extends JavaPlugin"​
    Dica: se vc apertar CTRL+Espaço o eclipse vai dar opções para completar oque você esta escrevendo evitando ter que escrever tudo manualmente​

    Agora algo básico​
    Vamos adicionar o​
    onEnable();​
    onDisable();​
    São respectivamente oque o plugin vai fazer ao ser carregado​
    e ao ser desligado então por agora vamos so colocar algo assim​

    Bukkit.broadcastMessage()​
    vai mandar uma mensagem para todos dentro do servidor e no console do server​
    Agora vamos começar a criar o comando ​
    Vamos usar o​
    onCommand​
    agora abaixo da chave que fecha o onDisable​
    apenas escreva "onco" aperte CTRL+Espaço para o eclipse autocompletar ​
    apague tudo que foi colocado automaticamente só deixe a linha do onCommand​

    Explicando as duas coisas que eu grifei que são importantes entender por agora
    "sender" é aquele que que executou o comando
    "command" é o comando propriamente dito

    agora vamos definir o player
    para isso vamos fazer o seguinte

    Player p = (Player)sender;

    Aqui definimos que "p" vai ser a variável do jogador que executou o comando
    o Player ficara grifado de vermelho
    apenas passe o mouse por cima e escolha a opção
    "import (Player)"

    [​IMG]

    e vamos definir qual comandos queremos

    if(command.getName().equalsIgnoreCase("(kits"));


    Vou usar de exemplo o comando "kits" mas pode ser qualquer outro
    Mas o comando aqui deve haver somente uma palavra não pode ser exemplo "kits pvp"

    aqui vamos dizer para o plugin
    Se o comando digitado por igual a "kits" faça isso
    o "equalsIgnoreCase" serve para o plugin ignorar se o comando foi escrito com letras minusculas ou maiúsculas

    então ate agora estamos assim
    agora vamos definir oque o plugin deve fazer apos esse comando ser executado
    Como estou dando de exemplo um plugin de kits vou fazer ele abrir um menu de kits

    então vamos colocar

    Invetory inv = Bukkit.createInventory(null, 9*6), "Nome do Bau";
    Aqui vamos falar para o plugin criar um bau de
    6 linhas com 9 slots cada (Um bau duplo)
    com o nome que você escolher
    e que a variável inv vai ser igual e esse inventario criado

    Ótimo então agora vamos fazer um item ser adicionado nesse inventario
    ItemStack espada = new ItemStack(Material.DIAMOND_SWORD);

    aqui nos vamos definir que a variável "espada" vai ser a mesma coisa que uma espada de diamante

    então agora vamos fazer essa espada ser colocada dentro do inventario virtual

    Uma coisa para entender
    os slots do minecraft no Java são contados começando do 0
    de cima para baixo
    da esquerda para direita
    ou seja o Slot 1 do bau vai ser = 0 no java
    vejam a print para entender:
    [​IMG]
    então para poder colocar o item no slot 5
    vamos fazer assim
    inv.setItem(4, espada);

    Então vamos falar para o plugin adicionar um item no slot 5
    nesse casso o item é a variável "espada" que já definimos como espada de diamante

    então ate agora o plugin ta assim

    só para terminar vamos colocar um[
    p.openInventory(inv);
    que vai fazer com que o inventario "inv" abra para o player
    p.sendMessage("Inventario aberto");
    isso vai mandar uma mensagem para quem executou o comando
    Em outro tudo vou ensinar como fazer com que quando clique no item receba itens efeitos
    como alterar os itens no plugin, nome, lore etc...

    agora temos que registar o comando que criamos dentro da nossa classe principal
    dentro do onEnable
    usando:

    getCommand("kits").setExecutor(this);


    Por ultimo a linha do onCommand vai estar grifada de vermelho provavelmente
    passe o mouse por cima e escolha a opção "Add return"


    então finalizando a programação da classe Main
    ficou assim





    Agora temos que criar o nosso "Plugin.yml" pois o plugin não funciona sem ele​
    para criar e só clicar com o botão direito no projeto "New > File"​
    [​IMG]
    E de o nome de "Plugin.yml"​
    e dentro desse arquivo deve ser colocado​

    Exemplo como ficou o meu​

    Salve o arquivo​
    Tudo pronto agora vamos exportar o arquivo​
    Clique com o botão Direto do mouse no projeto vá em "Exporte > Next" escolha onde quer salvar e vá em "Finish"​
    agora e só colocar o arquivo dentro da pasta Plugins do seu server e testar​
    Então chegamos ao fim do nosso tutorial​
    Pretendo fazer mais tutorias explicando outros plugins​
    se teve duvidas, dificuldade, critica, ideia, pedido Manda um MP​
    Esse tópico demora pra fazer então da um comente ai :D
     
    Galinha, zSillent, MasterCold e 5 outras curtiram isso.
  2. ABUFAYEZx

    ABUFAYEZx Craftlandiano
    VIP

    Afiliado:
    17 Setembro 2013
    Mensagens:
    5,997
    Curtidas Recebidas:
    1,230
    Curtiu:
    1,418
    Sexo:
    Masculino
    Localização:
    Brasilia - DF
    Cubos:
    78.00
    Nick:
    ABUFAYEZx
    Clan:
    STF
    Facebook:
    Privado
    Skype:
    Privado
    Twitter:
    Privado
    Maravilhoso, vou ler tudinho!
     
  3. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,088
    Curtidas Recebidas:
    915
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    349.00
    Nick:
    imperiius
    Ate párese vai e ir cubar
     
  4. ABUFAYEZx

    ABUFAYEZx Craftlandiano
    VIP

    Afiliado:
    17 Setembro 2013
    Mensagens:
    5,997
    Curtidas Recebidas:
    1,230
    Curtiu:
    1,418
    Sexo:
    Masculino
    Localização:
    Brasilia - DF
    Cubos:
    78.00
    Nick:
    ABUFAYEZx
    Clan:
    STF
    Facebook:
    Privado
    Skype:
    Privado
    Twitter:
    Privado
    Na verdade não, estou lendo até agora, eu me interesso por essa área.
     
  5. Migunferox

    Migunferox Excelente
    VIP

    Afiliado:
    4 Novembro 2012
    Mensagens:
    1,071
    Curtidas Recebidas:
    262
    Curtiu:
    136
    Sexo:
    Masculino
    Localização:
    Goiânia - GO
    Cubos:
    1,324.00
    Nick:
    MigunMigun
    Os loko boa negoow


    Enviado do meu iPhone usando Tapatalk
     
  6. yPedrao

    yPedrao Craftlandiano
    VIP

    Afiliado:
    19 Abril 2017
    Mensagens:
    5,937
    Curtidas Recebidas:
    1,031
    Curtiu:
    678
    Sexo:
    Masculino
    Cubos:
    1,028.00
    Nick:
    Pedrao1134
    Clan:
    Trupe
    Discord:
    Pedrao1134#4829
    '-' Se manja, em
     
  7. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,088
    Curtidas Recebidas:
    915
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    349.00
    Nick:
    imperiius
    Nem
    se manjase teria tag de programador da craftlandia
     
    Galinha curtiu isso.
  8. ॐ IndioPatiuRave ॐ

    VIP

    Afiliado:
    24 Outubro 2014
    Mensagens:
    153
    Curtidas Recebidas:
    28
    Curtiu:
    0
    Sexo:
    Masculino
    Cubos:
    205.55
    Nick:
    yIndioBOLADU
    Clan:
    Eterna TzT, EcT
  9. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,088
    Curtidas Recebidas:
    915
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    349.00
    Nick:
    imperiius
    Aposto que se pergunta pra esses cara como que faz eles não vai saber responder
    pq so veio cuba :p
     
  10. Criveresc

    Criveresc Craftlandiano
    VIP

    Afiliado:
    19 Agosto 2013
    Mensagens:
    5,232
    Curtidas Recebidas:
    1,374
    Curtiu:
    529
    Sexo:
    Masculino
    Localização:
    Diadema
    Cubos:
    188.20
    Nick:
    Criver
    boa cara, vou dar uma lida, hehe
     
  11. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,088
    Curtidas Recebidas:
    915
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    349.00
    Nick:
    imperiius
    falo que ia ler mas já saiu kkkk
     
  12. Ruztec

    Ruztec Excelente
    VIP

    Afiliado:
    25 Dezembro 2014
    Mensagens:
    2,101
    Curtidas Recebidas:
    210
    Curtiu:
    227
    Sexo:
    Masculino
    Localização:
    Goiânia - GO
    Cubos:
    873.00
    Nick:
    Ruztec
    Clan:
    NCR ❤ Necromancy
    Discord:
    Ruztec#4769
    Já vejo o Eclipse todo dia na aula, método, classe, ahhhhhhhhhh rsrsrs to vendo que você sabe :)
     
  13. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,088
    Curtidas Recebidas:
    915
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    349.00
    Nick:
    imperiius
    Mas so coisa simples
    ainda não consigo fazer plugins Qualidade Craftlandia
     
  14. WiBrahhORG

    WiBrahhORG Razoavel
    Banido

    Afiliado:
    16 Abril 2016
    Mensagens:
    989
    Curtidas Recebidas:
    97
    Curtiu:
    0
    Sexo:
    Masculino
    Cubos:
    1,039.00
    Nick:
    xWiBr4hh
    Clan:
    No Existenty
    Nss, boa gg

    Enviado de meu LG-E455f usando Tapatalk
     
  15. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,088
    Curtidas Recebidas:
    915
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    349.00
    Nick:
    imperiius
    Vocês querem que eu tente ensinar alguma coisa especifica ?
     
  16. Karate

    Karate Mito
    VIP

    Afiliado:
    1 Dezembro 2013
    Mensagens:
    25,040
    Curtidas Recebidas:
    7,465
    Curtiu:
    6,226
    Cubos:
    293.00
    Nick:
    '
    Boa mano, você tem uma noção muito boa sobre isso, realmente ter um servidor é complicado
     
  17. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,088
    Curtidas Recebidas:
    915
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    349.00
    Nick:
    imperiius
    Se ter um server é complicado imagina ter que criar o Bukkit pra ser usado em servidores
     
  18. zNightLT

    zNightLT Bom

    Afiliado:
    9 Fevereiro 2016
    Mensagens:
    2,669
    Curtidas Recebidas:
    134
    Curtiu:
    55
    Cubos:
    3,102.52
    Nick:
    zNightLT
    Clan:
    a2W
    MEGA ÚTIL OBRIGADO =D
     
  19. Otosaka

    Otosaka Hardcore
    VIP

    Afiliado:
    8 Setembro 2011
    Mensagens:
    42,870
    Curtidas Recebidas:
    3,685
    Curtiu:
    305
    Cubos:
    604.00
    Nick:
    Calma aí, eu to lendo '-'
     
  20. CubeMachine

    CubeMachine Excelente

    Afiliado:
    1 Janeiro 2017
    Mensagens:
    3,114
    Curtidas Recebidas:
    336
    Curtiu:
    0
    Localização:
    Cubando
    Cubos:
    32.00
    Nick:
    CubeMachine
    Clan:
    Nenhum
    Ótimo tuto man , parabens .
    Tava faltando um desse aquie ;)
     
Status do Tópico:
Não esta aberto para novas mensagens.