azalea_protocol/packets/game/
c_update_recipes.rs1use std::collections::HashMap;
2
3use azalea_buf::AzBuf;
4use azalea_core::resource_location::ResourceLocation;
5use azalea_protocol_macros::ClientboundGamePacket;
6
7use crate::common::recipe::{Ingredient, SlotDisplayData};
8
9#[derive(Clone, Debug, PartialEq, AzBuf, ClientboundGamePacket)]
10pub struct ClientboundUpdateRecipes {
11 pub item_sets: HashMap<ResourceLocation, RecipePropertySet>,
12 pub stonecutter_recipes: Vec<SingleInputEntry>,
13}
14
15#[derive(Clone, Debug, PartialEq, AzBuf)]
16pub struct SingleInputEntry {
17 pub input: Ingredient,
18 pub recipe: SelectableRecipe,
19}
20#[derive(Clone, Debug, PartialEq, AzBuf)]
21pub struct SelectableRecipe {
22 pub option_display: SlotDisplayData,
23}
24
25#[derive(Clone, Debug, PartialEq, AzBuf)]
26pub struct RecipePropertySet {
27 pub items: Vec<azalea_registry::Item>,
28}