Tiozol Postado Janeiro 23, 2020 Denunciar Compartilhar Postado Janeiro 23, 2020 Estou tentando colocar uma ActionBar de EntityDamageByEntityEvent mas não to conseguindo e não acho nada na internet, se alguém puder ajudar o código: @EventHandler public void danostaff(EntityDamageByEntityEvent e) { org.bukkit.entity.Entity damager = e.getDamager(); Player p = (Player) damager; if (damager instanceof Player && e.getEntity().hasPermission("plugin.imortal")) { if (!p.hasPermission("naruto.imortal")) { p.sendMessage(ChatColor.RED+"Você não pode ferir um Staff."); e.setCancelled(true); ActionBarAPI.sendActionBar(p, ChatColor.RED+"Você não pode ferir um Staff.", 20); } } else { e.setCancelled(false); } } Link para o comentário Compartilhar em outros sites More sharing options...
Jaoow Postado Janeiro 23, 2020 Denunciar Compartilhar Postado Janeiro 23, 2020 Poderia explicar melhor o erro? Oque está acontecendo? Link para o comentário Compartilhar em outros sites More sharing options...
iHuck Postado Janeiro 23, 2020 Denunciar Compartilhar Postado Janeiro 23, 2020 (editado) // crie uma classe ActionBar e cole isso nela (lembre de adicionar sua packaxe e substituir a public class) import net.minecraft.server.v1_8_R3.IChatBaseComponent.ChatSerializer; import net.minecraft.server.v1_8_R3.PacketPlayOutChat; import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer; import org.bukkit.entity.Player; public class ActionBar { private PacketPlayOutChat packet; public ActionBar(String text) { PacketPlayOutChat packet = new PacketPlayOutChat(ChatSerializer.a("{\"text\":\"" + text + "\"}"), (byte) 2); this.packet = packet; } public void sendToPlayer(Player p) { ((CraftPlayer)p).getHandle().playerConnection.sendPacket(packet); } } // va em sua classe de eventos e use @EventHandler public void onDamage(EntityDamageByEntityEvent e) { org.bukkit.entity.Entity damager = e.getDamager(); Player p = (Player) damager; ActionBar ac = new ActionBar("Você bateu em uma entidade"); ac.sendToPlayer(p); } Código pra você criar suas ActionBar, faça bom uso. Editado Janeiro 23, 2020 por iHuck Link para o comentário Compartilhar em outros sites More sharing options...
Tiozol Postado Janeiro 23, 2020 Autor Denunciar Compartilhar Postado Janeiro 23, 2020 10 minutos atrás, iHuck disse: // crie uma classe ActionBar e cole isso nela (lembre de adicionar sua packaxe e substituir a public class) import net.minecraft.server.v1_8_R3.IChatBaseComponent.ChatSerializer; import net.minecraft.server.v1_8_R3.PacketPlayOutChat; import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer; import org.bukkit.entity.Player; public class ActionBar { private PacketPlayOutChat packet; public ActionBar(String text) { PacketPlayOutChat packet = new PacketPlayOutChat(ChatSerializer.a("{\"text\":\"" + text + "\"}"), (byte) 2); this.packet = packet; } public void sendToPlayer(Player p) { ((CraftPlayer)p).getHandle().playerConnection.sendPacket(packet); } } // va em sua classe de eventos e use @EventHandler public void onDamage(EntityDamageByEntityEvent e) { org.bukkit.entity.Entity damager = e.getDamager(); Player p = (Player) damager; ActionBar ac = new ActionBar("Você bateu em uma entidade"); ac.sendToPlayer(p); } Código pra você criar suas ActionBar, faça bom uso. Fiz as substituições necessárias, no script não tem erro algum, mas quando vou salvar da isso ai https://prnt.sc/qrjo3k os códigos ActionBar package net.j_dev.naruto; import net.minecraft.server.v1_9_R1.IChatBaseComponent.ChatSerializer; import net.minecraft.server.v1_9_R1.PacketPlayOutChat; import org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer; import org.bukkit.entity.Player; public class ActionBar { private PacketPlayOutChat packet; public ActionBar(String text) { PacketPlayOutChat packet = new PacketPlayOutChat(ChatSerializer.a("{\"text\":\"" + text + "\"}"), (byte) 2); this.packet = packet; } public void sendToPlayer(Player p) { ((CraftPlayer)p).getHandle().playerConnection.sendPacket(packet); } } Na class do evento @EventHandler public void danostaff(EntityDamageByEntityEvent e) { org.bukkit.entity.Entity damager = e.getDamager(); Player p = (Player) damager; if (damager instanceof Player && e.getEntity().hasPermission("naruto.imortal")) { if (!p.hasPermission("plugin.imortal")) { e.setCancelled(true); ActionBar ac = new ActionBar(ChatColor.RED+"Você não pode ferir um Staff."); ac.sendToPlayer(p); } } else { e.setCancelled(false); } } Link para o comentário Compartilhar em outros sites More sharing options...
iHuck Postado Janeiro 23, 2020 Denunciar Compartilhar Postado Janeiro 23, 2020 Verifica a jar que você utiliza pra compilar, este código é pra 1.8x Link para o comentário Compartilhar em outros sites More sharing options...
ExtraPlays Postado Janeiro 30, 2020 Denunciar Compartilhar Postado Janeiro 30, 2020 Seu tópico foi marcado como Inativo. Para reverter esta ação, entre em contato com a equipe de Moderação. OBS: Essa mensagem é automática. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados