Package de.eydamos.backpack.misc

Source Code of de.eydamos.backpack.misc.ConfigurationBackpack

package de.eydamos.backpack.misc;

import java.io.File;

import net.minecraftforge.common.config.Configuration;

public class ConfigurationBackpack {
    public static Configuration config;

    public static int ENDER_RECIPE;
    public static int BACKPACK_SLOTS_S;
    public static int BACKPACK_SLOTS_L;
    public static int MAX_BACKPACK_AMOUNT;
    public static boolean RENDER_BACKPACK_MODEL;
    public static boolean OPEN_ONLY_PERSONAL_BACKPACK;
    public static boolean AIRSHIP_MOD_COMPATIBILITY;
    public static boolean DISABLE_BACKPACKS;
    public static boolean DISABLE_BIG_BACKPACKS;
    public static boolean DISABLE_ENDER_BACKPACKS;
    public static boolean DISABLE_WORKBENCH_BACKPACKS;
    public static boolean BIG_BY_UPGRADE_ONLY;
    public static String DISALLOW_ITEMS;

    public static boolean NEISupport = false;

    public static void init(File configFile) {
        if(config == null) {
            config = new Configuration(configFile);
            loadConfiguration();
        }
    }

    public static void loadConfiguration() {
        ENDER_RECIPE = config.get(Configuration.CATEGORY_GENERAL, "enderRecipe", 0, getEnderRecipeComment()).getInt();
        if(ENDER_RECIPE < 0 || ENDER_RECIPE > 1) {
            ENDER_RECIPE = 0;
        }
        BACKPACK_SLOTS_S = config.get(Configuration.CATEGORY_GENERAL, "backpackSlotsS", 27, getBackpackSlotComment()).getInt();
        if(BACKPACK_SLOTS_S < 1 || BACKPACK_SLOTS_S > 128) {
            BACKPACK_SLOTS_S = 27;
        }
        BACKPACK_SLOTS_L = config.get(Configuration.CATEGORY_GENERAL, "backpackSlotsL", 54, getBackpackSlotComment()).getInt();
        if(BACKPACK_SLOTS_L < 1 || BACKPACK_SLOTS_L > 128) {
            BACKPACK_SLOTS_L = 54;
        }
        MAX_BACKPACK_AMOUNT = config.get(Configuration.CATEGORY_GENERAL, "maxBackpackAmount", 0, getMaxBackpackAmountComment()).getInt();
        if(MAX_BACKPACK_AMOUNT < 0 || MAX_BACKPACK_AMOUNT > 36) {
            MAX_BACKPACK_AMOUNT = 0;
        }
        RENDER_BACKPACK_MODEL = config.get(Configuration.CATEGORY_GENERAL, "renderBackpackModel", true, getRenderBackpackModelComment()).getBoolean(true);
        OPEN_ONLY_PERSONAL_BACKPACK = config.get(Configuration.CATEGORY_GENERAL, "openOnlyWornBackpacks", false, getOpenOnlyPersonalBackpacksComment()).getBoolean(false);
        AIRSHIP_MOD_COMPATIBILITY = config.get(Configuration.CATEGORY_GENERAL, "airshipModCompatibility", false, getAirshipModCompatibilityComment()).getBoolean(false);
        DISABLE_BACKPACKS = config.get(Configuration.CATEGORY_GENERAL, "disableBackpacks", false, getDisableBackpacksComment()).getBoolean(false);
        DISABLE_BIG_BACKPACKS = config.get(Configuration.CATEGORY_GENERAL, "disableBigBackpacks", false, getDisableBigBackpacksComment()).getBoolean(false);
        DISABLE_ENDER_BACKPACKS = config.get(Configuration.CATEGORY_GENERAL, "disableEnderBackpack", false, getDisableEnderBackpacksComment()).getBoolean(false);
        DISABLE_WORKBENCH_BACKPACKS = config.get(Configuration.CATEGORY_GENERAL, "disableWorkbenchBackpack", false, getDisableWorkbenchBackpacksComment()).getBoolean(false);
        BIG_BY_UPGRADE_ONLY = config.get(Configuration.CATEGORY_GENERAL, "bigByUpgradeOnly", false, getBigByUpgradeOnlyComment()).getBoolean(false);

        DISALLOW_ITEMS = config.get(Configuration.CATEGORY_GENERAL, "disallowItems", "", getDisallowItemsComment()).getString();

        if(config.hasChanged()) {
            config.save();
        }
    }

    private static String getEnderRecipeComment() {
        return "##############\n" + "Recipe to craft ender backpack\n" + "0 ender chest\n" + "1 eye of the ender\n" + "##############";
    }

    private static String getBackpackSlotComment() {
        return "##############\n" + "Number of slots a backpack has\n" + "valid: integers 1-128\n" + "##############";
    }

    private static String getMaxBackpackAmountComment() {
        return "##############\n" + "Number of backpacks a player can have in his inventory\n" + "valid: integers 0-36\n" + "0 = unlimited\n" + "##############";
    }

    private static String getRenderBackpackModelComment() {
        return "##############\n" + "If true the backpack 3D model will be rendered.\n" + "##############";
    }

    private static String getOpenOnlyPersonalBackpacksComment() {
        return "##############\n" + "If true you can only open a backpack that you wear in the extra slot\n" + "##############";
    }

    private static String getAirshipModCompatibilityComment() {
        return "##############\n" + "If true normal backpack requires a chest in the middle\n" + "##############";
    }

    private static String getDisableBackpacksComment() {
        return "##############\n" + "If true small backpacks are not craftable\n" + "##############";
    }

    private static String getDisableBigBackpacksComment() {
        return "##############\n" + "If true big backpacks are not craftable\n" + "##############";
    }

    private static String getDisableEnderBackpacksComment() {
        return "##############\n" + "If true ender backpacks are not craftable\n" + "##############";
    }

    private static String getDisableWorkbenchBackpacksComment() {
        return "##############\n" + "If true workbench backpacks are not craftable\n" + "##############";
    }

    private static String getBigByUpgradeOnlyComment() {
        return "##############\n" + "If true big backpacks can only crafted by upgrading a small one\n" + "##############";
    }

    private static String getDisallowItemsComment() {
        return "##############\n" + "Example:\n" + "disallowItems:1,5:2,ingotSilver\n\n" + "This will disallow stone, birch wood planks and any type of silver ingots in backpacks.\n" + "##############";
    }
}
TOP

Related Classes of de.eydamos.backpack.misc.ConfigurationBackpack

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.