bspkrs icon

new Configuration methods

bspkrs | PRO | 03/12/13 12:48:06 AM UTC | 0 ⭐ | 512 👁️ | Never ⏰ | []
Java |

3.46 KB

|

None

|

0 👍

/

0 👎

 
    
    /**
     * Deletes a given category.
     * @param category the category to delete
     */
    public void deleteCategory(String category)
    {
        if(hasCategory(category))
        {
            categories.remove(category);
        }
    }
    
    /**
     * Renames a property in a given category.
     * @param category    the category in which the property resides
     * @param oldPropName the existing property name
     * @param newPropName the 
     * @return            true if the category and property exist, false otherwise
     */
    public boolean renameProperty(String category, String oldPropName, String newPropName)
    {
        if (hasCategory(category))
        {
            if (!oldPropName.equalsIgnoreCase(newPropName))
            {
                if (getCategory(category).containsKey(oldPropName))
                {
                    get(category, newPropName, getCategory(category).get(oldPropName).getString());
                    getCategory(category).remove(oldPropName);
                    return true;
                }
                else
                {
                    FMLLog.warning("Mod attempted to rename a non-existant property!");
                    FMLLog.warning("Config \"%s\" Category: \"%s\" Source Key: \"%s\" Target Key: \"%s\"", fileName, category, oldPropName, newPropName);
                }
            }
        }
        else
        {
            FMLLog.warning("Mod attempted to rename a property from a non-existant config category!");
            FMLLog.warning("Config \"%s\" Category: \"%s\" Source Key: \"%s\" Target Key: \"%s\"", fileName, category, oldPropName, newPropName);
        }
        return false;
    }
    /**
     * Moves a property from one category to another. The new category is created if it doesn't exist.
     * @param oldCategory the category the property currently resides in
     * @param propName    the name of the property to move
     * @param newCategory the category the property should be moved to
     * @return            true if the old category and property exist, false otherwise
     */
    public boolean moveProperty(String oldCategory, String propName, String newCategory)
    {
        if (!caseSensitiveCustomCategories)
        {
            oldCategory = oldCategory.toLowerCase(Locale.ENGLISH);
            newCategory = newCategory.toLowerCase(Locale.ENGLISH);
        }
        
        if (!oldCategory.equals(newCategory))
        { 
            if(hasCategory(oldCategory))
            {
                if (getCategory(oldCategory).containsKey(propName))
                {
                    getCategory(newCategory).put(propName, getCategory(oldCategory).get(propName));
                    return true;
                }
                else
                {
                    FMLLog.warning("Mod attempted to move a non-existant property to another config category!");
                    FMLLog.warning("Config \"%s\" Source Category: \"%s\" Key: \"%s\" Target Category: \"%s\"", fileName, oldCategory, propName, newCategory);
                }
            }
            else
            {
                FMLLog.warning("Mod attempted to move a property from a non-existant config category!");
                FMLLog.warning("Config \"%s\" Source Category: \"%s\" Key: \"%s\" Target Category: \"%s\"", fileName, oldCategory, propName, newCategory);
            }
        }
        return false;
    }

Comments