/**
 * This is what you want to modify in order to change what classes exist or what they are permitted to interact with.
 *
 * When a class has an allowed recipe, block, item, or entity, no other class will be able to interact with that unless
 * it is included in their class.
 */
function createClasses()
{
    let blacksmith = createClass("blacksmith");
    blacksmith.allowed_blocks = [
        "tfc:metal/anvil/.+"
    ];

    let farmer = createClass("farmer");
    farmer.allowed_items = [
        "#minecraft:hoes",
        "tfc:seeds/green_bean",
        "tfc:farmland/lentil",
        "tfc:farmland/peanut",
        "tfc:farmland/soybean",
        "tfc:farmland/barley",
        "tfc:farmland/oat",
        "tfc:farmland/rye",
        "tfc:farmland/maize",
        "tfc:farmland/wheat",
        "tfc:farmland/rice",
        "tfc:farmland/beet",
        "tfc:farmland/cabbage",
        "tfc:farmland/carrot",
        "tfc:farmland/garlic",
        "tfc:farmland/onion",
        "tfc:farmland/potato",
        "tfc:farmland/squash",
        "tfc:farmland/tomato",
        "tfc:farmland/red_bell_pepper",
        "tfc:farmland/yellow_bell_pepper",
        "tfc:farmland/pumpkin",
        "tfc:farmland/melon",
        "tfc:farmland/canola",
        "tfc:farmland/radish",
        "tfc:farmland/alfalfa",
        "tfc:farmland/jute",
        "tfc:farmland/papyrus",
        "tfc:farmland/sugarcane",
        "immersiveengineering:seed"
    ];
    farmer.allowed_blocks = [
        "tfc:farmland/entisol",
        "tfc:farmland/aridisol",
        "tfc:farmland/oxisol",
        "tfc:farmland/fluvisol",
        "tfc:farmland/andisol",
        "tfc:farmland/podzol",
        "tfc:farmland/alfisol",
        "tfc:farmland/mollisol",
    ];

    let glassworker = createClass("glassworker");
    glassworker.allowed_items = [
        ".*blowpipe.*",
        "tfc:.*_glass_batch"
    ];

    let engineer = createClass("engineer");
    engineer.allowed_blocks = [
        "immersiveengineering:.*"
    ];
    engineer.allowed_items = [
        "immersiveengineering:.*"
    ];

    let sorcerer = createClass("sorcerer");
    sorcerer.allowed_blocks = [
        "irons_spellbooks:.*",
        "minecraft:brewing_stand"
    ];
    sorcerer.allowed_items = [
        "irons_spellbooks:.*"
    ];
}