Trying to make a Config enable disable

Discussion in 'Plugin Development' started by VulcanGamer, Sep 16, 2013.

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

    VulcanGamer

    Hi,
    I'm trying make it so ingame you can change if a map generates but i don't know how to do it so it gets the config if its set to "True" OR "False"

    Code:
    Code:java
    1. package me.VulcanGamer.CustomMapsAndBooks;
    2.  
    3. import java.io.File;
    4. import java.io.IOException;
    5. import java.net.MalformedURLException;
    6. import java.net.URL;
    7.  
    8. import javax.imageio.ImageIO;
    9.  
    10. import org.bukkit.Bukkit;
    11. import org.bukkit.ChatColor;
    12. import org.bukkit.command.Command;
    13. import org.bukkit.command.CommandSender;
    14. import org.bukkit.entity.Player;
    15. import org.bukkit.event.EventHandler;
    16. import org.bukkit.event.Listener;
    17. import org.bukkit.event.server.MapInitializeEvent;
    18. import org.bukkit.map.MapCanvas;
    19. import org.bukkit.map.MapRenderer;
    20. import org.bukkit.map.MapView;
    21. import org.bukkit.map.MinecraftFont;
    22. import org.bukkit.plugin.java.JavaPlugin;
    23.  
    24. public class Main extends JavaPlugin implements Listener {
    25.  
    26. // public final Logger logger = Logger.getLogger("Minecraft");
    27. public Main plugin;
    28. public boolean pluginEnabled = true;
    29. @Override
    30. public void onEnable() {
    31. getServer().getPluginManager().registerEvents(this, this);
    32. if (!new File(getDataFolder(), "config.yml").exists()) {
    33. saveDefaultConfig();
    34. Bukkit.broadcastMessage("Yolo...")
    35. }
    36.  
    37. }
    38.  
    39.  
    40. if(getConfig().getBoolean("enabled", true)){
    41.  
    42. @EventHandler
    43. public void onMap(MapInitializeEvent event) {
    44.  
    45. MapView map = event.getMap();
    46. for (MapRenderer r : map.getRenderers())
    47. map.removeRenderer(r);
    48. map.addRenderer(new MapRenderer() {
    49. // Register the render for the map
    50. public void render(MapView view, MapCanvas canvas, Player player) {
    51. // Draw's Onto the map
    52. canvas.drawText(10, 10, MinecraftFont.Font, getConfig()
    53. .getString("mapline1"));
    54. canvas.drawText(10, 20, MinecraftFont.Font, getConfig()
    55. .getString("mapline2"));
    56. try {
    57. canvas.drawImage(
    58. 0,
    59. 30,
    60. ImageIO.read(new URL(getConfig().getString(
    61. "imagerl"))));
    62. } catch (MalformedURLException e) {
    63. // TODO Auto-generated catch block
    64. e.printStackTrace();
    65. } catch (IOException e) {
    66. // TODO Auto-generated catch block
    67. e.printStackTrace();
    68. }
    69. }
    70. });
    71.  
    72.  
    73.  
    74. }
    75. } else {
    76.  
    77. }
    78.  
    79.  
    80.  
    81. public boolean commandSender(CommandSender sender, Command cmd, String label,
    82. String[] args){
    83. Player player = (Player) sender;
    84. if(cmd.getName().equalsIgnoreCase("togglefalse")){
    85. plugin.getConfig().set("enabled", false);
    86. this.saveConfig();
    87. this.reloadConfig();
    88. player.sendMessage(ChatColor.BOLD + "Successfully changed the map generation to " + ChatColor.BOLD + " false." );
    89. }
    90. if(cmd.getName().equalsIgnoreCase("toggletrue")){
    91. plugin.getConfig().set("enabled", true);
    92. this.saveConfig();
    93. this.reloadConfig();
    94. player.sendMessage(ChatColor.BOLD + "Successfully changed the map generation to " + ChatColor.BOLD + " false." );
    95. }
    96.  
    97.  
    98. return false;
    99. }
    100.  
    101. }
    102.  
    103.  
     
  2. Offline

    EdenCampo

    VulcanGamer

    Code:
    String generate = getConfig().getString("your-string");
     
    if(generate.equalsIgnoreCase("true"))
    {
         //do stuff?
    } 
    
    also
    Code:
            if (!new File(getDataFolder(), "config.yml").exists()) {
                saveDefaultConfig();
    make it just
    Code:
    saveDefaultConfig();
    
    Because it already checks if the cfg exists.
     
  3. Offline

    VulcanGamer

    EdenCampo Ok changed the config but thing is its the @EventHandler i need to be able to enable disable some how?
     
  4. Offline

    EdenCampo


    You don't need to disable the '@EventHandler' thingy. Just skip everything you did there if the "genereate" string isn't true.


    Code:java
    1. @EventHandler
    2. public void onMap(MapInitializeEvent event)
    3. {
    4. String generate = getConfig().getString("your-string");
    5.  
    6. if(generate.equalsIgnoreCase("true"))
    7. {
    8. //do all your stuff
    9. }
    10. else
    11. {
    12. // don't do anything! (or log a message?)
    13. }
    14. }
     
  5. Offline

    InflamedSebi

    just return if u dont want it to be executed ...

    Code:java
    1.  
    2. @EventHandler
    3. public void onMap(MapInitializeEvent event) {
    4. if(!getConfig().getBoolean("enabled", true))
    5. return;
    6. // some stuff to do :)
    7. }
     
  6. Offline

    VulcanGamer

    Thanks for help so far. i changed things you guys said just gotta look up what is going on with a error

    Ok Everything works now i just got a bug with ImageIO but thanks guys!

    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