zzFireGOD Postado Dezembro 16, 2019 Denunciar Compartilhar Postado Dezembro 16, 2019 Olá. Estou tentando aprender como criar plugins, e já consegui criar coisas básicas como dar um comando e adicionar itens ao inventario do player, ou adicionar efeitos no player, mas quero ir mais além e criar um menu gui com itens especiais como no Mambaitensespeciais, mas logo de cara quando fui criar o primeiro item, a bola de fogo, já me deparei com um problema, como faço para que quando o player clicar com o botão direito do mouse na bola de fogo, ela seja arremessada ? Se conseguir fazer um plugin e mandar foto agradeço, mas se conseguir só explicar tá bom também. zzFireGOD. Link para o comentário Compartilhar em outros sites More sharing options...
Keniaaa Postado Dezembro 17, 2019 Denunciar Compartilhar Postado Dezembro 17, 2019 @EventHandler public void bolinhoDeChuva(PlayerInteractEvent e){ Player p = e.getPlayer(); if(e.getAction().equals(Action.RIGHT_CLICK_AIR) || e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { if(p.getInventory().getItemInMainHand().getType().equals(Material.FIRE_CHARGE)) { p.getLocation().getDirection().normalize().multiply(1); p.launchProjectile(SmallFireball.class); } } } Link para o comentário Compartilhar em outros sites More sharing options...
MinoLobs Postado Dezembro 17, 2019 Denunciar Compartilhar Postado Dezembro 17, 2019 1 hora atrás, Keniaaa disse: @EventHandler public void bolinhoDeChuva(PlayerInteractEvent e){ Player p = e.getPlayer(); if(e.getAction().equals(Action.RIGHT_CLICK_AIR) || e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { if(p.getInventory().getItemInMainHand().getType().equals(Material.FIRE_CHARGE)) { p.getLocation().getDirection().normalize().multiply(1); p.launchProjectile(SmallFireball.class); } } } Bolinho de chuva ksksks gostei parabens! Link para o comentário Compartilhar em outros sites More sharing options...
Savitar Postado Dezembro 17, 2019 Denunciar Compartilhar Postado Dezembro 17, 2019 Acho que ela já respondeu, mas se você quiser algo a mais você pode fazer o seguinte: "Explore" o termo p ali e veja as opções, ali tem muita e você pode ir testando OU até mesmo ir buscar na documentação do getPlayer na classe do evento em si. Entretanto, o código é esse: Player jogador = e.getPlayer(); jogador.launchProjectile(/AQUI VC BOTA A CLASSE DO SEU PROJÉTIL/); //como o camarada fez ali em cima, você pode dar um normalize() na direção e deixar mais específico a direcionativa do projétil. // no seu caso, acredito que é LargeFireball, SmallFireball, escolha uma das duas e bote ali .class, onde eu indiquei. 1 Link para o comentário Compartilhar em outros sites More sharing options...
zzFireGOD Postado Dezembro 17, 2019 Autor Denunciar Compartilhar Postado Dezembro 17, 2019 2 horas atrás, MinoLobs disse: 2 horas atrás, Keniaaa disse: @EventHandler public void bolinhoDeChuva(PlayerInteractEvent e){ Player p = e.getPlayer(); if(e.getAction().equals(Action.RIGHT_CLICK_AIR) || e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { if(p.getInventory().getItemInMainHand().getType().equals(Material.FIRE_CHARGE)) { p.getLocation().getDirection().normalize().multiply(1); p.launchProjectile(SmallFireball.class); } } } Fiz isso que se falou, mas da alguns erros no Eclipse, sabe o que são esses erros ? Link para o comentário Compartilhar em outros sites More sharing options...
Savitar Postado Dezembro 17, 2019 Denunciar Compartilhar Postado Dezembro 17, 2019 (editado) Muda pra if (p.getInventory().getItemInHand().getType().equals(Material.FIREBALL)) { O correto é getItemInHand e não getItemInMainHand; Não é FIRE_CHARGE e sim FIREBALL. Editado Dezembro 17, 2019 por Savitar 1 Link para o comentário Compartilhar em outros sites More sharing options...
Keniaaa Postado Dezembro 17, 2019 Denunciar Compartilhar Postado Dezembro 17, 2019 (editado) 2 horas atrás, Savitar disse: Muda pra if (p.getInventory().getItemInHand().getType().equals(Material.FIREBALL)) { O correto é getItemInHand e não getItemInMainHand; Não é FIRE_CHARGE e sim FIREBALL. Fiz na 1.13.2 >.> esqueci de mencionar kkkk getItemInHand esta obsoleto desda version 1.8 se eu me lembre Editado Dezembro 17, 2019 por Keniaaa Link para o comentário Compartilhar em outros sites More sharing options...
zzFireGOD Postado Dezembro 17, 2019 Autor Denunciar Compartilhar Postado Dezembro 17, 2019 12 horas atrás, Keniaaa disse: Fiz na 1.13.2 >.> esqueci de mencionar kkkk getItemInHand esta obsoleto desda version 1.8 se eu me lembre Fiz as alterações como o Savitar e você falou, mas continuo não arremessando a Bola De Fogo, vê mais alguma coisa errada ? Link para o comentário Compartilhar em outros sites More sharing options...
Keniaaa Postado Dezembro 17, 2019 Denunciar Compartilhar Postado Dezembro 17, 2019 (editado) 1 hora atrás, zzFireGOD disse: Fiz as alterações como o Savitar e você falou, mas continuo não arremessando a Bola De Fogo, vê mais alguma coisa errada ? @Override public void onEnable() { Bukkit.getServer().getPluginManager().registerEvents(this, this); } @Override public void onDisable() { } Não registrou o evento. Editado Dezembro 17, 2019 por Keniaaa Link para o comentário Compartilhar em outros sites More sharing options...
zzFireGOD Postado Dezembro 17, 2019 Autor Denunciar Compartilhar Postado Dezembro 17, 2019 Obrigado man, ajudou muito, agora posso prosseguir com minha ideia de fazer um menu Gui com itens especiais não tão bem editados, mas mesmo assim VLW . 1 Link para o comentário Compartilhar em outros sites More sharing options...
zzFireGOD Postado Dezembro 17, 2019 Autor Denunciar Compartilhar Postado Dezembro 17, 2019 8 horas atrás, Keniaaa disse: @Override public void onEnable() { Bukkit.getServer().getPluginManager().registerEvents(this, this); } @Override public void onDisable() { } Não registrou o evento. Desculpa incomodar de novo, mas agora to tentando fazer o plugin de Olho de deus, e ta quase tudo certo, ela ta ativando e tals, mas tipo, eu quero que o player só entre no modo espectador quando ele clicar no botão direito em cima do EYE_OF_ENDER (O que representa o olho de deus) mas quando clico com o botão direito ou esquerdo sem o olho de deus no inventário, vou pro modo espectador, sabe me dizer oque está acontecendo ? Link para o comentário Compartilhar em outros sites More sharing options...
Keniaaa Postado Dezembro 17, 2019 Denunciar Compartilhar Postado Dezembro 17, 2019 (editado) 1 hora atrás, zzFireGOD disse: Desculpa incomodar de novo, mas agora to tentando fazer o plugin de Olho de deus, e ta quase tudo certo, ela ta ativando e tals, mas tipo, eu quero que o player só entre no modo espectador quando ele clicar no botão direito em cima do EYE_OF_ENDER (O que representa o olho de deus) mas quando clico com o botão direito ou esquerdo sem o olho de deus no inventário, vou pro modo espectador, sabe me dizer oque está acontecendo ? Você ta utilizando o simbolo de OU || = OU && = E so mudar ? @EDIT : No seu if ali.. coloca no final um bloco >> { e fecha no final da condição.. @EventHandler public void onClick(PlayerInteractEvent e) { Player p = e.getPlayer(); if(p.getItemInHand().getType() == Material.ENDER_EYE && e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { p.setGameMode(GameMode.SPECTATOR); } } @EDIT 2 : Pesquisa sobre: Operadores aritméticos Operadores de incremento e decremento Operadores de igualdade Operadores relacionais Operadores lógicos Precedência de operadores Vai te ajudar ? Editado Dezembro 17, 2019 por Keniaaa Link para o comentário Compartilhar em outros sites More sharing options...
zzFireGOD Postado Dezembro 18, 2019 Autor Denunciar Compartilhar Postado Dezembro 18, 2019 19 horas atrás, Keniaaa disse: Você ta utilizando o simbolo de OU || = OU && = E so mudar ? @EDIT : No seu if ali.. coloca no final um bloco >> { e fecha no final da condição.. @EventHandler public void onClick(PlayerInteractEvent e) { Player p = e.getPlayer(); if(p.getItemInHand().getType() == Material.ENDER_EYE && e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { p.setGameMode(GameMode.SPECTATOR); } } @EDIT 2 : Pesquisa sobre: Operadores aritméticos Operadores de incremento e decremento Operadores de igualdade Operadores relacionais Operadores lógicos Precedência de operadores Vai te ajudar ? Consegui fazer o que eu queria, mas agora to em busca de fazer um item que solta raio, plugin ta ativando, no eclipse ta dando nenhum erro, mas mesmo assim quando clicko na blaze rod não cai o raio, sabe o que posso pesquisar pra me ajudar a fazer esse tipo de plugin ? Link para o comentário Compartilhar em outros sites More sharing options...
zzFireGOD Postado Dezembro 18, 2019 Autor Denunciar Compartilhar Postado Dezembro 18, 2019 20 horas atrás, Keniaaa disse: Você ta utilizando o simbolo de OU || = OU && = E so mudar ? @EDIT : No seu if ali.. coloca no final um bloco >> { e fecha no final da condição.. @EventHandler public void onClick(PlayerInteractEvent e) { Player p = e.getPlayer(); if(p.getItemInHand().getType() == Material.ENDER_EYE && e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) { p.setGameMode(GameMode.SPECTATOR); } } @EDIT 2 : Pesquisa sobre: Operadores aritméticos Operadores de incremento e decremento Operadores de igualdade Operadores relacionais Operadores lógicos Precedência de operadores Vai te ajudar ? E só mais uma pergunta, onde pesquiso essas coisas Operadores aritméticos Operadores de incremento e decremento Operadores de igualdade Operadores relacionais Operadores lógicos Precedência de operadores Link para o comentário Compartilhar em outros sites More sharing options...
Keniaaa Postado Dezembro 18, 2019 Denunciar Compartilhar Postado Dezembro 18, 2019 5 horas atrás, zzFireGOD disse: Consegui fazer o que eu queria, mas agora to em busca de fazer um item que solta raio, plugin ta ativando, no eclipse ta dando nenhum erro, mas mesmo assim quando clicko na blaze rod não cai o raio, sabe o que posso pesquisar pra me ajudar a fazer esse tipo de plugin ? Desculpa a demora da resposta ;/ tentei achar uma forma boa.. e fracassei kkkk @EventHandler public void fogoNaBunda(PlayerInteractEvent e) { Player player = e.getPlayer(); if (player.getItemInHand().getType() == Material.BLAZE_ROD) { Block bl = player.getTargetBlock(null, 50); for(Entity ety : bl.getChunk().getEntities()){ if(ety instanceof Player && bl.getLocation().distance((ety.getLocation())) < 2){ player.getWorld().strikeLightning(ety.getLocation()); } } } } Realmente é um código meio porco >.> quem achar uma solução melhor ou dicas.. so citar ? queimei metade do meu mapa kk Link para o comentário Compartilhar em outros sites More sharing options...
zzFireGOD Postado Dezembro 18, 2019 Autor Denunciar Compartilhar Postado Dezembro 18, 2019 1 hora atrás, Keniaaa disse: Desculpa a demora da resposta ;/ tentei achar uma forma boa.. e fracassei kkkk @EventHandler public void fogoNaBunda(PlayerInteractEvent e) { Player player = e.getPlayer(); if (player.getItemInHand().getType() == Material.BLAZE_ROD) { Block bl = player.getTargetBlock(null, 50); for(Entity ety : bl.getChunk().getEntities()){ if(ety instanceof Player && bl.getLocation().distance((ety.getLocation())) < 2){ player.getWorld().strikeLightning(ety.getLocation()); } } } } Realmente é um código meio porco >.> quem achar uma solução melhor ou dicas.. so citar ? queimei metade do meu mapa kk Só uma pergunta, onde você aprendeu tudo que já me ensinou, não sei se o que já me falou e coisa avançado, mas sei la, já e bastante coisa, onde se aprendeu ? Link para o comentário Compartilhar em outros sites More sharing options...
Keniaaa Postado Dezembro 19, 2019 Denunciar Compartilhar Postado Dezembro 19, 2019 (editado) 1 hora atrás, zzFireGOD disse: Só uma pergunta, onde você aprendeu tudo que já me ensinou, não sei se o que já me falou e coisa avançado, mas sei la, já e bastante coisa, onde se aprendeu ? Então kkk, eu comecei estudar Java no YT.. pra quem ta iniciando acho que é até um bom começo, mais depois fui pros livros... mas o mais importante é praticar.. recomendo o site URI, la tem vários exercícios bem legais kk, alem de só aprender o código em si.. pesquise o porque de cada um(digo.. explore-as).. Logica é bem mais importante que linguagem, linguagem é so ferramenta, um site que eu gostava bastante também é o GUJ, amava ler duvidas que tinham uma boa discussão sobre o código.. E use a documentação da API que estiver usando pra programar seu server, la você vai ter meio que um rumo. Essa aqui é da 1.15 https://hub.spigotmc.org/javadocs/spigot/overview-summary.html @EDIT : Sim, especializar em uma linguagem é importante também, mas também saber um pouco de tudo, te faz um dev melhor.. Editado Dezembro 19, 2019 por Keniaaa Link para o comentário Compartilhar em outros sites More sharing options...
LucasCas Postado Dezembro 20, 2019 Denunciar Compartilhar Postado Dezembro 20, 2019 Sua dúvida foi marcada como resolvida pela nossa equipe. Caso sua dúvida não tenha sido sanada, crie outro tópico. OBS: Essa mensagem é automática. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados