import { Keys as x, sieves as U, mc as E, sd as N } from './ftb_bedrock_bedrock_utils_dist_bedrock_utils.js';
import { MinecraftBlockTypes, MinecraftItemTypes } from './minecraft_vanilla_data.js';

const ADDON_ID = "ftb_sieves";
const FSItems = {
    MESH_DIAMOND: U("diamond_mesh"),
    MESH_EMERALD: U("emerald_mesh"),
    MESH_FLINT: U("flint_mesh"),
    MESH_IRON: U("iron_mesh"),
    MESH_STRING: U("string_mesh"),
    HAMMER_STONE: U("stone_hammer"),
    HAMMER_WOOD: U("wood_hammer"),
    HAMMER_GOLD: U("gold_hammer"),
    HAMMER_IRON: U("iron_hammer"),
    HAMMER_DIAMOND: U("diamond_hammer"),
    HAMMER_NETHERITE: U("netherite_hammer"),
    LEAF_WORM: U("leaf_worm"),
    WOODEN_SHEARS: U("wooden_shears"),
    IRON_SCRAP: U("iron_scrap"),
    GOLD_SCRAP: U("gold_scrap"),
    DIAMOND_SCRAP: U("diamond_scrap"),
    EMERALD_SCRAP: U("emerald_scrap"),
    COPPER_SCRAP: U("copper_scrap"),
};
const FSParticles = {
    BASALT_BREAK: U("basalt_block_particle"),
    COBBLESTONE_BREAK: U("cobblestone_block_particle"),
    DIRT_BREAK: U("dirt_block_particle"),
    END_STONE_BREAK: U("end_stone_block_particle"),
    GRAVEL_BREAK: U("gravel_block_particle"),
    NETHERRACK_BREAK: U("netherrack_block_particle"),
    SAND_BREAK: U("sand_block_particle"),
    RED_SAND_BREAK: U("red_sand_block_particle"),
    ANDESITE_BREAK: U("andesite_block_particle"),
    DIORITE_BREAK: U("diorite_block_particle"),
    GRANITE_BREAK: U("granite_block_particle")
};
var MCSounds;
(function (MCSounds) {
    MCSounds["STEP_CLOTH"] = "step.cloth";
    MCSounds["BRUSH_GENERIC"] = "brush.generic";
    MCSounds["COMPOST_FILL"] = "block.composter.fill";
    MCSounds["RANDOM_POP"] = "random.pop";
    MCSounds["BREAK_STONE"] = "dig.stone";
    MCSounds["BREAK_SAND"] = "dig.sand";
    MCSounds["BREAK_GRAVEL"] = "dig.gravel";
    MCSounds["BREAK_DIRT"] = "dig.dirt";
    MCSounds["BREAK_END_STONE"] = "dig.end_stone";
    MCSounds["BREAK_NETHERRACK"] = "dig.netherrack";
    MCSounds["BREAK_BASALT"] = "dig.basalt";
    MCSounds["RANDOM_BREAK"] = "random.break";
    MCSounds["CAULDRON_DRIP_WATER"] = "cauldron_drip.water.pointed_dripstone";
    MCSounds["CAULDRON_TAKE"] = "cauldron.takewater";
    MCSounds["BUCKET_FILL_WATER"] = "bucket.fill_water";
    MCSounds["BUCKET_EMPTY_WATER"] = "bucket.empty_water";
    MCSounds["BUCKET_FILL_LAVA"] = "bucket.fill_lava";
    MCSounds["BUCKET_EMPTY_LAVA"] = "bucket.empty_lava";
    MCSounds["FIRE_CRACKLE"] = "block.campfire.crackle";
})(MCSounds || (MCSounds = {}));
const MCParticles = {
    CROP_GROWTH: E("crop_growth_emitter"),
    CAMPFIRE_SMOKE: E("campfire_smoke_particle"),
};
const MCPlacedFeatures = {
    OAK_TREE: E("oak_tree_feature"),
    JUNGLE_TREE: E("jungle_tree_feature"),
    BIRCH_TREE: E("birch_tree_feature"),
    CHERRY_TREE: E("cherry_tree_feature"),
    MANGROVE_TREE: E("mangrove_tree_feature"),
    SPRUCE_TREE: E("spruce_tree_feature"),
    PALE_OAK_TREE: E("pale_oak_tree_feature"),
    MEGA_JUNGLE_TREE: E("mega_jungle_tree_feature"),
    DARK_OAK_TREE: E("roofed_tree_feature"),
    ACACIA_TREE: E("savanna_tree_feature"),
};
var MCBlockStates;
(function (MCBlockStates) {
    MCBlockStates["GROWTH"] = "growth";
    MCBlockStates["AGE"] = "age";
    MCBlockStates["FACING_DIRECTION"] = "minecraft:facing_direction";
    MCBlockStates["CARDINAL_DIRECTION"] = "minecraft:cardinal_direction";
    MCBlockStates["COMPOSTER_FILL_LEVEL"] = "composter_fill_level";
})(MCBlockStates || (MCBlockStates = {}));
var ToolTier;
(function (ToolTier) {
    ToolTier[ToolTier["WOOD"] = 0] = "WOOD";
    ToolTier[ToolTier["GOLD"] = 1] = "GOLD";
    ToolTier[ToolTier["STONE"] = 2] = "STONE";
    ToolTier[ToolTier["IRON"] = 3] = "IRON";
    ToolTier[ToolTier["DIAMOND"] = 4] = "DIAMOND";
    ToolTier[ToolTier["NETHERITE"] = 5] = "NETHERITE";
})(ToolTier || (ToolTier = {}));
class FSBlocks {
}
FSBlocks.DUST = U("dust");
FSBlocks.COMPOST = U("compost_block");
FSBlocks.BOTANY_POT = U("botany_pot");
FSBlocks.CRUSHED_BASALT = U("crushed_basalt");
FSBlocks.COMPRESSED_CLAY = createCompressedBlock("clay");
FSBlocks.COMPRESSED_COBBLESTONE = createCompressedBlock("cobblestone");
FSBlocks.COMPRESSED_DIRT = createCompressedBlock("dirt");
FSBlocks.COMPRESSED_DUST = createCompressedBlock("dust", x.SIEVES);
FSBlocks.COMPRESSED_END_STONE = createCompressedBlock("end_stone");
FSBlocks.COMPRESSED_GRAVEL = createCompressedBlock("gravel");
FSBlocks.COMPRESSED_NETHERRACK = createCompressedBlock("netherrack");
FSBlocks.COMPRESSED_SAND = createCompressedBlock("sand");
FSBlocks.COMPRESSED_SOUL_SAND = createCompressedBlock("soul_sand");
FSBlocks.COMPRESSED_SOUL_SOIL = createCompressedBlock("soul_soil");
FSBlocks.COMPRESSED_STONE = createCompressedBlock("stone");
FSBlocks.COMPRESSED_CRUSHED_END_STONE = createCompressedBlock("crushed_endstone", x.SIEVES);
FSBlocks.COMPRESSED_CRUSHED_NETHERRACK = createCompressedBlock("crushed_netherrack", x.SIEVES);
FSBlocks.DEAD_LEAVES_ACACIA = U("dead_leaves_acacia");
FSBlocks.DEAD_LEAVES_BIRCH = U("dead_leaves_birch");
FSBlocks.DEAD_LEAVES_CHERRY = U("dead_leaves_cherry");
FSBlocks.DEAD_LEAVES_DARK_OAK = U("dead_leaves_dark_oak");
FSBlocks.DEAD_LEAVES_JUNGLE = U("dead_leaves_jungle");
FSBlocks.DEAD_LEAVES_MANGROVE = U("dead_leaves_mangrove");
FSBlocks.DEAD_LEAVES_OAK = U("dead_leaves_oak");
FSBlocks.DEAD_PALE_OAK = U("dead_leaves_pale_oak");
FSBlocks.DEAD_LEAVES_SPRUCE = U("dead_leaves_spruce");
FSBlocks.DEAD_LEAVES_AZALEA = U("dead_leaves_azalea");
FSBlocks.AUTO_HAMMER = U("auto_hammer");
FSBlocks.CRUCIBLE = U("crucible");
FSBlocks.CRUCIBLE_FIRE = U("crucible_campfire");
class FSWorldStoredData {
    static weather(dimensionId) {
        return `${U("weather")}_${dimensionId}`;
    }
}
class FSTags {
}
FSTags.LEAVES = [
    MinecraftBlockTypes.AcaciaLeaves,
    MinecraftBlockTypes.BirchLeaves,
    MinecraftBlockTypes.CherryLeaves,
    MinecraftBlockTypes.DarkOakLeaves,
    MinecraftBlockTypes.JungleLeaves,
    MinecraftBlockTypes.MangroveLeaves,
    MinecraftBlockTypes.OakLeaves,
    MinecraftBlockTypes.PaleOakLeaves,
    MinecraftBlockTypes.SpruceLeaves
];
FSTags.DEAD_LEAVES = [
    FSBlocks.DEAD_LEAVES_ACACIA,
    FSBlocks.DEAD_LEAVES_BIRCH,
    FSBlocks.DEAD_LEAVES_CHERRY,
    FSBlocks.DEAD_LEAVES_DARK_OAK,
    FSBlocks.DEAD_LEAVES_JUNGLE,
    FSBlocks.DEAD_LEAVES_MANGROVE,
    FSBlocks.DEAD_LEAVES_OAK,
    FSBlocks.DEAD_PALE_OAK,
    FSBlocks.DEAD_LEAVES_SPRUCE,
    FSBlocks.DEAD_LEAVES_AZALEA
];
FSTags.ALL_LEAVES = [
    ...FSTags.LEAVES,
    ...FSTags.DEAD_LEAVES
];
FSTags.PLANTS = [
    MinecraftBlockTypes.NetherWart,
    MinecraftBlockTypes.PitcherCrop,
    MinecraftBlockTypes.Wheat,
    MinecraftBlockTypes.Carrots,
    MinecraftBlockTypes.Potatoes,
    MinecraftBlockTypes.Beetroot,
    MinecraftBlockTypes.Cocoa,
    MinecraftBlockTypes.SweetBerryBush,
    MinecraftBlockTypes.BambooSapling,
    MinecraftBlockTypes.ShortGrass,
    MinecraftBlockTypes.Deadbush,
    MinecraftBlockTypes.TallGrass,
    MinecraftBlockTypes.Allium,
    MinecraftBlockTypes.AzureBluet,
    MinecraftBlockTypes.BlueOrchid,
    MinecraftBlockTypes.Cornflower,
    MinecraftBlockTypes.Dandelion,
    MinecraftBlockTypes.ClosedEyeblossom,
    MinecraftBlockTypes.OpenEyeblossom,
    MinecraftBlockTypes.LilyOfTheValley,
    MinecraftBlockTypes.OxeyeDaisy,
    MinecraftBlockTypes.Poppy,
    MinecraftBlockTypes.Torchflower,
    MinecraftBlockTypes.OrangeTulip,
    MinecraftBlockTypes.PinkTulip,
    MinecraftBlockTypes.RedTulip,
    MinecraftBlockTypes.WhiteTulip,
    MinecraftBlockTypes.WitherRose,
    MinecraftBlockTypes.Lilac,
    MinecraftBlockTypes.Peony,
    MinecraftBlockTypes.PitcherPlant,
    MinecraftBlockTypes.RoseBush,
    MinecraftBlockTypes.Sunflower,
];
FSTags.MINECRAFT_HOES = [
    MinecraftItemTypes.WoodenHoe,
    MinecraftItemTypes.StoneHoe,
    MinecraftItemTypes.IronHoe,
    MinecraftItemTypes.GoldenHoe,
    MinecraftItemTypes.DiamondHoe,
    MinecraftItemTypes.NetheriteHoe
];
FSTags.DirtLikeBlocks = [
    MinecraftBlockTypes.GrassBlock,
    MinecraftBlockTypes.Dirt
];
const FSItemTags = {
    SICKLE: U("sickle"),
    CAN_GROW_CROPS: U("sneak_grow_item"),
    CROOK: U("crook"),
    AUTO_SIEVE: U("auto_sieve"),
    SIEVE: U("sieve"),
    STORAGE_DRAWER: N("storage_drawer")
};
var FluidType;
(function (FluidType) {
    FluidType["AIR"] = "air";
    FluidType["WATER"] = "water";
    FluidType["LAVA"] = "lava";
})(FluidType || (FluidType = {}));
function createCompressedBlock(blockId, normalBlockId = "minecraft") {
    return {
        uncompressed: `${normalBlockId}:${blockId}`,
        compressed: U(`compressed_${blockId}`),
        doubleCompressed: U(`compressed_${blockId}_2`),
        tripleCompressed: U(`compressed_${blockId}_3`)
    };
}

export { ADDON_ID, FSBlocks, FSItemTags, FSItems, FSParticles, FSTags, FSWorldStoredData, FluidType, MCBlockStates, MCParticles, MCPlacedFeatures, MCSounds, ToolTier };
