How to create a properties file

Discussion in 'Plugin Development' started by retsrif, Mar 4, 2011.

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

    retsrif

    That's basically it. I want to know how to create a properties files, and have one property I can access from it.
     
  2. Offline

    Sammy

    Watch samkio's intermediate tutorial ;)
     
  3. Offline

    Moon_werewolf

    Load the file
    Code:
    FileInputStream r = new FileInputStream(fileName);
    Properties file = new Properties();
    file.load(r);
    
    get something from the file
    Code:
    file.getProperty(key,defaultResult)
     
  4. Offline

    retsrif

    Loading it creates it?
     
  5. Offline

    Nohup

    That is how to load it and use it... If you do getConfiguration it holds an instance of a file object even if it doesn't exist on the file system. So what you do is build a quick sample configuration in code and the save the configuration and taht will create it for you. So this is the one I have from DropBonus (ignore all my constants...)

    Code:
        protected void buildConfiguration()
        {
            Configuration c = getConfiguration();
            if (c != null)
            {
                c.setProperty(DropBonusConstants.BONUS_PREFIX +
                    Material.STONE.toString().toLowerCase() +
                    DropBonusConstants.BONUS_PROBABILITY_SUFFIX, 20);
    
                List<Double> vals = new ArrayList<Double>();
                vals.add(new Double(100));
                vals.add(new Double(100));
                c.setProperty(DropBonusConstants.BONUS_PREFIX +
                    Material.STONE.toString().toLowerCase() +
                    DropBonusConstants.BONUS_CHANCES_BRIDGE +
                    Material.COBBLESTONE.toString().toLowerCase(), vals);
    
                String valarr = ".1 0 1";
    
                c.setProperty(DropBonusConstants.BONUS_PREFIX +
                    Material.STONE.toString().toLowerCase() +
                    DropBonusConstants.BONUS_CHANCES_BRIDGE +
                    Material.OBSIDIAN.toString().toLowerCase(), valarr);
                c.setProperty(DropBonusConstants.BONUS_PREFIX +
                    Material.STONE.toString().toLowerCase() +
                    DropBonusConstants.BONUS_OVERRIDE_SUFFIX, false);
    
                c.setProperty(DropBonusConstants.BONUS_PREFIX +
                    Material.STONE.toString().toLowerCase() +
                    DropBonusConstants.BONUS_TOOL_BRIDGE +
                    Material.DIAMOND_PICKAXE.toString().toLowerCase() +
                    DropBonusConstants.BONUS_CHANCES_BRIDGE +
                    Material.STONE.toString().toLowerCase()
                    , 100);
    
                c.setProperty(DropBonusConstants.BONUS_PREFIX +
                    Material.STONE.toString().toLowerCase() +
                    DropBonusConstants.BONUS_MAXNUMBER_SUFFIX
                    , -1);
    
                c.setProperty(DropBonusConstants.BONUS_PREFIX +
                    DropBonusConstants.CRAFTCHICKEN +
                    DropBonusConstants.BONUS_PROBABILITY_SUFFIX, 99.9);
                c.setProperty(DropBonusConstants.BONUS_PREFIX +
                    DropBonusConstants.CRAFTCHICKEN +
                    DropBonusConstants.BONUS_CHANCES_BRIDGE +
                    Material.EGG.toString().toLowerCase(), 99.9);
    
                if (!c.save())
                {
                    getServer().getLogger().warning("Unable to persist configuration files, changes will not be saved.");
                }
            }
        }
    Since I have this in a method call I just call it from onEnable.
     
Thread Status:
Not open for further replies.

Share This Page