Solved Config Variables Help

Discussion in 'Plugin Development' started by Epicballzy, Apr 22, 2014.

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

    Epicballzy

    I'm fooling around with configs, and I'm trying to make variables for players so %PLAYER would be = to a players name. However, the way I set it up does not work.

    Main:
    Code:java
    1. package com.config;
    2.  
    3. import org.bukkit.Bukkit;
    4. import org.bukkit.ChatColor;
    5. import org.bukkit.configuration.file.FileConfiguration;
    6. import org.bukkit.entity.Player;
    7. import org.bukkit.event.EventHandler;
    8. import org.bukkit.event.Listener;
    9. import org.bukkit.event.player.PlayerJoinEvent;
    10. import org.bukkit.event.player.PlayerQuitEvent;
    11. import org.bukkit.plugin.java.JavaPlugin;
    12.  
    13. public class Main extends JavaPlugin implements Listener {
    14.  
    15. public static FileConfiguration config;
    16.  
    17. public void onEnable() {
    18. Bukkit.getServer().getPluginManager().registerEvents(this, this);
    19. config = getConfig();
    20. try {
    21. saveConfig();
    22. setupConfig(getConfig());
    23. saveConfig();
    24. } catch(Exception e) {
    25. e.printStackTrace();
    26. }
    27. }
    28.  
    29. @EventHandler
    30. public void onPlayerJoin(PlayerJoinEvent e) {
    31. e.setJoinMessage(config.getString("Join"));
    32. }
    33.  
    34. @EventHandler
    35. public void onPlayerQuit(PlayerQuitEvent e) {
    36. e.setQuitMessage(config.getString("Quit"));
    37. }
    38.  
    39. public String formatVariables(String string, Player player) {
    40. return ChatColor.translateAlternateColorCodes("&".charAt(0), null)
    41. .replace("%PLAYER", player.getName());
    42. }
    43.  
    44. private void setupConfig(FileConfiguration config) {
    45. config.set("Join", "&3[&bJoin&3] &9%PLAYER has arrived!");
    46. config.set("Quit", "&3[&bQuit&3] &9%PLAYER has left!");
    47. }
    48.  
    49. }

    Any help is appreciated!
     
  2. Code:java
    1. //Use this to replace all %PLAYER to PlayerName
    2. e.setJoinMessage(config.getString("Join").replaceAll("%PLAYER", p.getName().toString()));
     
    Kevinzuman22 likes this.
  3. Offline

    Epicballzy

    Thanks!
     
Thread Status:
Not open for further replies.

Share This Page