How to disable some players ability to chat at certain times

Discussion in 'Plugin Development' started by SilverOlympus, Oct 1, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    SilverOlympus

    Code:java
    1. package me.SilverOlympus.TEChat;
    2.  
    3. import org.bukkit.plugin.java.JavaPlugin;
    4. import org.bukkit.Bukkit;
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.command.Command;
    7. import org.bukkit.command.CommandSender;
    8. import org.bukkit.entity.Player;
    9. import org.bukkit.event.EventHandler;
    10. import org.bukkit.event.Listener;
    11. import org.bukkit.event.player.PlayerChatEvent;
    12.  
    13. public class Core extends JavaPlugin implements Listener {
    14.  
    15. @Override
    16. public void onEnable() {
    17.  
    18. }
    19.  
    20. public void onDisbale() {
    21.  
    22. }
    23.  
    24. @Override
    25. public boolean onCommand(CommandSender sender, Command cmd, String label,
    26. String[] args) {
    27. if (sender instanceof Player) {
    28. if (cmd.getName().equalsIgnoreCase("fc")) {
    29. if (sender.hasPermission("te.fc")) {
    30. sender.sendMessage(ChatColor.YELLOW + "" + ChatColor.ITALIC
    31. + "You have halted the server chat!");
    32. Bukkit.broadcastMessage(ChatColor.RED
    33. + ""
    34. + ChatColor.STRIKETHROUGH
    35. + "=====================================================");
    36. Bukkit.broadcastMessage(ChatColor.GREEN
    37. + "Shhhhhh! Server chat for players below "
    38. + ChatColor.DARK_PURPLE + "Moderator "
    39. + ChatColor.GREEN
    40. + "rank has been disabled temporarily by: "
    41. + ChatColor.GOLD + sender.getName());
    42. Bukkit.broadcastMessage(ChatColor.RED
    43. + ""
    44. + ChatColor.STRIKETHROUGH
    45. + "=====================================================");
    46. }
    47. }
    48. } else {
    49. sender.sendMessage(ChatColor.YELLOW + "" + ChatColor.ITALIC
    50. + "You have halted the server chat!");
    51. Bukkit.broadcastMessage(ChatColor.RED + ""
    52. + ChatColor.STRIKETHROUGH
    53. + "=====================================================");
    54. Bukkit.broadcastMessage(ChatColor.GREEN
    55. + "Shhhhhh! Server chat for players below "
    56. + ChatColor.DARK_PURPLE + "Moderator " + ChatColor.GREEN
    57. + "rank has been disabled temporarily by: "
    58. + ChatColor.GOLD + sender.getName());
    59. Bukkit.broadcastMessage(ChatColor.RED + ""
    60. + ChatColor.STRIKETHROUGH
    61. + "=====================================================");
    62. }
    63. return false;
    64. }
    65.  
    66. @EventHandler
    67. public void AsyncOnPlayerChat(PlayerChatEvent e) {
    68. Player p = e.getPlayer();
    69. if (!(p.hasPermission("te.fc"))){
    70. p.closeInventory();
    71. //code for disallow would go here.
    72. }
    73. }
    74.  
    75. }
    76.  


    How would i deny a person to talk if they do not have te.fc?
     
  2. Offline

    Skionz

  3. Offline

    SilverOlympus

    Skionz could you give me an example how it would be used in this context? I'm rather new to coding.
     
  4. Offline

    Skionz

  5. Offline

    fireblast709

    I suggest a Set for simplicity
     
  6. Offline

    Unica

    SilverOlympus

    • New HashSet
      Code:java
      1. HashSet<UUID> muted = HashSet<UUID>();
    • Check if the hashset contains the uuid of the player, if so
      Code:java
      1. e.setCancelled(true);
    • Simply use a toggle to get people in / out the hashset
     
Thread Status:
Not open for further replies.

Share This Page