Solved My colour and %player% wont work

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

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

    gamelord327

    I'm try to get my plugin a colour feature and a %player% thingy so the user can change where the player name goes for my custom login/out message but they don't seem to be working.

    My Events.java:

    Code:
    import org.bukkit.ChatColor;
    import org.bukkit.configuration.file.FileConfiguration;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
     
    public class Events implements Listener{
       
        public static Main plugin;
       
        public Events(Main instance){
                plugin = instance;
        }
       
        @EventHandler
        public void onPlayerJoin(PlayerJoinEvent e){
            Player p = e.getPlayer();
            FileConfiguration config = plugin.getConfig();
            String message = config.getString("onJoin");
            String pName = p.getName();
            e.setJoinMessage(p.getName() + message);
            message = message.replace("%player%", pName);
            message = ChatColor.translateAlternateColorCodes('&', message);
        }
     
        @EventHandler
        public void onPlayerQuit(PlayerQuitEvent e){
            Player p = e.getPlayer();
            FileConfiguration config = plugin.getConfig();
            String message = config.getString("onQuit");
            String pName = p.getName();
            e.setQuitMessage(p.getName() + message);
            message = message.replace("%player%", pName);
            message = ChatColor.translateAlternateColorCodes('&', message);
        }
    }
    
    And my config.yml:

    Code:
    onJoin: 'This player is awesome and' %player% 'joined the server!'
    onQuit: 'This player is no longer awesome and left the server!'
    What am i doing wrong???
     
  2. Offline

    LazyLemons

    'This player is awesome and' %player% 'joined the server!'
    should be
    'This player is awesome and %player% joined the server!'
     
  3. Offline

    gamelord327

    Well i did that and this is what i got:

    gamelord327This player is awsome and %player% joined the server!

    What happened?
     
  4. Offline

    gomeow

  5. Offline

    gamelord327

    So how would i then fix this? Im sorry but im still learning all of this.
     
  6. Offline

    Chloe-chan

    You set the quit message before translating the colour code and replacing %player% with the name.

    EDIT: Also, you put the player's name in front of your message, that's why you have a name before your message.

    Code:Java
    1. import org.bukkit.ChatColor
    2. import org.bukkit.configuration.file.FileConfiguration;
    3. import org.bukkit.entity.Player;
    4. import org.bukkit.event.EventHandler;
    5. import org.bukkit.event.Listener;
    6. import org.bukkit.event.player.PlayerJoinEvent;
    7. import org.bukkit.event.player.PlayerQuitEvent;
    8.  
    9. public class Events implements Listener{
    10.  
    11. public static Main plugin;
    12.  
    13. public Events(Main instance){
    14. plugin = instance;
    15. }
    16.  
    17. @EventHandler
    18. public void onPlayerJoin(PlayerJoinEvent e){
    19. Player p = e.getPlayer();
    20. FileConfiguration config = plugin.getConfig();
    21. String message = config.getString("onJoin");
    22. String pName = p.getName();
    23. message = message.replace("%player%", pName);
    24. message = ChatColor.translateAlternateColorCodes('&', message);
    25. e.setJoinMessage(message);
    26. }
    27.  
    28. @EventHandler
    29. public void onPlayerQuit(PlayerQuitEvent e){
    30. Player p = e.getPlayer();
    31. FileConfiguration config = plugin.getConfig();
    32. String message = config.getString("onQuit");
    33. String pName = p.getName();
    34. message = message.replace("%player%", pName);
    35. message = ChatColor.translateAlternateColorCodes('&', message);
    36. e.setQuitMessage(message);
    37. }
    38. }
     
  7. Offline

    gamelord327

    Thank you it now works :)
     
Thread Status:
Not open for further replies.

Share This Page