azalea_protocol/packets/game/
c_update_recipes.rs

1use 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}