The game death message won't work

Discussion in 'Plugin Development' started by gamelord327, Aug 24, 2013.

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

    gamelord327

    The idea is when you die, there will be a custom message. The problem is it is not calling the event for some reason.


    This is the event
    Code:java
    1. public void onPlayerDeath(PlayerDeathEvent e) {
    2. Player p = e.getEntity();
    3. FileConfiguration config = plugin.getConfig();
    4. String message = config.getString("Death");
    5. message = FormatMessage(p,message);
    6. e.setDeathMessage(message);
    7. }
     
  2. Offline

    DrMedia

    Could we please have the full code?
     
  3. gamelord327
    Do you have @EventHandler annotation on top of that method? Have you registered your events in onEnable()?
     
  4. Offline

    gamelord327

    Yes i have done those.

    My events.java:
    Code:java
    1. package com.adam.custommessage;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.configuration.file.FileConfiguration;
    5. import org.bukkit.entity.Player;
    6. import org.bukkit.event.EventHandler;
    7. import org.bukkit.event.EventPriority;
    8. import org.bukkit.event.Listener;
    9. import org.bukkit.event.entity.PlayerDeathEvent;
    10. import org.bukkit.event.player.PlayerJoinEvent;
    11. import org.bukkit.event.player.PlayerKickEvent;
    12. import org.bukkit.event.player.PlayerLoginEvent;
    13. import org.bukkit.event.player.PlayerQuitEvent;
    14.  
    15. //Enable listener.
    16.  
    17. public class Events implements Listener{
    18.  
    19. public static Main plugin;
    20.  
    21. public Events(Main instance){
    22. plugin = instance;
    23. }
    24.  
    25. public static String FormatMessage(Player p, String message) {
    26. String pName = p.getName();
    27. message = message.replace("%player%", pName);
    28. message = ChatColor.translateAlternateColorCodes('&', message);
    29.  
    30. return message;
    31. }
    32. //Event for kick styled events.
    33.  
    34. @EventHandler (priority = EventPriority.HIGHEST)
    35. public void onPlayerLoginHIGHEST(PlayerLoginEvent e){
    36. Player p = e.getPlayer();
    37. FileConfiguration config = plugin.getConfig();
    38. String message = "";
    39. if(e.getResult() == PlayerLoginEvent.Result.KICK_FULL){
    40. message = config.getString("ServerFull");
    41. } else if(e.getResult() == PlayerLoginEvent.Result.KICK_WHITELIST){
    42. message = config.getString("Whitelist");
    43. }
    44. if(message != "") {
    45. message = FormatMessage(p,message);
    46. e.setKickMessage(message);
    47. }
    48.  
    49. }
    50.  
    51. //Login, FirstJoin, Logout, kick/ban events.
    52.  
    53. @EventHandler
    54. public void onPlayerJoin(PlayerJoinEvent e){
    55. Player p = e.getPlayer();
    56. FileConfiguration config = plugin.getConfig();
    57. String message = "";
    58. if(!e.getPlayer().hasPlayedBefore()) {
    59. message = config.getString("FirstJoin");
    60. }
    61. else{
    62. message = config.getString("Login");
    63. String currentWorld = p.getWorld().getName();
    64. message = message.replace("%world%", currentWorld);
    65. }
    66. message = FormatMessage(p,message);
    67. e.setJoinMessage(message);
    68. }
    69.  
    70.  
    71.  
    72.  
    73. @EventHandler
    74. public void onPlayerKick(PlayerKickEvent e) {
    75. Player p = e.getPlayer();
    76. FileConfiguration config = plugin.getConfig();
    77. String message = "";
    78. if(p.isBanned()) {
    79. message = config.getString("Ban");
    80. } else {
    81. message = config.getString("Kick");
    82. }
    83. message = message.replace("%reason%", e.getReason());
    84. message = FormatMessage(p,message);
    85. e.setLeaveMessage(message);
    86. }
    87. @EventHandler
    88. public void onPlayerQuit(PlayerQuitEvent e){
    89. Player p = e.getPlayer();
    90. FileConfiguration config = plugin.getConfig();
    91. String message = config.getString("Logout");
    92. message = FormatMessage(p,message);
    93. e.setQuitMessage(message);
    94. }
    95.  
    96. @EventHandler (priority = EventPriority.HIGHEST)
    97. public void onDeath(PlayerDeathEvent e) {
    98. Player p = e.getEntity();
    99. FileConfiguration config = plugin.getConfig();
    100. String message = config.getString("Death");
    101. message = FormatMessage(p,message);
    102. e.setDeathMessage(message);
    103. }
    104. }


    And the config.yml:
    Code:
    Login: '&a%player% &7Joined in the world %world%'
    Logout: '&c%player% &7Left'
    Ban: '&c%player% Banned for %reason%'
    Kick: '&c%player% Kicked for %reason%'
    FirstJoin: '&cWelcome &d%player% &cto the server!'
    ServerFull: '&3Server is full, please try again later, or check our site!'
    Whitelist: '&3Sorry, you are not on the whitelist, contact the owner of the server.'
    Death: '&c%player%&7 was killed, feel sorry for him, then laugh at him.'
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 4, 2016
Thread Status:
Not open for further replies.

Share This Page