<commit_before>mf.include("strings.js");
mf.include("arrays.js");
mf.include("Set.js");

var items = {};
(function() {
    items.nameForId = function(id) {
        var result = item_database[id];
        if (result === undefined) {
            result = block_database[id];
        }
        if (result === undefined) {
            return undefined;
        }
        return result;
    };
    items.armor = {};
    items.armor.helmets = [mf.ItemType.LeatherHelmet, mf.ItemType.IronHelmet, mf.ItemType.DiamondHelmet, mf.ItemType.GoldHelmet, mf.ItemType.ChainmailHelmet];
    items.armor.chestplates = [mf.ItemType.LeatherChestplate, mf.ItemType.IronChestplate, mf.ItemType.DiamondChestplate, mf.ItemType.GoldChestplate, mf.ItemType.ChainmailChestplate];
    items.armor.leggings = [mf.ItemType.LeatherLeggings, mf.ItemType.IronLeggings, mf.ItemType.DiamondLeggings, mf.ItemType.GoldLeggings, mf.ItemType.ChainmailLeggings];
    items.armor.boots = [mf.ItemType.LeatherBoots, mf.ItemType.IronBoots, mf.ItemType.DiamondBoots, mf.ItemType.GoldBoots, mf.ItemType.ChainmailBoots];

    items.tools = {};
    items.tools.pickaxes = [mf.ItemType.WoodenPickaxe, mf.ItemType.StonePickaxe, mf.ItemType.IronPickaxe, mf.ItemType.DiamondPickaxe, mf.ItemType.GoldPickaxe];
    items.tools.shovels = [mf.ItemType.WoodenShovel, mf.ItemType.StoneShovel, mf.ItemType.IronShovel, mf.ItemType.DiamondShovel, mf.ItemType.GoldShovel];
    items.tools.axes = [mf.ItemType.WoodenAxe, mf.ItemType.StoneAxe, mf.ItemType.IronAxe, mf.ItemType.DiamondAxe, mf.ItemType.GoldAxe];
    items.tools.hoes = [mf.ItemType.WoodenHoe, mf.ItemType.StoneHoe, mf.ItemType.IronHoe, mf.ItemType.DiamondHoe, mf.ItemType.GoldHoe];
    items.tools.swords = [mf.ItemType.WoodenSword, mf.ItemType.StoneSword, mf.ItemType.IronSword, mf.ItemType.DiamondSword, mf.ItemType.GoldSword];
    var all_tools = new Set();
    for (var name in items.tools) {
        var array = items.tools[name];
        for (var i = 0; i < array.length; i++) {
            all_tools.add(array[i]);
        }
    }
    var block_type_to_tools = {};
    {
        block_type_to_tools[mf.ItemType.Stone] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Grass] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Dirt] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Cobblestone] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.WoodenPlank] = items.tools.axes;
        block_type_to_tools[mf.ItemType.Sand] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Gravel] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.GoldOre] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.IronOre] = items.tools.pickaxes.slice(1, 4);
        block_type_to_tools[mf.ItemType.CoalOre] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Wood] = items.tools.axes;
        block_type_to_tools[mf.ItemType.LapisLazuliOre] = items.tools.pickaxes.slice(1, 4);
        block_type_to_tools[mf.ItemType.LapisLazuliBlock] = items.tools.pickaxes.slice(1, 4);
        block_type_to_tools[mf.ItemType.Dispenser] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Sandstone] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.GoldBlock] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.IronBlock] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.DoubleSlab] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Slab] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Brick] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.MossStone] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Obsidian] = items.tools.pickaxes.slice(3, 4);
        block_type_to_tools[mf.ItemType.MonsterSpawner] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Chest] = items.tools.axes;
        block_type_to_tools[mf.ItemType.DiamondOre] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.DiamondBlock] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.Farmland] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Furnace] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.BurningFurnace] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.CobblestoneStairs] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.IronDoor_placed] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.RedstoneOre] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.GlowingRedstoneOre] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.SnowBlock] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Clay] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Netherrack] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.SoulSand] = items.tools.shovels;
    }

    items.toolsForBlock = function(block_type) {
        if (!mf.isDiggable(block_type)) {
            return undefined;
        }
        var tools =  block_type_to_tools[block_type];
        if (tools !== undefined) {
            return tools;
        }
        return items.tools.swords;
    };
    items.isTool = function(item_id) {
        return all_tools.contains(item_id);
    };

    var block_to_item_that_places_it = {};
    {
        block_to_item_that_places_it[mf.ItemType.StationaryWater] = mf.ItemType.WaterBucket;<commit_msg>unfortunatly. shovels do not mine soul sand any faster.<commit_after>mf.include("strings.js");
mf.include("arrays.js");
mf.include("Set.js");

var items = {};
(function() {
    items.nameForId = function(id) {
        var result = item_database[id];
        if (result === undefined) {
            result = block_database[id];
        }
        if (result === undefined) {
            return undefined;
        }
        return result;
    };
    items.armor = {};
    items.armor.helmets = [mf.ItemType.LeatherHelmet, mf.ItemType.IronHelmet, mf.ItemType.DiamondHelmet, mf.ItemType.GoldHelmet, mf.ItemType.ChainmailHelmet];
    items.armor.chestplates = [mf.ItemType.LeatherChestplate, mf.ItemType.IronChestplate, mf.ItemType.DiamondChestplate, mf.ItemType.GoldChestplate, mf.ItemType.ChainmailChestplate];
    items.armor.leggings = [mf.ItemType.LeatherLeggings, mf.ItemType.IronLeggings, mf.ItemType.DiamondLeggings, mf.ItemType.GoldLeggings, mf.ItemType.ChainmailLeggings];
    items.armor.boots = [mf.ItemType.LeatherBoots, mf.ItemType.IronBoots, mf.ItemType.DiamondBoots, mf.ItemType.GoldBoots, mf.ItemType.ChainmailBoots];

    items.tools = {};
    items.tools.pickaxes = [mf.ItemType.WoodenPickaxe, mf.ItemType.StonePickaxe, mf.ItemType.IronPickaxe, mf.ItemType.DiamondPickaxe, mf.ItemType.GoldPickaxe];
    items.tools.shovels = [mf.ItemType.WoodenShovel, mf.ItemType.StoneShovel, mf.ItemType.IronShovel, mf.ItemType.DiamondShovel, mf.ItemType.GoldShovel];
    items.tools.axes = [mf.ItemType.WoodenAxe, mf.ItemType.StoneAxe, mf.ItemType.IronAxe, mf.ItemType.DiamondAxe, mf.ItemType.GoldAxe];
    items.tools.hoes = [mf.ItemType.WoodenHoe, mf.ItemType.StoneHoe, mf.ItemType.IronHoe, mf.ItemType.DiamondHoe, mf.ItemType.GoldHoe];
    items.tools.swords = [mf.ItemType.WoodenSword, mf.ItemType.StoneSword, mf.ItemType.IronSword, mf.ItemType.DiamondSword, mf.ItemType.GoldSword];
    var all_tools = new Set();
    for (var name in items.tools) {
        var array = items.tools[name];
        for (var i = 0; i < array.length; i++) {
            all_tools.add(array[i]);
        }
    }
    var block_type_to_tools = {};
    {
        block_type_to_tools[mf.ItemType.Stone] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Grass] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Dirt] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Cobblestone] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.WoodenPlank] = items.tools.axes;
        block_type_to_tools[mf.ItemType.Sand] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Gravel] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.GoldOre] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.IronOre] = items.tools.pickaxes.slice(1, 4);
        block_type_to_tools[mf.ItemType.CoalOre] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Wood] = items.tools.axes;
        block_type_to_tools[mf.ItemType.LapisLazuliOre] = items.tools.pickaxes.slice(1, 4);
        block_type_to_tools[mf.ItemType.LapisLazuliBlock] = items.tools.pickaxes.slice(1, 4);
        block_type_to_tools[mf.ItemType.Dispenser] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Sandstone] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.GoldBlock] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.IronBlock] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.DoubleSlab] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Slab] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Brick] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.MossStone] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Obsidian] = items.tools.pickaxes.slice(3, 4);
        block_type_to_tools[mf.ItemType.MonsterSpawner] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.Chest] = items.tools.axes;
        block_type_to_tools[mf.ItemType.DiamondOre] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.DiamondBlock] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.Farmland] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Furnace] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.BurningFurnace] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.CobblestoneStairs] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.IronDoor_placed] = items.tools.pickaxes;
        block_type_to_tools[mf.ItemType.RedstoneOre] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.GlowingRedstoneOre] = items.tools.pickaxes.slice(2, 4);
        block_type_to_tools[mf.ItemType.SnowBlock] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Clay] = items.tools.shovels;
        block_type_to_tools[mf.ItemType.Netherrack] = items.tools.pickaxes;
    }

    items.toolsForBlock = function(block_type) {
        if (!mf.isDiggable(block_type)) {
            return undefined;
        }
        var tools =  block_type_to_tools[block_type];
        if (tools !== undefined) {
            return tools;
        }
        return items.tools.swords;
    };
    items.isTool = function(item_id) {
        return all_tools.contains(item_id);
    };

    var block_to_item_that_places_it = {};
    {
        block_to_item_that_places_it[mf.ItemType.StationaryWater] = mf.ItemType.WaterBucket;
{'fraction_non_alphanumeric': 0.12394366197183099, 'fraction_numerical': 0.004179918218991368, 'mean_word_length': 3.639966273187184, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2465185', 'n_tokens_mistral': 4280, 'n_tokens_neox': 4082, 'n_words': 425}