PlayerChatEvent not firing

Discussion in 'Plugin Development' started by Pimp_like_me, Nov 2, 2013.

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

    Pimp_like_me

    For some reason the event just doesn't even fire and before you ask, Yes i have registered the event and the whole other part of the class works just fine so i know its something about this

    Code:java
    1. @EventHandler(priority = EventPriority.HIGHEST)
    2. public void ChatColor(AsyncPlayerChatEvent event){
    3. String message = event.getMessage();
    4. event.setMessage(ChatColor.RED + message + "");
    5. }
     
  2. Offline

    Tss1410

    @EventHandler(priority = EventPriority.HIGHEST)
    public void chatcolor(AsyncPlayerChatEvent event){
    String message = event.getMessage();
    e.setCancelled(true);
    Bukkit.broadcastMessage(e.getPlayer().getDisplayName() + ": " + ChatColor.RED + message);
    }
     
  3. Offline

    Pimp_like_me

    Thats not my problem o.0 The problem is that the event never gets called and none of all that you posted can happen
     
  4. Offline

    Tss1410

    Maby because you calling the void "ChatColor".?
     
    SaintSypher likes this.
  5. Offline

    sgavster

    Pimp_like_me Did you register your events? (on enable)
    PHP:
    Bukkit.getPluginManager().registerEvents(thisthis);
     
  6. Offline

    Pimp_like_me

    I have registered the events and tss i removed all of everything and just made it broadcast a message but that still didn't work probably because i think that it never gets called
     
  7. Offline

    sgavster

  8. Offline

    Pimp_like_me

    Dont worry about other events in it, Their for a minigame :D.


    That Class:
    Code:java
    1. package MoneyDrop.main;
    2.  
    3. import java.util.ArrayList;
    4.  
    5. import org.bukkit.Bukkit;
    6. import org.bukkit.ChatColor;
    7. import org.bukkit.Material;
    8. import org.bukkit.entity.PigZombie;
    9. import org.bukkit.entity.Zombie;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.EventPriority;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.entity.EntityDeathEvent;
    14. import org.bukkit.event.entity.PlayerDeathEvent;
    15. import org.bukkit.event.player.AsyncPlayerChatEvent;
    16. import org.bukkit.event.player.PlayerPickupItemEvent;
    17. import org.bukkit.inventory.ItemStack;
    18. import org.bukkit.inventory.meta.ItemMeta;
    19. public class Money implements Listener {
    20.  
    21. public static MDMain plugin;
    22. public Money(MDMain instance) {
    23. plugin = instance;
    24. }
    25. ArrayList<String> MoneyLore = new ArrayList<String>();
    26. @EventHandler
    27. public void MoneyPickUp(PlayerPickupItemEvent event){
    28. ItemStack Money = new ItemStack(Material.EMERALD, 1);
    29. if(event.getItem().getItemStack().getType() == Material.EMERALD && event.getItem().getItemStack().getItemMeta().getDisplayName().startsWith("§e")){
    30. event.setCancelled(true);
    31. plugin.economy.depositPlayer(event.getPlayer().getName(), event.getItem().getItemStack().getAmount());
    32. ItemMeta MoneyMeta = Money.getItemMeta();
    33. MoneyMeta.setDisplayName(ChatColor.DARK_GREEN + "Money");
    34. MoneyLore.clear();
    35. MoneyLore.add(ChatColor.YELLOW + "Balance: ");
    36. MoneyLore.add(ChatColor.GREEN + "" + plugin.economy.getBalance(event.getPlayer().getName()));
    37. MoneyMeta.setLore(MoneyLore);
    38. Money.setItemMeta(MoneyMeta);
    39. event.getPlayer().getInventory().setItem(9, Money);
    40. event.getItem().remove();
    41. event.getPlayer().sendMessage(ChatColor.YELLOW + "You have picked up " + ChatColor.GREEN + event.getItem().getItemStack().getAmount() + ChatColor.GREEN + "$");
    42. }
    43. }
    44. @SuppressWarnings("deprecation")
    45. @EventHandler
    46. public void MoneyDrop(EntityDeathEvent event){
    47. ItemStack Money = new ItemStack(plugin.getConfig().getInt("MoneyItemID"), 1);
    48. if(event.getEntity() instanceof PigZombie){
    49. Money.setAmount(1);
    50. event.getDrops().add(Money);
    51. }else if(event.getEntity() instanceof Zombie){
    52. event.getEntity().getWorld().dropItemNaturally(event.getEntity().getLocation(), new ItemStack(Material.EMERALD, MDMain.rand(plugin.getConfig().getInt("ZOMBIE-MIN"), plugin.getConfig().getInt("ZOMBIE-MAX"))));
    53. }
    54. }
    55. @EventHandler
    56. public void PlayerMoney(PlayerDeathEvent event){
    57. ItemStack Money = new ItemStack(Material.EMERALD, 1);
    58. ItemMeta MoneyMeta = Money.getItemMeta();
    59. MoneyMeta.setDisplayName(ChatColor.DARK_GREEN + "Money");
    60. MoneyLore.clear();
    61. MoneyLore.add(ChatColor.YELLOW + "Balance: ");
    62. MoneyLore.add(ChatColor.GREEN + "" + plugin.economy.getBalance(event.getEntity().getName()));
    63. MoneyLore.add("");
    64. MoneyLore.add(ChatColor.DARK_PURPLE + "The emeralds show");
    65. MoneyLore.add(ChatColor.DARK_PURPLE + "how much money you");
    66. MoneyLore.add(ChatColor.DARK_PURPLE + "have (500k / 64)");
    67. MoneyMeta.setLore(MoneyLore);
    68. Money.setItemMeta(MoneyMeta);
    69. event.getDrops().remove(Money);
    70. ItemStack MoneyDrop = new ItemStack(Material.EMERALD);
    71. if(plugin.economy.getBalance(event.getEntity().getName()) >= 20);
    72. int s = (int) (plugin.economy.getBalance(event.getEntity().getName()) / 20);
    73. plugin.roundTwoDecimals(s);
    74. MoneyDrop.setAmount(s);
    75. plugin.economy.withdrawPlayer(event.getEntity().getName(), MoneyDrop.getAmount());
    76. event.getEntity().getWorld().dropItemNaturally(event.getEntity().getLocation(), MoneyDrop);
    77. }
    78. @EventHandler(priority = EventPriority.HIGHEST)
    79. public void chatcolor(AsyncPlayerChatEvent event){
    80. String message = event.getMessage();
    81. event.setCancelled(true);
    82. Bukkit.broadcastMessage(event.getPlayer().getDisplayName() + ": " + ChatColor.RED + message);
    83. }
    84. }
    85.  




    Main Class:
    Code:java
    1. package MoneyDrop.main;
    2.  
    3. import java.text.DecimalFormat;
    4. import java.util.Random;
    5. import java.util.logging.Logger;
    6.  
    7. import net.milkbowl.vault.economy.Economy;
    8. import net.minecraft.server.v1_6_R3.NBTTagCompound;
    9. import net.minecraft.server.v1_6_R3.NBTTagList;
    10.  
    11. import org.bukkit.craftbukkit.v1_6_R3.inventory.CraftItemStack;
    12. import org.bukkit.inventory.ItemStack;
    13. import org.bukkit.plugin.PluginManager;
    14. import org.bukkit.plugin.RegisteredServiceProvider;
    15. import org.bukkit.plugin.java.JavaPlugin;
    16.  
    17. public class MDMain extends JavaPlugin{
    18. public final Logger logger = Logger.getLogger("Minecraft");
    19. public static MDMain plugin;
    20. public final MainCMD Cmd = new MainCMD(this);
    21. public final InventorySpace IS = new InventorySpace(this);
    22. public final Money M = new Money(this);
    23. @Override
    24. public void onDisable(){
    25. saveConfig();
    26. }
    27. @Override
    28. public void onEnable(){
    29. getCommand("SetMin").setExecutor(new MainCMD(this));
    30. getCommand("MonsterMoney").setExecutor(new MainCMD(this));
    31. getCommand("ToggleInventoryShow").setExecutor(new MainCMD(this));
    32. getCommand("SetMax").setExecutor(new MainCMD(this));
    33. getCommand("MM").setExecutor(new MainCMD(this));
    34. PluginManager pm = getServer().getPluginManager();
    35. pm.registerEvents(Cmd, this);
    36. pm.registerEvents(IS, this);
    37. pm.registerEvents(M, this);
    38. saveConfig();
    39. setupEconomy();
    40. }
    41. public static ItemStack addGlow(ItemStack item){
    42. net.minecraft.server.v1_6_R3.ItemStack nmsStack = CraftItemStack.asNMSCopy(item);
    43. NBTTagCompound tag = null;
    44. if (!nmsStack.hasTag()) {
    45. tag = new NBTTagCompound();
    46. nmsStack.setTag(tag);
    47. }
    48. if (tag == null) tag = nmsStack.getTag();
    49. NBTTagList ench = new NBTTagList();
    50. tag.set("ench", ench);
    51. nmsStack.setTag(tag);
    52. return CraftItemStack.asCraftMirror(nmsStack);
    53. }
    54. public Economy economy = null;
    55. private boolean setupEconomy()
    56. {RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.economy.Economy.class);
    57. if (economyProvider != null) {
    58. economy = economyProvider.getProvider();}
    59. return (economy != null);}
    60. public static int rand(int min, int max) {
    61. return min + (new Random()).nextInt(max-min);
    62. }
    63. public double roundTwoDecimals(double d) {
    64.  
    65. DecimalFormat twoDForm = new DecimalFormat("#");
    66. return Double.valueOf(twoDForm.format(d));
    67.  
    68. }
    69. }
    70.  
     
  9. Offline

    sgavster

  10. Offline

    Pimp_like_me

    sgavster No

    Bump

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 5, 2016
  11. Offline

    sgavster

  12. Offline

    Pimp_like_me

  13. Offline

    Pimp_like_me

  14. Offline

    Pimp_like_me

  15. Offline

    sgavster

  16. Offline

    Pimp_like_me

    All other events work perfectly

    sgavster

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 5, 2016
  17. Offline

    sgavster

  18. Offline

    hellboyPS

    Any console output?
     
  19. Offline

    sgavster

    Try this:
    PHP:
    @EventHandler
    public void onChat(AsyncPlayerChatEvent e) {
    e.setFormat(e.getPlayer().getName() + ": " e.getMessage);
    }
     
  20. Offline

    drtshock

    Try doing what sgavster said. You should be setting the format, not the message. Also try adding some debug code to see if the event is being listened to correctly.
     
    sgavster likes this.
Thread Status:
Not open for further replies.

Share This Page