Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

130
Views
¿Cómo apago el chat para un jugador específico?

Estoy creando un complemento donde las personas pueden alternar el chat por sí mismas en el servidor.

Lo que tengo ahora funciona bastante bien:

 @EventHandler(priority = EventPriority.HIGHEST) public void onPlayerChat(@NotNull AsyncPlayerChatEvent e) { if(TOGGLED_USERS_BY_UUID.contains(e.getPlayer().getUniqueId().toString())) { e.setCancelled(true); e.getPlayer().sendRawMessage(ToggleChat.LANG.get("cannotChat")); return; } String message = e.getMessage(); getLogger().info(String.format("<%s>: %s", e.getPlayer().getName(), message)); e.setCancelled(true); for(Player p : getServer().getOnlinePlayers()) { if(!TOGGLED_USERS_BY_UUID.contains(p.getUniqueId().toString())) p.sendRawMessage(String.format("<%s> %s", e.getPlayer().getName(), message)); } }

Pero el problema surge cuando los usuarios tienen otras cosas para su chat, como un nivel específico para su mensaje de chat como (lvl) [username] - message o algo así.

¿Cómo hago para no tener que volver a enviar el mensaje a los usuarios o simplemente cancelar el evento para un usuario específico?

¡Gracias!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

@EventHandler public void onPlayerChat(AsyncPlayerChatEvent event) { event.getRecipients().remove(/*player who shouldn't see chat*/); }

Si desea filtrar jugadores por sus niveles de XP, puede usar

 getRecipients().removeIf(p -> p.getLevel() < minimumLevel)
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!