/* This file is generated. Do not edit manually. */
use serde::Serialize;
#[derive(Clone, Copy, PartialEq, Eq)]
pub struct VillagerTradeItem {
    pub item: &'static crate::item::Item,
    pub count: i32,
}
#[derive(Clone, Copy, PartialEq)]
pub struct VillagerTrade {
    pub wants: VillagerTradeItem,
    pub wants_b: Option<VillagerTradeItem>,
    pub gives: VillagerTradeItem,
    pub max_uses: i32,
    pub xp: i32,
    pub price_multiplier: f32,
}
#[derive(Clone, Copy, PartialEq)]
pub struct VillagerTradeSet {
    pub trades: &'static [VillagerTrade],
    pub amount: i32,
}
pub const TRADES_ARMORER_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::IRON_BOOTS,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 9i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::IRON_CHESTPLATE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 5i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::IRON_HELMET,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 7i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::IRON_LEGGINGS,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_ARMORER_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CHAINMAIL_BOOTS,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CHAINMAIL_LEGGINGS,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_ARMORER_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CHAINMAIL_CHESTPLATE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CHAINMAIL_HELMET,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 5i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::SHIELD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::LAVA_BUCKET,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_ARMORER_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND_BOOTS,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 14i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND_LEGGINGS,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_ARMORER_LEVEL_5: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 16i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND_CHESTPLATE,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND_HELMET,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_BUTCHER_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::CHICKEN,
            count: 14i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::RABBIT_STEW,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::PORKCHOP,
            count: 7i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::RABBIT,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_BUTCHER_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::COAL,
            count: 15i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::COOKED_CHICKEN,
            count: 8i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::COOKED_PORKCHOP,
            count: 5i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_BUTCHER_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::BEEF,
            count: 10i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::MUTTON,
            count: 7i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_BUTCHER_LEVEL_4: &[VillagerTrade] = &[VillagerTrade {
    wants: VillagerTradeItem {
        item: &crate::item::Item::DRIED_KELP_BLOCK,
        count: 10i32,
    },
    wants_b: None,
    gives: VillagerTradeItem {
        item: &crate::item::Item::EMERALD,
        count: 1i32,
    },
    max_uses: 12i32,
    xp: 30i32,
    price_multiplier: 0.05f32,
}];
pub const TRADES_BUTCHER_LEVEL_5: &[VillagerTrade] = &[VillagerTrade {
    wants: VillagerTradeItem {
        item: &crate::item::Item::SWEET_BERRIES,
        count: 10i32,
    },
    wants_b: None,
    gives: VillagerTradeItem {
        item: &crate::item::Item::EMERALD,
        count: 1i32,
    },
    max_uses: 12i32,
    xp: 30i32,
    price_multiplier: 0.05f32,
}];
pub const TRADES_CARTOGRAPHER_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 7i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::PAPER,
            count: 24i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_CARTOGRAPHER_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::GLASS_PANE,
            count: 11i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_CARTOGRAPHER_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::COMPASS,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 13i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_CARTOGRAPHER_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLACK_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLUE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BROWN_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CYAN_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GRAY_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GREEN_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 7i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ITEM_FRAME,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_BLUE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIME_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAGENTA_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ORANGE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PINK_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PURPLE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::RED_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::WHITE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::YELLOW_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_CARTOGRAPHER_LEVEL_5: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 14i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAP,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GLOBE_BANNER_PATTERN,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_CLERIC_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::REDSTONE,
            count: 2i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::ROTTEN_FLESH,
            count: 32i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_CLERIC_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LAPIS_LAZULI,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::GOLD_INGOT,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_CLERIC_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GLOWSTONE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::RABBIT_FOOT,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_CLERIC_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 5i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ENDER_PEARL,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::GLASS_BOTTLE,
            count: 9i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::TURTLE_SCUTE,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_CLERIC_LEVEL_5: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EXPERIENCE_BOTTLE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::NETHER_WART,
            count: 22i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FARMER_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::BEETROOT,
            count: 15i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::CARROT,
            count: 22i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BREAD,
            count: 6i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::POTATO,
            count: 26i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::WHEAT,
            count: 20i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FARMER_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::APPLE,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PUMPKIN_PIE,
            count: 4i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::PUMPKIN,
            count: 6i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FARMER_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::COOKIE,
            count: 18i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::MELON,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FARMER_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CAKE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::SUSPICIOUS_STEW,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FARMER_LEVEL_5: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GLISTERING_MELON_SLICE,
            count: 3i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GOLDEN_CARROT,
            count: 3i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FISHERMAN_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::COAL,
            count: 10i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::COD_BUCKET,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::COD,
            count: 6i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::COOKED_COD,
            count: 6i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::STRING,
            count: 20i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FISHERMAN_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::COD,
            count: 15i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CAMPFIRE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::SALMON,
            count: 6i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::COOKED_SALMON,
            count: 6i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FISHERMAN_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::FISHING_ROD,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::SALMON,
            count: 13i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FISHERMAN_LEVEL_4: &[VillagerTrade] = &[VillagerTrade {
    wants: VillagerTradeItem {
        item: &crate::item::Item::TROPICAL_FISH,
        count: 6i32,
    },
    wants_b: None,
    gives: VillagerTradeItem {
        item: &crate::item::Item::EMERALD,
        count: 1i32,
    },
    max_uses: 12i32,
    xp: 30i32,
    price_multiplier: 0.05f32,
}];
pub const TRADES_FISHERMAN_LEVEL_5: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::ACACIA_BOAT,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::DARK_OAK_BOAT,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::JUNGLE_BOAT,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::OAK_BOAT,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::PUFFERFISH,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::SPRUCE_BOAT,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FLETCHER_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ARROW,
            count: 16i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::GRAVEL,
            count: 10i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::FLINT,
            count: 10i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::STICK,
            count: 32i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FLETCHER_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BOW,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::FLINT,
            count: 26i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FLETCHER_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CROSSBOW,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::STRING,
            count: 14i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FLETCHER_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BOW,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::FEATHER,
            count: 24i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_FLETCHER_LEVEL_5: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::TIPPED_ARROW,
            count: 5i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CROSSBOW,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::TRIPWIRE_HOOK,
            count: 8i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LEATHERWORKER_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 7i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LEATHER_CHESTPLATE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LEATHER_LEGGINGS,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::LEATHER,
            count: 6i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LEATHERWORKER_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LEATHER_BOOTS,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 5i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LEATHER_HELMET,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::FLINT,
            count: 26i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LEATHERWORKER_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 7i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LEATHER_CHESTPLATE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::RABBIT_HIDE,
            count: 9i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LEATHERWORKER_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 6i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LEATHER_HORSE_ARMOR,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::TURTLE_SCUTE,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LEATHERWORKER_LEVEL_5: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 5i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LEATHER_HELMET,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 6i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::SADDLE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LIBRARIAN_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 0i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ENCHANTED_BOOK,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 9i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BOOKSHELF,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::PAPER,
            count: 24i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LIBRARIAN_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::BOOK,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 0i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ENCHANTED_BOOK,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LANTERN,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LIBRARIAN_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 0i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ENCHANTED_BOOK,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GLASS,
            count: 4i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::INK_SAC,
            count: 5i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LIBRARIAN_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 0i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ENCHANTED_BOOK,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 5i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CLOCK,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::COMPASS,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::WRITABLE_BOOK,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_LIBRARIAN_LEVEL_5: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::RED_CANDLE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::YELLOW_CANDLE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_MASON_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::CLAY_BALL,
            count: 10i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BRICK,
            count: 10i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_MASON_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CHISELED_STONE_BRICKS,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::STONE,
            count: 20i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_MASON_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::ANDESITE,
            count: 16i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::DIORITE,
            count: 16i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::DRIPSTONE_BLOCK,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::POLISHED_ANDESITE,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::POLISHED_DIORITE,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::POLISHED_GRANITE,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::GRANITE,
            count: 16i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_MASON_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLACK_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLACK_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLUE_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLUE_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BROWN_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BROWN_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CYAN_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CYAN_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GRAY_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GRAY_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GREEN_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GREEN_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_BLUE_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_BLUE_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_GRAY_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_GRAY_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIME_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIME_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAGENTA_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAGENTA_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ORANGE_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ORANGE_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PINK_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PINK_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PURPLE_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PURPLE_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::RED_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::RED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::WHITE_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::WHITE_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::YELLOW_GLAZED_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::YELLOW_TERRACOTTA,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::QUARTZ,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_MASON_LEVEL_5: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::QUARTZ_BLOCK,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::QUARTZ_PILLAR,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_SHEPHERD_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::BLACK_WOOL,
            count: 18i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::BROWN_WOOL,
            count: 18i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::SHEARS,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::GRAY_WOOL,
            count: 18i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::WHITE_WOOL,
            count: 18i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_SHEPHERD_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::BLACK_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLACK_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLACK_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLUE_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLUE_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BROWN_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BROWN_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CYAN_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CYAN_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GRAY_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GRAY_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GREEN_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GREEN_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_BLUE_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_BLUE_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_GRAY_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_GRAY_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIME_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIME_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAGENTA_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAGENTA_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ORANGE_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ORANGE_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PINK_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PINK_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PURPLE_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PURPLE_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::RED_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::RED_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::WHITE_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::WHITE_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::YELLOW_CARPET,
            count: 4i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::YELLOW_WOOL,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::GRAY_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_BLUE_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::LIME_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::WHITE_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_SHEPHERD_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLACK_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLUE_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BROWN_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CYAN_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GRAY_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GREEN_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_BLUE_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_GRAY_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIME_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAGENTA_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ORANGE_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PINK_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PURPLE_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::RED_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::WHITE_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::YELLOW_BED,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_GRAY_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::ORANGE_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::PINK_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::RED_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::YELLOW_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_SHEPHERD_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::BLUE_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::BROWN_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::CYAN_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLACK_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BLUE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BROWN_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::CYAN_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GRAY_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::GREEN_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_BLUE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIGHT_GRAY_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::LIME_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::MAGENTA_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::ORANGE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PINK_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::PURPLE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::RED_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::WHITE_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::YELLOW_BANNER,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::GREEN_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::MAGENTA_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::PURPLE_DYE,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 16i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_SHEPHERD_LEVEL_5: &[VillagerTrade] = &[VillagerTrade {
    wants: VillagerTradeItem {
        item: &crate::item::Item::EMERALD,
        count: 2i32,
    },
    wants_b: None,
    gives: VillagerTradeItem {
        item: &crate::item::Item::PAINTING,
        count: 3i32,
    },
    max_uses: 12i32,
    xp: 30i32,
    price_multiplier: 0.05f32,
}];
pub const TRADES_TOOLSMITH_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::STONE_AXE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::STONE_HOE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::STONE_PICKAXE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::STONE_SHOVEL,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_TOOLSMITH_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 36i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BELL,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::IRON_INGOT,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_TOOLSMITH_LEVEL_3: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND_HOE,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::IRON_AXE,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::IRON_PICKAXE,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::IRON_SHOVEL,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::FLINT,
            count: 30i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 20i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_TOOLSMITH_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND_AXE,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 5i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND_SHOVEL,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_TOOLSMITH_LEVEL_5: &[VillagerTrade] = &[VillagerTrade {
    wants: VillagerTradeItem {
        item: &crate::item::Item::EMERALD,
        count: 13i32,
    },
    wants_b: None,
    gives: VillagerTradeItem {
        item: &crate::item::Item::DIAMOND_PICKAXE,
        count: 1i32,
    },
    max_uses: 3i32,
    xp: 30i32,
    price_multiplier: 0.05f32,
}];
pub const TRADES_WEAPONSMITH_LEVEL_1: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 2i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::IRON_SWORD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 3i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::IRON_AXE,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 2i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_WEAPONSMITH_LEVEL_2: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 36i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::BELL,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 5i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::IRON_INGOT,
            count: 4i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 10i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_WEAPONSMITH_LEVEL_3: &[VillagerTrade] = &[VillagerTrade {
    wants: VillagerTradeItem {
        item: &crate::item::Item::FLINT,
        count: 24i32,
    },
    wants_b: None,
    gives: VillagerTradeItem {
        item: &crate::item::Item::EMERALD,
        count: 1i32,
    },
    max_uses: 12i32,
    xp: 20i32,
    price_multiplier: 0.05f32,
}];
pub const TRADES_WEAPONSMITH_LEVEL_4: &[VillagerTrade] = &[
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND,
            count: 1i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 1i32,
        },
        max_uses: 12i32,
        xp: 30i32,
        price_multiplier: 0.05f32,
    },
    VillagerTrade {
        wants: VillagerTradeItem {
            item: &crate::item::Item::EMERALD,
            count: 12i32,
        },
        wants_b: None,
        gives: VillagerTradeItem {
            item: &crate::item::Item::DIAMOND_AXE,
            count: 1i32,
        },
        max_uses: 3i32,
        xp: 15i32,
        price_multiplier: 0.05f32,
    },
];
pub const TRADES_WEAPONSMITH_LEVEL_5: &[VillagerTrade] = &[VillagerTrade {
    wants: VillagerTradeItem {
        item: &crate::item::Item::EMERALD,
        count: 8i32,
    },
    wants_b: None,
    gives: VillagerTradeItem {
        item: &crate::item::Item::DIAMOND_SWORD,
        count: 1i32,
    },
    max_uses: 3i32,
    xp: 30i32,
    price_multiplier: 0.05f32,
}];
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize)]
#[repr(i32)]
pub enum VillagerProfession {
    None,
    Armorer,
    Butcher,
    Cartographer,
    Cleric,
    Farmer,
    Fisherman,
    Fletcher,
    Leatherworker,
    Librarian,
    Mason,
    Nitwit,
    Shepherd,
    Toolsmith,
    Weaponsmith,
}
impl VillagerProfession {
    #[must_use]
    pub const fn from_i32(id: i32) -> Option<Self> {
        match id {
            0i32 => Some(Self::None),
            1i32 => Some(Self::Armorer),
            2i32 => Some(Self::Butcher),
            3i32 => Some(Self::Cartographer),
            4i32 => Some(Self::Cleric),
            5i32 => Some(Self::Farmer),
            6i32 => Some(Self::Fisherman),
            7i32 => Some(Self::Fletcher),
            8i32 => Some(Self::Leatherworker),
            9i32 => Some(Self::Librarian),
            10i32 => Some(Self::Mason),
            11i32 => Some(Self::Nitwit),
            12i32 => Some(Self::Shepherd),
            13i32 => Some(Self::Toolsmith),
            14i32 => Some(Self::Weaponsmith),
            _ => None,
        }
    }
    #[must_use]
    #[allow(clippy::match_same_arms)]
    pub const fn work_sound(&self) -> Option<crate::sound::Sound> {
        match self {
            Self::None => None,
            Self::Armorer => Some(crate::sound::Sound::EntityVillagerWorkArmorer),
            Self::Butcher => Some(crate::sound::Sound::EntityVillagerWorkButcher),
            Self::Cartographer => Some(crate::sound::Sound::EntityVillagerWorkCartographer),
            Self::Cleric => Some(crate::sound::Sound::EntityVillagerWorkCleric),
            Self::Farmer => Some(crate::sound::Sound::EntityVillagerWorkFarmer),
            Self::Fisherman => Some(crate::sound::Sound::EntityVillagerWorkFisherman),
            Self::Fletcher => Some(crate::sound::Sound::EntityVillagerWorkFletcher),
            Self::Leatherworker => Some(crate::sound::Sound::EntityVillagerWorkLeatherworker),
            Self::Librarian => Some(crate::sound::Sound::EntityVillagerWorkLibrarian),
            Self::Mason => Some(crate::sound::Sound::EntityVillagerWorkMason),
            Self::Nitwit => None,
            Self::Shepherd => Some(crate::sound::Sound::EntityVillagerWorkShepherd),
            Self::Toolsmith => Some(crate::sound::Sound::EntityVillagerWorkToolsmith),
            Self::Weaponsmith => Some(crate::sound::Sound::EntityVillagerWorkWeaponsmith),
        }
    }
    #[must_use]
    #[allow(clippy::match_same_arms)]
    pub const fn requested_items(&self) -> &'static [&'static crate::item::Item] {
        match self {
            Self::None => &[],
            Self::Armorer => &[],
            Self::Butcher => &[],
            Self::Cartographer => &[],
            Self::Cleric => &[],
            Self::Farmer => &[
                &crate::item::Item::WHEAT,
                &crate::item::Item::WHEAT_SEEDS,
                &crate::item::Item::BEETROOT_SEEDS,
                &crate::item::Item::BONE_MEAL,
            ],
            Self::Fisherman => &[],
            Self::Fletcher => &[],
            Self::Leatherworker => &[],
            Self::Librarian => &[],
            Self::Mason => &[],
            Self::Nitwit => &[],
            Self::Shepherd => &[],
            Self::Toolsmith => &[],
            Self::Weaponsmith => &[],
        }
    }
    #[must_use]
    pub const fn translation_key(&self) -> &'static str {
        match self {
            Self::None => "entity.minecraft.villager.none",
            Self::Armorer => "entity.minecraft.villager.armorer",
            Self::Butcher => "entity.minecraft.villager.butcher",
            Self::Cartographer => "entity.minecraft.villager.cartographer",
            Self::Cleric => "entity.minecraft.villager.cleric",
            Self::Farmer => "entity.minecraft.villager.farmer",
            Self::Fisherman => "entity.minecraft.villager.fisherman",
            Self::Fletcher => "entity.minecraft.villager.fletcher",
            Self::Leatherworker => "entity.minecraft.villager.leatherworker",
            Self::Librarian => "entity.minecraft.villager.librarian",
            Self::Mason => "entity.minecraft.villager.mason",
            Self::Nitwit => "entity.minecraft.villager.nitwit",
            Self::Shepherd => "entity.minecraft.villager.shepherd",
            Self::Toolsmith => "entity.minecraft.villager.toolsmith",
            Self::Weaponsmith => "entity.minecraft.villager.weaponsmith",
        }
    }
    #[must_use]
    #[allow(clippy::too_many_lines, clippy::match_same_arms)]
    pub const fn trade_set(&self, level: i32) -> Option<VillagerTradeSet> {
        match self {
            Self::None => None,
            Self::Armorer => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_ARMORER_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_ARMORER_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_ARMORER_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_ARMORER_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_ARMORER_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Butcher => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_BUTCHER_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_BUTCHER_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_BUTCHER_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_BUTCHER_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_BUTCHER_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Cartographer => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_CARTOGRAPHER_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_CARTOGRAPHER_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_CARTOGRAPHER_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_CARTOGRAPHER_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_CARTOGRAPHER_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Cleric => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_CLERIC_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_CLERIC_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_CLERIC_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_CLERIC_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_CLERIC_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Farmer => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_FARMER_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_FARMER_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_FARMER_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_FARMER_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_FARMER_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Fisherman => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_FISHERMAN_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_FISHERMAN_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_FISHERMAN_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_FISHERMAN_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_FISHERMAN_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Fletcher => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_FLETCHER_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_FLETCHER_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_FLETCHER_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_FLETCHER_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_FLETCHER_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Leatherworker => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_LEATHERWORKER_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_LEATHERWORKER_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_LEATHERWORKER_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_LEATHERWORKER_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_LEATHERWORKER_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Librarian => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_LIBRARIAN_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_LIBRARIAN_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_LIBRARIAN_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_LIBRARIAN_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_LIBRARIAN_LEVEL_5,
                    amount: 3i32,
                }),
                _ => None,
            },
            Self::Mason => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_MASON_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_MASON_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_MASON_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_MASON_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_MASON_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Nitwit => None,
            Self::Shepherd => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_SHEPHERD_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_SHEPHERD_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_SHEPHERD_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_SHEPHERD_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_SHEPHERD_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Toolsmith => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_TOOLSMITH_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_TOOLSMITH_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_TOOLSMITH_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_TOOLSMITH_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_TOOLSMITH_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
            Self::Weaponsmith => match level {
                1i32 => Some(VillagerTradeSet {
                    trades: TRADES_WEAPONSMITH_LEVEL_1,
                    amount: 2i32,
                }),
                2i32 => Some(VillagerTradeSet {
                    trades: TRADES_WEAPONSMITH_LEVEL_2,
                    amount: 2i32,
                }),
                3i32 => Some(VillagerTradeSet {
                    trades: TRADES_WEAPONSMITH_LEVEL_3,
                    amount: 2i32,
                }),
                4i32 => Some(VillagerTradeSet {
                    trades: TRADES_WEAPONSMITH_LEVEL_4,
                    amount: 2i32,
                }),
                5i32 => Some(VillagerTradeSet {
                    trades: TRADES_WEAPONSMITH_LEVEL_5,
                    amount: 2i32,
                }),
                _ => None,
            },
        }
    }
}
impl TryFrom<i32> for VillagerProfession {
    type Error = ();
    fn try_from(value: i32) -> Result<Self, Self::Error> {
        Self::from_i32(value).ok_or(())
    }
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize)]
#[repr(i32)]
pub enum VillagerType {
    Desert,
    Jungle,
    Plains,
    Savanna,
    Snow,
    Swamp,
    Taiga,
}
impl VillagerType {
    #[must_use]
    pub const fn from_i32(id: i32) -> Option<Self> {
        match id {
            0i32 => Some(Self::Desert),
            1i32 => Some(Self::Jungle),
            2i32 => Some(Self::Plains),
            3i32 => Some(Self::Savanna),
            4i32 => Some(Self::Snow),
            5i32 => Some(Self::Swamp),
            6i32 => Some(Self::Taiga),
            _ => None,
        }
    }
}
impl TryFrom<i32> for VillagerType {
    type Error = ();
    fn try_from(value: i32) -> Result<Self, Self::Error> {
        Self::from_i32(value).ok_or(())
    }
}
