diff --git a/Cargo.lock b/Cargo.lock index 25ecb2e26..1f1b531c3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -270,9 +270,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.11.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +checksum = "8ae3f5d315924270530207e2a68396c3cc547f6dca3fbdca317cfb1a51edb593" [[package]] name = "cap-fs-ext" @@ -471,9 +471,9 @@ dependencies = [ [[package]] name = "cmov" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" +checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" [[package]] name = "cobs" @@ -919,9 +919,9 @@ dependencies = [ [[package]] name = "crypto-bigint" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a0d26b245348befa0c121944541476763dcc46ede886c88f9d12e1697d27c3" +checksum = "97bb4a855e3b10f84c4e7e895a7de01db7f9a7b7eb7f73ed9773fd52ac686451" dependencies = [ "cpubits", "ctutils", @@ -956,7 +956,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21f41f23de7d24cdbda7f0c4d9c0351f99a4ceb258ef30e5c1927af8987ffe5a" dependencies = [ - "crypto-bigint 0.7.3", + "crypto-bigint 0.7.4", "libm", "rand_core 0.10.1", ] @@ -1890,6 +1890,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b4baf93f58d4425749ca49a51c50ebab072c5df6994d08fed93541c331481dc" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.18" @@ -2841,7 +2850,7 @@ dependencies = [ "base64 0.22.1", "bytes", "colored", - "crypto-bigint 0.7.3", + "crypto-bigint 0.7.4", "ecdsa", "enum_dispatch", "md5", @@ -2877,7 +2886,7 @@ dependencies = [ "enum_dispatch", "flate2", "futures", - "itertools 0.14.0", + "itertools 0.15.0", "lz4-java-wrc", "pumpkin-config", "pumpkin-data", @@ -3067,7 +3076,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30b2aa4ba0d89f73d1e332df05be0eeab8840351c36ca5654341dfdb57bb3caf" dependencies = [ "const-oid 0.10.2", - "crypto-bigint 0.7.3", + "crypto-bigint 0.7.4", "crypto-primes", "digest 0.11.3", "pkcs1", @@ -3950,9 +3959,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.20.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ce102ab67701b8526c123c1bab5cbe42d7040ccfd0f64af1a385808d2f43de" +checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" [[package]] name = "ucd-trie" diff --git a/Cargo.toml b/Cargo.toml index 0b7a2de4f..c27ef757a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -102,7 +102,7 @@ syn = { version = "2.0", default-features = false, features = ["printing"] } thiserror = { version = "2.0", default-features = false } -bytes = { version = "1.11", default-features = false, features = ["std"] } +bytes = { version = "1.12", default-features = false, features = ["std"] } # Concurrency/Parallelism and Synchronization futures = { version = "0.3", default-features = false, features = ["executor"] } @@ -128,7 +128,7 @@ crc-fast = { version = "1.10.0", default-features = false, features = ["std"] } criterion = { version = "0.8", default-features = false } crossbeam-utils = { version = "0.8.21", default-features = false, features = ["std"] } crossfire = { version = "3.1.16", default-features = false, features = ["compat"] } -crypto-bigint = { version = "0.7.3", default-features = false } +crypto-bigint = { version = "0.7.4", default-features = false } dashmap = { version = "6.2", default-features = false } ecdsa = { version = "0.16.9", default-features = false, features = ["std"] } either = { version = "1.16.0", default-features = false } @@ -137,7 +137,7 @@ flate2 = { version = "1.1.9", default-features = false, features = ["rust_backen heck = { version = "0.5", default-features = false } hmac = { version = "=0.13.0", default-features = false } indexmap = { version = "2.14", default-features = false, features = ["std"] } -itertools = { version = "0.14.0", default-features = false, features = ["use_std"] } +itertools = { version = "0.15.0", default-features = false, features = ["use_std"] } libloading = { version = "0.9", default-features = false, features = ["std"] } lru = { version = "0.18.0", default-features = false } lz4-java-wrc = { version = "0.2.0", default-features = false, features = ["lz4_flex"] } diff --git a/pumpkin-codegen/src/bedrock_creative.rs b/pumpkin-codegen/src/bedrock_creative.rs new file mode 100644 index 000000000..31e70aa47 --- /dev/null +++ b/pumpkin-codegen/src/bedrock_creative.rs @@ -0,0 +1,131 @@ +use std::{collections::HashMap, fs, io::Cursor}; + +use proc_macro2::TokenStream; +use quote::quote; +use serde::Deserialize; +use serde_repr::Deserialize_repr; + +#[derive(Deserialize_repr, Debug)] +#[repr(i32)] +enum BedrockItemVersion { + Legacy = 0, + DataDriven = 1, + None = 2, +} + +#[derive(Deserialize, Debug)] +#[serde(deny_unknown_fields, rename_all = "camelCase")] +struct BedrockRuntimeItemState { + name: String, + id: i16, + version: BedrockItemVersion, + component_based: bool, +} + +pub fn build() -> TokenStream { + let be_runtime_item_states: Vec = serde_json::from_str( + &fs::read_to_string("../assets/bedrock/runtime_item_states.json").unwrap(), + ) + .expect("Failed to parse bedrock/runtime_item_states.json"); + + let bedrock_items_map: HashMap = be_runtime_item_states + .into_iter() + .map(|item| (item.name, item.id)) + .collect(); + + let nbt_bytes = fs::read("../assets/bedrock/creative_items.nbt") + .expect("Failed to read bedrock/creative_items.nbt"); + let mut cursor = Cursor::new(nbt_bytes); + + #[derive(serde::Deserialize)] + struct CreativeGroupEntry { + category: i32, + name: String, + icon: Option, + } + + #[derive(serde::Deserialize)] + struct CreativeItemEntry { + name: String, + meta: Option, + group_index: Option, + } + + #[derive(serde::Deserialize)] + struct CreativeData { + groups: Vec, + items: Vec, + } + + let data: CreativeData = pumpkin_nbt::deserializer::from_bytes_bedrock(&mut cursor) + .expect("Failed to deserialize creative_items.nbt"); + + let mut group_tokens = Vec::new(); + for g in &data.groups { + let category = g.category; + let name = &g.name; + let mut icon_item_id = 0i16; + let mut icon_item_aux_value = 0u32; + + if let Some(ref icon) = g.icon { + if let Some(&id) = bedrock_items_map.get(icon.name.as_str()) { + icon_item_id = id; + icon_item_aux_value = icon.meta.unwrap_or(0) as u32; + } + } + + group_tokens.push(quote! { + CreativeGroup { + category: #category, + name: #name, + icon_item_id: #icon_item_id, + icon_item_aux_value: #icon_item_aux_value, + } + }); + } + + // 4. Build entry definitions TokenStream + let mut entry_tokens = Vec::new(); + for item in &data.items { + if let Some(&id) = bedrock_items_map.get(item.name.as_str()) { + let item_aux_value = item.meta.unwrap_or(0) as u32; + let group_index = item.group_index.unwrap_or(0) as u32; + + entry_tokens.push(quote! { + CreativeEntry { + item_id: #id, + item_aux_value: #item_aux_value, + group_index: #group_index, + } + }); + } + } + + let groups_len = group_tokens.len(); + let entries_len = entry_tokens.len(); + + quote! { + #[derive(Clone, Copy, Debug)] + pub struct CreativeGroup { + pub category: i32, + pub name: &'static str, + pub icon_item_id: i16, + pub icon_item_aux_value: u32, + } + + #[derive(Clone, Copy, Debug)] + pub struct CreativeEntry { + pub item_id: i16, + pub item_aux_value: u32, + pub group_index: u32, + } + + pub const CREATIVE_GROUPS: &[CreativeGroup; #groups_len] = &[ + #(#group_tokens),* + ]; + + pub const CREATIVE_ENTRIES: &[CreativeEntry; #entries_len] = &[ + #(#entry_tokens),* + ]; + } +} diff --git a/pumpkin-codegen/src/item.rs b/pumpkin-codegen/src/item.rs index 4eacfbabc..93296deb3 100644 --- a/pumpkin-codegen/src/item.rs +++ b/pumpkin-codegen/src/item.rs @@ -1146,6 +1146,11 @@ pub fn build() -> TokenStream { all_java_item_ids.push(id_lit); } + let bedrock_id_by_key: std::collections::HashMap = bedrock_item_definitions + .iter() + .map(|item| (item.registry_key.clone(), item.id)) + .collect(); + for item in bedrock_item_definitions { let const_ident = format_ident!( "{}", @@ -1211,6 +1216,35 @@ pub fn build() -> TokenStream { }); } + let mut bedrock_to_java_arms = TokenStream::new(); + let mut seen_bedrock_pairs = std::collections::HashSet::new(); + + let mut bedrock_id_fallback_arms = TokenStream::new(); + let mut seen_bedrock_ids = std::collections::HashSet::new(); + + for (java_name, mapping) in &be_item_remaps { + let java_const_ident = format_ident!("{}", java_name.to_shouty_snake_case()); + let bedrock_id = *bedrock_id_by_key.get(&mapping.identifier).unwrap_or_else(|| { + panic!("Missing bedrock item for identifier: {}", mapping.identifier) + }); + let bedrock_data = mapping.data; + + if seen_bedrock_pairs.insert((bedrock_id, bedrock_data)) { + let id_lit = syn::LitInt::new(&bedrock_id.to_string(), proc_macro2::Span::call_site()); + let data_lit = syn::LitInt::new(&bedrock_data.to_string(), proc_macro2::Span::call_site()); + bedrock_to_java_arms.extend(quote! { + (#id_lit, #data_lit) => Some(&Self::#java_const_ident), + }); + } + + if seen_bedrock_ids.insert(bedrock_id) { + let id_lit = syn::LitInt::new(&bedrock_id.to_string(), proc_macro2::Span::call_site()); + bedrock_id_fallback_arms.extend(quote! { + #id_lit => Some(&Self::#java_const_ident), + }); + } + } + quote! { #[allow(clippy::wildcard_imports, clippy::enum_glob_use, clippy::too_many_lines)] use crate::data_component::DataComponent::*; @@ -1371,6 +1405,17 @@ pub fn build() -> TokenStream { _ => None, } } + + #[must_use] + pub fn from_bedrock(bedrock_id: i16, bedrock_data: u32) -> Option<&'static Self> { + match (bedrock_id, bedrock_data) { + #bedrock_to_java_arms + _ => match bedrock_id { + #bedrock_id_fallback_arms + _ => None, + } + } + } } } } diff --git a/pumpkin-codegen/src/main.rs b/pumpkin-codegen/src/main.rs index 0386459b9..045df0eb4 100644 --- a/pumpkin-codegen/src/main.rs +++ b/pumpkin-codegen/src/main.rs @@ -11,6 +11,7 @@ use std::{ mod advancement; mod attributes; +mod bedrock_creative; mod biome; mod bitsets; mod block; @@ -78,6 +79,7 @@ pub fn main() { let mut build_functions: Vec<(BuilderFn, &str)> = vec![ (advancement::build, "advancement.rs"), + (bedrock_creative::build, "bedrock_creative.rs"), (packet::build, "packet.rs"), (screen::build, "screen.rs"), (particle::build, "particle.rs"), diff --git a/pumpkin-data/Cargo.toml b/pumpkin-data/Cargo.toml index 92c2bd099..2797c72bb 100644 --- a/pumpkin-data/Cargo.toml +++ b/pumpkin-data/Cargo.toml @@ -47,10 +47,12 @@ default = [ "villager", "placed_feature", "configured_feature", - "slot_ranges" + "slot_ranges", + "bedrock_creative" ] advancement = [] +bedrock_creative = [] item = [] packet = [] jukebox_song = [] diff --git a/pumpkin-data/src/generated/bedrock_creative.rs b/pumpkin-data/src/generated/bedrock_creative.rs new file mode 100644 index 000000000..3a3d2808c --- /dev/null +++ b/pumpkin-data/src/generated/bedrock_creative.rs @@ -0,0 +1,10121 @@ +/* This file is generated. Do not edit manually. */ +#[derive(Clone, Copy, Debug)] +pub struct CreativeGroup { + pub category: i32, + pub name: &'static str, + pub icon_item_id: i16, + pub icon_item_aux_value: u32, +} +#[derive(Clone, Copy, Debug)] +pub struct CreativeEntry { + pub item_id: i16, + pub item_aux_value: u32, + pub group_index: u32, +} +pub const CREATIVE_GROUPS: &[CreativeGroup; 123usize] = &[ + CreativeGroup { + category: 1i32, + name: "itemGroup.name.planks", + icon_item_id: 5i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.walls", + icon_item_id: 139i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.fence", + icon_item_id: 85i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.fenceGate", + icon_item_id: 107i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.stairs", + icon_item_id: 67i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.door", + icon_item_id: 391i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.trapdoor", + icon_item_id: 96i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.bars", + icon_item_id: 101i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.glass", + icon_item_id: 20i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.glassPane", + icon_item_id: 102i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.slab", + icon_item_id: 44i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.stoneBrick", + icon_item_id: 98i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.sandstone", + icon_item_id: 24i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.copper", + icon_item_id: -340i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.wool", + icon_item_id: 35i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.woolCarpet", + icon_item_id: 171i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.concretePowder", + icon_item_id: 237i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.concrete", + icon_item_id: 236i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.stainedClay", + icon_item_id: 172i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "itemGroup.name.glazedTerracotta", + icon_item_id: 220i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 1i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.ore", + icon_item_id: 15i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.stone", + icon_item_id: 1i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.log", + icon_item_id: 17i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.wood", + icon_item_id: -212i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.leaves", + icon_item_id: 18i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.sapling", + icon_item_id: 6i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.seed", + icon_item_id: 320i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.crop", + icon_item_id: 366i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.grass", + icon_item_id: -848i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.coral_decorations", + icon_item_id: -583i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.flower", + icon_item_id: 37i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.dye", + icon_item_id: 438i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.rawFood", + icon_item_id: 304i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.mushroom", + icon_item_id: 39i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.monsterStoneEgg", + icon_item_id: 97i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.mobEgg", + icon_item_id: 468i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.coral", + icon_item_id: -132i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "itemGroup.name.sculk", + icon_item_id: -458i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 2i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.helmet", + icon_item_id: 367i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.chestplate", + icon_item_id: 368i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.leggings", + icon_item_id: 369i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.boots", + icon_item_id: 370i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.sword", + icon_item_id: 339i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.spear", + icon_item_id: 263i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.axe", + icon_item_id: 342i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.pickaxe", + icon_item_id: 341i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.shovel", + icon_item_id: 340i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.hoe", + icon_item_id: 361i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.arrow", + icon_item_id: 332i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.cookedFood", + icon_item_id: 305i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.miscFood", + icon_item_id: 290i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.goatHorn", + icon_item_id: 669i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.harnesses", + icon_item_id: 770i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.bundles", + icon_item_id: 267i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.horseArmor", + icon_item_id: 569i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.nautilus_armor", + icon_item_id: 787i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.potion", + icon_item_id: 459i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.splashPotion", + icon_item_id: 600i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.lingeringPotion", + icon_item_id: 601i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "itemGroup.name.ominousBottle", + icon_item_id: 634i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 3i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.bed", + icon_item_id: 450i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.lanterns", + icon_item_id: -208i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.candles", + icon_item_id: -412i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.anvil", + icon_item_id: 145i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.shelf", + icon_item_id: -1047i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.chest", + icon_item_id: 54i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.shulkerBox", + icon_item_id: 205i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.copper_golem_statue", + icon_item_id: -1039i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.record", + icon_item_id: 573i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.sign", + icon_item_id: 390i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.hanging_sign", + icon_item_id: -500i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.skull", + icon_item_id: -968i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.lightning_rod", + icon_item_id: -312i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.enchantedBook", + icon_item_id: 560i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.boat", + icon_item_id: 407i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.chestboat", + icon_item_id: 680i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.rail", + icon_item_id: 66i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.minecart", + icon_item_id: 402i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.buttons", + icon_item_id: 143i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.pressurePlate", + icon_item_id: 72i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.banner", + icon_item_id: 606i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.banner_pattern", + icon_item_id: 621i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.potterySherds", + icon_item_id: 700i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.smithing_templates", + icon_item_id: 723i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.firework", + icon_item_id: 558i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.fireworkStars", + icon_item_id: 559i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "itemGroup.name.chains", + icon_item_id: -286i16, + icon_item_aux_value: 0u32, + }, + CreativeGroup { + category: 4i32, + name: "", + icon_item_id: 0i16, + icon_item_aux_value: 0u32, + }, +]; +pub const CREATIVE_ENTRIES: &[CreativeEntry; 1873usize] = &[ + CreativeEntry { + item_id: 5i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -739i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -740i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -741i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -742i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -743i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -486i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -537i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -996i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -510i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -509i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -242i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: -243i16, + item_aux_value: 0u32, + group_index: 0u32, + }, + CreativeEntry { + item_id: 139i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -971i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -972i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -973i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -974i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -975i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -982i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -977i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -978i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -976i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -979i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -983i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -980i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -981i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -277i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -297i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -278i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -382i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -390i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -386i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -394i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -747i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -758i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -752i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -481i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -1017i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -1113i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -1118i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -1123i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -1096i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -1101i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: -1106i16, + item_aux_value: 0u32, + group_index: 1u32, + }, + CreativeEntry { + item_id: 85i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -579i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -576i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -578i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -575i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -577i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -491i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -532i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -991i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -515i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: 113i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -256i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: -257i16, + item_aux_value: 0u32, + group_index: 2u32, + }, + CreativeEntry { + item_id: 107i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: 183i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: 184i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: 185i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: 187i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: 186i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: -492i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: -533i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: -992i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: -516i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: -258i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: -259i16, + item_aux_value: 0u32, + group_index: 3u32, + }, + CreativeEntry { + item_id: -180i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 67i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -179i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 53i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 134i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 135i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 136i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 163i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 164i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -488i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -541i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -1000i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -512i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -523i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 109i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -175i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 128i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -177i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 180i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -176i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -169i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -172i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -170i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -173i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -171i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -174i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 108i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 114i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -184i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -178i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 156i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -185i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 203i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -2i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -3i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -4i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -254i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -255i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -276i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -292i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -275i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -381i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -389i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -385i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -393i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -746i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -751i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -757i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -480i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -354i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -355i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -356i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -357i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -358i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -359i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -360i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -448i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -1016i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -1112i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -1117i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -1122i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -1095i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -1100i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: -1105i16, + item_aux_value: 0u32, + group_index: 4u32, + }, + CreativeEntry { + item_id: 391i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 592i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 593i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 594i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 595i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 596i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 675i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -531i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -990i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -517i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 404i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 659i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 660i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -784i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -785i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -786i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -787i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -788i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -789i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -790i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: -791i16, + item_aux_value: 0u32, + group_index: 5u32, + }, + CreativeEntry { + item_id: 96i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -149i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -146i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -148i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -145i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -147i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -496i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -543i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -1002i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -520i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: 167i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -246i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -247i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -792i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -793i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -794i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -795i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -796i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -797i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -798i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: -799i16, + item_aux_value: 0u32, + group_index: 6u32, + }, + CreativeEntry { + item_id: 101i16, + item_aux_value: 0u32, + group_index: 7u32, + }, + CreativeEntry { + item_id: -1066i16, + item_aux_value: 0u32, + group_index: 7u32, + }, + CreativeEntry { + item_id: -1067i16, + item_aux_value: 0u32, + group_index: 7u32, + }, + CreativeEntry { + item_id: -1068i16, + item_aux_value: 0u32, + group_index: 7u32, + }, + CreativeEntry { + item_id: -1069i16, + item_aux_value: 0u32, + group_index: 7u32, + }, + CreativeEntry { + item_id: -1070i16, + item_aux_value: 0u32, + group_index: 7u32, + }, + CreativeEntry { + item_id: -1071i16, + item_aux_value: 0u32, + group_index: 7u32, + }, + CreativeEntry { + item_id: -1072i16, + item_aux_value: 0u32, + group_index: 7u32, + }, + CreativeEntry { + item_id: -1073i16, + item_aux_value: 0u32, + group_index: 7u32, + }, + CreativeEntry { + item_id: 20i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: 241i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -680i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -679i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -687i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -684i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -686i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -673i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -676i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -677i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -685i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -681i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -675i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -683i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -682i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -674i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -678i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: -334i16, + item_aux_value: 0u32, + group_index: 8u32, + }, + CreativeEntry { + item_id: 102i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: 160i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -650i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -649i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -657i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -654i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -656i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -643i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -646i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -647i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -655i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -651i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -645i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -653i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -652i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -644i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: -648i16, + item_aux_value: 0u32, + group_index: 9u32, + }, + CreativeEntry { + item_id: 65i16, + item_aux_value: 0u32, + group_index: 10u32, + }, + CreativeEntry { + item_id: -165i16, + item_aux_value: 0u32, + group_index: 10u32, + }, + CreativeEntry { + item_id: 45i16, + item_aux_value: 0u32, + group_index: 10u32, + }, + CreativeEntry { + item_id: 44i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -899i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -873i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -888i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: 158i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -804i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -805i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -806i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -807i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -808i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -489i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -539i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -998i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -513i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -524i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -875i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -166i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -872i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -900i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -889i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: 182i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -901i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -891i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -896i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -897i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -894i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -895i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -893i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -892i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -874i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -877i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -890i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -162i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -876i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -898i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -884i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -885i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -886i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -887i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -264i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -265i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -282i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -293i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -284i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -380i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -384i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -388i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -392i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -744i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -749i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -755i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -478i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -361i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -362i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -363i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -364i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -365i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -366i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -367i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -449i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -1014i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -1110i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -1115i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -1120i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -1093i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -1098i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: -1103i16, + item_aux_value: 0u32, + group_index: 11u32, + }, + CreativeEntry { + item_id: 98i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -868i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -869i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -870i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -183i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: 206i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -274i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -280i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -281i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -279i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -387i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -409i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -391i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -754i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -410i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -395i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -753i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -759i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -1119i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -1124i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -1102i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: -1107i16, + item_aux_value: 0u32, + group_index: 12u32, + }, + CreativeEntry { + item_id: 4i16, + item_aux_value: 0u32, + group_index: 13u32, + }, + CreativeEntry { + item_id: 48i16, + item_aux_value: 0u32, + group_index: 13u32, + }, + CreativeEntry { + item_id: -379i16, + item_aux_value: 0u32, + group_index: 13u32, + }, + CreativeEntry { + item_id: 24i16, + item_aux_value: 0u32, + group_index: 14u32, + }, + CreativeEntry { + item_id: -944i16, + item_aux_value: 0u32, + group_index: 14u32, + }, + CreativeEntry { + item_id: -945i16, + item_aux_value: 0u32, + group_index: 14u32, + }, + CreativeEntry { + item_id: -946i16, + item_aux_value: 0u32, + group_index: 14u32, + }, + CreativeEntry { + item_id: 179i16, + item_aux_value: 0u32, + group_index: 14u32, + }, + CreativeEntry { + item_id: -956i16, + item_aux_value: 0u32, + group_index: 14u32, + }, + CreativeEntry { + item_id: -957i16, + item_aux_value: 0u32, + group_index: 14u32, + }, + CreativeEntry { + item_id: -958i16, + item_aux_value: 0u32, + group_index: 14u32, + }, + CreativeEntry { + item_id: 173i16, + item_aux_value: 0u32, + group_index: 15u32, + }, + CreativeEntry { + item_id: -139i16, + item_aux_value: 0u32, + group_index: 15u32, + }, + CreativeEntry { + item_id: -340i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -341i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -342i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -343i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -344i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -345i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -346i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -446i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -768i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -769i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -770i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -771i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -772i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -773i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -774i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -775i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -347i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -348i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -349i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -350i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -351i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -352i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -353i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -447i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -760i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -761i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -762i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -763i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -764i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -765i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -766i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -767i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -776i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -777i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -778i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -779i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -780i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -781i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -782i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: -783i16, + item_aux_value: 0u32, + group_index: 16u32, + }, + CreativeEntry { + item_id: 42i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 41i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 133i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 57i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 22i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -452i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -451i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -453i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 155i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -304i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -954i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -953i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -955i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 168i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -948i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -947i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 165i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -220i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -221i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -1021i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 170i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 216i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -1013i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -1020i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 112i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 215i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -302i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -303i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -270i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: -222i16, + item_aux_value: 0u32, + group_index: 17u32, + }, + CreativeEntry { + item_id: 35i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -552i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -553i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -554i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -555i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -556i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -557i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -558i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -559i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -560i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -561i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -562i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -563i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -564i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -565i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: -566i16, + item_aux_value: 0u32, + group_index: 18u32, + }, + CreativeEntry { + item_id: 171i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -604i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -603i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -611i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -608i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -610i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -597i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -600i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -601i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -609i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -605i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -599i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -607i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -606i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -598i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: -602i16, + item_aux_value: 0u32, + group_index: 19u32, + }, + CreativeEntry { + item_id: 237i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -716i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -715i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -723i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -720i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -722i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -709i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -712i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -713i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -721i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -717i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -711i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -719i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -718i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -710i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: -714i16, + item_aux_value: 0u32, + group_index: 20u32, + }, + CreativeEntry { + item_id: 236i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -635i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -634i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -642i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -639i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -641i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -628i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -631i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -632i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -640i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -636i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -630i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -638i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -637i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -629i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: -633i16, + item_aux_value: 0u32, + group_index: 21u32, + }, + CreativeEntry { + item_id: 172i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: 159i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -731i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -730i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -738i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -735i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -737i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -724i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -727i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -728i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -736i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -732i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -726i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -734i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -733i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -725i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: -729i16, + item_aux_value: 0u32, + group_index: 22u32, + }, + CreativeEntry { + item_id: 220i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 228i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 227i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 235i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 232i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 234i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 221i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 224i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 225i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 233i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 229i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 223i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 231i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 219i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 222i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 226i16, + item_aux_value: 0u32, + group_index: 23u32, + }, + CreativeEntry { + item_id: 201i16, + item_aux_value: 0u32, + group_index: 24u32, + }, + CreativeEntry { + item_id: -951i16, + item_aux_value: 0u32, + group_index: 24u32, + }, + CreativeEntry { + item_id: -477i16, + item_aux_value: 0u32, + group_index: 24u32, + }, + CreativeEntry { + item_id: -475i16, + item_aux_value: 0u32, + group_index: 24u32, + }, + CreativeEntry { + item_id: 214i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: -227i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: -230i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: -232i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: -233i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: 87i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: -236i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: 2i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: 243i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: 110i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: 198i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: 3i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: -962i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: -318i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: 60i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: -473i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: 82i16, + item_aux_value: 0u32, + group_index: 25u32, + }, + CreativeEntry { + item_id: 15i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: 14i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: 56i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: 21i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: 73i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: 16i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -311i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: 129i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: 153i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -288i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -271i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -401i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -402i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -405i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -400i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -403i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -407i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -406i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: -408i16, + item_aux_value: 0u32, + group_index: 26u32, + }, + CreativeEntry { + item_id: 1i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -590i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -592i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -594i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -273i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -378i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -333i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -234i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -591i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -593i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -595i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -291i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -383i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -748i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -235i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -377i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -1109i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -1114i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -1092i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -1097i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: -1108i16, + item_aux_value: 0u32, + group_index: 27u32, + }, + CreativeEntry { + item_id: 13i16, + item_aux_value: 0u32, + group_index: 28u32, + }, + CreativeEntry { + item_id: 12i16, + item_aux_value: 0u32, + group_index: 28u32, + }, + CreativeEntry { + item_id: -949i16, + item_aux_value: 0u32, + group_index: 28u32, + }, + CreativeEntry { + item_id: 81i16, + item_aux_value: 0u32, + group_index: 28u32, + }, + CreativeEntry { + item_id: 17i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -10i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -569i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -5i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -570i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -6i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -571i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -7i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: 162i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -8i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -572i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -9i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -484i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -485i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -536i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -535i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -995i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -994i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -225i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -240i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -226i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -241i16, + item_aux_value: 0u32, + group_index: 29u32, + }, + CreativeEntry { + item_id: -212i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -819i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -814i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -820i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -815i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -821i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -816i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -822i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -817i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -823i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -818i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -824i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -497i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -498i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -546i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -545i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -1005i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -1004i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -299i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -300i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -298i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -301i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -527i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: -528i16, + item_aux_value: 0u32, + group_index: 30u32, + }, + CreativeEntry { + item_id: 18i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: -800i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: -801i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: -802i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: 161i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: -803i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: -472i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: -548i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: -1007i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: -324i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: -325i16, + item_aux_value: 0u32, + group_index: 31u32, + }, + CreativeEntry { + item_id: 6i16, + item_aux_value: 0u32, + group_index: 32u32, + }, + CreativeEntry { + item_id: -825i16, + item_aux_value: 0u32, + group_index: 32u32, + }, + CreativeEntry { + item_id: -826i16, + item_aux_value: 0u32, + group_index: 32u32, + }, + CreativeEntry { + item_id: -827i16, + item_aux_value: 0u32, + group_index: 32u32, + }, + CreativeEntry { + item_id: -828i16, + item_aux_value: 0u32, + group_index: 32u32, + }, + CreativeEntry { + item_id: -829i16, + item_aux_value: 0u32, + group_index: 32u32, + }, + CreativeEntry { + item_id: -474i16, + item_aux_value: 0u32, + group_index: 32u32, + }, + CreativeEntry { + item_id: -547i16, + item_aux_value: 0u32, + group_index: 32u32, + }, + CreativeEntry { + item_id: -1006i16, + item_aux_value: 0u32, + group_index: 32u32, + }, + CreativeEntry { + item_id: -218i16, + item_aux_value: 0u32, + group_index: 33u32, + }, + CreativeEntry { + item_id: 320i16, + item_aux_value: 0u32, + group_index: 34u32, + }, + CreativeEntry { + item_id: 321i16, + item_aux_value: 0u32, + group_index: 34u32, + }, + CreativeEntry { + item_id: 322i16, + item_aux_value: 0u32, + group_index: 34u32, + }, + CreativeEntry { + item_id: 324i16, + item_aux_value: 0u32, + group_index: 34u32, + }, + CreativeEntry { + item_id: 325i16, + item_aux_value: 0u32, + group_index: 34u32, + }, + CreativeEntry { + item_id: 326i16, + item_aux_value: 0u32, + group_index: 34u32, + }, + CreativeEntry { + item_id: 366i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 314i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 309i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 311i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 308i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 312i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 285i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 287i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 288i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 103i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 301i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 467i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 316i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 844i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: 86i16, + item_aux_value: 0u32, + group_index: 35u32, + }, + CreativeEntry { + item_id: -155i16, + item_aux_value: 0u32, + group_index: 36u32, + }, + CreativeEntry { + item_id: 91i16, + item_aux_value: 0u32, + group_index: 36u32, + }, + CreativeEntry { + item_id: 632i16, + item_aux_value: 0u32, + group_index: 36u32, + }, + CreativeEntry { + item_id: -1022i16, + item_aux_value: 0u32, + group_index: 36u32, + }, + CreativeEntry { + item_id: -848i16, + item_aux_value: 0u32, + group_index: 37u32, + }, + CreativeEntry { + item_id: -865i16, + item_aux_value: 0u32, + group_index: 37u32, + }, + CreativeEntry { + item_id: 31i16, + item_aux_value: 0u32, + group_index: 37u32, + }, + CreativeEntry { + item_id: -864i16, + item_aux_value: 0u32, + group_index: 37u32, + }, + CreativeEntry { + item_id: -1028i16, + item_aux_value: 0u32, + group_index: 37u32, + }, + CreativeEntry { + item_id: -1029i16, + item_aux_value: 0u32, + group_index: 37u32, + }, + CreativeEntry { + item_id: -1023i16, + item_aux_value: 0u32, + group_index: 37u32, + }, + CreativeEntry { + item_id: 663i16, + item_aux_value: 0u32, + group_index: 37u32, + }, + CreativeEntry { + item_id: -583i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -581i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -582i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -131i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -584i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -588i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -586i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -587i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -585i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -589i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -842i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -840i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -841i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -133i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -843i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -846i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -844i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -845i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -134i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -847i16, + item_aux_value: 0u32, + group_index: 38u32, + }, + CreativeEntry { + item_id: -223i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -224i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: 37i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -1091i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: 38i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -830i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -831i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -832i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -833i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -834i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -835i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -836i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -837i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -838i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -839i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: 175i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -863i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -866i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -867i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -612i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -549i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -1024i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -216i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -568i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -1030i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -1019i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: -1018i16, + item_aux_value: 0u32, + group_index: 39u32, + }, + CreativeEntry { + item_id: 442i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 434i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 435i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 427i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 430i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 428i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 441i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 438i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 437i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 429i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 433i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 439i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 431i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 432i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 440i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 436i16, + item_aux_value: 0u32, + group_index: 40u32, + }, + CreativeEntry { + item_id: 445i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 543i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 444i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 446i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 443i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 106i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -231i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -287i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 111i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -130i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 414i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 32i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -163i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 80i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 79i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 174i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -11i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 78i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -308i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -317i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -1026i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -335i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -320i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -1010i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -1009i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -1011i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -319i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -482i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -483i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -323i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -336i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -321i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -1025i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -337i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -338i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -411i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -327i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -328i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -329i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -330i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -331i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -332i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: -326i16, + item_aux_value: 0u32, + group_index: 41u32, + }, + CreativeEntry { + item_id: 304i16, + item_aux_value: 0u32, + group_index: 42u32, + }, + CreativeEntry { + item_id: 291i16, + item_aux_value: 0u32, + group_index: 42u32, + }, + CreativeEntry { + item_id: 302i16, + item_aux_value: 0u32, + group_index: 42u32, + }, + CreativeEntry { + item_id: 589i16, + item_aux_value: 0u32, + group_index: 42u32, + }, + CreativeEntry { + item_id: 317i16, + item_aux_value: 0u32, + group_index: 42u32, + }, + CreativeEntry { + item_id: 293i16, + item_aux_value: 0u32, + group_index: 42u32, + }, + CreativeEntry { + item_id: 294i16, + item_aux_value: 0u32, + group_index: 42u32, + }, + CreativeEntry { + item_id: 295i16, + item_aux_value: 0u32, + group_index: 42u32, + }, + CreativeEntry { + item_id: 296i16, + item_aux_value: 0u32, + group_index: 42u32, + }, + CreativeEntry { + item_id: 39i16, + item_aux_value: 0u32, + group_index: 43u32, + }, + CreativeEntry { + item_id: 40i16, + item_aux_value: 0u32, + group_index: 43u32, + }, + CreativeEntry { + item_id: -228i16, + item_aux_value: 0u32, + group_index: 43u32, + }, + CreativeEntry { + item_id: -229i16, + item_aux_value: 0u32, + group_index: 43u32, + }, + CreativeEntry { + item_id: 99i16, + item_aux_value: 0u32, + group_index: 43u32, + }, + CreativeEntry { + item_id: 100i16, + item_aux_value: 0u32, + group_index: 43u32, + }, + CreativeEntry { + item_id: -1008i16, + item_aux_value: 0u32, + group_index: 43u32, + }, + CreativeEntry { + item_id: 422i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 754i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 753i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 417i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 448i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 306i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 447i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 30i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 307i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 52i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: -315i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: -314i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: -1012i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 120i16, + item_aux_value: 0u32, + group_index: 44u32, + }, + CreativeEntry { + item_id: 97i16, + item_aux_value: 0u32, + group_index: 45u32, + }, + CreativeEntry { + item_id: -858i16, + item_aux_value: 0u32, + group_index: 45u32, + }, + CreativeEntry { + item_id: -859i16, + item_aux_value: 0u32, + group_index: 45u32, + }, + CreativeEntry { + item_id: -860i16, + item_aux_value: 0u32, + group_index: 45u32, + }, + CreativeEntry { + item_id: -861i16, + item_aux_value: 0u32, + group_index: 45u32, + }, + CreativeEntry { + item_id: -862i16, + item_aux_value: 0u32, + group_index: 45u32, + }, + CreativeEntry { + item_id: -454i16, + item_aux_value: 0u32, + group_index: 45u32, + }, + CreativeEntry { + item_id: 122i16, + item_aux_value: 0u32, + group_index: 46u32, + }, + CreativeEntry { + item_id: -159i16, + item_aux_value: 0u32, + group_index: 46u32, + }, + CreativeEntry { + item_id: -596i16, + item_aux_value: 0u32, + group_index: 46u32, + }, + CreativeEntry { + item_id: -1027i16, + item_aux_value: 0u32, + group_index: 46u32, + }, + CreativeEntry { + item_id: -468i16, + item_aux_value: 0u32, + group_index: 46u32, + }, + CreativeEntry { + item_id: -469i16, + item_aux_value: 0u32, + group_index: 46u32, + }, + CreativeEntry { + item_id: -470i16, + item_aux_value: 0u32, + group_index: 46u32, + }, + CreativeEntry { + item_id: -471i16, + item_aux_value: 0u32, + group_index: 46u32, + }, + CreativeEntry { + item_id: 468i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 469i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 470i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 471i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 697i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 499i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 491i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 500i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 522i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 512i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 472i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 745i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 486i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 528i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 524i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 537i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 507i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 484i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 523i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 506i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 492i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 536i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 514i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 518i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 670i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 538i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 784i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 515i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 516i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 483i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 671i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 513i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 519i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 673i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 473i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 534i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 772i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 539i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 540i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 690i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 482i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 526i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 496i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 698i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 517i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 497i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 786i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 477i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 501i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 495i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 480i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 502i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 785i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 511i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 490i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 479i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 535i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 751i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 474i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 505i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 494i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 520i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 476i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 478i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 793i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 674i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 485i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 509i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 525i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 527i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 510i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 508i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 489i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 487i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 755i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 530i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 488i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 531i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 533i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 529i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 498i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 532i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 481i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 475i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 493i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 503i16, + item_aux_value: 0u32, + group_index: 47u32, + }, + CreativeEntry { + item_id: 49i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: -289i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 7i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 88i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 213i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 323i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 121i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 200i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 240i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 597i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 598i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: 19i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: -984i16, + item_aux_value: 0u32, + group_index: 48u32, + }, + CreativeEntry { + item_id: -132i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -849i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -850i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -851i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -852i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -853i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -854i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -855i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -856i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -857i16, + item_aux_value: 0u32, + group_index: 49u32, + }, + CreativeEntry { + item_id: -458i16, + item_aux_value: 0u32, + group_index: 50u32, + }, + CreativeEntry { + item_id: -459i16, + item_aux_value: 0u32, + group_index: 50u32, + }, + CreativeEntry { + item_id: -460i16, + item_aux_value: 0u32, + group_index: 50u32, + }, + CreativeEntry { + item_id: -461i16, + item_aux_value: 0u32, + group_index: 50u32, + }, + CreativeEntry { + item_id: -307i16, + item_aux_value: 0u32, + group_index: 50u32, + }, + CreativeEntry { + item_id: -580i16, + item_aux_value: 0u32, + group_index: 50u32, + }, + CreativeEntry { + item_id: -466i16, + item_aux_value: 0u32, + group_index: 51u32, + }, + CreativeEntry { + item_id: 367i16, + item_aux_value: 0u32, + group_index: 52u32, + }, + CreativeEntry { + item_id: 778i16, + item_aux_value: 0u32, + group_index: 52u32, + }, + CreativeEntry { + item_id: 371i16, + item_aux_value: 0u32, + group_index: 52u32, + }, + CreativeEntry { + item_id: 375i16, + item_aux_value: 0u32, + group_index: 52u32, + }, + CreativeEntry { + item_id: 383i16, + item_aux_value: 0u32, + group_index: 52u32, + }, + CreativeEntry { + item_id: 379i16, + item_aux_value: 0u32, + group_index: 52u32, + }, + CreativeEntry { + item_id: 652i16, + item_aux_value: 0u32, + group_index: 52u32, + }, + CreativeEntry { + item_id: 368i16, + item_aux_value: 0u32, + group_index: 53u32, + }, + CreativeEntry { + item_id: 779i16, + item_aux_value: 0u32, + group_index: 53u32, + }, + CreativeEntry { + item_id: 372i16, + item_aux_value: 0u32, + group_index: 53u32, + }, + CreativeEntry { + item_id: 376i16, + item_aux_value: 0u32, + group_index: 53u32, + }, + CreativeEntry { + item_id: 384i16, + item_aux_value: 0u32, + group_index: 53u32, + }, + CreativeEntry { + item_id: 380i16, + item_aux_value: 0u32, + group_index: 53u32, + }, + CreativeEntry { + item_id: 653i16, + item_aux_value: 0u32, + group_index: 53u32, + }, + CreativeEntry { + item_id: 369i16, + item_aux_value: 0u32, + group_index: 54u32, + }, + CreativeEntry { + item_id: 780i16, + item_aux_value: 0u32, + group_index: 54u32, + }, + CreativeEntry { + item_id: 373i16, + item_aux_value: 0u32, + group_index: 54u32, + }, + CreativeEntry { + item_id: 377i16, + item_aux_value: 0u32, + group_index: 54u32, + }, + CreativeEntry { + item_id: 385i16, + item_aux_value: 0u32, + group_index: 54u32, + }, + CreativeEntry { + item_id: 381i16, + item_aux_value: 0u32, + group_index: 54u32, + }, + CreativeEntry { + item_id: 654i16, + item_aux_value: 0u32, + group_index: 54u32, + }, + CreativeEntry { + item_id: 370i16, + item_aux_value: 0u32, + group_index: 55u32, + }, + CreativeEntry { + item_id: 781i16, + item_aux_value: 0u32, + group_index: 55u32, + }, + CreativeEntry { + item_id: 374i16, + item_aux_value: 0u32, + group_index: 55u32, + }, + CreativeEntry { + item_id: 378i16, + item_aux_value: 0u32, + group_index: 55u32, + }, + CreativeEntry { + item_id: 386i16, + item_aux_value: 0u32, + group_index: 55u32, + }, + CreativeEntry { + item_id: 382i16, + item_aux_value: 0u32, + group_index: 55u32, + }, + CreativeEntry { + item_id: 655i16, + item_aux_value: 0u32, + group_index: 55u32, + }, + CreativeEntry { + item_id: 339i16, + item_aux_value: 0u32, + group_index: 56u32, + }, + CreativeEntry { + item_id: 343i16, + item_aux_value: 0u32, + group_index: 56u32, + }, + CreativeEntry { + item_id: 773i16, + item_aux_value: 0u32, + group_index: 56u32, + }, + CreativeEntry { + item_id: 338i16, + item_aux_value: 0u32, + group_index: 56u32, + }, + CreativeEntry { + item_id: 354i16, + item_aux_value: 0u32, + group_index: 56u32, + }, + CreativeEntry { + item_id: 347i16, + item_aux_value: 0u32, + group_index: 56u32, + }, + CreativeEntry { + item_id: 646i16, + item_aux_value: 0u32, + group_index: 56u32, + }, + CreativeEntry { + item_id: 263i16, + item_aux_value: 0u32, + group_index: 57u32, + }, + CreativeEntry { + item_id: 262i16, + item_aux_value: 0u32, + group_index: 57u32, + }, + CreativeEntry { + item_id: 257i16, + item_aux_value: 0u32, + group_index: 57u32, + }, + CreativeEntry { + item_id: 260i16, + item_aux_value: 0u32, + group_index: 57u32, + }, + CreativeEntry { + item_id: 259i16, + item_aux_value: 0u32, + group_index: 57u32, + }, + CreativeEntry { + item_id: 258i16, + item_aux_value: 0u32, + group_index: 57u32, + }, + CreativeEntry { + item_id: 261i16, + item_aux_value: 0u32, + group_index: 57u32, + }, + CreativeEntry { + item_id: 342i16, + item_aux_value: 0u32, + group_index: 58u32, + }, + CreativeEntry { + item_id: 346i16, + item_aux_value: 0u32, + group_index: 58u32, + }, + CreativeEntry { + item_id: 776i16, + item_aux_value: 0u32, + group_index: 58u32, + }, + CreativeEntry { + item_id: 329i16, + item_aux_value: 0u32, + group_index: 58u32, + }, + CreativeEntry { + item_id: 357i16, + item_aux_value: 0u32, + group_index: 58u32, + }, + CreativeEntry { + item_id: 350i16, + item_aux_value: 0u32, + group_index: 58u32, + }, + CreativeEntry { + item_id: 649i16, + item_aux_value: 0u32, + group_index: 58u32, + }, + CreativeEntry { + item_id: 341i16, + item_aux_value: 0u32, + group_index: 59u32, + }, + CreativeEntry { + item_id: 345i16, + item_aux_value: 0u32, + group_index: 59u32, + }, + CreativeEntry { + item_id: 775i16, + item_aux_value: 0u32, + group_index: 59u32, + }, + CreativeEntry { + item_id: 328i16, + item_aux_value: 0u32, + group_index: 59u32, + }, + CreativeEntry { + item_id: 356i16, + item_aux_value: 0u32, + group_index: 59u32, + }, + CreativeEntry { + item_id: 349i16, + item_aux_value: 0u32, + group_index: 59u32, + }, + CreativeEntry { + item_id: 648i16, + item_aux_value: 0u32, + group_index: 59u32, + }, + CreativeEntry { + item_id: 340i16, + item_aux_value: 0u32, + group_index: 60u32, + }, + CreativeEntry { + item_id: 344i16, + item_aux_value: 0u32, + group_index: 60u32, + }, + CreativeEntry { + item_id: 774i16, + item_aux_value: 0u32, + group_index: 60u32, + }, + CreativeEntry { + item_id: 327i16, + item_aux_value: 0u32, + group_index: 60u32, + }, + CreativeEntry { + item_id: 355i16, + item_aux_value: 0u32, + group_index: 60u32, + }, + CreativeEntry { + item_id: 348i16, + item_aux_value: 0u32, + group_index: 60u32, + }, + CreativeEntry { + item_id: 647i16, + item_aux_value: 0u32, + group_index: 60u32, + }, + CreativeEntry { + item_id: 361i16, + item_aux_value: 0u32, + group_index: 61u32, + }, + CreativeEntry { + item_id: 362i16, + item_aux_value: 0u32, + group_index: 61u32, + }, + CreativeEntry { + item_id: 777i16, + item_aux_value: 0u32, + group_index: 61u32, + }, + CreativeEntry { + item_id: 363i16, + item_aux_value: 0u32, + group_index: 61u32, + }, + CreativeEntry { + item_id: 365i16, + item_aux_value: 0u32, + group_index: 61u32, + }, + CreativeEntry { + item_id: 364i16, + item_aux_value: 0u32, + group_index: 61u32, + }, + CreativeEntry { + item_id: 650i16, + item_aux_value: 0u32, + group_index: 61u32, + }, + CreativeEntry { + item_id: 331i16, + item_aux_value: 0u32, + group_index: 62u32, + }, + CreativeEntry { + item_id: 614i16, + item_aux_value: 0u32, + group_index: 62u32, + }, + CreativeEntry { + item_id: 351i16, + item_aux_value: 0u32, + group_index: 62u32, + }, + CreativeEntry { + item_id: 585i16, + item_aux_value: 0u32, + group_index: 62u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 0u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 6u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 7u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 8u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 9u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 10u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 11u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 12u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 13u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 14u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 15u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 16u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 17u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 18u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 19u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 20u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 21u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 22u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 23u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 24u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 25u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 26u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 27u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 28u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 29u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 30u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 31u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 32u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 33u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 34u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 35u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 36u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 37u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 38u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 39u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 40u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 41u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 42u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 43u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 44u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 45u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 46u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 332i16, + item_aux_value: 47u32, + group_index: 63u32, + }, + CreativeEntry { + item_id: 387i16, + item_aux_value: 0u32, + group_index: 64u32, + }, + CreativeEntry { + item_id: 305i16, + item_aux_value: 0u32, + group_index: 65u32, + }, + CreativeEntry { + item_id: 292i16, + item_aux_value: 0u32, + group_index: 65u32, + }, + CreativeEntry { + item_id: 303i16, + item_aux_value: 0u32, + group_index: 65u32, + }, + CreativeEntry { + item_id: 590i16, + item_aux_value: 0u32, + group_index: 65u32, + }, + CreativeEntry { + item_id: 318i16, + item_aux_value: 0u32, + group_index: 65u32, + }, + CreativeEntry { + item_id: 297i16, + item_aux_value: 0u32, + group_index: 65u32, + }, + CreativeEntry { + item_id: 298i16, + item_aux_value: 0u32, + group_index: 65u32, + }, + CreativeEntry { + item_id: 290i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 289i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 315i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 319i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 1u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 2u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 3u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 4u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 5u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 6u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 7u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 8u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 9u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 10u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 11u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 631i16, + item_aux_value: 12u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 310i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 300i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 313i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 449i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 299i16, + item_aux_value: 0u32, + group_index: 66u32, + }, + CreativeEntry { + item_id: 424i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 556i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 661i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 406i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 284i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 453i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 330i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 586i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 425i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 423i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 688i16, + item_aux_value: 0u32, + group_index: 67u32, + }, + CreativeEntry { + item_id: 669i16, + item_aux_value: 0u32, + group_index: 68u32, + }, + CreativeEntry { + item_id: 669i16, + item_aux_value: 1u32, + group_index: 68u32, + }, + CreativeEntry { + item_id: 669i16, + item_aux_value: 2u32, + group_index: 68u32, + }, + CreativeEntry { + item_id: 669i16, + item_aux_value: 3u32, + group_index: 68u32, + }, + CreativeEntry { + item_id: 669i16, + item_aux_value: 4u32, + group_index: 68u32, + }, + CreativeEntry { + item_id: 669i16, + item_aux_value: 5u32, + group_index: 68u32, + }, + CreativeEntry { + item_id: 669i16, + item_aux_value: 6u32, + group_index: 68u32, + }, + CreativeEntry { + item_id: 669i16, + item_aux_value: 7u32, + group_index: 68u32, + }, + CreativeEntry { + item_id: 555i16, + item_aux_value: 0u32, + group_index: 69u32, + }, + CreativeEntry { + item_id: 555i16, + item_aux_value: 2u32, + group_index: 69u32, + }, + CreativeEntry { + item_id: 403i16, + item_aux_value: 0u32, + group_index: 69u32, + }, + CreativeEntry { + item_id: 770i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 763i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 760i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 756i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 758i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 769i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 766i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 771i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 764i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 761i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 759i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 762i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 757i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 768i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 765i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 767i16, + item_aux_value: 0u32, + group_index: 70u32, + }, + CreativeEntry { + item_id: 267i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 279i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 272i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 269i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 264i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 266i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 278i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 275i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 280i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 273i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 270i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 268i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 271i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 265i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 277i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 274i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 276i16, + item_aux_value: 0u32, + group_index: 71u32, + }, + CreativeEntry { + item_id: 569i16, + item_aux_value: 0u32, + group_index: 72u32, + }, + CreativeEntry { + item_id: 783i16, + item_aux_value: 0u32, + group_index: 72u32, + }, + CreativeEntry { + item_id: 570i16, + item_aux_value: 0u32, + group_index: 72u32, + }, + CreativeEntry { + item_id: 571i16, + item_aux_value: 0u32, + group_index: 72u32, + }, + CreativeEntry { + item_id: 572i16, + item_aux_value: 0u32, + group_index: 72u32, + }, + CreativeEntry { + item_id: 792i16, + item_aux_value: 0u32, + group_index: 72u32, + }, + CreativeEntry { + item_id: 747i16, + item_aux_value: 0u32, + group_index: 73u32, + }, + CreativeEntry { + item_id: 787i16, + item_aux_value: 0u32, + group_index: 74u32, + }, + CreativeEntry { + item_id: 788i16, + item_aux_value: 0u32, + group_index: 74u32, + }, + CreativeEntry { + item_id: 789i16, + item_aux_value: 0u32, + group_index: 74u32, + }, + CreativeEntry { + item_id: 790i16, + item_aux_value: 0u32, + group_index: 74u32, + }, + CreativeEntry { + item_id: 791i16, + item_aux_value: 0u32, + group_index: 74u32, + }, + CreativeEntry { + item_id: 612i16, + item_aux_value: 0u32, + group_index: 75u32, + }, + CreativeEntry { + item_id: 603i16, + item_aux_value: 0u32, + group_index: 75u32, + }, + CreativeEntry { + item_id: 607i16, + item_aux_value: 0u32, + group_index: 75u32, + }, + CreativeEntry { + item_id: 460i16, + item_aux_value: 0u32, + group_index: 75u32, + }, + CreativeEntry { + item_id: 548i16, + item_aux_value: 0u32, + group_index: 75u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 0u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 1u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 2u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 3u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 4u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 5u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 6u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 7u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 8u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 9u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 10u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 11u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 12u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 13u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 14u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 15u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 16u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 17u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 18u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 42u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 19u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 20u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 21u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 22u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 23u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 24u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 25u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 26u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 27u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 28u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 29u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 30u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 31u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 32u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 33u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 34u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 35u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 36u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 37u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 38u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 39u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 40u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 41u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 43u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 44u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 45u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 459i16, + item_aux_value: 46u32, + group_index: 76u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 0u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 1u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 2u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 3u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 4u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 5u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 6u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 7u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 8u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 9u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 10u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 11u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 12u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 13u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 14u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 15u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 16u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 17u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 18u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 42u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 19u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 20u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 21u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 22u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 23u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 24u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 25u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 26u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 27u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 28u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 29u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 30u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 31u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 32u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 33u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 34u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 35u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 36u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 37u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 38u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 39u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 40u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 41u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 43u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 44u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 45u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 600i16, + item_aux_value: 46u32, + group_index: 77u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 0u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 1u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 2u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 3u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 4u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 5u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 6u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 7u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 8u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 9u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 10u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 11u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 12u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 13u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 14u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 15u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 16u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 17u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 18u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 42u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 19u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 20u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 21u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 22u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 23u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 24u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 25u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 26u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 27u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 28u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 29u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 30u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 31u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 32u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 33u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 34u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 35u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 36u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 37u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 38u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 39u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 40u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 41u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 43u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 44u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 45u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 601i16, + item_aux_value: 46u32, + group_index: 78u32, + }, + CreativeEntry { + item_id: 634i16, + item_aux_value: 0u32, + group_index: 79u32, + }, + CreativeEntry { + item_id: 634i16, + item_aux_value: 1u32, + group_index: 79u32, + }, + CreativeEntry { + item_id: 634i16, + item_aux_value: 2u32, + group_index: 79u32, + }, + CreativeEntry { + item_id: 634i16, + item_aux_value: 3u32, + group_index: 79u32, + }, + CreativeEntry { + item_id: 634i16, + item_aux_value: 4u32, + group_index: 79u32, + }, + CreativeEntry { + item_id: 667i16, + item_aux_value: 0u32, + group_index: 80u32, + }, + CreativeEntry { + item_id: 722i16, + item_aux_value: 0u32, + group_index: 80u32, + }, + CreativeEntry { + item_id: 352i16, + item_aux_value: 0u32, + group_index: 81u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 0u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 8u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 7u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 15u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 12u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 14u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 1u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 4u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 5u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 13u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 9u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 3u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 11u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 10u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 2u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 450i16, + item_aux_value: 6u32, + group_index: 82u32, + }, + CreativeEntry { + item_id: 50i16, + item_aux_value: 0u32, + group_index: 83u32, + }, + CreativeEntry { + item_id: -268i16, + item_aux_value: 0u32, + group_index: 83u32, + }, + CreativeEntry { + item_id: -1082i16, + item_aux_value: 0u32, + group_index: 83u32, + }, + CreativeEntry { + item_id: -156i16, + item_aux_value: 0u32, + group_index: 83u32, + }, + CreativeEntry { + item_id: -208i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -269i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -1083i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -1084i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -1085i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -1086i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -1087i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -1088i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -1089i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -1090i16, + item_aux_value: 0u32, + group_index: 84u32, + }, + CreativeEntry { + item_id: -412i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -413i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -414i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -415i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -416i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -417i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -418i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -419i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -420i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -421i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -422i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -423i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -424i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -425i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -426i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -427i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: -428i16, + item_aux_value: 0u32, + group_index: 85u32, + }, + CreativeEntry { + item_id: 58i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: -200i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: -201i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: -202i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: -219i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: -529i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: -573i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: 630i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: 664i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: 61i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: -196i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: -198i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: -272i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: 464i16, + item_aux_value: 0u32, + group_index: 86u32, + }, + CreativeEntry { + item_id: 145i16, + item_aux_value: 0u32, + group_index: 87u32, + }, + CreativeEntry { + item_id: -959i16, + item_aux_value: 0u32, + group_index: 87u32, + }, + CreativeEntry { + item_id: -960i16, + item_aux_value: 0u32, + group_index: 87u32, + }, + CreativeEntry { + item_id: -195i16, + item_aux_value: 0u32, + group_index: 88u32, + }, + CreativeEntry { + item_id: 116i16, + item_aux_value: 0u32, + group_index: 88u32, + }, + CreativeEntry { + item_id: 47i16, + item_aux_value: 0u32, + group_index: 88u32, + }, + CreativeEntry { + item_id: -526i16, + item_aux_value: 0u32, + group_index: 88u32, + }, + CreativeEntry { + item_id: -1047i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1048i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1049i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1050i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1051i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1052i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1053i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1054i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1055i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1056i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1057i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -1058i16, + item_aux_value: 0u32, + group_index: 89u32, + }, + CreativeEntry { + item_id: -194i16, + item_aux_value: 0u32, + group_index: 90u32, + }, + CreativeEntry { + item_id: 465i16, + item_aux_value: 0u32, + group_index: 90u32, + }, + CreativeEntry { + item_id: -213i16, + item_aux_value: 0u32, + group_index: 90u32, + }, + CreativeEntry { + item_id: 54i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: 146i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: 130i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: -1031i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: -1032i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: -1033i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: -1034i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: -1035i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: -1036i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: -1037i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: -1038i16, + item_aux_value: 0u32, + group_index: 91u32, + }, + CreativeEntry { + item_id: -203i16, + item_aux_value: 0u32, + group_index: 92u32, + }, + CreativeEntry { + item_id: 205i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: 218i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -620i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -619i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -627i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -624i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -626i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -613i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -616i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -617i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -625i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -621i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -615i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -623i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -622i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -614i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: -618i16, + item_aux_value: 0u32, + group_index: 93u32, + }, + CreativeEntry { + item_id: 591i16, + item_aux_value: 0u32, + group_index: 94u32, + }, + CreativeEntry { + item_id: -1039i16, + item_aux_value: 0u32, + group_index: 95u32, + }, + CreativeEntry { + item_id: -1040i16, + item_aux_value: 0u32, + group_index: 95u32, + }, + CreativeEntry { + item_id: -1041i16, + item_aux_value: 0u32, + group_index: 95u32, + }, + CreativeEntry { + item_id: -1042i16, + item_aux_value: 0u32, + group_index: 95u32, + }, + CreativeEntry { + item_id: -1043i16, + item_aux_value: 0u32, + group_index: 95u32, + }, + CreativeEntry { + item_id: -1044i16, + item_aux_value: 0u32, + group_index: 95u32, + }, + CreativeEntry { + item_id: -1045i16, + item_aux_value: 0u32, + group_index: 95u32, + }, + CreativeEntry { + item_id: -1046i16, + item_aux_value: 0u32, + group_index: 95u32, + }, + CreativeEntry { + item_id: 25i16, + item_aux_value: 0u32, + group_index: 96u32, + }, + CreativeEntry { + item_id: 84i16, + item_aux_value: 0u32, + group_index: 96u32, + }, + CreativeEntry { + item_id: 573i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 574i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 575i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 576i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 577i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 578i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 579i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 580i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 581i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 582i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 583i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 584i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 668i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 678i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 662i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 742i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 828i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 829i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 830i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 831i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 832i16, + item_aux_value: 0u32, + group_index: 97u32, + }, + CreativeEntry { + item_id: 679i16, + item_aux_value: 0u32, + group_index: 98u32, + }, + CreativeEntry { + item_id: 426i16, + item_aux_value: 0u32, + group_index: 98u32, + }, + CreativeEntry { + item_id: 89i16, + item_aux_value: 0u32, + group_index: 98u32, + }, + CreativeEntry { + item_id: 123i16, + item_aux_value: 0u32, + group_index: 98u32, + }, + CreativeEntry { + item_id: 169i16, + item_aux_value: 0u32, + group_index: 98u32, + }, + CreativeEntry { + item_id: 390i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 615i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 616i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 617i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 618i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 619i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 676i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 693i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 750i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 694i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 657i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: 658i16, + item_aux_value: 0u32, + group_index: 99u32, + }, + CreativeEntry { + item_id: -500i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -501i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -502i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -503i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -504i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -505i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -508i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -534i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -993i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -522i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -506i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: -507i16, + item_aux_value: 0u32, + group_index: 100u32, + }, + CreativeEntry { + item_id: 389i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 553i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 665i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 633i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 554i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 353i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 392i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 393i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 394i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 395i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 396i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 397i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 398i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 399i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 400i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 401i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 672i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: 794i16, + item_aux_value: 0u32, + group_index: 101u32, + }, + CreativeEntry { + item_id: -967i16, + item_aux_value: 0u32, + group_index: 102u32, + }, + CreativeEntry { + item_id: -966i16, + item_aux_value: 0u32, + group_index: 102u32, + }, + CreativeEntry { + item_id: -968i16, + item_aux_value: 0u32, + group_index: 102u32, + }, + CreativeEntry { + item_id: -969i16, + item_aux_value: 0u32, + group_index: 102u32, + }, + CreativeEntry { + item_id: 144i16, + item_aux_value: 0u32, + group_index: 102u32, + }, + CreativeEntry { + item_id: -965i16, + item_aux_value: 0u32, + group_index: 102u32, + }, + CreativeEntry { + item_id: -970i16, + item_aux_value: 0u32, + group_index: 102u32, + }, + CreativeEntry { + item_id: -312i16, + item_aux_value: 0u32, + group_index: 103u32, + }, + CreativeEntry { + item_id: -1059i16, + item_aux_value: 0u32, + group_index: 103u32, + }, + CreativeEntry { + item_id: -1060i16, + item_aux_value: 0u32, + group_index: 103u32, + }, + CreativeEntry { + item_id: -1061i16, + item_aux_value: 0u32, + group_index: 103u32, + }, + CreativeEntry { + item_id: -1062i16, + item_aux_value: 0u32, + group_index: 103u32, + }, + CreativeEntry { + item_id: -1063i16, + item_aux_value: 0u32, + group_index: 103u32, + }, + CreativeEntry { + item_id: -1064i16, + item_aux_value: 0u32, + group_index: 103u32, + }, + CreativeEntry { + item_id: -1065i16, + item_aux_value: 0u32, + group_index: 103u32, + }, + CreativeEntry { + item_id: 138i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: -206i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: -157i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: -197i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 333i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 334i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 335i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 608i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 545i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 546i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 782i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 547i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 544i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 336i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 656i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 651i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 458i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 337i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 552i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 563i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 416i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 415i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 562i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 752i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 604i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 666i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 588i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 609i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 610i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 611i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 746i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 613i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 358i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 359i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 388i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 360i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 413i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 568i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 567i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 549i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 455i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 281i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: -316i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 462i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 463i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 461i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 689i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 599i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 605i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 457i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 420i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 454i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 466i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 557i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 208i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 843i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 418i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 419i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 550i16, + item_aux_value: 0u32, + group_index: 104u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 560i16, + item_aux_value: 0u32, + group_index: 105u32, + }, + CreativeEntry { + item_id: 407i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 410i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 408i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 409i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 411i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 412i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 677i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 691i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 748i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 695i16, + item_aux_value: 0u32, + group_index: 106u32, + }, + CreativeEntry { + item_id: 680i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 683i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 681i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 682i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 684i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 685i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 686i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 692i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 749i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 696i16, + item_aux_value: 0u32, + group_index: 107u32, + }, + CreativeEntry { + item_id: 66i16, + item_aux_value: 0u32, + group_index: 108u32, + }, + CreativeEntry { + item_id: 27i16, + item_aux_value: 0u32, + group_index: 108u32, + }, + CreativeEntry { + item_id: 28i16, + item_aux_value: 0u32, + group_index: 108u32, + }, + CreativeEntry { + item_id: 126i16, + item_aux_value: 0u32, + group_index: 108u32, + }, + CreativeEntry { + item_id: 402i16, + item_aux_value: 0u32, + group_index: 109u32, + }, + CreativeEntry { + item_id: 421i16, + item_aux_value: 0u32, + group_index: 109u32, + }, + CreativeEntry { + item_id: 565i16, + item_aux_value: 0u32, + group_index: 109u32, + }, + CreativeEntry { + item_id: 564i16, + item_aux_value: 0u32, + group_index: 109u32, + }, + CreativeEntry { + item_id: 405i16, + item_aux_value: 0u32, + group_index: 110u32, + }, + CreativeEntry { + item_id: 152i16, + item_aux_value: 0u32, + group_index: 110u32, + }, + CreativeEntry { + item_id: 76i16, + item_aux_value: 0u32, + group_index: 110u32, + }, + CreativeEntry { + item_id: 69i16, + item_aux_value: 0u32, + group_index: 110u32, + }, + CreativeEntry { + item_id: 143i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -144i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -141i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -143i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -140i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -142i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -487i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -530i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -989i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -511i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: 77i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -260i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -261i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: -296i16, + item_aux_value: 0u32, + group_index: 111u32, + }, + CreativeEntry { + item_id: 131i16, + item_aux_value: 0u32, + group_index: 112u32, + }, + CreativeEntry { + item_id: 72i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -154i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -151i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -153i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -150i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -152i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -490i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -538i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -997i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -514i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -262i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -263i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: 70i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: 147i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: 148i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: -295i16, + item_aux_value: 0u32, + group_index: 113u32, + }, + CreativeEntry { + item_id: 251i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 151i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 451i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 561i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 566i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 125i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 23i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: -313i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 33i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 29i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 46i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 587i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: -204i16, + item_aux_value: 0u32, + group_index: 114u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 0u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 8u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 7u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 15u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 12u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 14u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 1u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 4u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 5u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 13u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 9u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 3u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 11u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 10u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 2u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 6u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 606i16, + item_aux_value: 15u32, + group_index: 115u32, + }, + CreativeEntry { + item_id: 621i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 622i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 620i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 623i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 624i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 625i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 626i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 627i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 628i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 629i16, + item_aux_value: 0u32, + group_index: 116u32, + }, + CreativeEntry { + item_id: 699i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 700i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 701i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 702i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 703i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 704i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 705i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 706i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 707i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 708i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 709i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 710i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 711i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 712i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 713i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 714i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 715i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 716i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 717i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 718i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 719i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 720i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 721i16, + item_aux_value: 0u32, + group_index: 117u32, + }, + CreativeEntry { + item_id: 723i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 724i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 730i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 727i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 726i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 725i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 736i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 738i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 737i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 739i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 728i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 735i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 731i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 732i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 733i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 729i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 734i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 740i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 741i16, + item_aux_value: 0u32, + group_index: 118u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 558i16, + item_aux_value: 0u32, + group_index: 119u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 0u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 8u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 7u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 15u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 12u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 14u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 1u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 4u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 5u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 13u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 9u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 3u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 11u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 10u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 2u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: 559i16, + item_aux_value: 6u32, + group_index: 120u32, + }, + CreativeEntry { + item_id: -286i16, + item_aux_value: 0u32, + group_index: 121u32, + }, + CreativeEntry { + item_id: -1074i16, + item_aux_value: 0u32, + group_index: 121u32, + }, + CreativeEntry { + item_id: -1075i16, + item_aux_value: 0u32, + group_index: 121u32, + }, + CreativeEntry { + item_id: -1076i16, + item_aux_value: 0u32, + group_index: 121u32, + }, + CreativeEntry { + item_id: -1077i16, + item_aux_value: 0u32, + group_index: 121u32, + }, + CreativeEntry { + item_id: -1078i16, + item_aux_value: 0u32, + group_index: 121u32, + }, + CreativeEntry { + item_id: -1079i16, + item_aux_value: 0u32, + group_index: 121u32, + }, + CreativeEntry { + item_id: -1080i16, + item_aux_value: 0u32, + group_index: 121u32, + }, + CreativeEntry { + item_id: -1081i16, + item_aux_value: 0u32, + group_index: 121u32, + }, + CreativeEntry { + item_id: -239i16, + item_aux_value: 0u32, + group_index: 122u32, + }, + CreativeEntry { + item_id: -551i16, + item_aux_value: 0u32, + group_index: 122u32, + }, + CreativeEntry { + item_id: 283i16, + item_aux_value: 0u32, + group_index: 122u32, + }, + CreativeEntry { + item_id: 282i16, + item_aux_value: 0u32, + group_index: 122u32, + }, +]; diff --git a/pumpkin-data/src/generated/item.rs b/pumpkin-data/src/generated/item.rs index 8463e0b93..a5b27fb42 100644 --- a/pumpkin-data/src/generated/item.rs +++ b/pumpkin-data/src/generated/item.rs @@ -5208,6 +5208,13 @@ impl Item { registry_key: "chorus_fruit", components: &[ (MaxStackSize, &MaxStackSizeImpl { size: 64 }), + ( + UseCooldown, + &UseCooldownImpl { + seconds: 1.0, + cooldown_group: None, + }, + ), ( ItemName, &ItemNameImpl { @@ -10965,6 +10972,13 @@ impl Item { registry_key: "ender_pearl", components: &[ (MaxStackSize, &MaxStackSizeImpl { size: 16 }), + ( + UseCooldown, + &UseCooldownImpl { + seconds: 1.0, + cooldown_group: None, + }, + ), ( ItemName, &ItemNameImpl { @@ -32804,6 +32818,13 @@ impl Item { registry_key: "wind_charge", components: &[ (MaxStackSize, &MaxStackSizeImpl { size: 64 }), + ( + UseCooldown, + &UseCooldownImpl { + seconds: 0.5, + cooldown_group: None, + }, + ), ( ItemName, &ItemNameImpl { @@ -37220,7 +37241,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const APPLE : Self = Self { id : 285 , registry_key : "minecraft:apple" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x03\x06damage\0\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x04none\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x05apple\0\0\x01\x0Fstacked_by_data\0\x03\ruse_animation\x02\x03\x0Cuse_duration@\x03\x0Emax_stack_size\x80\x01\x01\x12hidden_in_commands\x02\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x03\x11enchantable_value\0\x08\x0Ecreative_group\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x03\x11creative_category\x04\x01\rhand_equipped\0\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x99>\n\x11using_converts_to\0\x03\tnutrition\x08\0\t\titem_tags\x08\x02\x11minecraft:is_food\n\x0Eminecraft:tags\t\x04tags\x08\x02\x11minecraft:is_food\0\n\x17minecraft:use_animation\x08\x05value\x03eat\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\x01\x05\x11movement_modifier33\xB3>\x05\x0Cuse_duration\xCD\xCC\xCC?\0\n\x16minecraft:display_name\x08\x05value\x0Fitem.apple.name\0\0" } ; + pub const APPLE : Self = Self { id : 285 , registry_key : "minecraft:apple" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Eminecraft:tags\t\x04tags\x08\x02\x11minecraft:is_food\0\n\x0Fitem_properties\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\x03\x0Bframe_count\x02\x03\x06damage\0\x03\x0Cuse_duration@\x01\x12hidden_in_commands\x02\x01\x17can_destroy_in_creative\x01\x03\ruse_animation\x02\x03\x0Emax_stack_size\x80\x01\x01\x04foil\0\x01\rhand_equipped\0\x05\x0Cmining_speed\0\0\x80?\x03\x11enchantable_value\0\x03\x11creative_category\x04\x01\x0Eliquid_clipped\0\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x05apple\0\0\x08\x10enchantable_slot\x04none\x01\x0Eshould_despawn\x01\0\n\x16minecraft:display_name\x08\x05value\x0Fitem.apple.name\0\t\titem_tags\x08\x02\x11minecraft:is_food\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\n\x11using_converts_to\0\x03\tnutrition\x08\0\n\x17minecraft:use_animation\x08\x05value\x03eat\0\n\x17minecraft:use_modifiers\x05\x0Cuse_duration\xCD\xCC\xCC?\x01\x0Femit_vibrations\x01\x05\x11movement_modifier33\xB3>\0\0" } ; pub const ARCHER_POTTERY_SHERD: Self = Self { id: 700, registry_key: "minecraft:archer_pottery_sherd", @@ -37305,7 +37326,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BAKED_POTATO : Self = Self { id : 310 , registry_key : "minecraft:baked_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\x03\tnutrition\n\x03\rcooldown_time\0\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0" } ; + pub const BAKED_POTATO : Self = Self { id : 310 , registry_key : "minecraft:baked_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\rcooldown_time\0\x03\tnutrition\n\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\0" } ; pub const BALLOON: Self = Self { id: 641, registry_key: "minecraft:balloon", @@ -37558,7 +37579,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BEEF : Self = Self { id : 302 , registry_key : "minecraft:beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\tnutrition\x06\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\x03\rcooldown_time\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0" } ; + pub const BEEF : Self = Self { id : 302 , registry_key : "minecraft:beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\tnutrition\x06\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0" } ; pub const BEEHIVE: Self = Self { id: -219, registry_key: "minecraft:beehive", @@ -37566,9 +37587,9 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BEETROOT : Self = Self { id : 314 , registry_key : "minecraft:beetroot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x02\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\rcooldown_time\0\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\0" } ; - pub const BEETROOT_SEEDS : Self = Self { id : 324 , registry_key : "minecraft:beetroot_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\x0Bcrop_result\x12minecraft:beetroot\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\0\0" } ; - pub const BEETROOT_SOUP : Self = Self { id : 315 , registry_key : "minecraft:beetroot_soup" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\x11using_converts_to\x04bowl\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\tnutrition\x0C\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x19?\0\0" } ; + pub const BEETROOT : Self = Self { id : 314 , registry_key : "minecraft:beetroot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\tnutrition\x02\x08\x11using_converts_to\0\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\0\x03\x16minecraft:use_duration@\0" } ; + pub const BEETROOT_SEEDS : Self = Self { id : 324 , registry_key : "minecraft:beetroot_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x12minecraft:beetroot\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0" } ; + pub const BEETROOT_SOUP : Self = Self { id : 315 , registry_key : "minecraft:beetroot_soup" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\x04bowl\x03\tnutrition\x0C\x03\ron_use_action\x01\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x19?\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\0" } ; pub const BELL: Self = Self { id: -206, registry_key: "minecraft:bell", @@ -37730,7 +37751,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BLACK_BUNDLE : Self = Self { id : 264 , registry_key : "minecraft:black_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x03\x0Cuse_duration\0\x05\x0Cmining_speed\0\0\x80?\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x17bundle_black_open_front\x08\x10bundle_open_back\x16bundle_black_open_back\x08\x07default\x0Cbundle_black\0\0\x03\x11enchantable_value\0\x01\x0Eshould_despawn\x01\x03\x11creative_category\x06\x01\rhand_equipped\0\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\x03\x0Bframe_count\x02\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; + pub const BLACK_BUNDLE : Self = Self { id : 264 , registry_key : "minecraft:black_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x16bundle_black_open_back\x08\x11bundle_open_front\x17bundle_black_open_front\x08\x07default\x0Cbundle_black\0\0\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x03\x06damage\0\x01\x12hidden_in_commands\x02\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\x01\x04foil\0\x03\x0Emax_stack_size\x02\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\x01\rhand_equipped\0\x03\x11creative_category\x06\x05\x0Cmining_speed\0\0\x80?\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\0" } ; pub const BLACK_CANDLE: Self = Self { id: -428, registry_key: "minecraft:black_candle", @@ -37899,7 +37920,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BLUE_BUNDLE : Self = Self { id : 265 , registry_key : "minecraft:blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x01\rhand_equipped\0\x03\x11creative_category\x06\x01\x0Fstacked_by_data\0\x03\x11enchantable_value\0\x03\x0Cuse_duration\0\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_blue_open_back\x08\x11bundle_open_front\x16bundle_blue_open_front\x08\x07default\x0Bbundle_blue\0\0\x08\x10enchantable_slot\x04none\x01\x04foil\0\x01\x0Eallow_off_hand\0\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x03\x06damage\0\x08\x0Ecreative_group\0\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\0\0" } ; + pub const BLUE_BUNDLE : Self = Self { id : 265 , registry_key : "minecraft:blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bbundle_blue\x08\x11bundle_open_front\x16bundle_blue_open_front\x08\x10bundle_open_back\x15bundle_blue_open_back\0\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x03\x11enchantable_value\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\x01\x04foil\0\x03\x0Bframe_count\x02\x08\x0Ecreative_group\0\x03\x0Cuse_duration\0\x01\x17can_destroy_in_creative\x01\x01\x0Eallow_off_hand\0\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0" } ; pub const BLUE_CANDLE: Self = Self { id: -424, registry_key: "minecraft:blue_candle", @@ -38131,8 +38152,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BREAD : Self = Self { id : 290 , registry_key : "minecraft:bread" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\n\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\0" } ; - pub const BREEZE_ROD : Self = Self { id : 281 , registry_key : "minecraft:breeze_rod" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:display_name\x08\x05value\x14item.breeze_rod.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x03\x06damage\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nbreeze_rod\0\0\x08\x0Ecreative_group\0\x03\x11creative_category\x08\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\x03\x0Bframe_count\x02\x03\x11enchantable_value\0\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\x01\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\x01\x04foil\0\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x80\x01\x01\x17can_destroy_in_creative\x01\0\t\titem_tags\0\0\0" } ; + pub const BREAD : Self = Self { id : 290 , registry_key : "minecraft:bread" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x03\tnutrition\n\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const BREEZE_ROD : Self = Self { id : 281 , registry_key : "minecraft:breeze_rod" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nbreeze_rod\0\0\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x04none\x01\x0Eshould_despawn\x01\x08\x0Ecreative_group\0\x03\x0Emax_stack_size\x80\x01\x01\x0Eliquid_clipped\0\x03\x11creative_category\x08\x01\x0Fstacked_by_data\0\x01\rhand_equipped\x01\x05\x0Cmining_speed\0\0\x80?\x03\x0Bframe_count\x02\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x03\x06damage\0\x03\x0Cuse_duration\0\x01\x04foil\0\x03\ruse_animation\0\0\n\x16minecraft:display_name\x08\x05value\x14item.breeze_rod.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\0" } ; pub const BREEZE_SPAWN_EGG: Self = Self { id: 535, registry_key: "minecraft:breeze_spawn_egg", @@ -38196,7 +38217,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BROWN_BUNDLE : Self = Self { id : 266 , registry_key : "minecraft:brown_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x08\x0Ecreative_group\0\x03\x11enchantable_value\0\x03\x06damage\0\x01\x17can_destroy_in_creative\x01\x01\rhand_equipped\0\x08\x10enchantable_slot\x04none\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x17bundle_brown_open_front\x08\x07default\x0Cbundle_brown\x08\x10bundle_open_back\x16bundle_brown_open_back\0\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x01\x04foil\0\x03\ruse_animation\0\x01\x0Eliquid_clipped\0\x03\x0Bframe_count\x02\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; + pub const BROWN_BUNDLE : Self = Self { id : 266 , registry_key : "minecraft:brown_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\0\n\x0Fitem_properties\x03\x0Emax_stack_size\x02\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x16bundle_brown_open_back\x08\x11bundle_open_front\x17bundle_brown_open_front\x08\x07default\x0Cbundle_brown\0\0\x03\x11enchantable_value\0\x01\x04foil\0\x03\x0Cuse_duration\0\x01\x0Eallow_off_hand\0\x03\ruse_animation\0\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\x01\x0Fstacked_by_data\0\x03\x0Bframe_count\x02\x01\x17can_destroy_in_creative\x01\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\0\x01\x0Eshould_despawn\x01\x03\x06damage\0\x08\x10enchantable_slot\x04none\x01\x0Eliquid_clipped\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; pub const BROWN_CANDLE: Self = Self { id: -425, registry_key: "minecraft:brown_candle", @@ -38365,7 +38386,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const BUNDLE : Self = Self { id : 267 , registry_key : "minecraft:bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x03\x06damage\0\x01\x0Eallow_off_hand\0\x01\x0Eshould_despawn\x01\x03\x11creative_category\x06\x01\x17can_destroy_in_creative\x01\x01\rhand_equipped\0\x03\x11enchantable_value\0\x05\x0Cmining_speed\0\0\x80?\x08\x10enchantable_slot\x04none\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x10bundle_open_back\x08\x11bundle_open_front\x11bundle_open_front\x08\x07default\x06bundle\0\0\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x01\x0Fstacked_by_data\0\x01\x04foil\0\x03\x0Cuse_duration\0\x03\ruse_animation\0\x03\x0Bframe_count\x02\x03\x0Emax_stack_size\x02\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0" } ; + pub const BUNDLE : Self = Self { id : 267 , registry_key : "minecraft:bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x03\x06damage\0\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x11bundle_open_front\x08\x07default\x06bundle\x08\x10bundle_open_back\x10bundle_open_back\0\0\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\x03\ruse_animation\0\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x08\x10enchantable_slot\x04none\x01\rhand_equipped\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; pub const BURN_POTTERY_SHERD: Self = Self { id: 704, registry_key: "minecraft:burn_pottery_sherd", @@ -38429,7 +38450,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CAMERA : Self = Self { id : 636 , registry_key : "minecraft:camera" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x08\x0Fminecraft:block\x10minecraft:camera\x03\x16minecraft:use_duration\xC0\x9A\x0C\n\x10minecraft:camera\x05\x13slide_away_duration\xCD\xCCL>\x05\x10shutter_duration\xCD\xCCL>\x05\x10picture_duration\0\0\x80?\x05\x14shutter_screen_ratio\0\0\0?\x05\x13black_bars_duration\xCD\xCCL>\x05\x17black_bars_screen_ratio\n\xD7\xA3=\0\0" } ; + pub const CAMERA : Self = Self { id : 636 , registry_key : "minecraft:camera" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x08\x0Fminecraft:block\x10minecraft:camera\n\x10minecraft:camera\x05\x13slide_away_duration\xCD\xCCL>\x05\x10picture_duration\0\0\x80?\x05\x13black_bars_duration\xCD\xCCL>\x05\x10shutter_duration\xCD\xCCL>\x05\x14shutter_screen_ratio\0\0\0?\x05\x17black_bars_screen_ratio\n\xD7\xA3=\0\x03\x16minecraft:use_duration\xC0\x9A\x0C\0" } ; pub const CAMPFIRE: Self = Self { id: 630, registry_key: "minecraft:campfire", @@ -38458,7 +38479,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CARROT : Self = Self { id : 308 , registry_key : "minecraft:carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\x03\ron_use_action\x01\x03\tnutrition\x06\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x11minecraft:carrots\x01\x1Aplant_at_any_solid_surface\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const CARROT : Self = Self { id : 308 , registry_key : "minecraft:carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\x03\rcooldown_time\0\x08\x11using_converts_to\0\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x03\tnutrition\x06\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:seed\x08\x0Bcrop_result\x11minecraft:carrots\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0" } ; pub const CARROT_ON_A_STICK: Self = Self { id: 556, registry_key: "minecraft:carrot_on_a_stick", @@ -38760,7 +38781,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CHICKEN : Self = Self { id : 304 , registry_key : "minecraft:chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\tnutrition\x04\x03\ron_use_action\x01\t\x07effects\n\x02\x03\tamplifier\0\x05\x06chance\x9A\x99\x99>\x03\x02id\"\x08\rdescriptionId\rpotion.hunger\x03\x08duration<\x08\x04name\x06hunger\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x99>\x08\rcooldown_type\0\x03\rcooldown_time\0\0\0" } ; + pub const CHICKEN : Self = Self { id : 304 , registry_key : "minecraft:chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\t\x07effects\n\x02\x03\x02id\"\x08\x04name\x06hunger\x05\x06chance\x9A\x99\x99>\x03\tamplifier\0\x08\rdescriptionId\rpotion.hunger\x03\x08duration<\0\x03\rcooldown_time\0\0\0" } ; pub const CHICKEN_SPAWN_EGG: Self = Self { id: 468, registry_key: "minecraft:chicken_spawn_egg", @@ -38880,7 +38901,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CHORUS_FRUIT : Self = Self { id : 597 , registry_key : "minecraft:chorus_fruit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\0\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\x01\x03\rcooldown_time(\x03\tnutrition\x08\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\x0Bchorusfruit\0\0" } ; + pub const CHORUS_FRUIT : Self = Self { id : 597 , registry_key : "minecraft:chorus_fruit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time(\x08\rcooldown_type\x0Bchorusfruit\x03\tnutrition\x08\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\0\x01\x0Ecan_always_eat\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; pub const CHORUS_PLANT: Self = Self { id: 240, registry_key: "minecraft:chorus_plant", @@ -39105,7 +39126,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const COD : Self = Self { id : 293 , registry_key : "minecraft:cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x04\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\0" } ; + pub const COD : Self = Self { id : 293 , registry_key : "minecraft:cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x03\ron_use_action\x01\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\0\0" } ; pub const COD_BUCKET: Self = Self { id: 396, registry_key: "minecraft:cod_bucket", @@ -39232,14 +39253,14 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const COOKED_BEEF : Self = Self { id : 303 , registry_key : "minecraft:cooked_beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x10\x08\rcooldown_type\0\x05\x13saturation_modifier\xCD\xCCL?\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0" } ; - pub const COOKED_CHICKEN : Self = Self { id : 305 , registry_key : "minecraft:cooked_chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x19?\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x0C\0\0" } ; - pub const COOKED_COD : Self = Self { id : 297 , registry_key : "minecraft:cooked_cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\n\x08\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x19?\x03\rcooldown_time\0\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0" } ; - pub const COOKED_MUTTON : Self = Self { id : 590 , registry_key : "minecraft:cooked_mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\tnutrition\x0C\x05\x13saturation_modifier\xCD\xCCL?\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0" } ; - pub const COOKED_PORKCHOP : Self = Self { id : 292 , registry_key : "minecraft:cooked_porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCCL?\x03\tnutrition\x10\x08\x11using_converts_to\0\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0" } ; - pub const COOKED_RABBIT : Self = Self { id : 318 , registry_key : "minecraft:cooked_rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\n\0\x03\x16minecraft:use_duration@\0" } ; - pub const COOKED_SALMON : Self = Self { id : 298 , registry_key : "minecraft:cooked_salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x03\ron_use_action\x01\x03\tnutrition\x0C\x05\x13saturation_modifier\xCD\xCCL?\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\0\0" } ; - pub const COOKIE : Self = Self { id : 300 , registry_key : "minecraft:cookie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x04\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0" } ; + pub const COOKED_BEEF : Self = Self { id : 303 , registry_key : "minecraft:cooked_beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\xCD\xCCL?\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x10\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const COOKED_CHICKEN : Self = Self { id : 305 , registry_key : "minecraft:cooked_chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x08\rcooldown_type\0\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x03\tnutrition\x0C\x05\x13saturation_modifier\x9A\x99\x19?\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0" } ; + pub const COOKED_COD : Self = Self { id : 297 , registry_key : "minecraft:cooked_cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x03\tnutrition\n\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x08\rcooldown_type\0\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\x11using_converts_to\0\0\0" } ; + pub const COOKED_MUTTON : Self = Self { id : 590 , registry_key : "minecraft:cooked_mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCCL?\x08\rcooldown_type\0\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\tnutrition\x0C\0\0" } ; + pub const COOKED_PORKCHOP : Self = Self { id : 292 , registry_key : "minecraft:cooked_porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCCL?\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x03\tnutrition\x10\x08\x11using_converts_to\0\0\0" } ; + pub const COOKED_RABBIT : Self = Self { id : 318 , registry_key : "minecraft:cooked_rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\tnutrition\n\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const COOKED_SALMON : Self = Self { id : 298 , registry_key : "minecraft:cooked_salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x0C\x05\x13saturation_modifier\xCD\xCCL?\0\0" } ; + pub const COOKIE : Self = Self { id : 300 , registry_key : "minecraft:cookie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x08\x11using_converts_to\0\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCC\xCC=\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\0\x03\x16minecraft:use_duration@\0" } ; pub const COPPER_AXE: Self = Self { id: 776, registry_key: "minecraft:copper_axe", @@ -39401,7 +39422,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const COPPER_SPEAR : Self = Self { id : 257 , registry_key : "minecraft:copper_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\r\0\n\x16minecraft:display_name\x08\x05value\x16item.copper_spear.name\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\x0Fdamage_modifier\0\0\0\0\x05\x11damage_multiplier\x85\xEBQ?\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\xFA\0\0\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0@A\x02\x0Cmax_durationP\0\0\x02\x05delay\r\0\x05\rhitbox_margin\0\0\x80>\n\x14knockback_conditions\x02\x0Cmax_duration\xA5\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration\x9A\x99Y?\x08\x04type\x06attack\0\t\titem_tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\t\x05items\n\x02\x08\x04name\x16minecraft:copper_spear\0\0\t\x05items\n\x02\x08\x04name\x16minecraft:copper_ingot\0\n\rrepair_amount\x08\nexpression\x1Bquery.max_durability * 0.25\x02\x07version\r\0\0\0\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Ditem.copper_spear.attack_miss\x08\nattack_hit\x1Citem.copper_spear.attack_hit\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x03\x06damage\x04\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x02\x01\x12hidden_in_commands\x02\x01\x0Fstacked_by_data\0\x01\rhand_equipped\x01\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x03\x11enchantable_value\x1A\x01\x04foil\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x05\x0Cmining_speed\0\0\x80?\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Ccopper_spear\0\0\x01\x0Eliquid_clipped\0\0\n\x17minecraft:use_modifiers\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_sound\x15item.copper_spear.use\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durability\xFC\x02\0\n\x18minecraft:swing_duration\x05\x05value\x9A\x99Y?\0\0" } ; + pub const COPPER_SPEAR : Self = Self { id : 257 , registry_key : "minecraft:copper_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.copper_spear.attack_hit\x08\x0Battack_miss\x1Ditem.copper_spear.attack_miss\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\xFC\x02\0\n\x18minecraft:swing_duration\x05\x05value\x9A\x99Y?\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0@A\x02\x0Cmax_durationP\0\0\n\x14knockback_conditions\x02\x0Cmax_duration\xA5\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\x02\x05delay\r\0\x05\x11damage_multiplier\x85\xEBQ?\n\x11damage_conditions\x02\x0Cmax_duration\xFA\0\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\x05\x0Fdamage_modifier\0\0\0\0\0\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x16minecraft:copper_spear\0\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\0\t\x05items\n\x02\x08\x04name\x16minecraft:copper_ingot\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\n\x15minecraft:enchantable\x01\x05value\r\x08\x04slot\x0Bmelee_spear\0\n\x17minecraft:use_modifiers\x08\x0Bstart_sound\x15item.copper_spear.use\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration\x9A\x99Y?\x08\x04type\x06attack\0\n\x19minecraft:piercing_weapon\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\0\t\titem_tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\n\x0Fitem_properties\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Ccopper_spear\0\0\x08\x10enchantable_slot\x0Bmelee_spear\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x01\x17can_destroy_in_creative\x01\x03\x06damage\x04\x01\x04foil\0\x01\x0Eliquid_clipped\0\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x03\ruse_animation\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\x01\rhand_equipped\x01\x05\x0Cmining_speed\0\0\x80?\x03\x11enchantable_value\x1A\0\n\x16minecraft:display_name\x08\x05value\x16item.copper_spear.name\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0" } ; pub const COPPER_SWORD: Self = Self { id: 773, registry_key: "minecraft:copper_sword", @@ -39766,7 +39787,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const CYAN_BUNDLE : Self = Self { id : 268 , registry_key : "minecraft:cyan_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\0\n\x0Fitem_properties\x01\x0Eliquid_clipped\0\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\x01\x0Eallow_off_hand\0\x03\x06damage\0\x01\x12hidden_in_commands\x02\x01\x04foil\0\x03\ruse_animation\0\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x08\x0Ecreative_group\0\x03\x0Cuse_duration\0\x01\x0Fstacked_by_data\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_cyan_open_back\x08\x11bundle_open_front\x16bundle_cyan_open_front\x08\x07default\x0Bbundle_cyan\0\0\x01\rhand_equipped\0\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; + pub const CYAN_BUNDLE : Self = Self { id : 268 , registry_key : "minecraft:cyan_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\t\titem_tags\0\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x03\ruse_animation\0\x01\x0Fstacked_by_data\0\x01\x0Eshould_despawn\x01\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bbundle_cyan\x08\x11bundle_open_front\x16bundle_cyan_open_front\x08\x10bundle_open_back\x15bundle_cyan_open_back\0\0\x01\x0Eallow_off_hand\0\x03\x11creative_category\x06\x01\x04foil\0\x03\x06damage\0\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x03\x11enchantable_value\0\x01\x0Eliquid_clipped\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; pub const CYAN_CANDLE: Self = Self { id: -422, registry_key: "minecraft:cyan_candle", @@ -40481,7 +40502,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const DIAMOND_SPEAR : Self = Self { id : 258 , registry_key : "minecraft:diamond_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\n\0\t\titem_tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x03\x11enchantable_value\x14\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\x08\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x01\rhand_equipped\x01\x01\x17can_destroy_in_creative\x01\x08\x10enchantable_slot\x0Bmelee_spear\x08\x0Ecreative_group\0\x01\x04foil\0\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rdiamond_spear\0\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durability\xB0\x18\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x17minecraft:diamond_spear\0\0\t\x05items\n\x02\x08\x04name\x11minecraft:diamond\0\n\rrepair_amount\x08\nexpression\x1Bquery.max_durability * 0.25\x02\x07version\r\0\0\0\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Eitem.diamond_spear.attack_miss\x08\nattack_hit\x1Ditem.diamond_spear.attack_hit\0\n\x12minecraft:cooldown\x08\x04type\x06attack\x05\x08durationff\x86?\x08\x08category\x05spear\0\n\x0Eminecraft:tags\t\x04tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x16item.diamond_spear.use\0\n\x16minecraft:display_name\x08\x05value\x17item.diamond_spear.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\n\x18minecraft:swing_duration\x05\x05valueff\x86?\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x02\x05delay\n\0\n\x13dismount_conditions\x02\x0Cmax_duration<\0\x05\tmin_speed\0\0 A\x05\x12min_relative_speed\0\0\0\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\x0Fdamage_modifier\0\0\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\x11damage_multiplier\x9A\x99\x89?\x05\rhitbox_margin\0\0\x80>\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\x82\0\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\xC8\0\0\0\0\n\x10minecraft:damage\x02\x05value\x04\0\0\0" } ; + pub const DIAMOND_SPEAR : Self = Self { id : 258 , registry_key : "minecraft:diamond_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x0Eminecraft:tags\t\x04tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\0\n\x0Fitem_properties\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11enchantable_value\x14\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x17can_destroy_in_creative\x01\x01\x0Fstacked_by_data\0\x01\x0Eliquid_clipped\0\x01\x04foil\0\x01\x12hidden_in_commands\x02\x01\x0Eallow_off_hand\0\x01\rhand_equipped\x01\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rdiamond_spear\0\0\x03\ruse_animation\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x03\x06damage\x08\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x17minecraft:diamond_spear\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression)context.other->query.remaining_durability\0\0\n\rrepair_amount\x08\nexpression\x1Bquery.max_durability * 0.25\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x11minecraft:diamond\0\0\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Eitem.diamond_spear.attack_miss\x08\nattack_hit\x1Ditem.diamond_spear.attack_hit\0\n\x18minecraft:swing_duration\x05\x05valueff\x86?\0\t\titem_tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08durationff\x86?\x08\x04type\x06attack\0\n\x16minecraft:display_name\x08\x05value\x17item.diamond_spear.name\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_sound\x16item.diamond_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x13dismount_conditions\x05\tmin_speed\0\0 A\x02\x0Cmax_duration<\0\x05\x12min_relative_speed\0\0\0\0\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\xC8\0\x05\tmin_speed\0\0\0\0\0\x05\x0Fdamage_modifier\0\0\0\0\n\x14knockback_conditions\x02\x0Cmax_duration\x82\0\x05\tmin_speed33\xA3@\x05\x12min_relative_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x02\x05delay\n\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x05\x11damage_multiplier\x9A\x99\x89?\x05\rhitbox_margin\0\0\x80>\0\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\xB0\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\n\0\n\x10minecraft:damage\x02\x05value\x04\0\0\0" } ; pub const DIAMOND_SWORD: Self = Self { id: 347, registry_key: "minecraft:diamond_sword", @@ -40636,7 +40657,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const DRIED_KELP : Self = Self { id : 299 , registry_key : "minecraft:dried_kelp" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\x02\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x08\rcooldown_type\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\0\x03\x16minecraft:use_duration \0" } ; + pub const DRIED_KELP : Self = Self { id : 299 , registry_key : "minecraft:dried_kelp" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration \n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x03\tnutrition\x02\x05\x13saturation_modifier\xCD\xCC\xCC=\0\0" } ; pub const DRIED_KELP_BLOCK: Self = Self { id: -139, registry_key: "minecraft:dried_kelp_block", @@ -41582,7 +41603,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const ENCHANTED_GOLDEN_APPLE : Self = Self { id : 288 , registry_key : "minecraft:enchanted_golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\x08\t\x07effects\n\x08\x08\rdescriptionId\x13potion.regeneration\x05\x06chance\0\0\x80?\x03\tamplifier\x02\x03\x08duration<\x03\x02id\x14\x08\x04name\x0Cregeneration\0\x03\x08duration\xF0\x01\x03\x02id,\x08\x04name\nabsorption\x03\tamplifier\x06\x05\x06chance\0\0\x80?\x08\rdescriptionId\x11potion.absorption\0\x03\x02id\x16\x03\tamplifier\0\x05\x06chance\0\0\x80?\x08\rdescriptionId\x11potion.resistance\x03\x08duration\xD8\x04\x08\x04name\nresistance\0\x08\x04name\x0Ffire_resistance\x03\x08duration\xD8\x04\x03\x02id\x18\x03\tamplifier\0\x05\x06chance\0\0\x80?\x08\rdescriptionId\x15potion.fireResistance\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99?\x01\x0Ecan_always_eat\x01\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\x01\x0Eminecraft:foil\x01\x01\x19minecraft:stacked_by_data\x01\0" } ; + pub const ENCHANTED_GOLDEN_APPLE : Self = Self { id : 288 , registry_key : "minecraft:enchanted_golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\ron_use_action\x01\x08\x11using_converts_to\0\x08\rcooldown_type\0\x03\tnutrition\x08\x05\x13saturation_modifier\x9A\x99\x99?\x03\rcooldown_time\0\x01\x0Ecan_always_eat\x01\t\x07effects\n\x08\x03\tamplifier\x02\x03\x02id\x14\x08\x04name\x0Cregeneration\x08\rdescriptionId\x13potion.regeneration\x05\x06chance\0\0\x80?\x03\x08duration<\0\x03\tamplifier\x06\x03\x08duration\xF0\x01\x05\x06chance\0\0\x80?\x08\rdescriptionId\x11potion.absorption\x03\x02id,\x08\x04name\nabsorption\0\x03\tamplifier\0\x05\x06chance\0\0\x80?\x03\x08duration\xD8\x04\x08\rdescriptionId\x11potion.resistance\x03\x02id\x16\x08\x04name\nresistance\0\x05\x06chance\0\0\x80?\x03\tamplifier\0\x03\x08duration\xD8\x04\x03\x02id\x18\x08\x04name\x0Ffire_resistance\x08\rdescriptionId\x15potion.fireResistance\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\x01\x0Eminecraft:foil\x01\0" } ; pub const ENCHANTING_TABLE: Self = Self { id: 116, registry_key: "minecraft:enchanting_table", @@ -42157,7 +42178,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GLOW_BERRIES : Self = Self { id : 844 , registry_key : "minecraft:glow_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\x08\rcooldown_type\0\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x03\tnutrition\x04\0\n\x0Eminecraft:seed\x08\rplant_at_face\x04down\t\x08plant_at\x08\x04\ncave_vines\x1Ccave_vines_head_with_berries\x08\x0Bcrop_result\x14minecraft:cave_vines\x01\x1Aplant_at_any_solid_surface\x01\0\0" } ; + pub const GLOW_BERRIES : Self = Self { id : 844 , registry_key : "minecraft:glow_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x04\ncave_vines\x1Ccave_vines_head_with_berries\x08\x0Bcrop_result\x14minecraft:cave_vines\x01\x1Aplant_at_any_solid_surface\x01\x08\rplant_at_face\x04down\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x03\tnutrition\x04\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x03\ron_use_action\x01\x08\rcooldown_type\0\0\0" } ; pub const GLOW_FRAME: Self = Self { id: 665, registry_key: "minecraft:glow_frame", @@ -42256,7 +42277,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GOLDEN_APPLE : Self = Self { id : 287 , registry_key : "minecraft:golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\x01\x08\rcooldown_type\0\t\x07effects\n\x04\x03\x02id\x14\x08\rdescriptionId\x13potion.regeneration\x03\x08duration\n\x05\x06chance\0\0\x80?\x08\x04name\x0Cregeneration\x03\tamplifier\x02\0\x08\rdescriptionId\x11potion.absorption\x03\x02id,\x03\tamplifier\0\x03\x08duration\xF0\x01\x08\x04name\nabsorption\x05\x06chance\0\0\x80?\0\x03\rcooldown_time\0\x03\tnutrition\x08\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99?\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0" } ; + pub const GOLDEN_APPLE : Self = Self { id : 287 , registry_key : "minecraft:golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\x01\x08\rcooldown_type\0\t\x07effects\n\x04\x03\x08duration\n\x03\x02id\x14\x08\x04name\x0Cregeneration\x03\tamplifier\x02\x05\x06chance\0\0\x80?\x08\rdescriptionId\x13potion.regeneration\0\x03\x02id,\x05\x06chance\0\0\x80?\x08\rdescriptionId\x11potion.absorption\x03\x08duration\xF0\x01\x03\tamplifier\0\x08\x04name\nabsorption\0\x03\tnutrition\x08\x03\ron_use_action\x01\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99?\0\0" } ; pub const GOLDEN_AXE: Self = Self { id: 357, registry_key: "minecraft:golden_axe", @@ -42271,7 +42292,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GOLDEN_CARROT : Self = Self { id : 312 , registry_key : "minecraft:golden_carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x03\tnutrition\x0C\x05\x13saturation_modifier\x9A\x99\x99?\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const GOLDEN_CARROT : Self = Self { id : 312 , registry_key : "minecraft:golden_carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x0C\x05\x13saturation_modifier\x9A\x99\x99?\x08\x11using_converts_to\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\0\0" } ; pub const GOLDEN_CHESTPLATE: Self = Self { id: 384, registry_key: "minecraft:golden_chestplate", @@ -42342,7 +42363,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GOLDEN_SPEAR : Self = Self { id : 259 , registry_key : "minecraft:golden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x10minecraft:damage\x02\x05value\x01\0\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.golden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.golden_spear.attack_miss\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration33s?\x08\x04type\x06attack\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\x13\x01\0\x05\x0Fdamage_modifier\0\0\0\0\x05\rhitbox_margin\0\0\x80>\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_duration\xAA\0\x05\tmin_speed33\xA3@\0\x02\x05delay\x0E\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x13dismount_conditions\x05\tmin_speed\0\0PA\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_durationF\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\x11damage_multiplier333?\0\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durability<\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x16\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x16minecraft:golden_spear\0\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\t\x05items\n\x02\x08\x04name\x14minecraft:gold_ingot\0\0\0\n\x16minecraft:display_name\x08\x05value\x16item.golden_spear.name\0\t\titem_tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x05\x0Cmining_speed\0\0\x80?\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x03\x0Cuse_duration\x80\xE4\xAF\x01\x08\x0Ecreative_group\0\x01\x0Eliquid_clipped\0\x01\rhand_equipped\x01\x03\x11enchantable_value,\x01\x04foil\0\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x08\x10enchantable_slot\x0Bmelee_spear\x03\x06damage\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ngold_spear\0\0\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x03\x0Bframe_count\x02\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_sound\x15item.golden_spear.use\x05\x11movement_modifier\0\0\x80?\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\0\0" } ; + pub const GOLDEN_SPEAR : Self = Self { id : 259 , registry_key : "minecraft:golden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability<\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x16\0\n\x16minecraft:display_name\x08\x05value\x16item.golden_spear.name\0\n\x10minecraft:damage\x02\x05value\x01\0\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration33s?\x08\x04type\x06attack\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\rhitbox_margin\0\0\x80>\x05\x0Fdamage_modifier\0\0\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\x11damage_multiplier333?\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\x13\x01\x05\x12min_relative_speed33\x93@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x14knockback_conditions\x02\x0Cmax_duration\xAA\0\x05\tmin_speed33\xA3@\x05\x12min_relative_speed\0\0\0\0\0\n\x13dismount_conditions\x02\x0Cmax_durationF\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0PA\0\x02\x05delay\x0E\0\0\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.golden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.golden_spear.attack_miss\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_sound\x15item.golden_spear.use\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x16minecraft:golden_spear\0\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\t\x05items\n\x02\x08\x04name\x14minecraft:gold_ingot\0\0\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\0\n\x0Fitem_properties\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x0Eshould_despawn\x01\x01\x17can_destroy_in_creative\x01\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ngold_spear\0\0\x01\x0Fstacked_by_data\0\x03\x06damage\x02\x03\x11enchantable_value,\x01\x0Eliquid_clipped\0\x05\x0Cmining_speed\0\0\x80?\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11creative_category\x06\x01\x04foil\0\x01\x12hidden_in_commands\x02\x03\x0Bframe_count\x02\x01\rhand_equipped\x01\x08\x0Ecreative_group\0\x03\ruse_animation\0\0\t\titem_tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0" } ; pub const GOLDEN_SWORD: Self = Self { id: 354, registry_key: "minecraft:golden_sword", @@ -42406,7 +42427,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GRAY_BUNDLE : Self = Self { id : 269 , registry_key : "minecraft:gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x01\x0Eshould_despawn\x01\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x16bundle_gray_open_front\x08\x07default\x0Bbundle_gray\x08\x10bundle_open_back\x15bundle_gray_open_back\0\0\x01\x17can_destroy_in_creative\x01\x03\x11creative_category\x06\x03\x06damage\0\x01\x0Eliquid_clipped\0\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x03\ruse_animation\0\x03\x11enchantable_value\0\x01\x0Fstacked_by_data\0\x03\x0Emax_stack_size\x02\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\x01\x04foil\0\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\0\t\titem_tags\0\0\0" } ; + pub const GRAY_BUNDLE : Self = Self { id : 269 , registry_key : "minecraft:gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x01\x0Fstacked_by_data\0\x01\x04foil\0\x03\x11enchantable_value\0\x03\x0Cuse_duration\0\x03\x06damage\0\x01\x0Eallow_off_hand\0\x05\x0Cmining_speed\0\0\x80?\x03\ruse_animation\0\x08\x10enchantable_slot\x04none\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bbundle_gray\x08\x11bundle_open_front\x16bundle_gray_open_front\x08\x10bundle_open_back\x15bundle_gray_open_back\0\0\x01\x17can_destroy_in_creative\x01\x01\x0Eshould_despawn\x01\x03\x11creative_category\x06\x01\x12hidden_in_commands\x02\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x08\x0Ecreative_group\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; pub const GRAY_CANDLE: Self = Self { id: -420, registry_key: "minecraft:gray_candle", @@ -42498,7 +42519,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const GREEN_BUNDLE : Self = Self { id : 270 , registry_key : "minecraft:green_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\0\t\titem_tags\0\0\n\x0Fitem_properties\x05\x0Cmining_speed\0\0\x80?\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x17bundle_green_open_front\x08\x07default\x0Cbundle_green\x08\x10bundle_open_back\x16bundle_green_open_back\0\0\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x01\x04foil\0\x01\rhand_equipped\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x03\x06damage\0\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\x03\ruse_animation\0\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; + pub const GREEN_BUNDLE : Self = Self { id : 270 , registry_key : "minecraft:green_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x03\x11enchantable_value\0\x01\x0Eliquid_clipped\0\x01\x17can_destroy_in_creative\x01\x03\x06damage\0\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x16bundle_green_open_back\x08\x11bundle_open_front\x17bundle_green_open_front\x08\x07default\x0Cbundle_green\0\0\x05\x0Cmining_speed\0\0\x80?\x08\x10enchantable_slot\x04none\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x03\x0Cuse_duration\0\x03\x11creative_category\x06\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\0" } ; pub const GREEN_CANDLE: Self = Self { id: -426, registry_key: "minecraft:green_candle", @@ -42954,7 +42975,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const HONEY_BOTTLE : Self = Self { id : 633 , registry_key : "minecraft:honey_bottle" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\tnutrition\x0C\x05\x13saturation_modifier\xCD\xCC\xCC=\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\x0Cglass_bottle\x03\ron_use_action\x01\x01\x0Ecan_always_eat\x01\x08\rcooldown_type\0\t\x0Eremove_effects\x03\x02&\x03\rcooldown_time\0\0\x03\x16minecraft:use_durationP\x03\x18minecraft:max_stack_size \0" } ; + pub const HONEY_BOTTLE : Self = Self { id : 633 , registry_key : "minecraft:honey_bottle" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_durationP\n\x0Eminecraft:food\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x0C\x01\x0Ecan_always_eat\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\x0Cglass_bottle\x03\rcooldown_time\0\x08\rcooldown_type\0\t\x0Eremove_effects\x03\x02&\x03\ron_use_action\x01\0\x03\x18minecraft:max_stack_size \0" } ; pub const HONEYCOMB: Self = Self { id: 632, registry_key: "minecraft:honeycomb", @@ -43256,7 +43277,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const IRON_SPEAR : Self = Self { id : 260 , registry_key : "minecraft:iron_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_sound\x13item.iron_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x16minecraft:display_name\x08\x05value\x14item.iron_spear.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x14minecraft:iron_spear\0\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\0\t\x05items\n\x02\x08\x04name\x14minecraft:iron_ingot\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\n\x10minecraft:damage\x02\x05value\x03\0\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\xE1\0\x05\x12min_relative_speed33\x93@\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\x11damage_multiplier33s?\n\x13dismount_conditions\x05\tmin_speed\0\x000A\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_duration2\0\0\x05\rhitbox_margin\0\0\x80>\x05\x0Fdamage_modifier\0\0\0\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x02\x05delay\x0C\0\n\x14knockback_conditions\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\x87\0\x05\x12min_relative_speed\0\0\0\0\0\0\0\n\x12minecraft:cooldown\x05\x08duration33s?\x08\x04type\x06attack\x08\x08category\x05spear\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0E\0\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x01\rhand_equipped\x01\x03\x11enchantable_value\x1C\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x0Fstacked_by_data\0\x08\x10enchantable_slot\x0Bmelee_spear\x08\x0Ecreative_group\0\x03\x06damage\x06\x03\x11creative_category\x06\x01\x04foil\0\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\niron_spear\0\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x01\x0Eallow_off_hand\0\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Aitem.iron_spear.attack_hit\x08\x0Battack_miss\x1Bitem.iron_spear.attack_miss\0\n\x14minecraft:durability\x03\x0Emax_durability\xF4\x03\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\t\titem_tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\0" } ; + pub const IRON_SPEAR : Self = Self { id : 260 , registry_key : "minecraft:iron_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x14minecraft:iron_spear\0\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\t\x05items\n\x02\x08\x04name\x14minecraft:iron_ingot\0\0\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Bitem.iron_spear.attack_miss\x08\nattack_hit\x1Aitem.iron_spear.attack_hit\0\t\titem_tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0E\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x14minecraft:durability\x03\x0Emax_durability\xF4\x03\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\0\n\x16minecraft:display_name\x08\x05value\x14item.iron_spear.name\0\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x03\x06damage\x06\x01\x17can_destroy_in_creative\x01\x01\x0Fstacked_by_data\0\x03\x11enchantable_value\x1C\x01\x0Eallow_off_hand\0\x01\rhand_equipped\x01\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x01\x12hidden_in_commands\x02\x05\x0Cmining_speed\0\0\x80?\x03\x0Bframe_count\x02\x03\x0Cuse_duration\x80\xE4\xAF\x01\x08\x10enchantable_slot\x0Bmelee_spear\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\x01\x04foil\0\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\niron_spear\0\0\0\n\x10minecraft:damage\x02\x05value\x03\0\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\xE1\0\x05\x12min_relative_speed33\x93@\0\x05\x11damage_multiplier33s?\x05\x0Fdamage_modifier\0\0\0\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\n\x13dismount_conditions\x02\x0Cmax_duration2\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\x000A\0\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\x87\0\0\x02\x05delay\x0C\0\0\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x13item.iron_spear.use\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration33s?\x08\x04type\x06attack\0\0" } ; pub const IRON_SWORD: Self = Self { id: 338, registry_key: "minecraft:iron_sword", @@ -43901,7 +43922,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const LIGHT_BLUE_BUNDLE : Self = Self { id : 271 , registry_key : "minecraft:light_blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\n\x0Fitem_properties\x01\rhand_equipped\0\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x08\x10enchantable_slot\x04none\x03\ruse_animation\0\x01\x12hidden_in_commands\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\0\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x03\x11enchantable_value\0\x08\x0Ecreative_group\0\x03\x06damage\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x1Cbundle_light_blue_open_front\x08\x07default\x11bundle_light_blue\x08\x10bundle_open_back\x1Bbundle_light_blue_open_back\0\0\x01\x04foil\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; + pub const LIGHT_BLUE_BUNDLE : Self = Self { id : 271 , registry_key : "minecraft:light_blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x0Fitem_properties\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x1Cbundle_light_blue_open_front\x08\x07default\x11bundle_light_blue\x08\x10bundle_open_back\x1Bbundle_light_blue_open_back\0\0\x01\x0Eshould_despawn\x01\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\x03\x0Cuse_duration\0\x03\x0Bframe_count\x02\x08\x0Ecreative_group\0\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x05\x0Cmining_speed\0\0\x80?\x03\x11enchantable_value\0\x03\x11creative_category\x06\x01\x12hidden_in_commands\x02\x01\x04foil\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x01\rhand_equipped\0\x08\x10enchantable_slot\x04none\x01\x17can_destroy_in_creative\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\t\titem_tags\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; pub const LIGHT_BLUE_CANDLE: Self = Self { id: -416, registry_key: "minecraft:light_blue_candle", @@ -43993,7 +44014,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const LIGHT_GRAY_BUNDLE : Self = Self { id : 272 , registry_key : "minecraft:light_gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x03\x06damage\0\x01\rhand_equipped\0\x03\x11enchantable_value\0\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x01\x0Eshould_despawn\x01\x08\x0Ecreative_group\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x1Cbundle_light_gray_open_front\x08\x10bundle_open_back\x1Bbundle_light_gray_open_back\x08\x07default\x11bundle_light_gray\0\0\x01\x0Eliquid_clipped\0\x01\x0Fstacked_by_data\0\x05\x0Cmining_speed\0\0\x80?\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\0" } ; + pub const LIGHT_GRAY_BUNDLE : Self = Self { id : 272 , registry_key : "minecraft:light_gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x0Fitem_properties\x01\x04foil\0\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x03\x11creative_category\x06\x05\x0Cmining_speed\0\0\x80?\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x03\x0Cuse_duration\0\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\x01\x0Eallow_off_hand\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x11bundle_light_gray\x08\x11bundle_open_front\x1Cbundle_light_gray_open_front\x08\x10bundle_open_back\x1Bbundle_light_gray_open_back\0\0\x03\x06damage\0\x01\x0Eliquid_clipped\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\0\0" } ; pub const LIGHT_GRAY_CANDLE: Self = Self { id: -421, registry_key: "minecraft:light_gray_candle", @@ -44106,7 +44127,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const LIME_BUNDLE : Self = Self { id : 273 , registry_key : "minecraft:lime_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x01\x04foil\0\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x03\ruse_animation\0\x08\x10enchantable_slot\x04none\x01\x0Eliquid_clipped\0\x05\x0Cmining_speed\0\0\x80?\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x03\x11creative_category\x06\x03\x06damage\0\x03\x0Cuse_duration\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_lime_open_back\x08\x07default\x0Bbundle_lime\x08\x11bundle_open_front\x16bundle_lime_open_front\0\0\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\0\t\titem_tags\0\0\0" } ; + pub const LIME_BUNDLE : Self = Self { id : 273 , registry_key : "minecraft:lime_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n\x0Fitem_properties\x01\x04foil\0\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bbundle_lime\x08\x11bundle_open_front\x16bundle_lime_open_front\x08\x10bundle_open_back\x15bundle_lime_open_back\0\0\x03\x0Bframe_count\x02\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x01\x0Fstacked_by_data\0\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\x01\rhand_equipped\0\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; pub const LIME_CANDLE: Self = Self { id: -418, registry_key: "minecraft:lime_candle", @@ -44303,7 +44324,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const MAGENTA_BUNDLE : Self = Self { id : 274 , registry_key : "minecraft:magenta_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n\x0Fitem_properties\x03\x11enchantable_value\0\x01\x0Eshould_despawn\x01\x08\x10enchantable_slot\x04none\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Ebundle_magenta\x08\x11bundle_open_front\x19bundle_magenta_open_front\x08\x10bundle_open_back\x18bundle_magenta_open_back\0\0\x03\x0Cuse_duration\0\x01\x0Eliquid_clipped\0\x03\x0Bframe_count\x02\x03\ruse_animation\0\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x03\x06damage\0\x01\x0Eallow_off_hand\0\x01\x04foil\0\x03\x11creative_category\x06\x01\rhand_equipped\0\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x01\x17can_destroy_in_creative\x01\x05\x0Cmining_speed\0\0\x80?\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; + pub const MAGENTA_BUNDLE : Self = Self { id : 274 , registry_key : "minecraft:magenta_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x01\x0Eliquid_clipped\0\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x18bundle_magenta_open_back\x08\x11bundle_open_front\x19bundle_magenta_open_front\x08\x07default\x0Ebundle_magenta\0\0\x01\x12hidden_in_commands\x02\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x05\x0Cmining_speed\0\0\x80?\x03\x0Cuse_duration\0\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x02\x01\x17can_destroy_in_creative\x01\x01\rhand_equipped\0\x03\x06damage\0\x08\x0Ecreative_group\0\x03\ruse_animation\0\x08\x10enchantable_slot\x04none\x03\x11creative_category\x06\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0" } ; pub const MAGENTA_CANDLE: Self = Self { id: -415, registry_key: "minecraft:magenta_candle", @@ -44598,8 +44619,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const MELON_SEEDS : Self = Self { id : 322 , registry_key : "minecraft:melon_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\x12minecraft:farmland\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x14minecraft:melon_stem\0\0" } ; - pub const MELON_SLICE : Self = Self { id : 301 , registry_key : "minecraft:melon_slice" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\tnutrition\x04\x03\rcooldown_time\0\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\0\0" } ; + pub const MELON_SEEDS : Self = Self { id : 322 , registry_key : "minecraft:melon_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\x0Bcrop_result\x14minecraft:melon_stem\0\0" } ; + pub const MELON_SLICE : Self = Self { id : 301 , registry_key : "minecraft:melon_slice" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x03\tnutrition\x04\x05\x13saturation_modifier\x9A\x99\x99>\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x08\rcooldown_type\0\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; pub const MELON_STEM: Self = Self { id: 105, registry_key: "minecraft:melon_stem", @@ -44817,7 +44838,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const MUSHROOM_STEW : Self = Self { id : 289 , registry_key : "minecraft:mushroom_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\x11using_converts_to\x04bowl\x01\x0Ecan_always_eat\0\x03\tnutrition\x0C\x05\x13saturation_modifier\x9A\x99\x19?\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x18minecraft:max_stack_size\x02\0" } ; + pub const MUSHROOM_STEW : Self = Self { id : 289 , registry_key : "minecraft:mushroom_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x03\rcooldown_time\0\x08\x11using_converts_to\x04bowl\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x03\tnutrition\x0C\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\0" } ; pub const MUSIC_DISC_11: Self = Self { id: 583, registry_key: "minecraft:music_disc_11", @@ -44965,7 +44986,7 @@ impl BedrockItem { component_based: true, definition_components: b"\n\0\0", }; - pub const MUTTON : Self = Self { id : 589 , registry_key : "minecraft:mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\0\0" } ; + pub const MUTTON : Self = Self { id : 589 , registry_key : "minecraft:mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x04\x08\x11using_converts_to\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\0\x03\x16minecraft:use_duration@\0" } ; pub const MYCELIUM: Self = Self { id: 110, registry_key: "minecraft:mycelium", @@ -45057,7 +45078,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const NETHER_WART : Self = Self { id : 323 , registry_key : "minecraft:nether_wart" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x15minecraft:nether_wart\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\tsoul_sand\0\0" } ; + pub const NETHER_WART : Self = Self { id : 323 , registry_key : "minecraft:nether_wart" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x15minecraft:nether_wart\t\x08plant_at\x08\x02\tsoul_sand\x08\rplant_at_face\x02up\0\0" } ; pub const NETHER_WART_BLOCK: Self = Self { id: 214, registry_key: "minecraft:nether_wart_block", @@ -45163,7 +45184,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const NETHERITE_SPEAR : Self = Self { id : 261 , registry_key : "minecraft:netherite_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x0Fitem_properties\x08\x0Ecreative_group\0\x01\x04foil\0\x08\x10enchantable_slot\x0Bmelee_spear\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x01\x0Eliquid_clipped\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x17can_destroy_in_creative\x01\x01\x0Eallow_off_hand\0\x03\x06damage\n\x01\rhand_equipped\x01\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x03\x11creative_category\x06\x03\x0Emax_stack_size\x02\x03\ruse_animation\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Fnetherite_spear\0\0\x03\x11enchantable_value\x1E\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\x0Fdamage_modifier\0\0\0\0\n\x13dismount_conditions\x02\x0Cmax_duration2\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0\x10A\0\x05\x11damage_multiplier\x9A\x99\x99?\x05\rhitbox_margin\0\0\x80>\n\x11damage_conditions\x02\x0Cmax_duration\xAF\0\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x02\x05delay\x08\0\n\x14knockback_conditions\x02\x0Cmax_durationn\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\0\n\x15minecraft:enchantable\x01\x05value\x0F\x08\x04slot\x0Bmelee_spear\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x18minecraft:swing_duration\x05\x05value33\x93?\0\n\x14minecraft:durability\x03\x0Emax_durability\xDC\x1F\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration33\x93?\x08\x04type\x06attack\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\t\titem_tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x18item.netherite_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss item.netherite_spear.attack_miss\x08\nattack_hit\x1Fitem.netherite_spear.attack_hit\0\n\x10minecraft:damage\x02\x05value\x05\0\0\n\x16minecraft:display_name\x08\x05value\x19item.netherite_spear.name\0\n\x18minecraft:fire_resistant\x01\x05value\x01\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_spear\0\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\0\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_ingot\0\n\rrepair_amount\x08\nexpression\x1Bquery.max_durability * 0.25\x02\x07version\r\0\0\0\0\0" } ; + pub const NETHERITE_SPEAR : Self = Self { id : 261 , registry_key : "minecraft:netherite_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_spear\0\0\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_ingot\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x08\x04type\x06attack\x05\x08duration33\x93?\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0F\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\xDC\x1F\0\n\x10minecraft:damage\x02\x05value\x05\0\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\0\n\x18minecraft:swing_duration\x05\x05value33\x93?\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss item.netherite_spear.attack_miss\x08\nattack_hit\x1Fitem.netherite_spear.attack_hit\0\t\titem_tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x03\x06damage\n\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x11creative_category\x06\x03\x11enchantable_value\x1E\x03\x0Bframe_count\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Fnetherite_spear\0\0\x08\x10enchantable_slot\x0Bmelee_spear\x01\rhand_equipped\x01\x05\x0Cmining_speed\0\0\x80?\x03\x0Emax_stack_size\x02\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\x08\x0Ecreative_group\0\x01\x04foil\0\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\0\n\x16minecraft:display_name\x08\x05value\x19item.netherite_spear.name\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\x0Fdamage_modifier\0\0\0\0\n\x14knockback_conditions\x05\tmin_speed33\xA3@\x02\x0Cmax_durationn\0\x05\x12min_relative_speed\0\0\0\0\0\x05\x11damage_multiplier\x9A\x99\x99?\n\x11damage_conditions\x02\x0Cmax_duration\xAF\0\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0\x10A\x02\x0Cmax_duration2\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x02\x05delay\x08\0\x05\rhitbox_margin\0\0\x80>\0\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_sound\x18item.netherite_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\x01\x0Femit_vibrations\0\0\n\x18minecraft:fire_resistant\x01\x05value\x01\0\0" } ; pub const NETHERITE_SWORD: Self = Self { id: 646, registry_key: "minecraft:netherite_sword", @@ -45360,7 +45381,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const OMINOUS_TRIAL_KEY : Self = Self { id : 282 , registry_key : "minecraft:ominous_trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:display_name\x08\x05value\x1Bitem.ominous_trial_key.name\0\t\titem_tags\0\0\n\x0Fitem_properties\x03\x06damage\0\x03\x0Cuse_duration\0\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x03\x11creative_category\x08\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x11ominous_trial_key\0\0\x01\rhand_equipped\0\x08\x10enchantable_slot\x04none\x01\x04foil\0\x03\x0Emax_stack_size\x80\x01\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\0\0" } ; + pub const OMINOUS_TRIAL_KEY : Self = Self { id : 282 , registry_key : "minecraft:ominous_trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x16minecraft:display_name\x08\x05value\x1Bitem.ominous_trial_key.name\0\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x01\x0Fstacked_by_data\0\x01\x0Eliquid_clipped\0\x03\x0Cuse_duration\0\x03\ruse_animation\0\x01\x12hidden_in_commands\x02\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\x01\x17can_destroy_in_creative\x01\x03\x06damage\0\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x11ominous_trial_key\0\0\x01\x04foil\0\x03\x11creative_category\x08\x03\x0Emax_stack_size\x80\x01\x05\x0Cmining_speed\0\0\x80?\0\0" } ; pub const OPEN_EYEBLOSSOM: Self = Self { id: -1018, registry_key: "minecraft:open_eyeblossom", @@ -45368,7 +45389,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const ORANGE_BUNDLE : Self = Self { id : 275 , registry_key : "minecraft:orange_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x0Fitem_properties\x01\x0Eliquid_clipped\0\x05\x0Cmining_speed\0\0\x80?\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x01\x0Fstacked_by_data\0\x08\x10enchantable_slot\x04none\x03\x0Cuse_duration\0\x01\x0Eshould_despawn\x01\x08\x0Ecreative_group\0\x01\x04foil\0\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x17bundle_orange_open_back\x08\x11bundle_open_front\x18bundle_orange_open_front\x08\x07default\rbundle_orange\0\0\x03\x11enchantable_value\0\x03\x06damage\0\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x03\x0Bframe_count\x02\x03\x11creative_category\x06\x01\x12hidden_in_commands\x02\0\t\titem_tags\0\0\0" } ; + pub const ORANGE_BUNDLE : Self = Self { id : 275 , registry_key : "minecraft:orange_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x03\x11enchantable_value\0\x08\x10enchantable_slot\x04none\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x01\x0Eallow_off_hand\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rbundle_orange\x08\x10bundle_open_back\x17bundle_orange_open_back\x08\x11bundle_open_front\x18bundle_orange_open_front\0\0\x03\x06damage\0\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x01\x04foil\0\x01\rhand_equipped\0\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; pub const ORANGE_CANDLE: Self = Self { id: -414, registry_key: "minecraft:orange_candle", @@ -45887,7 +45908,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PINK_BUNDLE : Self = Self { id : 276 , registry_key : "minecraft:pink_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n\x0Fitem_properties\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_pink_open_back\x08\x07default\x0Bbundle_pink\x08\x11bundle_open_front\x16bundle_pink_open_front\0\0\x01\x17can_destroy_in_creative\x01\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\x05\x0Cmining_speed\0\0\x80?\x08\x10enchantable_slot\x04none\x01\x0Eshould_despawn\x01\x03\x11enchantable_value\0\x03\ruse_animation\0\x03\x06damage\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x03\x0Emax_stack_size\x02\x03\x0Bframe_count\x02\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\x01\x04foil\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\t\rallowed_items\0\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; + pub const PINK_BUNDLE : Self = Self { id : 276 , registry_key : "minecraft:pink_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x01\x12hidden_in_commands\x02\x03\x0Bframe_count\x02\x01\x0Eshould_despawn\x01\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_pink_open_back\x08\x07default\x0Bbundle_pink\x08\x11bundle_open_front\x16bundle_pink_open_front\0\0\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x03\x11enchantable_value\0\x03\x0Cuse_duration\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\0\x01\x04foil\0\x08\x0Ecreative_group\0\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x04none\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; pub const PINK_CANDLE: Self = Self { id: -419, registry_key: "minecraft:pink_candle", @@ -46021,7 +46042,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PITCHER_POD : Self = Self { id : 326 , registry_key : "minecraft:pitcher_pod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x16minecraft:pitcher_crop\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0" } ; + pub const PITCHER_POD : Self = Self { id : 326 , registry_key : "minecraft:pitcher_pod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\x12minecraft:farmland\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x16minecraft:pitcher_crop\0\0" } ; pub const PLANKS: Self = Self { id: 817, registry_key: "minecraft:planks", @@ -46057,7 +46078,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const POISONOUS_POTATO : Self = Self { id : 311 , registry_key : "minecraft:poisonous_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x03\ron_use_action\x01\x03\tnutrition\x04\x08\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x99>\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\t\x07effects\n\x02\x03\x02id&\x08\x04name\x06poison\x03\x08duration\n\x05\x06chance\x9A\x99\x19?\x03\tamplifier\0\x08\rdescriptionId\rpotion.poison\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const POISONOUS_POTATO : Self = Self { id : 311 , registry_key : "minecraft:poisonous_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\t\x07effects\n\x02\x08\x04name\x06poison\x03\x08duration\n\x03\x02id&\x05\x06chance\x9A\x99\x19?\x03\tamplifier\0\x08\rdescriptionId\rpotion.poison\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\ron_use_action\x01\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x04\0\0" } ; pub const POLAR_BEAR_SPAWN_EGG: Self = Self { id: 506, registry_key: "minecraft:polar_bear_spawn_egg", @@ -46394,7 +46415,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PORKCHOP : Self = Self { id : 291 , registry_key : "minecraft:porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x03\rcooldown_time\0\x03\tnutrition\x06\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x99>\0\x03\x16minecraft:use_duration@\0" } ; + pub const PORKCHOP : Self = Self { id : 291 , registry_key : "minecraft:porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x06\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\0" } ; pub const PORTAL: Self = Self { id: 90, registry_key: "minecraft:portal", @@ -46402,7 +46423,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const POTATO : Self = Self { id : 309 , registry_key : "minecraft:potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\x03\tnutrition\x02\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\x0Bcrop_result\x12minecraft:potatoes\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const POTATO : Self = Self { id : 309 , registry_key : "minecraft:potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x08\rcooldown_type\0\x03\tnutrition\x02\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x12minecraft:potatoes\t\x08plant_at\x08\x02\x12minecraft:farmland\0\x03\x16minecraft:use_duration@\0" } ; pub const POTATOES: Self = Self { id: 142, registry_key: "minecraft:potatoes", @@ -46536,7 +46557,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PUFFERFISH : Self = Self { id : 296 , registry_key : "minecraft:pufferfish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\rcooldown_type\0\t\x07effects\n\x06\x05\x06chance\0\0\x80?\x08\rdescriptionId\rpotion.poison\x08\x04name\x06poison\x03\tamplifier\x02\x03\x08durationx\x03\x02id&\0\x03\x08duration\x1E\x05\x06chance\0\0\x80?\x03\x02id\x12\x03\tamplifier\0\x08\rdescriptionId\x10potion.confusion\x08\x04name\x06nausea\0\x03\tamplifier\x04\x08\rdescriptionId\rpotion.hunger\x03\x02id\"\x03\x08duration\x1E\x08\x04name\x06hunger\x05\x06chance\0\0\x80?\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x02\0\x03\x16minecraft:use_duration@\0" } ; + pub const PUFFERFISH : Self = Self { id : 296 , registry_key : "minecraft:pufferfish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x08\x11using_converts_to\0\x03\rcooldown_time\0\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCC\xCC=\x01\x0Ecan_always_eat\0\x03\tnutrition\x02\t\x07effects\n\x06\x08\rdescriptionId\rpotion.poison\x03\x02id&\x08\x04name\x06poison\x05\x06chance\0\0\x80?\x03\tamplifier\x02\x03\x08durationx\0\x03\tamplifier\0\x08\x04name\x06nausea\x05\x06chance\0\0\x80?\x08\rdescriptionId\x10potion.confusion\x03\x08duration\x1E\x03\x02id\x12\0\x08\x04name\x06hunger\x03\tamplifier\x04\x08\rdescriptionId\rpotion.hunger\x05\x06chance\0\0\x80?\x03\x08duration\x1E\x03\x02id\"\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0" } ; pub const PUFFERFISH_BUCKET: Self = Self { id: 399, registry_key: "minecraft:pufferfish_bucket", @@ -46558,8 +46579,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PUMPKIN_PIE : Self = Self { id : 313 , registry_key : "minecraft:pumpkin_pie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x03\tnutrition\x10\0\0" } ; - pub const PUMPKIN_SEEDS : Self = Self { id : 321 , registry_key : "minecraft:pumpkin_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x16minecraft:pumpkin_stem\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0" } ; + pub const PUMPKIN_PIE : Self = Self { id : 313 , registry_key : "minecraft:pumpkin_pie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x10\x08\x11using_converts_to\0\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x99>\0\x03\x16minecraft:use_duration@\0" } ; + pub const PUMPKIN_SEEDS : Self = Self { id : 321 , registry_key : "minecraft:pumpkin_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x16minecraft:pumpkin_stem\0\0" } ; pub const PUMPKIN_STEM: Self = Self { id: 104, registry_key: "minecraft:pumpkin_stem", @@ -46567,7 +46588,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const PURPLE_BUNDLE : Self = Self { id : 277 , registry_key : "minecraft:purple_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x0Fitem_properties\x01\x04foil\0\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\x01\x17can_destroy_in_creative\x01\x01\x0Fstacked_by_data\0\x03\x11creative_category\x06\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x04none\x03\ruse_animation\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x17bundle_purple_open_back\x08\x11bundle_open_front\x18bundle_purple_open_front\x08\x07default\rbundle_purple\0\0\x01\rhand_equipped\0\x01\x0Eshould_despawn\x01\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x03\x0Cuse_duration\0\x03\x06damage\0\x03\x0Emax_stack_size\x02\x01\x12hidden_in_commands\x02\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\0" } ; + pub const PURPLE_BUNDLE : Self = Self { id : 277 , registry_key : "minecraft:purple_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\x03\x06damage\0\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x17bundle_purple_open_back\x08\x11bundle_open_front\x18bundle_purple_open_front\x08\x07default\rbundle_purple\0\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x01\x04foil\0\x03\x0Bframe_count\x02\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\x01\x0Fstacked_by_data\0\x03\x11creative_category\x06\x01\x12hidden_in_commands\x02\x03\ruse_animation\0\x03\x0Cuse_duration\0\x01\x0Eallow_off_hand\0\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\0\0" } ; pub const PURPLE_CANDLE: Self = Self { id: -423, registry_key: "minecraft:purple_candle", @@ -46750,7 +46771,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const RABBIT : Self = Self { id : 317 , registry_key : "minecraft:rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x08\x11using_converts_to\0\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x06\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0" } ; + pub const RABBIT : Self = Self { id : 317 , registry_key : "minecraft:rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x03\tnutrition\x06\x03\ron_use_action\x01\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\rcooldown_time\0\0\x03\x16minecraft:use_duration@\0" } ; pub const RABBIT_FOOT: Self = Self { id: 567, registry_key: "minecraft:rabbit_foot", @@ -46772,7 +46793,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const RABBIT_STEW : Self = Self { id : 319 , registry_key : "minecraft:rabbit_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\x08\x11using_converts_to\x04bowl\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x19?\x03\tnutrition\x14\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0" } ; + pub const RABBIT_STEW : Self = Self { id : 319 , registry_key : "minecraft:rabbit_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x08\x11using_converts_to\x04bowl\x03\tnutrition\x14\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\x03\x18minecraft:max_stack_size\x02\0" } ; pub const RAIL: Self = Self { id: 66, registry_key: "minecraft:rail", @@ -46850,7 +46871,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const RED_BUNDLE : Self = Self { id : 278 , registry_key : "minecraft:red_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x03\ruse_animation\0\x01\x12hidden_in_commands\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\0\x01\rhand_equipped\0\x03\x0Cuse_duration\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x15bundle_red_open_front\x08\x07default\nbundle_red\x08\x10bundle_open_back\x14bundle_red_open_back\0\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x08\x10enchantable_slot\x04none\x01\x04foil\0\x03\x11creative_category\x06\x03\x0Bframe_count\x02\x08\x0Ecreative_group\0\x01\x17can_destroy_in_creative\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0" } ; + pub const RED_BUNDLE : Self = Self { id : 278 , registry_key : "minecraft:red_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x03\x11creative_category\x06\x01\x0Fstacked_by_data\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x01\x04foil\0\x08\x10enchantable_slot\x04none\x03\ruse_animation\0\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x15bundle_red_open_front\x08\x07default\nbundle_red\x08\x10bundle_open_back\x14bundle_red_open_back\0\0\x03\x11enchantable_value\0\x01\x17can_destroy_in_creative\x01\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x01\rhand_equipped\0\x03\x0Bframe_count\x02\x01\x0Eallow_off_hand\0\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; pub const RED_CANDLE: Self = Self { id: -427, registry_key: "minecraft:red_candle", @@ -47194,7 +47215,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const ROTTEN_FLESH : Self = Self { id : 306 , registry_key : "minecraft:rotten_flesh" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\t\x07effects\n\x02\x08\rdescriptionId\rpotion.hunger\x05\x06chance\xCD\xCCL?\x03\tamplifier\0\x03\x08duration<\x08\x04name\x06hunger\x03\x02id\"\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x08\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0" } ; + pub const ROTTEN_FLESH : Self = Self { id : 306 , registry_key : "minecraft:rotten_flesh" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\t\x07effects\n\x02\x03\x02id\"\x03\tamplifier\0\x08\x04name\x06hunger\x08\rdescriptionId\rpotion.hunger\x03\x08duration<\x05\x06chance\xCD\xCCL?\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\tnutrition\x08\0\0" } ; pub const SADDLE: Self = Self { id: 403, registry_key: "minecraft:saddle", @@ -47202,7 +47223,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const SALMON : Self = Self { id : 294 , registry_key : "minecraft:salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\tnutrition\x04\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\0" } ; + pub const SALMON : Self = Self { id : 294 , registry_key : "minecraft:salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x08\rcooldown_type\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x04\x03\ron_use_action\x01\0\0" } ; pub const SALMON_BUCKET: Self = Self { id: 397, registry_key: "minecraft:salmon_bucket", @@ -47763,7 +47784,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const SPIDER_EYE : Self = Self { id : 307 , registry_key : "minecraft:spider_eye" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCCL?\x08\x11using_converts_to\0\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\tnutrition\x04\t\x07effects\n\x02\x08\x04name\x06poison\x03\x02id&\x03\x08duration\n\x03\tamplifier\0\x08\rdescriptionId\rpotion.poison\x05\x06chance\0\0\x80?\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0" } ; + pub const SPIDER_EYE : Self = Self { id : 307 , registry_key : "minecraft:spider_eye" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\t\x07effects\n\x02\x03\x02id&\x08\rdescriptionId\rpotion.poison\x03\x08duration\n\x08\x04name\x06poison\x05\x06chance\0\0\x80?\x03\tamplifier\0\0\x08\x11using_converts_to\0\x03\rcooldown_time\0\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCCL?\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x03\tnutrition\x04\x08\rcooldown_type\0\0\0" } ; pub const SPIDER_SPAWN_EGG: Self = Self { id: 479, registry_key: "minecraft:spider_spawn_egg", @@ -48128,7 +48149,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const STONE_SPEAR : Self = Self { id : 262 , registry_key : "minecraft:stone_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\n\x15minecraft:enchantable\x01\x05value\x05\x08\x04slot\x0Bmelee_spear\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x15minecraft:stone_spear\0\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\t\x05items\n\x02\x08\x04tags,q.all_tags('minecraft:stone_tool_materials')\0\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:display_name\x08\x05value\x15item.stone_spear.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:swing_duration\x05\x05value\0\0@?\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x0Fitem_properties\x03\x0Cuse_duration\x80\xE4\xAF\x01\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11enchantable_value\n\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bstone_spear\0\0\x01\x0Fstacked_by_data\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x01\x04foil\0\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\x03\x0Bframe_count\x02\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x03\x06damage\x04\x01\rhand_equipped\x01\x03\ruse_animation\0\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x08\x04type\x06attack\x05\x08duration\0\0@?\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\x84\x02\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_sound\x14item.stone_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\x01\x0Femit_vibrations\0\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Bitem.stone_spear.attack_hit\x08\x0Battack_miss\x1Citem.stone_spear.attack_miss\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x02\x05delay\x0E\0\n\x13dismount_conditions\x05\tmin_speed\0\0PA\x02\x0Cmax_durationZ\0\x05\x12min_relative_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\x0Fdamage_modifier\0\0\0\0\x05\rhitbox_margin\0\0\x80>\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\x13\x01\0\n\x14knockback_conditions\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\xB4\0\x05\x12min_relative_speed\0\0\0\0\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x05\x11damage_multiplier\x85\xEBQ?\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\0" } ; + pub const STONE_SPEAR : Self = Self { id : 262 , registry_key : "minecraft:stone_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x14knockback_conditions\x02\x0Cmax_duration\xB4\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0PA\x02\x0Cmax_durationZ\0\0\n\x11damage_conditions\x02\x0Cmax_duration\x13\x01\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x05\x0Fdamage_modifier\0\0\0\0\x05\x11damage_multiplier\x85\xEBQ?\x02\x05delay\x0E\0\0\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Citem.stone_spear.attack_miss\x08\nattack_hit\x1Bitem.stone_spear.attack_hit\0\n\x0Fitem_properties\x01\rhand_equipped\x01\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x08\x10enchantable_slot\x0Bmelee_spear\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x17can_destroy_in_creative\x01\x03\x06damage\x04\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\n\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x01\x04foil\0\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x02\x03\ruse_animation\0\x03\x0Bframe_count\x02\x05\x0Cmining_speed\0\0\x80?\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bstone_spear\0\0\x03\x11creative_category\x06\0\n\x14minecraft:durability\x03\x0Emax_durability\x84\x02\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\0\n\x18minecraft:swing_duration\x05\x05value\0\0@?\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\n\x16minecraft:display_name\x08\x05value\x15item.stone_spear.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration\0\0@?\x08\x04type\x06attack\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x05\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x15minecraft:stone_spear\0\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\t\x05items\n\x02\x08\x04tags,q.all_tags('minecraft:stone_tool_materials')\0\0\0\t\titem_tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x14item.stone_spear.use\0\0" } ; pub const STONE_STAIRS: Self = Self { id: 67, registry_key: "minecraft:stone_stairs", @@ -48479,8 +48500,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const SUSPICIOUS_STEW : Self = Self { id : 631 , registry_key : "minecraft:suspicious_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x18minecraft:max_stack_size\x02\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x0C\x01\x0Ecan_always_eat\x01\x08\rcooldown_type\0\x08\x11using_converts_to\x04bowl\x05\x13saturation_modifier\x9A\x99\x19?\x03\rcooldown_time\0\x03\ron_use_action\x02\0\x03\x16minecraft:use_duration@\0" } ; - pub const SWEET_BERRIES : Self = Self { id : 316 , registry_key : "minecraft:sweet_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x1Aminecraft:sweet_berry_bush\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x14\x08farmland\x05grass\x04dirt\x0Bcoarse_dirt\x06podzol\nmoss_block\x08mycelium\x03mud\x14muddy_mangrove_roots\x0Fdirt_with_roots\x08\rplant_at_face\x02up\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x03\tnutrition\x04\x05\x13saturation_modifier\x9A\x99\x99>\x03\rcooldown_time\0\x08\rcooldown_type\0\x08\x11using_converts_to\0\0\0" } ; + pub const SUSPICIOUS_STEW : Self = Self { id : 631 , registry_key : "minecraft:suspicious_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\x03\x18minecraft:max_stack_size\x02\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\tnutrition\x0C\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\x01\x03\ron_use_action\x02\x05\x13saturation_modifier\x9A\x99\x19?\x08\x11using_converts_to\x04bowl\x03\rcooldown_time\0\0\0" } ; + pub const SWEET_BERRIES : Self = Self { id : 316 , registry_key : "minecraft:sweet_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:food\x03\rcooldown_time\0\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x1Aminecraft:sweet_berry_bush\t\x08plant_at\x08\x14\x08farmland\x05grass\x04dirt\x0Bcoarse_dirt\x06podzol\nmoss_block\x08mycelium\x03mud\x14muddy_mangrove_roots\x0Fdirt_with_roots\x01\x1Aplant_at_any_solid_surface\0\0\0" } ; pub const SWEET_BERRY_BUSH: Self = Self { id: -207, registry_key: "minecraft:sweet_berry_bush", @@ -48579,7 +48600,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const TORCHFLOWER_SEEDS : Self = Self { id : 325 , registry_key : "minecraft:torchflower_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\x12minecraft:farmland\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x1Aminecraft:torchflower_crop\x08\rplant_at_face\x02up\0\0" } ; + pub const TORCHFLOWER_SEEDS : Self = Self { id : 325 , registry_key : "minecraft:torchflower_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x1Aminecraft:torchflower_crop\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0" } ; pub const TOTEM_OF_UNDYING: Self = Self { id: 607, registry_key: "minecraft:totem_of_undying", @@ -48608,7 +48629,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const TRIAL_KEY : Self = Self { id : 283 , registry_key : "minecraft:trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x16minecraft:display_name\x08\x05value\x13item.trial_key.name\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x80\x01\x01\x0Eallow_off_hand\0\x03\x06damage\0\x08\x10enchantable_slot\x04none\x08\x0Ecreative_group\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ttrial_key\0\0\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x03\x0Cuse_duration\0\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x03\x11enchantable_value\0\x03\x11creative_category\x08\x01\x12hidden_in_commands\x02\x01\x04foil\0\x03\x0Bframe_count\x02\0\0" } ; + pub const TRIAL_KEY : Self = Self { id : 283 , registry_key : "minecraft:trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\t\titem_tags\0\0\n\x0Fitem_properties\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x80\x01\x03\x0Bframe_count\x02\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ttrial_key\0\0\x03\x0Cuse_duration\0\x01\x0Eshould_despawn\x01\x03\ruse_animation\0\x03\x06damage\0\x03\x11creative_category\x08\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x01\x17can_destroy_in_creative\x01\0\n\x16minecraft:display_name\x08\x05value\x13item.trial_key.name\0\0" } ; pub const TRIAL_SPAWNER: Self = Self { id: -315, registry_key: "minecraft:trial_spawner", @@ -48637,7 +48658,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const TROPICAL_FISH : Self = Self { id : 295 , registry_key : "minecraft:tropical_fish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x02\x03\rcooldown_time\0\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x03\ron_use_action\x01\0\x01\x19minecraft:stacked_by_data\x01\0" } ; + pub const TROPICAL_FISH : Self = Self { id : 295 , registry_key : "minecraft:tropical_fish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x08\rcooldown_type\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\rcooldown_time\0\x03\ron_use_action\x01\x03\tnutrition\x02\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\0\0" } ; pub const TROPICAL_FISH_BUCKET: Self = Self { id: 398, registry_key: "minecraft:tropical_fish_bucket", @@ -49688,8 +49709,8 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const WHEAT_SEEDS : Self = Self { id : 320 , registry_key : "minecraft:wheat_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x0Fminecraft:wheat\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0" } ; - pub const WHITE_BUNDLE : Self = Self { id : 279 , registry_key : "minecraft:white_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Fitem_properties\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x17bundle_white_open_front\x08\x07default\x0Cbundle_white\x08\x10bundle_open_back\x16bundle_white_open_back\0\0\x01\rhand_equipped\0\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x08\x0Ecreative_group\0\x03\x11enchantable_value\0\x01\x0Eshould_despawn\x01\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\0\x01\x0Fstacked_by_data\0\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\x03\ruse_animation\0\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x01\x1Aallow_nested_storage_items\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0" } ; + pub const WHEAT_SEEDS : Self = Self { id : 320 , registry_key : "minecraft:wheat_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x0Fminecraft:wheat\x08\rplant_at_face\x02up\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0" } ; + pub const WHITE_BUNDLE : Self = Self { id : 279 , registry_key : "minecraft:white_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\x08\x10enchantable_slot\x04none\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Cbundle_white\x08\x10bundle_open_back\x16bundle_white_open_back\x08\x11bundle_open_front\x17bundle_white_open_front\0\0\x01\x12hidden_in_commands\x02\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x01\x0Eallow_off_hand\0\x01\rhand_equipped\0\x03\x0Cuse_duration\0\x03\ruse_animation\0\x01\x0Fstacked_by_data\0\x03\x06damage\0\x03\x0Bframe_count\x02\x03\x11enchantable_value\0\x01\x04foil\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\t\rallowed_items\0\0\0\0" } ; pub const WHITE_CANDLE: Self = Self { id: -413, registry_key: "minecraft:white_candle", @@ -49802,7 +49823,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const WIND_CHARGE : Self = Self { id : 284 , registry_key : "minecraft:wind_charge" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x12minecraft:cooldown\x05\x08duration\0\0\0?\x08\x08category\x0Bwind_charge\x08\x04type\x03use\0\n\x14minecraft:projectile\x08\x11projectile_entity\"minecraft:wind_charge_projectile<>\x05\x16minimum_critical_power\0\0\0\0\0\n\x13minecraft:throwable\x05\x12launch_power_scale\0\0\xC0?\x05\x11min_draw_duration\0\0\0\0\x01\x12do_swing_animation\x01\x05\x11max_draw_duration\0\0\0\0\x01\x1Cscale_power_by_draw_duration\0\x05\x10max_launch_power\0\0\xC0?\0\t\titem_tags\0\0\n\x16minecraft:display_name\x08\x05value\x15item.wind_charge.name\0\n\x0Fitem_properties\x03\x06damage\0\x03\ruse_animation\0\x08\x0Ecreative_group\0\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x08\x10enchantable_slot\x04none\x01\x04foil\0\x03\x0Emax_stack_size\x80\x01\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\0\x01\x0Eallow_off_hand\0\x03\x11creative_category\x06\x03\x0Cuse_duration\0\x01\x0Fstacked_by_data\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bwind_charge\0\0\x03\x0Bframe_count\x02\0\0" } ; + pub const WIND_CHARGE : Self = Self { id : 284 , registry_key : "minecraft:wind_charge" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x12minecraft:cooldown\x05\x08duration\0\0\0?\x08\x04type\x03use\x08\x08category\x0Bwind_charge\0\t\titem_tags\0\0\n\x16minecraft:display_name\x08\x05value\x15item.wind_charge.name\0\n\x14minecraft:projectile\x05\x16minimum_critical_power\0\0\0\0\x08\x11projectile_entity\"minecraft:wind_charge_projectile<>\0\n\x13minecraft:throwable\x05\x11max_draw_duration\0\0\0\0\x05\x12launch_power_scale\0\0\xC0?\x05\x10max_launch_power\0\0\xC0?\x01\x12do_swing_animation\x01\x05\x11min_draw_duration\0\0\0\0\x01\x1Cscale_power_by_draw_duration\0\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x03\ruse_animation\0\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x80\x01\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bwind_charge\0\0\x03\x11enchantable_value\0\x03\x06damage\0\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x01\x0Eliquid_clipped\0\0\0" } ; pub const WITCH_SPAWN_EGG: Self = Self { id: 485, registry_key: "minecraft:witch_spawn_egg", @@ -49915,7 +49936,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const WOODEN_SPEAR : Self = Self { id : 263 , registry_key : "minecraft:wooden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x18minecraft:swing_duration\x05\x05valueff&?\0\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x01\x12hidden_in_commands\x02\x08\x10enchantable_slot\x0Bmelee_spear\x01\x0Eallow_off_hand\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x0Emax_stack_size\x02\x03\x0Bframe_count\x02\x03\x11creative_category\x06\x03\x11enchantable_value\x1E\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nwood_spear\0\0\x08\x0Ecreative_group\0\x03\ruse_animation\0\x01\x0Fstacked_by_data\0\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\x01\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x03\x06damage\x02\x01\x04foil\0\0\n\x14minecraft:durability\x03\x0Emax_durabilityx\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\0\n\x12minecraft:cooldown\x08\x04type\x06attack\x05\x08durationff&?\x08\x08category\x05spear\0\n\x16minecraft:display_name\x08\x05value\x16item.wooden_spear.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\t\titem_tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\0\n\x17minecraft:use_modifiers\x05\x0Cuse_duration\0\xA0\x8CG\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x15item.wooden_spear.use\0\n\x0Eminecraft:fuel\x05\x08duration\0\0 A\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0F\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\n\x10minecraft:damage\x02\x05value\x01\0\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\xC8\0\0\x05\x11damage_multiplier333?\x05\rhitbox_margin\0\0\x80>\x02\x05delay\x0F\0\x05\x0Fdamage_modifier\0\0\0\0\n\x13dismount_conditions\x02\x0Cmax_durationd\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0`A\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration,\x01\x05\x12min_relative_speed33\x93@\0\0\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.wooden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.wooden_spear.attack_miss\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\t\x05items\n\x02\x08\x04name\x16minecraft:wooden_spear\0\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\t\x05items\n\x02\x08\x04tags\x1Eq.all_tags('minecraft:planks')\0\0\0\0" } ; + pub const WOODEN_SPEAR : Self = Self { id : 263 , registry_key : "minecraft:wooden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x0Eminecraft:fuel\x05\x08duration\0\0 A\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\x11damage_multiplier333?\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0`A\x02\x0Cmax_durationd\0\0\x05\x0Fdamage_modifier\0\0\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x02\x05delay\x0F\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration,\x01\0\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\xC8\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\0\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_sound\x15item.wooden_spear.use\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x15minecraft:enchantable\x01\x05value\x0F\x08\x04slot\x0Bmelee_spear\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x16minecraft:wooden_spear\0\n\rrepair_amount\x08\nexpression)context.other->query.remaining_durability\x02\x07version\r\0\0\0\n\rrepair_amount\x02\x07version\r\0\x08\nexpression\x1Bquery.max_durability * 0.25\0\t\x05items\n\x02\x08\x04tags\x1Eq.all_tags('minecraft:planks')\0\0\0\n\x0Fitem_properties\x03\x11creative_category\x06\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x01\rhand_equipped\x01\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x08\x10enchantable_slot\x0Bmelee_spear\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x03\ruse_animation\0\x08\x0Ecreative_group\0\x03\x06damage\x02\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nwood_spear\0\0\x03\x11enchantable_value\x1E\x03\x0Cuse_duration\x80\xE4\xAF\x01\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.wooden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.wooden_spear.attack_miss\0\n\x10minecraft:damage\x02\x05value\x01\0\0\t\titem_tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08durationff&?\x08\x04type\x06attack\0\n\x16minecraft:display_name\x08\x05value\x16item.wooden_spear.name\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durabilityx\0\n\x18minecraft:swing_duration\x05\x05valueff&?\0\0" } ; pub const WOODEN_SWORD: Self = Self { id: 339, registry_key: "minecraft:wooden_sword", @@ -49944,7 +49965,7 @@ impl BedrockItem { component_based: false, definition_components: b"\n\0\0", }; - pub const YELLOW_BUNDLE : Self = Self { id : 280 , registry_key : "minecraft:yellow_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\x03\tmax_slots\x80\x01\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x18bundle_yellow_open_front\x08\x10bundle_open_back\x17bundle_yellow_open_back\x08\x07default\rbundle_yellow\0\0\x03\ruse_animation\0\x01\rhand_equipped\0\x08\x10enchantable_slot\x04none\x03\x11enchantable_value\0\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\0\x01\x0Fstacked_by_data\0\x03\x0Bframe_count\x02\x01\x04foil\0\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\0\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0" } ; + pub const YELLOW_BUNDLE : Self = Self { id : 280 , registry_key : "minecraft:yellow_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x03\x11creative_category\x06\x03\x0Emax_stack_size\x02\x03\x06damage\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x03\x11enchantable_value\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x17bundle_yellow_open_back\x08\x11bundle_open_front\x18bundle_yellow_open_front\x08\x07default\rbundle_yellow\0\0\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\x01\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x04none\x01\x0Eallow_off_hand\0\x01\x04foil\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\t\titem_tags\0\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\0" } ; pub const YELLOW_CANDLE: Self = Self { id: -417, registry_key: "minecraft:yellow_candle", @@ -62578,4 +62599,2982 @@ impl JavaToBedrockItemMapping { _ => None, } } + #[must_use] + pub fn from_bedrock(bedrock_id: i16, bedrock_data: u32) -> Option<&'static Self> { + match (bedrock_id, bedrock_data) { + (411, 0) => Some(&Self::ACACIA_BOAT), + (-140, 0) => Some(&Self::ACACIA_BUTTON), + (684, 0) => Some(&Self::ACACIA_CHEST_BOAT), + (595, 0) => Some(&Self::ACACIA_DOOR), + (-575, 4) => Some(&Self::ACACIA_FENCE), + (187, 0) => Some(&Self::ACACIA_FENCE_GATE), + (-504, 0) => Some(&Self::ACACIA_HANGING_SIGN), + (161, 0) => Some(&Self::ACACIA_LEAVES), + (162, 0) => Some(&Self::ACACIA_LOG), + (-742, 4) => Some(&Self::ACACIA_PLANKS), + (-150, 0) => Some(&Self::ACACIA_PRESSURE_PLATE), + (-828, 0) => Some(&Self::ACACIA_SAPLING), + (-1051, 0) => Some(&Self::ACACIA_SHELF), + (618, 0) => Some(&Self::ACACIA_SIGN), + (-807, 0) => Some(&Self::ACACIA_SLAB), + (163, 0) => Some(&Self::ACACIA_STAIRS), + (-145, 0) => Some(&Self::ACACIA_TRAPDOOR), + (-817, 4) => Some(&Self::ACACIA_WOOD), + (126, 0) => Some(&Self::ACTIVATOR_RAIL), + (-158, 0) => Some(&Self::AIR), + (673, 0) => Some(&Self::ALLAY_SPAWN_EGG), + (-831, 0) => Some(&Self::ALLIUM), + (-327, 0) => Some(&Self::AMETHYST_BLOCK), + (-329, 0) => Some(&Self::AMETHYST_CLUSTER), + (666, 0) => Some(&Self::AMETHYST_SHARD), + (-271, 0) => Some(&Self::ANCIENT_DEBRIS), + (-594, 5) => Some(&Self::ANDESITE), + (-893, 0) => Some(&Self::ANDESITE_SLAB), + (-171, 0) => Some(&Self::ANDESITE_STAIRS), + (-974, 4) => Some(&Self::ANDESITE_WALL), + (699, 0) => Some(&Self::ANGLER_POTTERY_SHERD), + (145, 0) => Some(&Self::ANVIL), + (285, 0) => Some(&Self::APPLE), + (700, 0) => Some(&Self::ARCHER_POTTERY_SHERD), + (746, 0) => Some(&Self::ARMADILLO_SCUTE), + (745, 0) => Some(&Self::ARMADILLO_SPAWN_EGG), + (591, 0) => Some(&Self::ARMOR_STAND), + (701, 0) => Some(&Self::ARMS_UP_POTTERY_SHERD), + (332, 0) => Some(&Self::ARROW), + (401, 0) => Some(&Self::AXOLOTL_BUCKET), + (536, 0) => Some(&Self::AXOLOTL_SPAWN_EGG), + (-337, 0) => Some(&Self::AZALEA), + (-324, 0) => Some(&Self::AZALEA_LEAVES), + (-832, 0) => Some(&Self::AZURE_BLUET), + (310, 0) => Some(&Self::BAKED_POTATO), + (-163, 0) => Some(&Self::BAMBOO), + (-527, 0) => Some(&Self::BAMBOO_BLOCK), + (-511, 0) => Some(&Self::BAMBOO_BUTTON), + (696, 0) => Some(&Self::BAMBOO_CHEST_RAFT), + (-517, 0) => Some(&Self::BAMBOO_DOOR), + (-515, 0) => Some(&Self::BAMBOO_FENCE), + (-516, 0) => Some(&Self::BAMBOO_FENCE_GATE), + (-522, 0) => Some(&Self::BAMBOO_HANGING_SIGN), + (-509, 0) => Some(&Self::BAMBOO_MOSAIC), + (-524, 0) => Some(&Self::BAMBOO_MOSAIC_SLAB), + (-523, 0) => Some(&Self::BAMBOO_MOSAIC_STAIRS), + (-510, 0) => Some(&Self::BAMBOO_PLANKS), + (-514, 0) => Some(&Self::BAMBOO_PRESSURE_PLATE), + (695, 0) => Some(&Self::BAMBOO_RAFT), + (-1056, 0) => Some(&Self::BAMBOO_SHELF), + (694, 0) => Some(&Self::BAMBOO_SIGN), + (-513, 0) => Some(&Self::BAMBOO_SLAB), + (-512, 0) => Some(&Self::BAMBOO_STAIRS), + (-520, 0) => Some(&Self::BAMBOO_TRAPDOOR), + (-203, 0) => Some(&Self::BARREL), + (-161, 0) => Some(&Self::BARRIER), + (-234, 0) => Some(&Self::BASALT), + (486, 0) => Some(&Self::BAT_SPAWN_EGG), + (138, 0) => Some(&Self::BEACON), + (7, 0) => Some(&Self::BEDROCK), + (-218, 0) => Some(&Self::BEE_NEST), + (528, 0) => Some(&Self::BEE_SPAWN_EGG), + (302, 0) => Some(&Self::BEEF), + (-219, 0) => Some(&Self::BEEHIVE), + (314, 0) => Some(&Self::BEETROOT), + (324, 0) => Some(&Self::BEETROOT_SEEDS), + (315, 0) => Some(&Self::BEETROOT_SOUP), + (-206, 0) => Some(&Self::BELL), + (-323, 0) => Some(&Self::BIG_DRIPLEAF), + (408, 0) => Some(&Self::BIRCH_BOAT), + (-141, 0) => Some(&Self::BIRCH_BUTTON), + (681, 0) => Some(&Self::BIRCH_CHEST_BOAT), + (593, 0) => Some(&Self::BIRCH_DOOR), + (-576, 2) => Some(&Self::BIRCH_FENCE), + (184, 0) => Some(&Self::BIRCH_FENCE_GATE), + (-502, 0) => Some(&Self::BIRCH_HANGING_SIGN), + (-801, 2) => Some(&Self::BIRCH_LEAVES), + (-570, 2) => Some(&Self::BIRCH_LOG), + (-740, 2) => Some(&Self::BIRCH_PLANKS), + (-151, 0) => Some(&Self::BIRCH_PRESSURE_PLATE), + (-826, 0) => Some(&Self::BIRCH_SAPLING), + (-1049, 0) => Some(&Self::BIRCH_SHELF), + (616, 0) => Some(&Self::BIRCH_SIGN), + (-805, 0) => Some(&Self::BIRCH_SLAB), + (135, 0) => Some(&Self::BIRCH_STAIRS), + (-146, 0) => Some(&Self::BIRCH_TRAPDOOR), + (-815, 2) => Some(&Self::BIRCH_WOOD), + (606, 0) => Some(&Self::BLACK_BANNER), + (450, 15) => Some(&Self::BLACK_BED), + (264, 0) => Some(&Self::BLACK_BUNDLE), + (-428, 0) => Some(&Self::BLACK_CANDLE), + (-611, 15) => Some(&Self::BLACK_CARPET), + (-642, 15) => Some(&Self::BLACK_CONCRETE), + (-723, 15) => Some(&Self::BLACK_CONCRETE_POWDER), + (427, 0) => Some(&Self::BLACK_DYE), + (235, 0) => Some(&Self::BLACK_GLAZED_TERRACOTTA), + (756, 0) => Some(&Self::BLACK_HARNESS), + (-627, 15) => Some(&Self::BLACK_SHULKER_BOX), + (-687, 15) => Some(&Self::BLACK_STAINED_GLASS), + (-657, 15) => Some(&Self::BLACK_STAINED_GLASS_PANE), + (-738, 15) => Some(&Self::BLACK_TERRACOTTA), + (-554, 0) => Some(&Self::BLACK_WOOL), + (-273, 0) => Some(&Self::BLACKSTONE), + (-282, 0) => Some(&Self::BLACKSTONE_SLAB), + (-276, 0) => Some(&Self::BLACKSTONE_STAIRS), + (-277, 0) => Some(&Self::BLACKSTONE_WALL), + (702, 0) => Some(&Self::BLADE_POTTERY_SHERD), + (-196, 0) => Some(&Self::BLAST_FURNACE), + (462, 0) => Some(&Self::BLAZE_POWDER), + (455, 0) => Some(&Self::BLAZE_ROD), + (489, 0) => Some(&Self::BLAZE_SPAWN_EGG), + (606, 4) => Some(&Self::BLUE_BANNER), + (450, 11) => Some(&Self::BLUE_BED), + (265, 0) => Some(&Self::BLUE_BUNDLE), + (-424, 0) => Some(&Self::BLUE_CANDLE), + (-607, 11) => Some(&Self::BLUE_CARPET), + (-638, 11) => Some(&Self::BLUE_CONCRETE), + (-719, 11) => Some(&Self::BLUE_CONCRETE_POWDER), + (431, 0) => Some(&Self::BLUE_DYE), + (753, 0) => Some(&Self::BLUE_EGG), + (231, 0) => Some(&Self::BLUE_GLAZED_TERRACOTTA), + (757, 0) => Some(&Self::BLUE_HARNESS), + (-11, 0) => Some(&Self::BLUE_ICE), + (-830, 0) => Some(&Self::BLUE_ORCHID), + (-623, 11) => Some(&Self::BLUE_SHULKER_BOX), + (-683, 11) => Some(&Self::BLUE_STAINED_GLASS), + (-653, 11) => Some(&Self::BLUE_STAINED_GLASS_PANE), + (-734, 11) => Some(&Self::BLUE_TERRACOTTA), + (-563, 0) => Some(&Self::BLUE_WOOL), + (496, 0) => Some(&Self::BOGGED_SPAWN_EGG), + (741, 0) => Some(&Self::BOLT_ARMOR_TRIM_SMITHING_TEMPLATE), + (447, 0) => Some(&Self::BONE), + (216, 0) => Some(&Self::BONE_BLOCK), + (443, 0) => Some(&Self::BONE_MEAL), + (419, 0) => Some(&Self::BOOK), + (47, 0) => Some(&Self::BOOKSHELF), + (625, 0) => Some(&Self::BORDURE_INDENTED_BANNER_PATTERN), + (331, 0) => Some(&Self::BOW), + (353, 0) => Some(&Self::BOWL), + (-581, 1) => Some(&Self::BRAIN_CORAL), + (-849, 0) => Some(&Self::BRAIN_CORAL_BLOCK), + (-840, 0) => Some(&Self::BRAIN_CORAL_FAN), + (290, 0) => Some(&Self::BREAD), + (281, 0) => Some(&Self::BREEZE_ROD), + (535, 0) => Some(&Self::BREEZE_SPAWN_EGG), + (703, 0) => Some(&Self::BREWER_POTTERY_SHERD), + (464, 0) => Some(&Self::BREWING_STAND), + (415, 0) => Some(&Self::BRICK), + (-874, 0) => Some(&Self::BRICK_SLAB), + (108, 0) => Some(&Self::BRICK_STAIRS), + (-976, 6) => Some(&Self::BRICK_WALL), + (45, 0) => Some(&Self::BRICKS), + (606, 3) => Some(&Self::BROWN_BANNER), + (450, 12) => Some(&Self::BROWN_BED), + (266, 0) => Some(&Self::BROWN_BUNDLE), + (-425, 0) => Some(&Self::BROWN_CANDLE), + (-608, 12) => Some(&Self::BROWN_CARPET), + (-639, 12) => Some(&Self::BROWN_CONCRETE), + (-720, 12) => Some(&Self::BROWN_CONCRETE_POWDER), + (430, 0) => Some(&Self::BROWN_DYE), + (754, 0) => Some(&Self::BROWN_EGG), + (232, 0) => Some(&Self::BROWN_GLAZED_TERRACOTTA), + (758, 0) => Some(&Self::BROWN_HARNESS), + (39, 0) => Some(&Self::BROWN_MUSHROOM), + (99, 14) => Some(&Self::BROWN_MUSHROOM_BLOCK), + (-624, 12) => Some(&Self::BROWN_SHULKER_BOX), + (-684, 12) => Some(&Self::BROWN_STAINED_GLASS), + (-654, 12) => Some(&Self::BROWN_STAINED_GLASS_PANE), + (-735, 12) => Some(&Self::BROWN_TERRACOTTA), + (-555, 0) => Some(&Self::BROWN_WOOL), + (722, 0) => Some(&Self::BRUSH), + (-582, 2) => Some(&Self::BUBBLE_CORAL), + (-850, 0) => Some(&Self::BUBBLE_CORAL_BLOCK), + (-841, 0) => Some(&Self::BUBBLE_CORAL_FAN), + (392, 0) => Some(&Self::BUCKET), + (-328, 0) => Some(&Self::BUDDING_AMETHYST), + (267, 0) => Some(&Self::BUNDLE), + (704, 0) => Some(&Self::BURN_POTTERY_SHERD), + (-1023, 0) => Some(&Self::BUSH), + (81, 0) => Some(&Self::CACTUS), + (-1030, 0) => Some(&Self::CACTUS_FLOWER), + (449, 0) => Some(&Self::CAKE), + (-326, 0) => Some(&Self::CALCITE), + (-580, 0) => Some(&Self::CALIBRATED_SCULK_SENSOR), + (698, 0) => Some(&Self::CAMEL_HUSK_SPAWN_EGG), + (697, 0) => Some(&Self::CAMEL_SPAWN_EGG), + (630, 0) => Some(&Self::CAMPFIRE), + (-412, 0) => Some(&Self::CANDLE), + (308, 0) => Some(&Self::CARROT), + (556, 0) => Some(&Self::CARROT_ON_A_STICK), + (-200, 0) => Some(&Self::CARTOGRAPHY_TABLE), + (-155, 0) => Some(&Self::CARVED_PUMPKIN), + (522, 0) => Some(&Self::CAT_SPAWN_EGG), + (465, 0) => Some(&Self::CAULDRON), + (490, 0) => Some(&Self::CAVE_SPIDER_SPAWN_EGG), + (189, 0) => Some(&Self::CHAIN_COMMAND_BLOCK), + (374, 0) => Some(&Self::CHAINMAIL_BOOTS), + (372, 0) => Some(&Self::CHAINMAIL_CHESTPLATE), + (371, 0) => Some(&Self::CHAINMAIL_HELMET), + (373, 0) => Some(&Self::CHAINMAIL_LEGGINGS), + (334, 0) => Some(&Self::CHARCOAL), + (691, 0) => Some(&Self::CHERRY_BOAT), + (-530, 0) => Some(&Self::CHERRY_BUTTON), + (692, 0) => Some(&Self::CHERRY_CHEST_BOAT), + (-531, 0) => Some(&Self::CHERRY_DOOR), + (-532, 0) => Some(&Self::CHERRY_FENCE), + (-533, 0) => Some(&Self::CHERRY_FENCE_GATE), + (-534, 0) => Some(&Self::CHERRY_HANGING_SIGN), + (-548, 0) => Some(&Self::CHERRY_LEAVES), + (-536, 0) => Some(&Self::CHERRY_LOG), + (-537, 0) => Some(&Self::CHERRY_PLANKS), + (-538, 0) => Some(&Self::CHERRY_PRESSURE_PLATE), + (-547, 0) => Some(&Self::CHERRY_SAPLING), + (-1054, 0) => Some(&Self::CHERRY_SHELF), + (693, 0) => Some(&Self::CHERRY_SIGN), + (-539, 0) => Some(&Self::CHERRY_SLAB), + (-541, 0) => Some(&Self::CHERRY_STAIRS), + (-543, 0) => Some(&Self::CHERRY_TRAPDOOR), + (-546, 0) => Some(&Self::CHERRY_WOOD), + (54, 0) => Some(&Self::CHEST), + (421, 0) => Some(&Self::CHEST_MINECART), + (304, 0) => Some(&Self::CHICKEN), + (468, 0) => Some(&Self::CHICKEN_SPAWN_EGG), + (-959, 0) => Some(&Self::CHIPPED_ANVIL), + (-526, 0) => Some(&Self::CHISELED_BOOKSHELF), + (-760, 0) => Some(&Self::CHISELED_COPPER), + (-395, 0) => Some(&Self::CHISELED_DEEPSLATE), + (-302, 0) => Some(&Self::CHISELED_NETHER_BRICKS), + (-279, 0) => Some(&Self::CHISELED_POLISHED_BLACKSTONE), + (-953, 0) => Some(&Self::CHISELED_QUARTZ_BLOCK), + (-956, 0) => Some(&Self::CHISELED_RED_SANDSTONE), + (-1020, 0) => Some(&Self::CHISELED_RESIN_BRICKS), + (-944, 0) => Some(&Self::CHISELED_SANDSTONE), + (-870, 0) => Some(&Self::CHISELED_STONE_BRICKS), + (-753, 0) => Some(&Self::CHISELED_TUFF), + (-759, 0) => Some(&Self::CHISELED_TUFF_BRICKS), + (200, 0) => Some(&Self::CHORUS_FLOWER), + (597, 0) => Some(&Self::CHORUS_FRUIT), + (240, 0) => Some(&Self::CHORUS_PLANT), + (82, 0) => Some(&Self::CLAY), + (416, 0) => Some(&Self::CLAY_BALL), + (425, 0) => Some(&Self::CLOCK), + (-1019, 0) => Some(&Self::CLOSED_EYEBLOSSOM), + (333, 0) => Some(&Self::COAL), + (173, 0) => Some(&Self::COAL_BLOCK), + (16, 0) => Some(&Self::COAL_ORE), + (-962, 0) => Some(&Self::COARSE_DIRT), + (726, 0) => Some(&Self::COAST_ARMOR_TRIM_SMITHING_TEMPLATE), + (-379, 0) => Some(&Self::COBBLED_DEEPSLATE), + (-380, 0) => Some(&Self::COBBLED_DEEPSLATE_SLAB), + (-381, 0) => Some(&Self::COBBLED_DEEPSLATE_STAIRS), + (-382, 0) => Some(&Self::COBBLED_DEEPSLATE_WALL), + (4, 0) => Some(&Self::COBBLESTONE), + (-873, 0) => Some(&Self::COBBLESTONE_SLAB), + (67, 0) => Some(&Self::COBBLESTONE_STAIRS), + (139, 0) => Some(&Self::COBBLESTONE_WALL), + (30, 0) => Some(&Self::COBWEB), + (444, 3) => Some(&Self::COCOA_BEANS), + (293, 0) => Some(&Self::COD), + (396, 0) => Some(&Self::COD_BUCKET), + (514, 0) => Some(&Self::COD_SPAWN_EGG), + (137, 0) => Some(&Self::COMMAND_BLOCK), + (602, 0) => Some(&Self::COMMAND_BLOCK_MINECART), + (561, 0) => Some(&Self::COMPARATOR), + (423, 0) => Some(&Self::COMPASS), + (-213, 0) => Some(&Self::COMPOSTER), + (-157, 0) => Some(&Self::CONDUIT), + (303, 0) => Some(&Self::COOKED_BEEF), + (305, 0) => Some(&Self::COOKED_CHICKEN), + (297, 0) => Some(&Self::COOKED_COD), + (590, 0) => Some(&Self::COOKED_MUTTON), + (292, 0) => Some(&Self::COOKED_PORKCHOP), + (318, 0) => Some(&Self::COOKED_RABBIT), + (298, 0) => Some(&Self::COOKED_SALMON), + (300, 0) => Some(&Self::COOKIE), + (776, 0) => Some(&Self::COPPER_AXE), + (-1066, 0) => Some(&Self::COPPER_BARS), + (-340, 0) => Some(&Self::COPPER_BLOCK), + (781, 0) => Some(&Self::COPPER_BOOTS), + (-776, 0) => Some(&Self::COPPER_BULB), + (-1074, 0) => Some(&Self::COPPER_CHAIN), + (-1031, 0) => Some(&Self::COPPER_CHEST), + (779, 0) => Some(&Self::COPPER_CHESTPLATE), + (-784, 0) => Some(&Self::COPPER_DOOR), + (772, 0) => Some(&Self::COPPER_GOLEM_SPAWN_EGG), + (-1039, 0) => Some(&Self::COPPER_GOLEM_STATUE), + (-768, 0) => Some(&Self::COPPER_GRATE), + (778, 0) => Some(&Self::COPPER_HELMET), + (777, 0) => Some(&Self::COPPER_HOE), + (783, 0) => Some(&Self::COPPER_HORSE_ARMOR), + (544, 0) => Some(&Self::COPPER_INGOT), + (-1083, 0) => Some(&Self::COPPER_LANTERN), + (780, 0) => Some(&Self::COPPER_LEGGINGS), + (787, 0) => Some(&Self::COPPER_NAUTILUS_ARMOR), + (782, 0) => Some(&Self::COPPER_NUGGET), + (-311, 0) => Some(&Self::COPPER_ORE), + (775, 0) => Some(&Self::COPPER_PICKAXE), + (774, 0) => Some(&Self::COPPER_SHOVEL), + (257, 0) => Some(&Self::COPPER_SPEAR), + (773, 0) => Some(&Self::COPPER_SWORD), + (-1082, 0) => Some(&Self::COPPER_TORCH), + (-792, 0) => Some(&Self::COPPER_TRAPDOOR), + (-838, 0) => Some(&Self::CORNFLOWER), + (469, 0) => Some(&Self::COW_SPAWN_EGG), + (-410, 0) => Some(&Self::CRACKED_DEEPSLATE_BRICKS), + (-409, 0) => Some(&Self::CRACKED_DEEPSLATE_TILES), + (-303, 0) => Some(&Self::CRACKED_NETHER_BRICKS), + (-280, 0) => Some(&Self::CRACKED_POLISHED_BLACKSTONE_BRICKS), + (-869, 0) => Some(&Self::CRACKED_STONE_BRICKS), + (-313, 0) => Some(&Self::CRAFTER), + (58, 0) => Some(&Self::CRAFTING_TABLE), + (-1012, 0) => Some(&Self::CREAKING_HEART), + (751, 0) => Some(&Self::CREAKING_SPAWN_EGG), + (621, 0) => Some(&Self::CREEPER_BANNER_PATTERN), + (-968, 0) => Some(&Self::CREEPER_HEAD), + (474, 0) => Some(&Self::CREEPER_SPAWN_EGG), + (-260, 0) => Some(&Self::CRIMSON_BUTTON), + (659, 0) => Some(&Self::CRIMSON_DOOR), + (-256, 0) => Some(&Self::CRIMSON_FENCE), + (-258, 0) => Some(&Self::CRIMSON_FENCE_GATE), + (-228, 0) => Some(&Self::CRIMSON_FUNGUS), + (-506, 0) => Some(&Self::CRIMSON_HANGING_SIGN), + (-299, 0) => Some(&Self::CRIMSON_HYPHAE), + (-232, 0) => Some(&Self::CRIMSON_NYLIUM), + (-242, 0) => Some(&Self::CRIMSON_PLANKS), + (-262, 0) => Some(&Self::CRIMSON_PRESSURE_PLATE), + (-223, 0) => Some(&Self::CRIMSON_ROOTS), + (-1057, 0) => Some(&Self::CRIMSON_SHELF), + (657, 0) => Some(&Self::CRIMSON_SIGN), + (-264, 0) => Some(&Self::CRIMSON_SLAB), + (-254, 0) => Some(&Self::CRIMSON_STAIRS), + (-225, 0) => Some(&Self::CRIMSON_STEM), + (-246, 0) => Some(&Self::CRIMSON_TRAPDOOR), + (614, 0) => Some(&Self::CROSSBOW), + (-289, 0) => Some(&Self::CRYING_OBSIDIAN), + (-347, 0) => Some(&Self::CUT_COPPER), + (-361, 0) => Some(&Self::CUT_COPPER_SLAB), + (-354, 0) => Some(&Self::CUT_COPPER_STAIRS), + (-957, 0) => Some(&Self::CUT_RED_SANDSTONE), + (-901, 0) => Some(&Self::CUT_RED_SANDSTONE_SLAB), + (-945, 0) => Some(&Self::CUT_SANDSTONE), + (-900, 0) => Some(&Self::CUT_SANDSTONE_SLAB), + (606, 6) => Some(&Self::CYAN_BANNER), + (450, 9) => Some(&Self::CYAN_BED), + (268, 0) => Some(&Self::CYAN_BUNDLE), + (-422, 0) => Some(&Self::CYAN_CANDLE), + (-605, 9) => Some(&Self::CYAN_CARPET), + (-636, 9) => Some(&Self::CYAN_CONCRETE), + (-717, 9) => Some(&Self::CYAN_CONCRETE_POWDER), + (433, 0) => Some(&Self::CYAN_DYE), + (229, 0) => Some(&Self::CYAN_GLAZED_TERRACOTTA), + (759, 0) => Some(&Self::CYAN_HARNESS), + (-621, 9) => Some(&Self::CYAN_SHULKER_BOX), + (-681, 9) => Some(&Self::CYAN_STAINED_GLASS), + (-651, 9) => Some(&Self::CYAN_STAINED_GLASS_PANE), + (-732, 9) => Some(&Self::CYAN_TERRACOTTA), + (-561, 0) => Some(&Self::CYAN_WOOL), + (-960, 0) => Some(&Self::DAMAGED_ANVIL), + (37, 0) => Some(&Self::DANDELION), + (705, 0) => Some(&Self::DANGER_POTTERY_SHERD), + (412, 0) => Some(&Self::DARK_OAK_BOAT), + (-142, 0) => Some(&Self::DARK_OAK_BUTTON), + (685, 0) => Some(&Self::DARK_OAK_CHEST_BOAT), + (596, 0) => Some(&Self::DARK_OAK_DOOR), + (-577, 5) => Some(&Self::DARK_OAK_FENCE), + (186, 0) => Some(&Self::DARK_OAK_FENCE_GATE), + (-505, 0) => Some(&Self::DARK_OAK_HANGING_SIGN), + (-803, 1) => Some(&Self::DARK_OAK_LEAVES), + (-572, 1) => Some(&Self::DARK_OAK_LOG), + (-743, 5) => Some(&Self::DARK_OAK_PLANKS), + (-152, 0) => Some(&Self::DARK_OAK_PRESSURE_PLATE), + (-829, 0) => Some(&Self::DARK_OAK_SAPLING), + (-1052, 0) => Some(&Self::DARK_OAK_SHELF), + (619, 0) => Some(&Self::DARK_OAK_SIGN), + (-808, 0) => Some(&Self::DARK_OAK_SLAB), + (164, 0) => Some(&Self::DARK_OAK_STAIRS), + (-147, 0) => Some(&Self::DARK_OAK_TRAPDOOR), + (-818, 5) => Some(&Self::DARK_OAK_WOOD), + (-947, 0) => Some(&Self::DARK_PRISMARINE), + (-886, 0) => Some(&Self::DARK_PRISMARINE_SLAB), + (-3, 0) => Some(&Self::DARK_PRISMARINE_STAIRS), + (151, 0) => Some(&Self::DAYLIGHT_DETECTOR), + (-586, 9) => Some(&Self::DEAD_BRAIN_CORAL), + (-854, 0) => Some(&Self::DEAD_BRAIN_CORAL_BLOCK), + (-844, 0) => Some(&Self::DEAD_BRAIN_CORAL_FAN), + (-587, 10) => Some(&Self::DEAD_BUBBLE_CORAL), + (-855, 0) => Some(&Self::DEAD_BUBBLE_CORAL_BLOCK), + (-845, 0) => Some(&Self::DEAD_BUBBLE_CORAL_FAN), + (32, 0) => Some(&Self::DEAD_BUSH), + (-588, 11) => Some(&Self::DEAD_FIRE_CORAL), + (-856, 0) => Some(&Self::DEAD_FIRE_CORAL_BLOCK), + (-846, 0) => Some(&Self::DEAD_FIRE_CORAL_FAN), + (-589, 12) => Some(&Self::DEAD_HORN_CORAL), + (-857, 0) => Some(&Self::DEAD_HORN_CORAL_BLOCK), + (-847, 0) => Some(&Self::DEAD_HORN_CORAL_FAN), + (-585, 8) => Some(&Self::DEAD_TUBE_CORAL), + (-853, 0) => Some(&Self::DEAD_TUBE_CORAL_BLOCK), + (-134, 0) => Some(&Self::DEAD_TUBE_CORAL_FAN), + (352, 0) => Some(&Self::DEBUG_STICK), + (-551, 0) => Some(&Self::DECORATED_POT), + (-378, 0) => Some(&Self::DEEPSLATE), + (-392, 0) => Some(&Self::DEEPSLATE_BRICK_SLAB), + (-393, 0) => Some(&Self::DEEPSLATE_BRICK_STAIRS), + (-394, 0) => Some(&Self::DEEPSLATE_BRICK_WALL), + (-391, 0) => Some(&Self::DEEPSLATE_BRICKS), + (-406, 0) => Some(&Self::DEEPSLATE_COAL_ORE), + (-408, 0) => Some(&Self::DEEPSLATE_COPPER_ORE), + (-405, 0) => Some(&Self::DEEPSLATE_DIAMOND_ORE), + (-407, 0) => Some(&Self::DEEPSLATE_EMERALD_ORE), + (-402, 0) => Some(&Self::DEEPSLATE_GOLD_ORE), + (-401, 0) => Some(&Self::DEEPSLATE_IRON_ORE), + (-400, 0) => Some(&Self::DEEPSLATE_LAPIS_ORE), + (-403, 0) => Some(&Self::DEEPSLATE_REDSTONE_ORE), + (-388, 0) => Some(&Self::DEEPSLATE_TILE_SLAB), + (-389, 0) => Some(&Self::DEEPSLATE_TILE_STAIRS), + (-390, 0) => Some(&Self::DEEPSLATE_TILE_WALL), + (-387, 0) => Some(&Self::DEEPSLATE_TILES), + (28, 0) => Some(&Self::DETECTOR_RAIL), + (335, 0) => Some(&Self::DIAMOND), + (350, 0) => Some(&Self::DIAMOND_AXE), + (57, 0) => Some(&Self::DIAMOND_BLOCK), + (382, 0) => Some(&Self::DIAMOND_BOOTS), + (380, 0) => Some(&Self::DIAMOND_CHESTPLATE), + (379, 0) => Some(&Self::DIAMOND_HELMET), + (364, 0) => Some(&Self::DIAMOND_HOE), + (572, 0) => Some(&Self::DIAMOND_HORSE_ARMOR), + (381, 0) => Some(&Self::DIAMOND_LEGGINGS), + (790, 0) => Some(&Self::DIAMOND_NAUTILUS_ARMOR), + (56, 0) => Some(&Self::DIAMOND_ORE), + (349, 0) => Some(&Self::DIAMOND_PICKAXE), + (348, 0) => Some(&Self::DIAMOND_SHOVEL), + (258, 0) => Some(&Self::DIAMOND_SPEAR), + (347, 0) => Some(&Self::DIAMOND_SWORD), + (-592, 3) => Some(&Self::DIORITE), + (-894, 0) => Some(&Self::DIORITE_SLAB), + (-170, 0) => Some(&Self::DIORITE_STAIRS), + (-973, 3) => Some(&Self::DIORITE_WALL), + (3, 0) => Some(&Self::DIRT), + (198, 0) => Some(&Self::DIRT_PATH), + (679, 0) => Some(&Self::DISC_FRAGMENT_5), + (23, 3) => Some(&Self::DISPENSER), + (518, 0) => Some(&Self::DOLPHIN_SPAWN_EGG), + (499, 0) => Some(&Self::DONKEY_SPAWN_EGG), + (599, 0) => Some(&Self::DRAGON_BREATH), + (122, 0) => Some(&Self::DRAGON_EGG), + (-969, 0) => Some(&Self::DRAGON_HEAD), + (-1027, 0) => Some(&Self::DRIED_GHAST), + (299, 0) => Some(&Self::DRIED_KELP), + (-139, 0) => Some(&Self::DRIED_KELP_BLOCK), + (-317, 0) => Some(&Self::DRIPSTONE_BLOCK), + (125, 3) => Some(&Self::DROPPER), + (517, 0) => Some(&Self::DROWNED_SPAWN_EGG), + (725, 0) => Some(&Self::DUNE_ARMOR_TRIM_SMITHING_TEMPLATE), + (689, 0) => Some(&Self::ECHO_SHARD), + (422, 0) => Some(&Self::EGG), + (505, 0) => Some(&Self::ELDER_GUARDIAN_SPAWN_EGG), + (603, 0) => Some(&Self::ELYTRA), + (552, 0) => Some(&Self::EMERALD), + (133, 0) => Some(&Self::EMERALD_BLOCK), + (129, 0) => Some(&Self::EMERALD_ORE), + (560, 0) => Some(&Self::ENCHANTED_BOOK), + (288, 0) => Some(&Self::ENCHANTED_GOLDEN_APPLE), + (116, 0) => Some(&Self::ENCHANTING_TABLE), + (843, 0) => Some(&Self::END_CRYSTAL), + (120, 0) => Some(&Self::END_PORTAL_FRAME), + (208, 0) => Some(&Self::END_ROD), + (121, 0) => Some(&Self::END_STONE), + (-162, 0) => Some(&Self::END_STONE_BRICK_SLAB), + (-178, 0) => Some(&Self::END_STONE_BRICK_STAIRS), + (-980, 10) => Some(&Self::END_STONE_BRICK_WALL), + (206, 0) => Some(&Self::END_STONE_BRICKS), + (130, 0) => Some(&Self::ENDER_CHEST), + (541, 0) => Some(&Self::ENDER_DRAGON_SPAWN_EGG), + (466, 0) => Some(&Self::ENDER_EYE), + (454, 0) => Some(&Self::ENDER_PEARL), + (475, 0) => Some(&Self::ENDERMAN_SPAWN_EGG), + (493, 0) => Some(&Self::ENDERMITE_SPAWN_EGG), + (509, 0) => Some(&Self::EVOKER_SPAWN_EGG), + (548, 0) => Some(&Self::EXPERIENCE_BOTTLE), + (706, 0) => Some(&Self::EXPLORER_POTTERY_SHERD), + (-761, 0) => Some(&Self::EXPOSED_CHISELED_COPPER), + (-341, 0) => Some(&Self::EXPOSED_COPPER), + (-1067, 0) => Some(&Self::EXPOSED_COPPER_BARS), + (-777, 0) => Some(&Self::EXPOSED_COPPER_BULB), + (-1075, 0) => Some(&Self::EXPOSED_COPPER_CHAIN), + (-1032, 0) => Some(&Self::EXPOSED_COPPER_CHEST), + (-785, 0) => Some(&Self::EXPOSED_COPPER_DOOR), + (-1040, 0) => Some(&Self::EXPOSED_COPPER_GOLEM_STATUE), + (-769, 0) => Some(&Self::EXPOSED_COPPER_GRATE), + (-1084, 0) => Some(&Self::EXPOSED_COPPER_LANTERN), + (-793, 0) => Some(&Self::EXPOSED_COPPER_TRAPDOOR), + (-348, 0) => Some(&Self::EXPOSED_CUT_COPPER), + (-362, 0) => Some(&Self::EXPOSED_CUT_COPPER_SLAB), + (-355, 0) => Some(&Self::EXPOSED_CUT_COPPER_STAIRS), + (-1059, 0) => Some(&Self::EXPOSED_LIGHTNING_ROD), + (729, 0) => Some(&Self::EYE_ARMOR_TRIM_SMITHING_TEMPLATE), + (60, 0) => Some(&Self::FARMLAND), + (359, 0) => Some(&Self::FEATHER), + (461, 0) => Some(&Self::FERMENTED_SPIDER_EYE), + (-848, 0) => Some(&Self::FERN), + (624, 0) => Some(&Self::FIELD_MASONED_BANNER_PATTERN), + (452, 0) => Some(&Self::FILLED_MAP), + (549, 0) => Some(&Self::FIRE_CHARGE), + (-583, 3) => Some(&Self::FIRE_CORAL), + (-851, 0) => Some(&Self::FIRE_CORAL_BLOCK), + (-842, 0) => Some(&Self::FIRE_CORAL_FAN), + (-1025, 0) => Some(&Self::FIREFLY_BUSH), + (558, 0) => Some(&Self::FIREWORK_ROCKET), + (559, 0) => Some(&Self::FIREWORK_STAR), + (424, 0) => Some(&Self::FISHING_ROD), + (-201, 0) => Some(&Self::FLETCHING_TABLE), + (388, 0) => Some(&Self::FLINT), + (330, 0) => Some(&Self::FLINT_AND_STEEL), + (740, 0) => Some(&Self::FLOW_ARMOR_TRIM_SMITHING_TEMPLATE), + (628, 0) => Some(&Self::FLOW_BANNER_PATTERN), + (707, 0) => Some(&Self::FLOW_POTTERY_SHERD), + (620, 0) => Some(&Self::FLOWER_BANNER_PATTERN), + (554, 0) => Some(&Self::FLOWER_POT), + (-338, 0) => Some(&Self::FLOWERING_AZALEA), + (-325, 0) => Some(&Self::FLOWERING_AZALEA_LEAVES), + (524, 0) => Some(&Self::FOX_SPAWN_EGG), + (708, 0) => Some(&Self::FRIEND_POTTERY_SHERD), + (670, 0) => Some(&Self::FROG_SPAWN_EGG), + (-468, 0) => Some(&Self::FROGSPAWN), + (61, 0) => Some(&Self::FURNACE), + (565, 0) => Some(&Self::FURNACE_MINECART), + (487, 0) => Some(&Self::GHAST_SPAWN_EGG), + (457, 0) => Some(&Self::GHAST_TEAR), + (-281, 0) => Some(&Self::GILDED_BLACKSTONE), + (20, 0) => Some(&Self::GLASS), + (460, 0) => Some(&Self::GLASS_BOTTLE), + (102, 0) => Some(&Self::GLASS_PANE), + (467, 0) => Some(&Self::GLISTERING_MELON_SLICE), + (627, 0) => Some(&Self::GLOBE_BANNER_PATTERN), + (844, 0) => Some(&Self::GLOW_BERRIES), + (543, 0) => Some(&Self::GLOW_INK_SAC), + (665, 0) => Some(&Self::GLOW_ITEM_FRAME), + (-411, 0) => Some(&Self::GLOW_LICHEN), + (538, 0) => Some(&Self::GLOW_SQUID_SPAWN_EGG), + (89, 0) => Some(&Self::GLOWSTONE), + (426, 0) => Some(&Self::GLOWSTONE_DUST), + (669, 0) => Some(&Self::GOAT_HORN), + (537, 0) => Some(&Self::GOAT_SPAWN_EGG), + (41, 0) => Some(&Self::GOLD_BLOCK), + (337, 0) => Some(&Self::GOLD_INGOT), + (458, 0) => Some(&Self::GOLD_NUGGET), + (14, 0) => Some(&Self::GOLD_ORE), + (287, 0) => Some(&Self::GOLDEN_APPLE), + (357, 0) => Some(&Self::GOLDEN_AXE), + (386, 0) => Some(&Self::GOLDEN_BOOTS), + (312, 0) => Some(&Self::GOLDEN_CARROT), + (384, 0) => Some(&Self::GOLDEN_CHESTPLATE), + (-1091, 0) => Some(&Self::GOLDEN_DANDELION), + (383, 0) => Some(&Self::GOLDEN_HELMET), + (365, 0) => Some(&Self::GOLDEN_HOE), + (571, 0) => Some(&Self::GOLDEN_HORSE_ARMOR), + (385, 0) => Some(&Self::GOLDEN_LEGGINGS), + (789, 0) => Some(&Self::GOLDEN_NAUTILUS_ARMOR), + (356, 0) => Some(&Self::GOLDEN_PICKAXE), + (355, 0) => Some(&Self::GOLDEN_SHOVEL), + (259, 0) => Some(&Self::GOLDEN_SPEAR), + (354, 0) => Some(&Self::GOLDEN_SWORD), + (-590, 1) => Some(&Self::GRANITE), + (-896, 0) => Some(&Self::GRANITE_SLAB), + (-169, 0) => Some(&Self::GRANITE_STAIRS), + (-972, 2) => Some(&Self::GRANITE_WALL), + (2, 0) => Some(&Self::GRASS_BLOCK), + (13, 0) => Some(&Self::GRAVEL), + (606, 8) => Some(&Self::GRAY_BANNER), + (450, 7) => Some(&Self::GRAY_BED), + (269, 0) => Some(&Self::GRAY_BUNDLE), + (-420, 0) => Some(&Self::GRAY_CANDLE), + (-603, 7) => Some(&Self::GRAY_CARPET), + (-634, 7) => Some(&Self::GRAY_CONCRETE), + (-715, 7) => Some(&Self::GRAY_CONCRETE_POWDER), + (435, 0) => Some(&Self::GRAY_DYE), + (227, 0) => Some(&Self::GRAY_GLAZED_TERRACOTTA), + (760, 0) => Some(&Self::GRAY_HARNESS), + (-619, 7) => Some(&Self::GRAY_SHULKER_BOX), + (-679, 7) => Some(&Self::GRAY_STAINED_GLASS), + (-649, 7) => Some(&Self::GRAY_STAINED_GLASS_PANE), + (-730, 7) => Some(&Self::GRAY_TERRACOTTA), + (-553, 0) => Some(&Self::GRAY_WOOL), + (606, 2) => Some(&Self::GREEN_BANNER), + (450, 13) => Some(&Self::GREEN_BED), + (270, 0) => Some(&Self::GREEN_BUNDLE), + (-426, 0) => Some(&Self::GREEN_CANDLE), + (-609, 13) => Some(&Self::GREEN_CARPET), + (-640, 13) => Some(&Self::GREEN_CONCRETE), + (-721, 13) => Some(&Self::GREEN_CONCRETE_POWDER), + (429, 0) => Some(&Self::GREEN_DYE), + (233, 0) => Some(&Self::GREEN_GLAZED_TERRACOTTA), + (761, 0) => Some(&Self::GREEN_HARNESS), + (-625, 13) => Some(&Self::GREEN_SHULKER_BOX), + (-685, 13) => Some(&Self::GREEN_STAINED_GLASS), + (-655, 13) => Some(&Self::GREEN_STAINED_GLASS_PANE), + (-736, 13) => Some(&Self::GREEN_TERRACOTTA), + (-560, 0) => Some(&Self::GREEN_WOOL), + (-195, 0) => Some(&Self::GRINDSTONE), + (494, 0) => Some(&Self::GUARDIAN_SPAWN_EGG), + (360, 0) => Some(&Self::GUNPOWDER), + (629, 0) => Some(&Self::GUSTER_BANNER_PATTERN), + (709, 0) => Some(&Self::GUSTER_POTTERY_SHERD), + (-319, 0) => Some(&Self::HANGING_ROOTS), + (755, 0) => Some(&Self::HAPPY_GHAST_SPAWN_EGG), + (170, 0) => Some(&Self::HAY_BLOCK), + (610, 0) => Some(&Self::HEART_OF_THE_SEA), + (710, 0) => Some(&Self::HEART_POTTERY_SHERD), + (711, 0) => Some(&Self::HEARTBREAK_POTTERY_SHERD), + (-316, 0) => Some(&Self::HEAVY_CORE), + (148, 0) => Some(&Self::HEAVY_WEIGHTED_PRESSURE_PLATE), + (530, 0) => Some(&Self::HOGLIN_SPAWN_EGG), + (-220, 0) => Some(&Self::HONEY_BLOCK), + (633, 0) => Some(&Self::HONEY_BOTTLE), + (632, 0) => Some(&Self::HONEYCOMB), + (-221, 0) => Some(&Self::HONEYCOMB_BLOCK), + (566, 0) => Some(&Self::HOPPER), + (-584, 4) => Some(&Self::HORN_CORAL), + (-852, 0) => Some(&Self::HORN_CORAL_BLOCK), + (-843, 0) => Some(&Self::HORN_CORAL_FAN), + (491, 0) => Some(&Self::HORSE_SPAWN_EGG), + (739, 0) => Some(&Self::HOST_ARMOR_TRIM_SMITHING_TEMPLATE), + (712, 0) => Some(&Self::HOWL_POTTERY_SHERD), + (497, 0) => Some(&Self::HUSK_SPAWN_EGG), + (79, 0) => Some(&Self::ICE), + (-862, 0) => Some(&Self::INFESTED_CHISELED_STONE_BRICKS), + (-858, 0) => Some(&Self::INFESTED_COBBLESTONE), + (-861, 0) => Some(&Self::INFESTED_CRACKED_STONE_BRICKS), + (-454, 0) => Some(&Self::INFESTED_DEEPSLATE), + (-860, 0) => Some(&Self::INFESTED_MOSSY_STONE_BRICKS), + (97, 0) => Some(&Self::INFESTED_STONE), + (-859, 0) => Some(&Self::INFESTED_STONE_BRICKS), + (445, 0) => Some(&Self::INK_SAC), + (329, 0) => Some(&Self::IRON_AXE), + (101, 0) => Some(&Self::IRON_BARS), + (42, 0) => Some(&Self::IRON_BLOCK), + (378, 0) => Some(&Self::IRON_BOOTS), + (-286, 0) => Some(&Self::IRON_CHAIN), + (376, 0) => Some(&Self::IRON_CHESTPLATE), + (404, 0) => Some(&Self::IRON_DOOR), + (539, 0) => Some(&Self::IRON_GOLEM_SPAWN_EGG), + (375, 0) => Some(&Self::IRON_HELMET), + (363, 0) => Some(&Self::IRON_HOE), + (570, 0) => Some(&Self::IRON_HORSE_ARMOR), + (336, 0) => Some(&Self::IRON_INGOT), + (377, 0) => Some(&Self::IRON_LEGGINGS), + (788, 0) => Some(&Self::IRON_NAUTILUS_ARMOR), + (608, 0) => Some(&Self::IRON_NUGGET), + (15, 0) => Some(&Self::IRON_ORE), + (328, 0) => Some(&Self::IRON_PICKAXE), + (327, 0) => Some(&Self::IRON_SHOVEL), + (260, 0) => Some(&Self::IRON_SPEAR), + (338, 0) => Some(&Self::IRON_SWORD), + (167, 0) => Some(&Self::IRON_TRAPDOOR), + (553, 0) => Some(&Self::ITEM_FRAME), + (91, 0) => Some(&Self::JACK_O_LANTERN), + (-211, 0) => Some(&Self::JIGSAW), + (84, 0) => Some(&Self::JUKEBOX), + (409, 0) => Some(&Self::JUNGLE_BOAT), + (-143, 0) => Some(&Self::JUNGLE_BUTTON), + (682, 0) => Some(&Self::JUNGLE_CHEST_BOAT), + (594, 0) => Some(&Self::JUNGLE_DOOR), + (-578, 3) => Some(&Self::JUNGLE_FENCE), + (185, 0) => Some(&Self::JUNGLE_FENCE_GATE), + (-503, 0) => Some(&Self::JUNGLE_HANGING_SIGN), + (-802, 3) => Some(&Self::JUNGLE_LEAVES), + (-571, 3) => Some(&Self::JUNGLE_LOG), + (-741, 3) => Some(&Self::JUNGLE_PLANKS), + (-153, 0) => Some(&Self::JUNGLE_PRESSURE_PLATE), + (-827, 0) => Some(&Self::JUNGLE_SAPLING), + (-1050, 0) => Some(&Self::JUNGLE_SHELF), + (617, 0) => Some(&Self::JUNGLE_SIGN), + (-806, 0) => Some(&Self::JUNGLE_SLAB), + (136, 0) => Some(&Self::JUNGLE_STAIRS), + (-148, 0) => Some(&Self::JUNGLE_TRAPDOOR), + (-816, 3) => Some(&Self::JUNGLE_WOOD), + (414, 0) => Some(&Self::KELP), + (65, 0) => Some(&Self::LADDER), + (-208, 0) => Some(&Self::LANTERN), + (22, 0) => Some(&Self::LAPIS_BLOCK), + (446, 0) => Some(&Self::LAPIS_LAZULI), + (21, 0) => Some(&Self::LAPIS_ORE), + (-330, 0) => Some(&Self::LARGE_AMETHYST_BUD), + (-865, 0) => Some(&Self::LARGE_FERN), + (395, 0) => Some(&Self::LAVA_BUCKET), + (586, 0) => Some(&Self::LEAD), + (-1026, 0) => Some(&Self::LEAF_LITTER), + (413, 0) => Some(&Self::LEATHER), + (370, 0) => Some(&Self::LEATHER_BOOTS), + (368, 0) => Some(&Self::LEATHER_CHESTPLATE), + (367, 0) => Some(&Self::LEATHER_HELMET), + (569, 0) => Some(&Self::LEATHER_HORSE_ARMOR), + (369, 0) => Some(&Self::LEATHER_LEGGINGS), + (-194, 0) => Some(&Self::LECTERN), + (69, 0) => Some(&Self::LEVER), + (838, 0) => Some(&Self::LIGHT), + (606, 12) => Some(&Self::LIGHT_BLUE_BANNER), + (450, 3) => Some(&Self::LIGHT_BLUE_BED), + (271, 0) => Some(&Self::LIGHT_BLUE_BUNDLE), + (-416, 0) => Some(&Self::LIGHT_BLUE_CANDLE), + (-599, 3) => Some(&Self::LIGHT_BLUE_CARPET), + (-630, 3) => Some(&Self::LIGHT_BLUE_CONCRETE), + (-711, 3) => Some(&Self::LIGHT_BLUE_CONCRETE_POWDER), + (439, 0) => Some(&Self::LIGHT_BLUE_DYE), + (223, 0) => Some(&Self::LIGHT_BLUE_GLAZED_TERRACOTTA), + (762, 0) => Some(&Self::LIGHT_BLUE_HARNESS), + (-615, 3) => Some(&Self::LIGHT_BLUE_SHULKER_BOX), + (-675, 3) => Some(&Self::LIGHT_BLUE_STAINED_GLASS), + (-645, 3) => Some(&Self::LIGHT_BLUE_STAINED_GLASS_PANE), + (-726, 3) => Some(&Self::LIGHT_BLUE_TERRACOTTA), + (-562, 0) => Some(&Self::LIGHT_BLUE_WOOL), + (606, 7) => Some(&Self::LIGHT_GRAY_BANNER), + (450, 8) => Some(&Self::LIGHT_GRAY_BED), + (272, 0) => Some(&Self::LIGHT_GRAY_BUNDLE), + (-421, 0) => Some(&Self::LIGHT_GRAY_CANDLE), + (-604, 8) => Some(&Self::LIGHT_GRAY_CARPET), + (-635, 8) => Some(&Self::LIGHT_GRAY_CONCRETE), + (-716, 8) => Some(&Self::LIGHT_GRAY_CONCRETE_POWDER), + (434, 0) => Some(&Self::LIGHT_GRAY_DYE), + (228, 0) => Some(&Self::LIGHT_GRAY_GLAZED_TERRACOTTA), + (763, 0) => Some(&Self::LIGHT_GRAY_HARNESS), + (-620, 8) => Some(&Self::LIGHT_GRAY_SHULKER_BOX), + (-680, 8) => Some(&Self::LIGHT_GRAY_STAINED_GLASS), + (-650, 8) => Some(&Self::LIGHT_GRAY_STAINED_GLASS_PANE), + (-731, 8) => Some(&Self::LIGHT_GRAY_TERRACOTTA), + (-552, 8) => Some(&Self::LIGHT_GRAY_WOOL), + (147, 0) => Some(&Self::LIGHT_WEIGHTED_PRESSURE_PLATE), + (-312, 0) => Some(&Self::LIGHTNING_ROD), + (-863, 0) => Some(&Self::LILAC), + (-839, 0) => Some(&Self::LILY_OF_THE_VALLEY), + (111, 0) => Some(&Self::LILY_PAD), + (606, 10) => Some(&Self::LIME_BANNER), + (450, 5) => Some(&Self::LIME_BED), + (273, 0) => Some(&Self::LIME_BUNDLE), + (-418, 0) => Some(&Self::LIME_CANDLE), + (-601, 5) => Some(&Self::LIME_CARPET), + (-632, 5) => Some(&Self::LIME_CONCRETE), + (-713, 5) => Some(&Self::LIME_CONCRETE_POWDER), + (437, 0) => Some(&Self::LIME_DYE), + (225, 0) => Some(&Self::LIME_GLAZED_TERRACOTTA), + (764, 0) => Some(&Self::LIME_HARNESS), + (-617, 5) => Some(&Self::LIME_SHULKER_BOX), + (-677, 5) => Some(&Self::LIME_STAINED_GLASS), + (-647, 5) => Some(&Self::LIME_STAINED_GLASS_PANE), + (-728, 5) => Some(&Self::LIME_TERRACOTTA), + (-559, 0) => Some(&Self::LIME_WOOL), + (601, 0) => Some(&Self::LINGERING_POTION), + (507, 0) => Some(&Self::LLAMA_SPAWN_EGG), + (-222, 0) => Some(&Self::LODESTONE), + (-204, 0) => Some(&Self::LOOM), + (351, 0) => Some(&Self::MACE), + (606, 13) => Some(&Self::MAGENTA_BANNER), + (450, 2) => Some(&Self::MAGENTA_BED), + (274, 0) => Some(&Self::MAGENTA_BUNDLE), + (-415, 0) => Some(&Self::MAGENTA_CANDLE), + (-598, 2) => Some(&Self::MAGENTA_CARPET), + (-629, 2) => Some(&Self::MAGENTA_CONCRETE), + (-710, 2) => Some(&Self::MAGENTA_CONCRETE_POWDER), + (440, 0) => Some(&Self::MAGENTA_DYE), + (222, 0) => Some(&Self::MAGENTA_GLAZED_TERRACOTTA), + (765, 0) => Some(&Self::MAGENTA_HARNESS), + (-614, 2) => Some(&Self::MAGENTA_SHULKER_BOX), + (-674, 2) => Some(&Self::MAGENTA_STAINED_GLASS), + (-644, 2) => Some(&Self::MAGENTA_STAINED_GLASS_PANE), + (-725, 2) => Some(&Self::MAGENTA_TERRACOTTA), + (-565, 0) => Some(&Self::MAGENTA_WOOL), + (213, 0) => Some(&Self::MAGMA_BLOCK), + (463, 0) => Some(&Self::MAGMA_CREAM), + (488, 0) => Some(&Self::MAGMA_CUBE_SPAWN_EGG), + (677, 0) => Some(&Self::MANGROVE_BOAT), + (-487, 0) => Some(&Self::MANGROVE_BUTTON), + (686, 0) => Some(&Self::MANGROVE_CHEST_BOAT), + (675, 0) => Some(&Self::MANGROVE_DOOR), + (-491, 0) => Some(&Self::MANGROVE_FENCE), + (-492, 0) => Some(&Self::MANGROVE_FENCE_GATE), + (-508, 0) => Some(&Self::MANGROVE_HANGING_SIGN), + (-472, 0) => Some(&Self::MANGROVE_LEAVES), + (-484, 0) => Some(&Self::MANGROVE_LOG), + (-486, 0) => Some(&Self::MANGROVE_PLANKS), + (-490, 0) => Some(&Self::MANGROVE_PRESSURE_PLATE), + (-474, 0) => Some(&Self::MANGROVE_PROPAGULE), + (-482, 0) => Some(&Self::MANGROVE_ROOTS), + (-1053, 0) => Some(&Self::MANGROVE_SHELF), + (676, 0) => Some(&Self::MANGROVE_SIGN), + (-489, 0) => Some(&Self::MANGROVE_SLAB), + (-488, 0) => Some(&Self::MANGROVE_STAIRS), + (-496, 0) => Some(&Self::MANGROVE_TRAPDOOR), + (-497, 0) => Some(&Self::MANGROVE_WOOD), + (555, 0) => Some(&Self::MAP), + (-331, 0) => Some(&Self::MEDIUM_AMETHYST_BUD), + (103, 0) => Some(&Self::MELON), + (322, 0) => Some(&Self::MELON_SEEDS), + (301, 0) => Some(&Self::MELON_SLICE), + (393, 0) => Some(&Self::MILK_BUCKET), + (402, 0) => Some(&Self::MINECART), + (713, 0) => Some(&Self::MINER_POTTERY_SHERD), + (623, 0) => Some(&Self::MOJANG_BANNER_PATTERN), + (473, 0) => Some(&Self::MOOSHROOM_SPAWN_EGG), + (-320, 0) => Some(&Self::MOSS_BLOCK), + (-335, 0) => Some(&Self::MOSS_CARPET), + (48, 0) => Some(&Self::MOSSY_COBBLESTONE), + (-888, 0) => Some(&Self::MOSSY_COBBLESTONE_SLAB), + (-179, 0) => Some(&Self::MOSSY_COBBLESTONE_STAIRS), + (-971, 1) => Some(&Self::MOSSY_COBBLESTONE_WALL), + (-166, 0) => Some(&Self::MOSSY_STONE_BRICK_SLAB), + (-175, 0) => Some(&Self::MOSSY_STONE_BRICK_STAIRS), + (-978, 8) => Some(&Self::MOSSY_STONE_BRICK_WALL), + (-868, 0) => Some(&Self::MOSSY_STONE_BRICKS), + (714, 0) => Some(&Self::MOURNER_POTTERY_SHERD), + (-473, 0) => Some(&Self::MUD), + (-478, 0) => Some(&Self::MUD_BRICK_SLAB), + (-480, 0) => Some(&Self::MUD_BRICK_STAIRS), + (-481, 0) => Some(&Self::MUD_BRICK_WALL), + (-475, 0) => Some(&Self::MUD_BRICKS), + (-483, 0) => Some(&Self::MUDDY_MANGROVE_ROOTS), + (500, 0) => Some(&Self::MULE_SPAWN_EGG), + (-1008, 0) => Some(&Self::MUSHROOM_STEM), + (289, 0) => Some(&Self::MUSHROOM_STEW), + (583, 0) => Some(&Self::MUSIC_DISC_11), + (573, 0) => Some(&Self::MUSIC_DISC_13), + (678, 0) => Some(&Self::MUSIC_DISC_5), + (575, 0) => Some(&Self::MUSIC_DISC_BLOCKS), + (574, 0) => Some(&Self::MUSIC_DISC_CAT), + (576, 0) => Some(&Self::MUSIC_DISC_CHIRP), + (828, 0) => Some(&Self::MUSIC_DISC_CREATOR), + (829, 0) => Some(&Self::MUSIC_DISC_CREATOR_MUSIC_BOX), + (577, 0) => Some(&Self::MUSIC_DISC_FAR), + (832, 0) => Some(&Self::MUSIC_DISC_LAVA_CHICKEN), + (578, 0) => Some(&Self::MUSIC_DISC_MALL), + (579, 0) => Some(&Self::MUSIC_DISC_MELLOHI), + (668, 0) => Some(&Self::MUSIC_DISC_OTHERSIDE), + (662, 0) => Some(&Self::MUSIC_DISC_PIGSTEP), + (830, 0) => Some(&Self::MUSIC_DISC_PRECIPICE), + (742, 0) => Some(&Self::MUSIC_DISC_RELIC), + (580, 0) => Some(&Self::MUSIC_DISC_STAL), + (581, 0) => Some(&Self::MUSIC_DISC_STRAD), + (831, 0) => Some(&Self::MUSIC_DISC_TEARS), + (584, 0) => Some(&Self::MUSIC_DISC_WAIT), + (582, 0) => Some(&Self::MUSIC_DISC_WARD), + (589, 0) => Some(&Self::MUTTON), + (110, 0) => Some(&Self::MYCELIUM), + (587, 0) => Some(&Self::NAME_TAG), + (609, 0) => Some(&Self::NAUTILUS_SHELL), + (784, 0) => Some(&Self::NAUTILUS_SPAWN_EGG), + (562, 0) => Some(&Self::NETHER_BRICK), + (113, 0) => Some(&Self::NETHER_BRICK_FENCE), + (-877, 0) => Some(&Self::NETHER_BRICK_SLAB), + (114, 0) => Some(&Self::NETHER_BRICK_STAIRS), + (-979, 9) => Some(&Self::NETHER_BRICK_WALL), + (112, 0) => Some(&Self::NETHER_BRICKS), + (-288, 0) => Some(&Self::NETHER_GOLD_ORE), + (153, 0) => Some(&Self::NETHER_QUARTZ_ORE), + (663, 0) => Some(&Self::NETHER_SPROUTS), + (557, 0) => Some(&Self::NETHER_STAR), + (323, 0) => Some(&Self::NETHER_WART), + (214, 0) => Some(&Self::NETHER_WART_BLOCK), + (649, 0) => Some(&Self::NETHERITE_AXE), + (-270, 0) => Some(&Self::NETHERITE_BLOCK), + (655, 0) => Some(&Self::NETHERITE_BOOTS), + (653, 0) => Some(&Self::NETHERITE_CHESTPLATE), + (652, 0) => Some(&Self::NETHERITE_HELMET), + (650, 0) => Some(&Self::NETHERITE_HOE), + (792, 0) => Some(&Self::NETHERITE_HORSE_ARMOR), + (651, 0) => Some(&Self::NETHERITE_INGOT), + (654, 0) => Some(&Self::NETHERITE_LEGGINGS), + (791, 0) => Some(&Self::NETHERITE_NAUTILUS_ARMOR), + (648, 0) => Some(&Self::NETHERITE_PICKAXE), + (656, 0) => Some(&Self::NETHERITE_SCRAP), + (647, 0) => Some(&Self::NETHERITE_SHOVEL), + (261, 0) => Some(&Self::NETHERITE_SPEAR), + (646, 0) => Some(&Self::NETHERITE_SWORD), + (723, 0) => Some(&Self::NETHERITE_UPGRADE_SMITHING_TEMPLATE), + (87, 0) => Some(&Self::NETHERRACK), + (25, 0) => Some(&Self::NOTE_BLOCK), + (407, 0) => Some(&Self::OAK_BOAT), + (143, 0) => Some(&Self::OAK_BUTTON), + (680, 0) => Some(&Self::OAK_CHEST_BOAT), + (391, 0) => Some(&Self::OAK_DOOR), + (85, 0) => Some(&Self::OAK_FENCE), + (107, 0) => Some(&Self::OAK_FENCE_GATE), + (-500, 0) => Some(&Self::OAK_HANGING_SIGN), + (18, 0) => Some(&Self::OAK_LEAVES), + (17, 0) => Some(&Self::OAK_LOG), + (5, 0) => Some(&Self::OAK_PLANKS), + (72, 0) => Some(&Self::OAK_PRESSURE_PLATE), + (6, 0) => Some(&Self::OAK_SAPLING), + (-1047, 0) => Some(&Self::OAK_SHELF), + (390, 0) => Some(&Self::OAK_SIGN), + (158, 0) => Some(&Self::OAK_SLAB), + (53, 0) => Some(&Self::OAK_STAIRS), + (96, 0) => Some(&Self::OAK_TRAPDOOR), + (-212, 0) => Some(&Self::OAK_WOOD), + (251, 0) => Some(&Self::OBSERVER), + (49, 0) => Some(&Self::OBSIDIAN), + (484, 0) => Some(&Self::OCELOT_SPAWN_EGG), + (-471, 0) => Some(&Self::OCHRE_FROGLIGHT), + (634, 0) => Some(&Self::OMINOUS_BOTTLE), + (282, 0) => Some(&Self::OMINOUS_TRIAL_KEY), + (-1018, 0) => Some(&Self::OPEN_EYEBLOSSOM), + (606, 14) => Some(&Self::ORANGE_BANNER), + (450, 1) => Some(&Self::ORANGE_BED), + (275, 0) => Some(&Self::ORANGE_BUNDLE), + (-414, 0) => Some(&Self::ORANGE_CANDLE), + (-597, 1) => Some(&Self::ORANGE_CARPET), + (-628, 1) => Some(&Self::ORANGE_CONCRETE), + (-709, 1) => Some(&Self::ORANGE_CONCRETE_POWDER), + (441, 0) => Some(&Self::ORANGE_DYE), + (221, 0) => Some(&Self::ORANGE_GLAZED_TERRACOTTA), + (766, 0) => Some(&Self::ORANGE_HARNESS), + (-613, 1) => Some(&Self::ORANGE_SHULKER_BOX), + (-673, 1) => Some(&Self::ORANGE_STAINED_GLASS), + (-643, 1) => Some(&Self::ORANGE_STAINED_GLASS_PANE), + (-724, 1) => Some(&Self::ORANGE_TERRACOTTA), + (-834, 0) => Some(&Self::ORANGE_TULIP), + (-557, 0) => Some(&Self::ORANGE_WOOL), + (-837, 0) => Some(&Self::OXEYE_DAISY), + (-763, 0) => Some(&Self::OXIDIZED_CHISELED_COPPER), + (-343, 0) => Some(&Self::OXIDIZED_COPPER), + (-1069, 0) => Some(&Self::OXIDIZED_COPPER_BARS), + (-779, 0) => Some(&Self::OXIDIZED_COPPER_BULB), + (-1077, 0) => Some(&Self::OXIDIZED_COPPER_CHAIN), + (-1034, 0) => Some(&Self::OXIDIZED_COPPER_CHEST), + (-787, 0) => Some(&Self::OXIDIZED_COPPER_DOOR), + (-1042, 0) => Some(&Self::OXIDIZED_COPPER_GOLEM_STATUE), + (-771, 0) => Some(&Self::OXIDIZED_COPPER_GRATE), + (-1086, 0) => Some(&Self::OXIDIZED_COPPER_LANTERN), + (-795, 0) => Some(&Self::OXIDIZED_COPPER_TRAPDOOR), + (-350, 0) => Some(&Self::OXIDIZED_CUT_COPPER), + (-364, 0) => Some(&Self::OXIDIZED_CUT_COPPER_SLAB), + (-357, 0) => Some(&Self::OXIDIZED_CUT_COPPER_STAIRS), + (-1061, 0) => Some(&Self::OXIDIZED_LIGHTNING_ROD), + (174, 0) => Some(&Self::PACKED_ICE), + (-477, 0) => Some(&Self::PACKED_MUD), + (389, 0) => Some(&Self::PAINTING), + (-1011, 0) => Some(&Self::PALE_HANGING_MOSS), + (-1009, 0) => Some(&Self::PALE_MOSS_BLOCK), + (-1010, 0) => Some(&Self::PALE_MOSS_CARPET), + (748, 0) => Some(&Self::PALE_OAK_BOAT), + (-989, 0) => Some(&Self::PALE_OAK_BUTTON), + (749, 0) => Some(&Self::PALE_OAK_CHEST_BOAT), + (-990, 0) => Some(&Self::PALE_OAK_DOOR), + (-991, 0) => Some(&Self::PALE_OAK_FENCE), + (-992, 0) => Some(&Self::PALE_OAK_FENCE_GATE), + (-993, 0) => Some(&Self::PALE_OAK_HANGING_SIGN), + (-1007, 0) => Some(&Self::PALE_OAK_LEAVES), + (-995, 0) => Some(&Self::PALE_OAK_LOG), + (-996, 0) => Some(&Self::PALE_OAK_PLANKS), + (-997, 0) => Some(&Self::PALE_OAK_PRESSURE_PLATE), + (-1006, 0) => Some(&Self::PALE_OAK_SAPLING), + (-1055, 0) => Some(&Self::PALE_OAK_SHELF), + (750, 0) => Some(&Self::PALE_OAK_SIGN), + (-998, 0) => Some(&Self::PALE_OAK_SLAB), + (-1000, 0) => Some(&Self::PALE_OAK_STAIRS), + (-1002, 0) => Some(&Self::PALE_OAK_TRAPDOOR), + (-1005, 0) => Some(&Self::PALE_OAK_WOOD), + (523, 0) => Some(&Self::PANDA_SPAWN_EGG), + (418, 0) => Some(&Self::PAPER), + (786, 0) => Some(&Self::PARCHED_SPAWN_EGG), + (512, 0) => Some(&Self::PARROT_SPAWN_EGG), + (-469, 0) => Some(&Self::PEARLESCENT_FROGLIGHT), + (-867, 0) => Some(&Self::PEONY), + (-902, 0) => Some(&Self::PETRIFIED_OAK_SLAB), + (613, 0) => Some(&Self::PHANTOM_MEMBRANE), + (520, 0) => Some(&Self::PHANTOM_SPAWN_EGG), + (470, 0) => Some(&Self::PIG_SPAWN_EGG), + (626, 0) => Some(&Self::PIGLIN_BANNER_PATTERN), + (533, 0) => Some(&Self::PIGLIN_BRUTE_SPAWN_EGG), + (-970, 0) => Some(&Self::PIGLIN_HEAD), + (531, 0) => Some(&Self::PIGLIN_SPAWN_EGG), + (525, 0) => Some(&Self::PILLAGER_SPAWN_EGG), + (606, 9) => Some(&Self::PINK_BANNER), + (450, 6) => Some(&Self::PINK_BED), + (276, 0) => Some(&Self::PINK_BUNDLE), + (-419, 0) => Some(&Self::PINK_CANDLE), + (-602, 6) => Some(&Self::PINK_CARPET), + (-633, 6) => Some(&Self::PINK_CONCRETE), + (-714, 6) => Some(&Self::PINK_CONCRETE_POWDER), + (436, 0) => Some(&Self::PINK_DYE), + (226, 0) => Some(&Self::PINK_GLAZED_TERRACOTTA), + (767, 0) => Some(&Self::PINK_HARNESS), + (-549, 0) => Some(&Self::PINK_PETALS), + (-618, 6) => Some(&Self::PINK_SHULKER_BOX), + (-678, 6) => Some(&Self::PINK_STAINED_GLASS), + (-648, 6) => Some(&Self::PINK_STAINED_GLASS_PANE), + (-729, 6) => Some(&Self::PINK_TERRACOTTA), + (-836, 0) => Some(&Self::PINK_TULIP), + (-566, 0) => Some(&Self::PINK_WOOL), + (33, 1) => Some(&Self::PISTON), + (-612, 0) => Some(&Self::PITCHER_PLANT), + (326, 0) => Some(&Self::PITCHER_POD), + (-967, 0) => Some(&Self::PLAYER_HEAD), + (715, 0) => Some(&Self::PLENTY_POTTERY_SHERD), + (243, 0) => Some(&Self::PODZOL), + (-308, 0) => Some(&Self::POINTED_DRIPSTONE), + (311, 0) => Some(&Self::POISONOUS_POTATO), + (506, 0) => Some(&Self::POLAR_BEAR_SPAWN_EGG), + (-595, 6) => Some(&Self::POLISHED_ANDESITE), + (-892, 0) => Some(&Self::POLISHED_ANDESITE_SLAB), + (-174, 0) => Some(&Self::POLISHED_ANDESITE_STAIRS), + (-235, 0) => Some(&Self::POLISHED_BASALT), + (-291, 0) => Some(&Self::POLISHED_BLACKSTONE), + (-284, 0) => Some(&Self::POLISHED_BLACKSTONE_BRICK_SLAB), + (-275, 0) => Some(&Self::POLISHED_BLACKSTONE_BRICK_STAIRS), + (-278, 0) => Some(&Self::POLISHED_BLACKSTONE_BRICK_WALL), + (-274, 0) => Some(&Self::POLISHED_BLACKSTONE_BRICKS), + (-296, 0) => Some(&Self::POLISHED_BLACKSTONE_BUTTON), + (-295, 0) => Some(&Self::POLISHED_BLACKSTONE_PRESSURE_PLATE), + (-293, 0) => Some(&Self::POLISHED_BLACKSTONE_SLAB), + (-292, 0) => Some(&Self::POLISHED_BLACKSTONE_STAIRS), + (-297, 0) => Some(&Self::POLISHED_BLACKSTONE_WALL), + (-383, 0) => Some(&Self::POLISHED_DEEPSLATE), + (-384, 0) => Some(&Self::POLISHED_DEEPSLATE_SLAB), + (-385, 0) => Some(&Self::POLISHED_DEEPSLATE_STAIRS), + (-386, 0) => Some(&Self::POLISHED_DEEPSLATE_WALL), + (-593, 4) => Some(&Self::POLISHED_DIORITE), + (-895, 0) => Some(&Self::POLISHED_DIORITE_SLAB), + (-173, 0) => Some(&Self::POLISHED_DIORITE_STAIRS), + (-591, 2) => Some(&Self::POLISHED_GRANITE), + (-897, 0) => Some(&Self::POLISHED_GRANITE_SLAB), + (-172, 0) => Some(&Self::POLISHED_GRANITE_STAIRS), + (-748, 0) => Some(&Self::POLISHED_TUFF), + (-749, 0) => Some(&Self::POLISHED_TUFF_SLAB), + (-751, 0) => Some(&Self::POLISHED_TUFF_STAIRS), + (-752, 0) => Some(&Self::POLISHED_TUFF_WALL), + (598, 0) => Some(&Self::POPPED_CHORUS_FRUIT), + (38, 0) => Some(&Self::POPPY), + (291, 0) => Some(&Self::PORKCHOP), + (309, 0) => Some(&Self::POTATO), + (459, 0) => Some(&Self::POTION), + (400, 0) => Some(&Self::POWDER_SNOW_BUCKET), + (27, 0) => Some(&Self::POWERED_RAIL), + (168, 0) => Some(&Self::PRISMARINE), + (-887, 0) => Some(&Self::PRISMARINE_BRICK_SLAB), + (-4, 0) => Some(&Self::PRISMARINE_BRICK_STAIRS), + (-948, 0) => Some(&Self::PRISMARINE_BRICKS), + (588, 0) => Some(&Self::PRISMARINE_CRYSTALS), + (604, 0) => Some(&Self::PRISMARINE_SHARD), + (-885, 0) => Some(&Self::PRISMARINE_SLAB), + (-2, 0) => Some(&Self::PRISMARINE_STAIRS), + (-981, 11) => Some(&Self::PRISMARINE_WALL), + (716, 0) => Some(&Self::PRIZE_POTTERY_SHERD), + (296, 0) => Some(&Self::PUFFERFISH), + (399, 0) => Some(&Self::PUFFERFISH_BUCKET), + (515, 0) => Some(&Self::PUFFERFISH_SPAWN_EGG), + (86, 0) => Some(&Self::PUMPKIN), + (313, 0) => Some(&Self::PUMPKIN_PIE), + (321, 0) => Some(&Self::PUMPKIN_SEEDS), + (606, 5) => Some(&Self::PURPLE_BANNER), + (450, 10) => Some(&Self::PURPLE_BED), + (277, 0) => Some(&Self::PURPLE_BUNDLE), + (-423, 0) => Some(&Self::PURPLE_CANDLE), + (-606, 10) => Some(&Self::PURPLE_CARPET), + (-637, 10) => Some(&Self::PURPLE_CONCRETE), + (-718, 10) => Some(&Self::PURPLE_CONCRETE_POWDER), + (432, 0) => Some(&Self::PURPLE_DYE), + (219, 0) => Some(&Self::PURPLE_GLAZED_TERRACOTTA), + (768, 0) => Some(&Self::PURPLE_HARNESS), + (-622, 10) => Some(&Self::PURPLE_SHULKER_BOX), + (-682, 10) => Some(&Self::PURPLE_STAINED_GLASS), + (-652, 10) => Some(&Self::PURPLE_STAINED_GLASS_PANE), + (-733, 10) => Some(&Self::PURPLE_TERRACOTTA), + (-564, 0) => Some(&Self::PURPLE_WOOL), + (201, 0) => Some(&Self::PURPUR_BLOCK), + (-951, 2) => Some(&Self::PURPUR_PILLAR), + (-884, 0) => Some(&Self::PURPUR_SLAB), + (203, 0) => Some(&Self::PURPUR_STAIRS), + (563, 0) => Some(&Self::QUARTZ), + (155, 0) => Some(&Self::QUARTZ_BLOCK), + (-304, 0) => Some(&Self::QUARTZ_BRICKS), + (-954, 0) => Some(&Self::QUARTZ_PILLAR), + (-876, 0) => Some(&Self::QUARTZ_SLAB), + (156, 0) => Some(&Self::QUARTZ_STAIRS), + (317, 0) => Some(&Self::RABBIT), + (567, 0) => Some(&Self::RABBIT_FOOT), + (568, 0) => Some(&Self::RABBIT_HIDE), + (492, 0) => Some(&Self::RABBIT_SPAWN_EGG), + (319, 0) => Some(&Self::RABBIT_STEW), + (66, 0) => Some(&Self::RAIL), + (737, 0) => Some(&Self::RAISER_ARMOR_TRIM_SMITHING_TEMPLATE), + (527, 0) => Some(&Self::RAVAGER_SPAWN_EGG), + (547, 0) => Some(&Self::RAW_COPPER), + (-452, 0) => Some(&Self::RAW_COPPER_BLOCK), + (546, 0) => Some(&Self::RAW_GOLD), + (-453, 0) => Some(&Self::RAW_GOLD_BLOCK), + (545, 0) => Some(&Self::RAW_IRON), + (-451, 0) => Some(&Self::RAW_IRON_BLOCK), + (688, 0) => Some(&Self::RECOVERY_COMPASS), + (606, 1) => Some(&Self::RED_BANNER), + (450, 14) => Some(&Self::RED_BED), + (278, 0) => Some(&Self::RED_BUNDLE), + (-427, 0) => Some(&Self::RED_CANDLE), + (-610, 14) => Some(&Self::RED_CARPET), + (-641, 14) => Some(&Self::RED_CONCRETE), + (-722, 14) => Some(&Self::RED_CONCRETE_POWDER), + (428, 0) => Some(&Self::RED_DYE), + (234, 0) => Some(&Self::RED_GLAZED_TERRACOTTA), + (769, 0) => Some(&Self::RED_HARNESS), + (40, 0) => Some(&Self::RED_MUSHROOM), + (100, 14) => Some(&Self::RED_MUSHROOM_BLOCK), + (-890, 0) => Some(&Self::RED_NETHER_BRICK_SLAB), + (-184, 0) => Some(&Self::RED_NETHER_BRICK_STAIRS), + (-983, 13) => Some(&Self::RED_NETHER_BRICK_WALL), + (215, 0) => Some(&Self::RED_NETHER_BRICKS), + (-949, 0) => Some(&Self::RED_SAND), + (179, 0) => Some(&Self::RED_SANDSTONE), + (182, 0) => Some(&Self::RED_SANDSTONE_SLAB), + (180, 0) => Some(&Self::RED_SANDSTONE_STAIRS), + (-982, 12) => Some(&Self::RED_SANDSTONE_WALL), + (-626, 14) => Some(&Self::RED_SHULKER_BOX), + (-686, 14) => Some(&Self::RED_STAINED_GLASS), + (-656, 14) => Some(&Self::RED_STAINED_GLASS_PANE), + (-737, 14) => Some(&Self::RED_TERRACOTTA), + (-833, 0) => Some(&Self::RED_TULIP), + (-556, 0) => Some(&Self::RED_WOOL), + (405, 0) => Some(&Self::REDSTONE), + (152, 0) => Some(&Self::REDSTONE_BLOCK), + (123, 0) => Some(&Self::REDSTONE_LAMP), + (73, 0) => Some(&Self::REDSTONE_ORE), + (76, 0) => Some(&Self::REDSTONE_TORCH), + (-466, 0) => Some(&Self::REINFORCED_DEEPSLATE), + (451, 0) => Some(&Self::REPEATER), + (188, 0) => Some(&Self::REPEATING_COMMAND_BLOCK), + (-1021, 0) => Some(&Self::RESIN_BLOCK), + (752, 0) => Some(&Self::RESIN_BRICK), + (-1014, 0) => Some(&Self::RESIN_BRICK_SLAB), + (-1016, 0) => Some(&Self::RESIN_BRICK_STAIRS), + (-1017, 0) => Some(&Self::RESIN_BRICK_WALL), + (-1013, 0) => Some(&Self::RESIN_BRICKS), + (-1022, 0) => Some(&Self::RESIN_CLUMP), + (-272, 0) => Some(&Self::RESPAWN_ANCHOR), + (733, 0) => Some(&Self::RIB_ARMOR_TRIM_SMITHING_TEMPLATE), + (-318, 0) => Some(&Self::ROOTED_DIRT), + (-866, 0) => Some(&Self::ROSE_BUSH), + (306, 0) => Some(&Self::ROTTEN_FLESH), + (403, 0) => Some(&Self::SADDLE), + (294, 0) => Some(&Self::SALMON), + (397, 0) => Some(&Self::SALMON_BUCKET), + (516, 0) => Some(&Self::SALMON_SPAWN_EGG), + (12, 0) => Some(&Self::SAND), + (24, 0) => Some(&Self::SANDSTONE), + (-872, 0) => Some(&Self::SANDSTONE_SLAB), + (128, 0) => Some(&Self::SANDSTONE_STAIRS), + (-975, 5) => Some(&Self::SANDSTONE_WALL), + (-165, 0) => Some(&Self::SCAFFOLDING), + (717, 0) => Some(&Self::SCRAPE_POTTERY_SHERD), + (-458, 0) => Some(&Self::SCULK), + (-460, 0) => Some(&Self::SCULK_CATALYST), + (-307, 0) => Some(&Self::SCULK_SENSOR), + (-461, 0) => Some(&Self::SCULK_SHRIEKER), + (-459, 0) => Some(&Self::SCULK_VEIN), + (169, 0) => Some(&Self::SEA_LANTERN), + (-156, 0) => Some(&Self::SEA_PICKLE), + (-130, 0) => Some(&Self::SEAGRASS), + (724, 0) => Some(&Self::SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE), + (738, 0) => Some(&Self::SHAPER_ARMOR_TRIM_SMITHING_TEMPLATE), + (718, 0) => Some(&Self::SHEAF_POTTERY_SHERD), + (453, 0) => Some(&Self::SHEARS), + (471, 0) => Some(&Self::SHEEP_SPAWN_EGG), + (719, 0) => Some(&Self::SHELTER_POTTERY_SHERD), + (387, 0) => Some(&Self::SHIELD), + (-1028, 0) => Some(&Self::SHORT_DRY_GRASS), + (31, 0) => Some(&Self::SHORT_GRASS), + (-230, 0) => Some(&Self::SHROOMLIGHT), + (205, 0) => Some(&Self::SHULKER_BOX), + (605, 0) => Some(&Self::SHULKER_SHELL), + (503, 0) => Some(&Self::SHULKER_SPAWN_EGG), + (735, 0) => Some(&Self::SILENCE_ARMOR_TRIM_SMITHING_TEMPLATE), + (476, 0) => Some(&Self::SILVERFISH_SPAWN_EGG), + (501, 0) => Some(&Self::SKELETON_HORSE_SPAWN_EGG), + (144, 0) => Some(&Self::SKELETON_SKULL), + (477, 0) => Some(&Self::SKELETON_SPAWN_EGG), + (622, 0) => Some(&Self::SKULL_BANNER_PATTERN), + (720, 0) => Some(&Self::SKULL_POTTERY_SHERD), + (420, 0) => Some(&Self::SLIME_BALL), + (165, 0) => Some(&Self::SLIME_BLOCK), + (478, 0) => Some(&Self::SLIME_SPAWN_EGG), + (-332, 0) => Some(&Self::SMALL_AMETHYST_BUD), + (-336, 0) => Some(&Self::SMALL_DRIPLEAF), + (-202, 0) => Some(&Self::SMITHING_TABLE), + (-198, 0) => Some(&Self::SMOKER), + (-377, 0) => Some(&Self::SMOOTH_BASALT), + (-955, 0) => Some(&Self::SMOOTH_QUARTZ), + (-898, 0) => Some(&Self::SMOOTH_QUARTZ_SLAB), + (-185, 0) => Some(&Self::SMOOTH_QUARTZ_STAIRS), + (-958, 0) => Some(&Self::SMOOTH_RED_SANDSTONE), + (-891, 0) => Some(&Self::SMOOTH_RED_SANDSTONE_SLAB), + (-176, 0) => Some(&Self::SMOOTH_RED_SANDSTONE_STAIRS), + (-946, 0) => Some(&Self::SMOOTH_SANDSTONE), + (-889, 0) => Some(&Self::SMOOTH_SANDSTONE_SLAB), + (-177, 0) => Some(&Self::SMOOTH_SANDSTONE_STAIRS), + (-183, 0) => Some(&Self::SMOOTH_STONE), + (44, 0) => Some(&Self::SMOOTH_STONE_SLAB), + (-596, 0) => Some(&Self::SNIFFER_EGG), + (534, 0) => Some(&Self::SNIFFER_SPAWN_EGG), + (721, 0) => Some(&Self::SNORT_POTTERY_SHERD), + (732, 0) => Some(&Self::SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE), + (78, 0) => Some(&Self::SNOW), + (80, 0) => Some(&Self::SNOW_BLOCK), + (540, 0) => Some(&Self::SNOW_GOLEM_SPAWN_EGG), + (406, 0) => Some(&Self::SNOWBALL), + (664, 0) => Some(&Self::SOUL_CAMPFIRE), + (-269, 0) => Some(&Self::SOUL_LANTERN), + (88, 0) => Some(&Self::SOUL_SAND), + (-236, 0) => Some(&Self::SOUL_SOIL), + (-268, 0) => Some(&Self::SOUL_TORCH), + (52, 0) => Some(&Self::SPAWNER), + (307, 0) => Some(&Self::SPIDER_EYE), + (479, 0) => Some(&Self::SPIDER_SPAWN_EGG), + (734, 0) => Some(&Self::SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE), + (600, 0) => Some(&Self::SPLASH_POTION), + (19, 0) => Some(&Self::SPONGE), + (-321, 0) => Some(&Self::SPORE_BLOSSOM), + (410, 0) => Some(&Self::SPRUCE_BOAT), + (-144, 0) => Some(&Self::SPRUCE_BUTTON), + (683, 0) => Some(&Self::SPRUCE_CHEST_BOAT), + (592, 0) => Some(&Self::SPRUCE_DOOR), + (-579, 1) => Some(&Self::SPRUCE_FENCE), + (183, 0) => Some(&Self::SPRUCE_FENCE_GATE), + (-501, 0) => Some(&Self::SPRUCE_HANGING_SIGN), + (-800, 1) => Some(&Self::SPRUCE_LEAVES), + (-569, 1) => Some(&Self::SPRUCE_LOG), + (-739, 1) => Some(&Self::SPRUCE_PLANKS), + (-154, 0) => Some(&Self::SPRUCE_PRESSURE_PLATE), + (-825, 0) => Some(&Self::SPRUCE_SAPLING), + (-1048, 0) => Some(&Self::SPRUCE_SHELF), + (615, 0) => Some(&Self::SPRUCE_SIGN), + (-804, 0) => Some(&Self::SPRUCE_SLAB), + (134, 0) => Some(&Self::SPRUCE_STAIRS), + (-149, 0) => Some(&Self::SPRUCE_TRAPDOOR), + (-814, 1) => Some(&Self::SPRUCE_WOOD), + (667, 0) => Some(&Self::SPYGLASS), + (483, 0) => Some(&Self::SQUID_SPAWN_EGG), + (29, 1) => Some(&Self::STICKY_PISTON), + (1, 0) => Some(&Self::STONE), + (346, 0) => Some(&Self::STONE_AXE), + (-875, 0) => Some(&Self::STONE_BRICK_SLAB), + (109, 0) => Some(&Self::STONE_BRICK_STAIRS), + (-977, 7) => Some(&Self::STONE_BRICK_WALL), + (98, 0) => Some(&Self::STONE_BRICKS), + (77, 0) => Some(&Self::STONE_BUTTON), + (362, 0) => Some(&Self::STONE_HOE), + (345, 0) => Some(&Self::STONE_PICKAXE), + (70, 0) => Some(&Self::STONE_PRESSURE_PLATE), + (344, 0) => Some(&Self::STONE_SHOVEL), + (801, 0) => Some(&Self::STONE_SLAB), + (262, 0) => Some(&Self::STONE_SPEAR), + (-180, 0) => Some(&Self::STONE_STAIRS), + (343, 0) => Some(&Self::STONE_SWORD), + (-197, 0) => Some(&Self::STONECUTTER), + (495, 0) => Some(&Self::STRAY_SPAWN_EGG), + (529, 0) => Some(&Self::STRIDER_SPAWN_EGG), + (358, 0) => Some(&Self::STRING), + (-8, 0) => Some(&Self::STRIPPED_ACACIA_LOG), + (-823, 12) => Some(&Self::STRIPPED_ACACIA_WOOD), + (-528, 0) => Some(&Self::STRIPPED_BAMBOO_BLOCK), + (-6, 0) => Some(&Self::STRIPPED_BIRCH_LOG), + (-821, 10) => Some(&Self::STRIPPED_BIRCH_WOOD), + (-535, 0) => Some(&Self::STRIPPED_CHERRY_LOG), + (-545, 0) => Some(&Self::STRIPPED_CHERRY_WOOD), + (-300, 0) => Some(&Self::STRIPPED_CRIMSON_HYPHAE), + (-240, 0) => Some(&Self::STRIPPED_CRIMSON_STEM), + (-9, 0) => Some(&Self::STRIPPED_DARK_OAK_LOG), + (-824, 13) => Some(&Self::STRIPPED_DARK_OAK_WOOD), + (-7, 0) => Some(&Self::STRIPPED_JUNGLE_LOG), + (-822, 11) => Some(&Self::STRIPPED_JUNGLE_WOOD), + (-485, 0) => Some(&Self::STRIPPED_MANGROVE_LOG), + (-498, 0) => Some(&Self::STRIPPED_MANGROVE_WOOD), + (-10, 0) => Some(&Self::STRIPPED_OAK_LOG), + (-819, 8) => Some(&Self::STRIPPED_OAK_WOOD), + (-994, 0) => Some(&Self::STRIPPED_PALE_OAK_LOG), + (-1004, 0) => Some(&Self::STRIPPED_PALE_OAK_WOOD), + (-5, 0) => Some(&Self::STRIPPED_SPRUCE_LOG), + (-820, 9) => Some(&Self::STRIPPED_SPRUCE_WOOD), + (-301, 0) => Some(&Self::STRIPPED_WARPED_HYPHAE), + (-241, 0) => Some(&Self::STRIPPED_WARPED_STEM), + (252, 0) => Some(&Self::STRUCTURE_BLOCK), + (217, 0) => Some(&Self::STRUCTURE_VOID), + (448, 0) => Some(&Self::SUGAR), + (417, 0) => Some(&Self::SUGAR_CANE), + (175, 0) => Some(&Self::SUNFLOWER), + (-573, 0) => Some(&Self::SUSPICIOUS_GRAVEL), + (-529, 0) => Some(&Self::SUSPICIOUS_SAND), + (631, 0) => Some(&Self::SUSPICIOUS_STEW), + (316, 0) => Some(&Self::SWEET_BERRIES), + (672, 0) => Some(&Self::TADPOLE_BUCKET), + (671, 0) => Some(&Self::TADPOLE_SPAWN_EGG), + (-1029, 0) => Some(&Self::TALL_DRY_GRASS), + (-864, 0) => Some(&Self::TALL_GRASS), + (-239, 0) => Some(&Self::TARGET), + (172, 0) => Some(&Self::TERRACOTTA), + (-305, 0) => Some(&Self::TEST_BLOCK), + (731, 0) => Some(&Self::TIDE_ARMOR_TRIM_SMITHING_TEMPLATE), + (-334, 0) => Some(&Self::TINTED_GLASS), + (46, 0) => Some(&Self::TNT), + (564, 0) => Some(&Self::TNT_MINECART), + (50, 0) => Some(&Self::TORCH), + (-568, 0) => Some(&Self::TORCHFLOWER), + (325, 0) => Some(&Self::TORCHFLOWER_SEEDS), + (607, 0) => Some(&Self::TOTEM_OF_UNDYING), + (690, 0) => Some(&Self::TRADER_LLAMA_SPAWN_EGG), + (146, 0) => Some(&Self::TRAPPED_CHEST), + (283, 0) => Some(&Self::TRIAL_KEY), + (-315, 0) => Some(&Self::TRIAL_SPAWNER), + (585, 0) => Some(&Self::TRIDENT), + (131, 0) => Some(&Self::TRIPWIRE_HOOK), + (295, 0) => Some(&Self::TROPICAL_FISH), + (398, 0) => Some(&Self::TROPICAL_FISH_BUCKET), + (513, 0) => Some(&Self::TROPICAL_FISH_SPAWN_EGG), + (-131, 0) => Some(&Self::TUBE_CORAL), + (-132, 0) => Some(&Self::TUBE_CORAL_BLOCK), + (-133, 0) => Some(&Self::TUBE_CORAL_FAN), + (-333, 0) => Some(&Self::TUFF), + (-755, 0) => Some(&Self::TUFF_BRICK_SLAB), + (-757, 0) => Some(&Self::TUFF_BRICK_STAIRS), + (-758, 0) => Some(&Self::TUFF_BRICK_WALL), + (-754, 0) => Some(&Self::TUFF_BRICKS), + (-744, 0) => Some(&Self::TUFF_SLAB), + (-746, 0) => Some(&Self::TUFF_STAIRS), + (-747, 0) => Some(&Self::TUFF_WALL), + (-159, 0) => Some(&Self::TURTLE_EGG), + (612, 0) => Some(&Self::TURTLE_HELMET), + (611, 0) => Some(&Self::TURTLE_SCUTE), + (519, 0) => Some(&Self::TURTLE_SPAWN_EGG), + (-287, 0) => Some(&Self::TWISTING_VINES), + (-314, 0) => Some(&Self::VAULT), + (-470, 0) => Some(&Self::VERDANT_FROGLIGHT), + (730, 0) => Some(&Self::VEX_ARMOR_TRIM_SMITHING_TEMPLATE), + (510, 0) => Some(&Self::VEX_SPAWN_EGG), + (482, 0) => Some(&Self::VILLAGER_SPAWN_EGG), + (508, 0) => Some(&Self::VINDICATOR_SPAWN_EGG), + (106, 0) => Some(&Self::VINE), + (526, 0) => Some(&Self::WANDERING_TRADER_SPAWN_EGG), + (728, 0) => Some(&Self::WARD_ARMOR_TRIM_SMITHING_TEMPLATE), + (674, 0) => Some(&Self::WARDEN_SPAWN_EGG), + (-261, 0) => Some(&Self::WARPED_BUTTON), + (660, 0) => Some(&Self::WARPED_DOOR), + (-257, 0) => Some(&Self::WARPED_FENCE), + (-259, 0) => Some(&Self::WARPED_FENCE_GATE), + (-229, 0) => Some(&Self::WARPED_FUNGUS), + (661, 0) => Some(&Self::WARPED_FUNGUS_ON_A_STICK), + (-507, 0) => Some(&Self::WARPED_HANGING_SIGN), + (-298, 0) => Some(&Self::WARPED_HYPHAE), + (-233, 0) => Some(&Self::WARPED_NYLIUM), + (-243, 0) => Some(&Self::WARPED_PLANKS), + (-263, 0) => Some(&Self::WARPED_PRESSURE_PLATE), + (-224, 0) => Some(&Self::WARPED_ROOTS), + (-1058, 0) => Some(&Self::WARPED_SHELF), + (658, 0) => Some(&Self::WARPED_SIGN), + (-265, 0) => Some(&Self::WARPED_SLAB), + (-255, 0) => Some(&Self::WARPED_STAIRS), + (-226, 0) => Some(&Self::WARPED_STEM), + (-247, 0) => Some(&Self::WARPED_TRAPDOOR), + (-227, 0) => Some(&Self::WARPED_WART_BLOCK), + (394, 0) => Some(&Self::WATER_BUCKET), + (-764, 0) => Some(&Self::WAXED_CHISELED_COPPER), + (-1070, 0) => Some(&Self::WAXED_COPPER_BARS), + (-344, 0) => Some(&Self::WAXED_COPPER_BLOCK), + (-780, 0) => Some(&Self::WAXED_COPPER_BULB), + (-1078, 0) => Some(&Self::WAXED_COPPER_CHAIN), + (-1035, 0) => Some(&Self::WAXED_COPPER_CHEST), + (-788, 0) => Some(&Self::WAXED_COPPER_DOOR), + (-1043, 0) => Some(&Self::WAXED_COPPER_GOLEM_STATUE), + (-772, 0) => Some(&Self::WAXED_COPPER_GRATE), + (-1087, 0) => Some(&Self::WAXED_COPPER_LANTERN), + (-796, 0) => Some(&Self::WAXED_COPPER_TRAPDOOR), + (-351, 0) => Some(&Self::WAXED_CUT_COPPER), + (-365, 0) => Some(&Self::WAXED_CUT_COPPER_SLAB), + (-358, 0) => Some(&Self::WAXED_CUT_COPPER_STAIRS), + (-765, 0) => Some(&Self::WAXED_EXPOSED_CHISELED_COPPER), + (-345, 0) => Some(&Self::WAXED_EXPOSED_COPPER), + (-1071, 0) => Some(&Self::WAXED_EXPOSED_COPPER_BARS), + (-781, 0) => Some(&Self::WAXED_EXPOSED_COPPER_BULB), + (-1079, 0) => Some(&Self::WAXED_EXPOSED_COPPER_CHAIN), + (-1036, 0) => Some(&Self::WAXED_EXPOSED_COPPER_CHEST), + (-789, 0) => Some(&Self::WAXED_EXPOSED_COPPER_DOOR), + (-1044, 0) => Some(&Self::WAXED_EXPOSED_COPPER_GOLEM_STATUE), + (-773, 0) => Some(&Self::WAXED_EXPOSED_COPPER_GRATE), + (-1088, 0) => Some(&Self::WAXED_EXPOSED_COPPER_LANTERN), + (-797, 0) => Some(&Self::WAXED_EXPOSED_COPPER_TRAPDOOR), + (-352, 0) => Some(&Self::WAXED_EXPOSED_CUT_COPPER), + (-366, 0) => Some(&Self::WAXED_EXPOSED_CUT_COPPER_SLAB), + (-359, 0) => Some(&Self::WAXED_EXPOSED_CUT_COPPER_STAIRS), + (-1063, 0) => Some(&Self::WAXED_EXPOSED_LIGHTNING_ROD), + (-1062, 0) => Some(&Self::WAXED_LIGHTNING_ROD), + (-766, 0) => Some(&Self::WAXED_OXIDIZED_CHISELED_COPPER), + (-446, 0) => Some(&Self::WAXED_OXIDIZED_COPPER), + (-1073, 0) => Some(&Self::WAXED_OXIDIZED_COPPER_BARS), + (-783, 0) => Some(&Self::WAXED_OXIDIZED_COPPER_BULB), + (-1081, 0) => Some(&Self::WAXED_OXIDIZED_COPPER_CHAIN), + (-1038, 0) => Some(&Self::WAXED_OXIDIZED_COPPER_CHEST), + (-791, 0) => Some(&Self::WAXED_OXIDIZED_COPPER_DOOR), + (-1046, 0) => Some(&Self::WAXED_OXIDIZED_COPPER_GOLEM_STATUE), + (-775, 0) => Some(&Self::WAXED_OXIDIZED_COPPER_GRATE), + (-1090, 0) => Some(&Self::WAXED_OXIDIZED_COPPER_LANTERN), + (-799, 0) => Some(&Self::WAXED_OXIDIZED_COPPER_TRAPDOOR), + (-447, 0) => Some(&Self::WAXED_OXIDIZED_CUT_COPPER), + (-449, 0) => Some(&Self::WAXED_OXIDIZED_CUT_COPPER_SLAB), + (-448, 0) => Some(&Self::WAXED_OXIDIZED_CUT_COPPER_STAIRS), + (-1065, 0) => Some(&Self::WAXED_OXIDIZED_LIGHTNING_ROD), + (-767, 0) => Some(&Self::WAXED_WEATHERED_CHISELED_COPPER), + (-346, 0) => Some(&Self::WAXED_WEATHERED_COPPER), + (-1072, 0) => Some(&Self::WAXED_WEATHERED_COPPER_BARS), + (-782, 0) => Some(&Self::WAXED_WEATHERED_COPPER_BULB), + (-1080, 0) => Some(&Self::WAXED_WEATHERED_COPPER_CHAIN), + (-1037, 0) => Some(&Self::WAXED_WEATHERED_COPPER_CHEST), + (-790, 0) => Some(&Self::WAXED_WEATHERED_COPPER_DOOR), + (-1045, 0) => Some(&Self::WAXED_WEATHERED_COPPER_GOLEM_STATUE), + (-774, 0) => Some(&Self::WAXED_WEATHERED_COPPER_GRATE), + (-1089, 0) => Some(&Self::WAXED_WEATHERED_COPPER_LANTERN), + (-798, 0) => Some(&Self::WAXED_WEATHERED_COPPER_TRAPDOOR), + (-353, 0) => Some(&Self::WAXED_WEATHERED_CUT_COPPER), + (-367, 0) => Some(&Self::WAXED_WEATHERED_CUT_COPPER_SLAB), + (-360, 0) => Some(&Self::WAXED_WEATHERED_CUT_COPPER_STAIRS), + (-1064, 0) => Some(&Self::WAXED_WEATHERED_LIGHTNING_ROD), + (736, 0) => Some(&Self::WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE), + (-762, 0) => Some(&Self::WEATHERED_CHISELED_COPPER), + (-342, 0) => Some(&Self::WEATHERED_COPPER), + (-1068, 0) => Some(&Self::WEATHERED_COPPER_BARS), + (-778, 0) => Some(&Self::WEATHERED_COPPER_BULB), + (-1076, 0) => Some(&Self::WEATHERED_COPPER_CHAIN), + (-1033, 0) => Some(&Self::WEATHERED_COPPER_CHEST), + (-786, 0) => Some(&Self::WEATHERED_COPPER_DOOR), + (-1041, 0) => Some(&Self::WEATHERED_COPPER_GOLEM_STATUE), + (-770, 0) => Some(&Self::WEATHERED_COPPER_GRATE), + (-1085, 0) => Some(&Self::WEATHERED_COPPER_LANTERN), + (-794, 0) => Some(&Self::WEATHERED_COPPER_TRAPDOOR), + (-349, 0) => Some(&Self::WEATHERED_CUT_COPPER), + (-363, 0) => Some(&Self::WEATHERED_CUT_COPPER_SLAB), + (-356, 0) => Some(&Self::WEATHERED_CUT_COPPER_STAIRS), + (-1060, 0) => Some(&Self::WEATHERED_LIGHTNING_ROD), + (-231, 0) => Some(&Self::WEEPING_VINES), + (-984, 1) => Some(&Self::WET_SPONGE), + (366, 0) => Some(&Self::WHEAT), + (320, 0) => Some(&Self::WHEAT_SEEDS), + (606, 15) => Some(&Self::WHITE_BANNER), + (450, 0) => Some(&Self::WHITE_BED), + (279, 0) => Some(&Self::WHITE_BUNDLE), + (-413, 0) => Some(&Self::WHITE_CANDLE), + (171, 0) => Some(&Self::WHITE_CARPET), + (236, 0) => Some(&Self::WHITE_CONCRETE), + (237, 0) => Some(&Self::WHITE_CONCRETE_POWDER), + (442, 0) => Some(&Self::WHITE_DYE), + (220, 0) => Some(&Self::WHITE_GLAZED_TERRACOTTA), + (770, 0) => Some(&Self::WHITE_HARNESS), + (218, 0) => Some(&Self::WHITE_SHULKER_BOX), + (241, 0) => Some(&Self::WHITE_STAINED_GLASS), + (160, 0) => Some(&Self::WHITE_STAINED_GLASS_PANE), + (159, 0) => Some(&Self::WHITE_TERRACOTTA), + (-835, 0) => Some(&Self::WHITE_TULIP), + (35, 0) => Some(&Self::WHITE_WOOL), + (727, 0) => Some(&Self::WILD_ARMOR_TRIM_SMITHING_TEMPLATE), + (-1024, 0) => Some(&Self::WILDFLOWERS), + (284, 0) => Some(&Self::WIND_CHARGE), + (485, 0) => Some(&Self::WITCH_SPAWN_EGG), + (-216, 0) => Some(&Self::WITHER_ROSE), + (-965, 0) => Some(&Self::WITHER_SKELETON_SKULL), + (498, 0) => Some(&Self::WITHER_SKELETON_SPAWN_EGG), + (542, 0) => Some(&Self::WITHER_SPAWN_EGG), + (747, 0) => Some(&Self::WOLF_ARMOR), + (472, 0) => Some(&Self::WOLF_SPAWN_EGG), + (342, 0) => Some(&Self::WOODEN_AXE), + (361, 0) => Some(&Self::WOODEN_HOE), + (341, 0) => Some(&Self::WOODEN_PICKAXE), + (340, 0) => Some(&Self::WOODEN_SHOVEL), + (263, 0) => Some(&Self::WOODEN_SPEAR), + (339, 0) => Some(&Self::WOODEN_SWORD), + (550, 0) => Some(&Self::WRITABLE_BOOK), + (551, 0) => Some(&Self::WRITTEN_BOOK), + (606, 11) => Some(&Self::YELLOW_BANNER), + (450, 4) => Some(&Self::YELLOW_BED), + (280, 0) => Some(&Self::YELLOW_BUNDLE), + (-417, 0) => Some(&Self::YELLOW_CANDLE), + (-600, 4) => Some(&Self::YELLOW_CARPET), + (-631, 4) => Some(&Self::YELLOW_CONCRETE), + (-712, 4) => Some(&Self::YELLOW_CONCRETE_POWDER), + (438, 0) => Some(&Self::YELLOW_DYE), + (224, 0) => Some(&Self::YELLOW_GLAZED_TERRACOTTA), + (771, 0) => Some(&Self::YELLOW_HARNESS), + (-616, 4) => Some(&Self::YELLOW_SHULKER_BOX), + (-676, 4) => Some(&Self::YELLOW_STAINED_GLASS), + (-646, 4) => Some(&Self::YELLOW_STAINED_GLASS_PANE), + (-727, 4) => Some(&Self::YELLOW_TERRACOTTA), + (-558, 0) => Some(&Self::YELLOW_WOOL), + (532, 0) => Some(&Self::ZOGLIN_SPAWN_EGG), + (-966, 0) => Some(&Self::ZOMBIE_HEAD), + (502, 0) => Some(&Self::ZOMBIE_HORSE_SPAWN_EGG), + (785, 0) => Some(&Self::ZOMBIE_NAUTILUS_SPAWN_EGG), + (480, 0) => Some(&Self::ZOMBIE_SPAWN_EGG), + (511, 0) => Some(&Self::ZOMBIE_VILLAGER_SPAWN_EGG), + (481, 0) => Some(&Self::ZOMBIFIED_PIGLIN_SPAWN_EGG), + _ => match bedrock_id { + 411 => Some(&Self::ACACIA_BOAT), + -140 => Some(&Self::ACACIA_BUTTON), + 684 => Some(&Self::ACACIA_CHEST_BOAT), + 595 => Some(&Self::ACACIA_DOOR), + -575 => Some(&Self::ACACIA_FENCE), + 187 => Some(&Self::ACACIA_FENCE_GATE), + -504 => Some(&Self::ACACIA_HANGING_SIGN), + 161 => Some(&Self::ACACIA_LEAVES), + 162 => Some(&Self::ACACIA_LOG), + -742 => Some(&Self::ACACIA_PLANKS), + -150 => Some(&Self::ACACIA_PRESSURE_PLATE), + -828 => Some(&Self::ACACIA_SAPLING), + -1051 => Some(&Self::ACACIA_SHELF), + 618 => Some(&Self::ACACIA_SIGN), + -807 => Some(&Self::ACACIA_SLAB), + 163 => Some(&Self::ACACIA_STAIRS), + -145 => Some(&Self::ACACIA_TRAPDOOR), + -817 => Some(&Self::ACACIA_WOOD), + 126 => Some(&Self::ACTIVATOR_RAIL), + -158 => Some(&Self::AIR), + 673 => Some(&Self::ALLAY_SPAWN_EGG), + -831 => Some(&Self::ALLIUM), + -327 => Some(&Self::AMETHYST_BLOCK), + -329 => Some(&Self::AMETHYST_CLUSTER), + 666 => Some(&Self::AMETHYST_SHARD), + -271 => Some(&Self::ANCIENT_DEBRIS), + -594 => Some(&Self::ANDESITE), + -893 => Some(&Self::ANDESITE_SLAB), + -171 => Some(&Self::ANDESITE_STAIRS), + -974 => Some(&Self::ANDESITE_WALL), + 699 => Some(&Self::ANGLER_POTTERY_SHERD), + 145 => Some(&Self::ANVIL), + 285 => Some(&Self::APPLE), + 700 => Some(&Self::ARCHER_POTTERY_SHERD), + 746 => Some(&Self::ARMADILLO_SCUTE), + 745 => Some(&Self::ARMADILLO_SPAWN_EGG), + 591 => Some(&Self::ARMOR_STAND), + 701 => Some(&Self::ARMS_UP_POTTERY_SHERD), + 332 => Some(&Self::ARROW), + 401 => Some(&Self::AXOLOTL_BUCKET), + 536 => Some(&Self::AXOLOTL_SPAWN_EGG), + -337 => Some(&Self::AZALEA), + -324 => Some(&Self::AZALEA_LEAVES), + -832 => Some(&Self::AZURE_BLUET), + 310 => Some(&Self::BAKED_POTATO), + -163 => Some(&Self::BAMBOO), + -527 => Some(&Self::BAMBOO_BLOCK), + -511 => Some(&Self::BAMBOO_BUTTON), + 696 => Some(&Self::BAMBOO_CHEST_RAFT), + -517 => Some(&Self::BAMBOO_DOOR), + -515 => Some(&Self::BAMBOO_FENCE), + -516 => Some(&Self::BAMBOO_FENCE_GATE), + -522 => Some(&Self::BAMBOO_HANGING_SIGN), + -509 => Some(&Self::BAMBOO_MOSAIC), + -524 => Some(&Self::BAMBOO_MOSAIC_SLAB), + -523 => Some(&Self::BAMBOO_MOSAIC_STAIRS), + -510 => Some(&Self::BAMBOO_PLANKS), + -514 => Some(&Self::BAMBOO_PRESSURE_PLATE), + 695 => Some(&Self::BAMBOO_RAFT), + -1056 => Some(&Self::BAMBOO_SHELF), + 694 => Some(&Self::BAMBOO_SIGN), + -513 => Some(&Self::BAMBOO_SLAB), + -512 => Some(&Self::BAMBOO_STAIRS), + -520 => Some(&Self::BAMBOO_TRAPDOOR), + -203 => Some(&Self::BARREL), + -161 => Some(&Self::BARRIER), + -234 => Some(&Self::BASALT), + 486 => Some(&Self::BAT_SPAWN_EGG), + 138 => Some(&Self::BEACON), + 7 => Some(&Self::BEDROCK), + -218 => Some(&Self::BEE_NEST), + 528 => Some(&Self::BEE_SPAWN_EGG), + 302 => Some(&Self::BEEF), + -219 => Some(&Self::BEEHIVE), + 314 => Some(&Self::BEETROOT), + 324 => Some(&Self::BEETROOT_SEEDS), + 315 => Some(&Self::BEETROOT_SOUP), + -206 => Some(&Self::BELL), + -323 => Some(&Self::BIG_DRIPLEAF), + 408 => Some(&Self::BIRCH_BOAT), + -141 => Some(&Self::BIRCH_BUTTON), + 681 => Some(&Self::BIRCH_CHEST_BOAT), + 593 => Some(&Self::BIRCH_DOOR), + -576 => Some(&Self::BIRCH_FENCE), + 184 => Some(&Self::BIRCH_FENCE_GATE), + -502 => Some(&Self::BIRCH_HANGING_SIGN), + -801 => Some(&Self::BIRCH_LEAVES), + -570 => Some(&Self::BIRCH_LOG), + -740 => Some(&Self::BIRCH_PLANKS), + -151 => Some(&Self::BIRCH_PRESSURE_PLATE), + -826 => Some(&Self::BIRCH_SAPLING), + -1049 => Some(&Self::BIRCH_SHELF), + 616 => Some(&Self::BIRCH_SIGN), + -805 => Some(&Self::BIRCH_SLAB), + 135 => Some(&Self::BIRCH_STAIRS), + -146 => Some(&Self::BIRCH_TRAPDOOR), + -815 => Some(&Self::BIRCH_WOOD), + 606 => Some(&Self::BLACK_BANNER), + 450 => Some(&Self::BLACK_BED), + 264 => Some(&Self::BLACK_BUNDLE), + -428 => Some(&Self::BLACK_CANDLE), + -611 => Some(&Self::BLACK_CARPET), + -642 => Some(&Self::BLACK_CONCRETE), + -723 => Some(&Self::BLACK_CONCRETE_POWDER), + 427 => Some(&Self::BLACK_DYE), + 235 => Some(&Self::BLACK_GLAZED_TERRACOTTA), + 756 => Some(&Self::BLACK_HARNESS), + -627 => Some(&Self::BLACK_SHULKER_BOX), + -687 => Some(&Self::BLACK_STAINED_GLASS), + -657 => Some(&Self::BLACK_STAINED_GLASS_PANE), + -738 => Some(&Self::BLACK_TERRACOTTA), + -554 => Some(&Self::BLACK_WOOL), + -273 => Some(&Self::BLACKSTONE), + -282 => Some(&Self::BLACKSTONE_SLAB), + -276 => Some(&Self::BLACKSTONE_STAIRS), + -277 => Some(&Self::BLACKSTONE_WALL), + 702 => Some(&Self::BLADE_POTTERY_SHERD), + -196 => Some(&Self::BLAST_FURNACE), + 462 => Some(&Self::BLAZE_POWDER), + 455 => Some(&Self::BLAZE_ROD), + 489 => Some(&Self::BLAZE_SPAWN_EGG), + 265 => Some(&Self::BLUE_BUNDLE), + -424 => Some(&Self::BLUE_CANDLE), + -607 => Some(&Self::BLUE_CARPET), + -638 => Some(&Self::BLUE_CONCRETE), + -719 => Some(&Self::BLUE_CONCRETE_POWDER), + 431 => Some(&Self::BLUE_DYE), + 753 => Some(&Self::BLUE_EGG), + 231 => Some(&Self::BLUE_GLAZED_TERRACOTTA), + 757 => Some(&Self::BLUE_HARNESS), + -11 => Some(&Self::BLUE_ICE), + -830 => Some(&Self::BLUE_ORCHID), + -623 => Some(&Self::BLUE_SHULKER_BOX), + -683 => Some(&Self::BLUE_STAINED_GLASS), + -653 => Some(&Self::BLUE_STAINED_GLASS_PANE), + -734 => Some(&Self::BLUE_TERRACOTTA), + -563 => Some(&Self::BLUE_WOOL), + 496 => Some(&Self::BOGGED_SPAWN_EGG), + 741 => Some(&Self::BOLT_ARMOR_TRIM_SMITHING_TEMPLATE), + 447 => Some(&Self::BONE), + 216 => Some(&Self::BONE_BLOCK), + 443 => Some(&Self::BONE_MEAL), + 419 => Some(&Self::BOOK), + 47 => Some(&Self::BOOKSHELF), + 625 => Some(&Self::BORDURE_INDENTED_BANNER_PATTERN), + 331 => Some(&Self::BOW), + 353 => Some(&Self::BOWL), + -581 => Some(&Self::BRAIN_CORAL), + -849 => Some(&Self::BRAIN_CORAL_BLOCK), + -840 => Some(&Self::BRAIN_CORAL_FAN), + 290 => Some(&Self::BREAD), + 281 => Some(&Self::BREEZE_ROD), + 535 => Some(&Self::BREEZE_SPAWN_EGG), + 703 => Some(&Self::BREWER_POTTERY_SHERD), + 464 => Some(&Self::BREWING_STAND), + 415 => Some(&Self::BRICK), + -874 => Some(&Self::BRICK_SLAB), + 108 => Some(&Self::BRICK_STAIRS), + -976 => Some(&Self::BRICK_WALL), + 45 => Some(&Self::BRICKS), + 266 => Some(&Self::BROWN_BUNDLE), + -425 => Some(&Self::BROWN_CANDLE), + -608 => Some(&Self::BROWN_CARPET), + -639 => Some(&Self::BROWN_CONCRETE), + -720 => Some(&Self::BROWN_CONCRETE_POWDER), + 430 => Some(&Self::BROWN_DYE), + 754 => Some(&Self::BROWN_EGG), + 232 => Some(&Self::BROWN_GLAZED_TERRACOTTA), + 758 => Some(&Self::BROWN_HARNESS), + 39 => Some(&Self::BROWN_MUSHROOM), + 99 => Some(&Self::BROWN_MUSHROOM_BLOCK), + -624 => Some(&Self::BROWN_SHULKER_BOX), + -684 => Some(&Self::BROWN_STAINED_GLASS), + -654 => Some(&Self::BROWN_STAINED_GLASS_PANE), + -735 => Some(&Self::BROWN_TERRACOTTA), + -555 => Some(&Self::BROWN_WOOL), + 722 => Some(&Self::BRUSH), + -582 => Some(&Self::BUBBLE_CORAL), + -850 => Some(&Self::BUBBLE_CORAL_BLOCK), + -841 => Some(&Self::BUBBLE_CORAL_FAN), + 392 => Some(&Self::BUCKET), + -328 => Some(&Self::BUDDING_AMETHYST), + 267 => Some(&Self::BUNDLE), + 704 => Some(&Self::BURN_POTTERY_SHERD), + -1023 => Some(&Self::BUSH), + 81 => Some(&Self::CACTUS), + -1030 => Some(&Self::CACTUS_FLOWER), + 449 => Some(&Self::CAKE), + -326 => Some(&Self::CALCITE), + -580 => Some(&Self::CALIBRATED_SCULK_SENSOR), + 698 => Some(&Self::CAMEL_HUSK_SPAWN_EGG), + 697 => Some(&Self::CAMEL_SPAWN_EGG), + 630 => Some(&Self::CAMPFIRE), + -412 => Some(&Self::CANDLE), + 308 => Some(&Self::CARROT), + 556 => Some(&Self::CARROT_ON_A_STICK), + -200 => Some(&Self::CARTOGRAPHY_TABLE), + -155 => Some(&Self::CARVED_PUMPKIN), + 522 => Some(&Self::CAT_SPAWN_EGG), + 465 => Some(&Self::CAULDRON), + 490 => Some(&Self::CAVE_SPIDER_SPAWN_EGG), + 189 => Some(&Self::CHAIN_COMMAND_BLOCK), + 374 => Some(&Self::CHAINMAIL_BOOTS), + 372 => Some(&Self::CHAINMAIL_CHESTPLATE), + 371 => Some(&Self::CHAINMAIL_HELMET), + 373 => Some(&Self::CHAINMAIL_LEGGINGS), + 334 => Some(&Self::CHARCOAL), + 691 => Some(&Self::CHERRY_BOAT), + -530 => Some(&Self::CHERRY_BUTTON), + 692 => Some(&Self::CHERRY_CHEST_BOAT), + -531 => Some(&Self::CHERRY_DOOR), + -532 => Some(&Self::CHERRY_FENCE), + -533 => Some(&Self::CHERRY_FENCE_GATE), + -534 => Some(&Self::CHERRY_HANGING_SIGN), + -548 => Some(&Self::CHERRY_LEAVES), + -536 => Some(&Self::CHERRY_LOG), + -537 => Some(&Self::CHERRY_PLANKS), + -538 => Some(&Self::CHERRY_PRESSURE_PLATE), + -547 => Some(&Self::CHERRY_SAPLING), + -1054 => Some(&Self::CHERRY_SHELF), + 693 => Some(&Self::CHERRY_SIGN), + -539 => Some(&Self::CHERRY_SLAB), + -541 => Some(&Self::CHERRY_STAIRS), + -543 => Some(&Self::CHERRY_TRAPDOOR), + -546 => Some(&Self::CHERRY_WOOD), + 54 => Some(&Self::CHEST), + 421 => Some(&Self::CHEST_MINECART), + 304 => Some(&Self::CHICKEN), + 468 => Some(&Self::CHICKEN_SPAWN_EGG), + -959 => Some(&Self::CHIPPED_ANVIL), + -526 => Some(&Self::CHISELED_BOOKSHELF), + -760 => Some(&Self::CHISELED_COPPER), + -395 => Some(&Self::CHISELED_DEEPSLATE), + -302 => Some(&Self::CHISELED_NETHER_BRICKS), + -279 => Some(&Self::CHISELED_POLISHED_BLACKSTONE), + -953 => Some(&Self::CHISELED_QUARTZ_BLOCK), + -956 => Some(&Self::CHISELED_RED_SANDSTONE), + -1020 => Some(&Self::CHISELED_RESIN_BRICKS), + -944 => Some(&Self::CHISELED_SANDSTONE), + -870 => Some(&Self::CHISELED_STONE_BRICKS), + -753 => Some(&Self::CHISELED_TUFF), + -759 => Some(&Self::CHISELED_TUFF_BRICKS), + 200 => Some(&Self::CHORUS_FLOWER), + 597 => Some(&Self::CHORUS_FRUIT), + 240 => Some(&Self::CHORUS_PLANT), + 82 => Some(&Self::CLAY), + 416 => Some(&Self::CLAY_BALL), + 425 => Some(&Self::CLOCK), + -1019 => Some(&Self::CLOSED_EYEBLOSSOM), + 333 => Some(&Self::COAL), + 173 => Some(&Self::COAL_BLOCK), + 16 => Some(&Self::COAL_ORE), + -962 => Some(&Self::COARSE_DIRT), + 726 => Some(&Self::COAST_ARMOR_TRIM_SMITHING_TEMPLATE), + -379 => Some(&Self::COBBLED_DEEPSLATE), + -380 => Some(&Self::COBBLED_DEEPSLATE_SLAB), + -381 => Some(&Self::COBBLED_DEEPSLATE_STAIRS), + -382 => Some(&Self::COBBLED_DEEPSLATE_WALL), + 4 => Some(&Self::COBBLESTONE), + -873 => Some(&Self::COBBLESTONE_SLAB), + 67 => Some(&Self::COBBLESTONE_STAIRS), + 139 => Some(&Self::COBBLESTONE_WALL), + 30 => Some(&Self::COBWEB), + 444 => Some(&Self::COCOA_BEANS), + 293 => Some(&Self::COD), + 396 => Some(&Self::COD_BUCKET), + 514 => Some(&Self::COD_SPAWN_EGG), + 137 => Some(&Self::COMMAND_BLOCK), + 602 => Some(&Self::COMMAND_BLOCK_MINECART), + 561 => Some(&Self::COMPARATOR), + 423 => Some(&Self::COMPASS), + -213 => Some(&Self::COMPOSTER), + -157 => Some(&Self::CONDUIT), + 303 => Some(&Self::COOKED_BEEF), + 305 => Some(&Self::COOKED_CHICKEN), + 297 => Some(&Self::COOKED_COD), + 590 => Some(&Self::COOKED_MUTTON), + 292 => Some(&Self::COOKED_PORKCHOP), + 318 => Some(&Self::COOKED_RABBIT), + 298 => Some(&Self::COOKED_SALMON), + 300 => Some(&Self::COOKIE), + 776 => Some(&Self::COPPER_AXE), + -1066 => Some(&Self::COPPER_BARS), + -340 => Some(&Self::COPPER_BLOCK), + 781 => Some(&Self::COPPER_BOOTS), + -776 => Some(&Self::COPPER_BULB), + -1074 => Some(&Self::COPPER_CHAIN), + -1031 => Some(&Self::COPPER_CHEST), + 779 => Some(&Self::COPPER_CHESTPLATE), + -784 => Some(&Self::COPPER_DOOR), + 772 => Some(&Self::COPPER_GOLEM_SPAWN_EGG), + -1039 => Some(&Self::COPPER_GOLEM_STATUE), + -768 => Some(&Self::COPPER_GRATE), + 778 => Some(&Self::COPPER_HELMET), + 777 => Some(&Self::COPPER_HOE), + 783 => Some(&Self::COPPER_HORSE_ARMOR), + 544 => Some(&Self::COPPER_INGOT), + -1083 => Some(&Self::COPPER_LANTERN), + 780 => Some(&Self::COPPER_LEGGINGS), + 787 => Some(&Self::COPPER_NAUTILUS_ARMOR), + 782 => Some(&Self::COPPER_NUGGET), + -311 => Some(&Self::COPPER_ORE), + 775 => Some(&Self::COPPER_PICKAXE), + 774 => Some(&Self::COPPER_SHOVEL), + 257 => Some(&Self::COPPER_SPEAR), + 773 => Some(&Self::COPPER_SWORD), + -1082 => Some(&Self::COPPER_TORCH), + -792 => Some(&Self::COPPER_TRAPDOOR), + -838 => Some(&Self::CORNFLOWER), + 469 => Some(&Self::COW_SPAWN_EGG), + -410 => Some(&Self::CRACKED_DEEPSLATE_BRICKS), + -409 => Some(&Self::CRACKED_DEEPSLATE_TILES), + -303 => Some(&Self::CRACKED_NETHER_BRICKS), + -280 => Some(&Self::CRACKED_POLISHED_BLACKSTONE_BRICKS), + -869 => Some(&Self::CRACKED_STONE_BRICKS), + -313 => Some(&Self::CRAFTER), + 58 => Some(&Self::CRAFTING_TABLE), + -1012 => Some(&Self::CREAKING_HEART), + 751 => Some(&Self::CREAKING_SPAWN_EGG), + 621 => Some(&Self::CREEPER_BANNER_PATTERN), + -968 => Some(&Self::CREEPER_HEAD), + 474 => Some(&Self::CREEPER_SPAWN_EGG), + -260 => Some(&Self::CRIMSON_BUTTON), + 659 => Some(&Self::CRIMSON_DOOR), + -256 => Some(&Self::CRIMSON_FENCE), + -258 => Some(&Self::CRIMSON_FENCE_GATE), + -228 => Some(&Self::CRIMSON_FUNGUS), + -506 => Some(&Self::CRIMSON_HANGING_SIGN), + -299 => Some(&Self::CRIMSON_HYPHAE), + -232 => Some(&Self::CRIMSON_NYLIUM), + -242 => Some(&Self::CRIMSON_PLANKS), + -262 => Some(&Self::CRIMSON_PRESSURE_PLATE), + -223 => Some(&Self::CRIMSON_ROOTS), + -1057 => Some(&Self::CRIMSON_SHELF), + 657 => Some(&Self::CRIMSON_SIGN), + -264 => Some(&Self::CRIMSON_SLAB), + -254 => Some(&Self::CRIMSON_STAIRS), + -225 => Some(&Self::CRIMSON_STEM), + -246 => Some(&Self::CRIMSON_TRAPDOOR), + 614 => Some(&Self::CROSSBOW), + -289 => Some(&Self::CRYING_OBSIDIAN), + -347 => Some(&Self::CUT_COPPER), + -361 => Some(&Self::CUT_COPPER_SLAB), + -354 => Some(&Self::CUT_COPPER_STAIRS), + -957 => Some(&Self::CUT_RED_SANDSTONE), + -901 => Some(&Self::CUT_RED_SANDSTONE_SLAB), + -945 => Some(&Self::CUT_SANDSTONE), + -900 => Some(&Self::CUT_SANDSTONE_SLAB), + 268 => Some(&Self::CYAN_BUNDLE), + -422 => Some(&Self::CYAN_CANDLE), + -605 => Some(&Self::CYAN_CARPET), + -636 => Some(&Self::CYAN_CONCRETE), + -717 => Some(&Self::CYAN_CONCRETE_POWDER), + 433 => Some(&Self::CYAN_DYE), + 229 => Some(&Self::CYAN_GLAZED_TERRACOTTA), + 759 => Some(&Self::CYAN_HARNESS), + -621 => Some(&Self::CYAN_SHULKER_BOX), + -681 => Some(&Self::CYAN_STAINED_GLASS), + -651 => Some(&Self::CYAN_STAINED_GLASS_PANE), + -732 => Some(&Self::CYAN_TERRACOTTA), + -561 => Some(&Self::CYAN_WOOL), + -960 => Some(&Self::DAMAGED_ANVIL), + 37 => Some(&Self::DANDELION), + 705 => Some(&Self::DANGER_POTTERY_SHERD), + 412 => Some(&Self::DARK_OAK_BOAT), + -142 => Some(&Self::DARK_OAK_BUTTON), + 685 => Some(&Self::DARK_OAK_CHEST_BOAT), + 596 => Some(&Self::DARK_OAK_DOOR), + -577 => Some(&Self::DARK_OAK_FENCE), + 186 => Some(&Self::DARK_OAK_FENCE_GATE), + -505 => Some(&Self::DARK_OAK_HANGING_SIGN), + -803 => Some(&Self::DARK_OAK_LEAVES), + -572 => Some(&Self::DARK_OAK_LOG), + -743 => Some(&Self::DARK_OAK_PLANKS), + -152 => Some(&Self::DARK_OAK_PRESSURE_PLATE), + -829 => Some(&Self::DARK_OAK_SAPLING), + -1052 => Some(&Self::DARK_OAK_SHELF), + 619 => Some(&Self::DARK_OAK_SIGN), + -808 => Some(&Self::DARK_OAK_SLAB), + 164 => Some(&Self::DARK_OAK_STAIRS), + -147 => Some(&Self::DARK_OAK_TRAPDOOR), + -818 => Some(&Self::DARK_OAK_WOOD), + -947 => Some(&Self::DARK_PRISMARINE), + -886 => Some(&Self::DARK_PRISMARINE_SLAB), + -3 => Some(&Self::DARK_PRISMARINE_STAIRS), + 151 => Some(&Self::DAYLIGHT_DETECTOR), + -586 => Some(&Self::DEAD_BRAIN_CORAL), + -854 => Some(&Self::DEAD_BRAIN_CORAL_BLOCK), + -844 => Some(&Self::DEAD_BRAIN_CORAL_FAN), + -587 => Some(&Self::DEAD_BUBBLE_CORAL), + -855 => Some(&Self::DEAD_BUBBLE_CORAL_BLOCK), + -845 => Some(&Self::DEAD_BUBBLE_CORAL_FAN), + 32 => Some(&Self::DEAD_BUSH), + -588 => Some(&Self::DEAD_FIRE_CORAL), + -856 => Some(&Self::DEAD_FIRE_CORAL_BLOCK), + -846 => Some(&Self::DEAD_FIRE_CORAL_FAN), + -589 => Some(&Self::DEAD_HORN_CORAL), + -857 => Some(&Self::DEAD_HORN_CORAL_BLOCK), + -847 => Some(&Self::DEAD_HORN_CORAL_FAN), + -585 => Some(&Self::DEAD_TUBE_CORAL), + -853 => Some(&Self::DEAD_TUBE_CORAL_BLOCK), + -134 => Some(&Self::DEAD_TUBE_CORAL_FAN), + 352 => Some(&Self::DEBUG_STICK), + -551 => Some(&Self::DECORATED_POT), + -378 => Some(&Self::DEEPSLATE), + -392 => Some(&Self::DEEPSLATE_BRICK_SLAB), + -393 => Some(&Self::DEEPSLATE_BRICK_STAIRS), + -394 => Some(&Self::DEEPSLATE_BRICK_WALL), + -391 => Some(&Self::DEEPSLATE_BRICKS), + -406 => Some(&Self::DEEPSLATE_COAL_ORE), + -408 => Some(&Self::DEEPSLATE_COPPER_ORE), + -405 => Some(&Self::DEEPSLATE_DIAMOND_ORE), + -407 => Some(&Self::DEEPSLATE_EMERALD_ORE), + -402 => Some(&Self::DEEPSLATE_GOLD_ORE), + -401 => Some(&Self::DEEPSLATE_IRON_ORE), + -400 => Some(&Self::DEEPSLATE_LAPIS_ORE), + -403 => Some(&Self::DEEPSLATE_REDSTONE_ORE), + -388 => Some(&Self::DEEPSLATE_TILE_SLAB), + -389 => Some(&Self::DEEPSLATE_TILE_STAIRS), + -390 => Some(&Self::DEEPSLATE_TILE_WALL), + -387 => Some(&Self::DEEPSLATE_TILES), + 28 => Some(&Self::DETECTOR_RAIL), + 335 => Some(&Self::DIAMOND), + 350 => Some(&Self::DIAMOND_AXE), + 57 => Some(&Self::DIAMOND_BLOCK), + 382 => Some(&Self::DIAMOND_BOOTS), + 380 => Some(&Self::DIAMOND_CHESTPLATE), + 379 => Some(&Self::DIAMOND_HELMET), + 364 => Some(&Self::DIAMOND_HOE), + 572 => Some(&Self::DIAMOND_HORSE_ARMOR), + 381 => Some(&Self::DIAMOND_LEGGINGS), + 790 => Some(&Self::DIAMOND_NAUTILUS_ARMOR), + 56 => Some(&Self::DIAMOND_ORE), + 349 => Some(&Self::DIAMOND_PICKAXE), + 348 => Some(&Self::DIAMOND_SHOVEL), + 258 => Some(&Self::DIAMOND_SPEAR), + 347 => Some(&Self::DIAMOND_SWORD), + -592 => Some(&Self::DIORITE), + -894 => Some(&Self::DIORITE_SLAB), + -170 => Some(&Self::DIORITE_STAIRS), + -973 => Some(&Self::DIORITE_WALL), + 3 => Some(&Self::DIRT), + 198 => Some(&Self::DIRT_PATH), + 679 => Some(&Self::DISC_FRAGMENT_5), + 23 => Some(&Self::DISPENSER), + 518 => Some(&Self::DOLPHIN_SPAWN_EGG), + 499 => Some(&Self::DONKEY_SPAWN_EGG), + 599 => Some(&Self::DRAGON_BREATH), + 122 => Some(&Self::DRAGON_EGG), + -969 => Some(&Self::DRAGON_HEAD), + -1027 => Some(&Self::DRIED_GHAST), + 299 => Some(&Self::DRIED_KELP), + -139 => Some(&Self::DRIED_KELP_BLOCK), + -317 => Some(&Self::DRIPSTONE_BLOCK), + 125 => Some(&Self::DROPPER), + 517 => Some(&Self::DROWNED_SPAWN_EGG), + 725 => Some(&Self::DUNE_ARMOR_TRIM_SMITHING_TEMPLATE), + 689 => Some(&Self::ECHO_SHARD), + 422 => Some(&Self::EGG), + 505 => Some(&Self::ELDER_GUARDIAN_SPAWN_EGG), + 603 => Some(&Self::ELYTRA), + 552 => Some(&Self::EMERALD), + 133 => Some(&Self::EMERALD_BLOCK), + 129 => Some(&Self::EMERALD_ORE), + 560 => Some(&Self::ENCHANTED_BOOK), + 288 => Some(&Self::ENCHANTED_GOLDEN_APPLE), + 116 => Some(&Self::ENCHANTING_TABLE), + 843 => Some(&Self::END_CRYSTAL), + 120 => Some(&Self::END_PORTAL_FRAME), + 208 => Some(&Self::END_ROD), + 121 => Some(&Self::END_STONE), + -162 => Some(&Self::END_STONE_BRICK_SLAB), + -178 => Some(&Self::END_STONE_BRICK_STAIRS), + -980 => Some(&Self::END_STONE_BRICK_WALL), + 206 => Some(&Self::END_STONE_BRICKS), + 130 => Some(&Self::ENDER_CHEST), + 541 => Some(&Self::ENDER_DRAGON_SPAWN_EGG), + 466 => Some(&Self::ENDER_EYE), + 454 => Some(&Self::ENDER_PEARL), + 475 => Some(&Self::ENDERMAN_SPAWN_EGG), + 493 => Some(&Self::ENDERMITE_SPAWN_EGG), + 509 => Some(&Self::EVOKER_SPAWN_EGG), + 548 => Some(&Self::EXPERIENCE_BOTTLE), + 706 => Some(&Self::EXPLORER_POTTERY_SHERD), + -761 => Some(&Self::EXPOSED_CHISELED_COPPER), + -341 => Some(&Self::EXPOSED_COPPER), + -1067 => Some(&Self::EXPOSED_COPPER_BARS), + -777 => Some(&Self::EXPOSED_COPPER_BULB), + -1075 => Some(&Self::EXPOSED_COPPER_CHAIN), + -1032 => Some(&Self::EXPOSED_COPPER_CHEST), + -785 => Some(&Self::EXPOSED_COPPER_DOOR), + -1040 => Some(&Self::EXPOSED_COPPER_GOLEM_STATUE), + -769 => Some(&Self::EXPOSED_COPPER_GRATE), + -1084 => Some(&Self::EXPOSED_COPPER_LANTERN), + -793 => Some(&Self::EXPOSED_COPPER_TRAPDOOR), + -348 => Some(&Self::EXPOSED_CUT_COPPER), + -362 => Some(&Self::EXPOSED_CUT_COPPER_SLAB), + -355 => Some(&Self::EXPOSED_CUT_COPPER_STAIRS), + -1059 => Some(&Self::EXPOSED_LIGHTNING_ROD), + 729 => Some(&Self::EYE_ARMOR_TRIM_SMITHING_TEMPLATE), + 60 => Some(&Self::FARMLAND), + 359 => Some(&Self::FEATHER), + 461 => Some(&Self::FERMENTED_SPIDER_EYE), + -848 => Some(&Self::FERN), + 624 => Some(&Self::FIELD_MASONED_BANNER_PATTERN), + 452 => Some(&Self::FILLED_MAP), + 549 => Some(&Self::FIRE_CHARGE), + -583 => Some(&Self::FIRE_CORAL), + -851 => Some(&Self::FIRE_CORAL_BLOCK), + -842 => Some(&Self::FIRE_CORAL_FAN), + -1025 => Some(&Self::FIREFLY_BUSH), + 558 => Some(&Self::FIREWORK_ROCKET), + 559 => Some(&Self::FIREWORK_STAR), + 424 => Some(&Self::FISHING_ROD), + -201 => Some(&Self::FLETCHING_TABLE), + 388 => Some(&Self::FLINT), + 330 => Some(&Self::FLINT_AND_STEEL), + 740 => Some(&Self::FLOW_ARMOR_TRIM_SMITHING_TEMPLATE), + 628 => Some(&Self::FLOW_BANNER_PATTERN), + 707 => Some(&Self::FLOW_POTTERY_SHERD), + 620 => Some(&Self::FLOWER_BANNER_PATTERN), + 554 => Some(&Self::FLOWER_POT), + -338 => Some(&Self::FLOWERING_AZALEA), + -325 => Some(&Self::FLOWERING_AZALEA_LEAVES), + 524 => Some(&Self::FOX_SPAWN_EGG), + 708 => Some(&Self::FRIEND_POTTERY_SHERD), + 670 => Some(&Self::FROG_SPAWN_EGG), + -468 => Some(&Self::FROGSPAWN), + 61 => Some(&Self::FURNACE), + 565 => Some(&Self::FURNACE_MINECART), + 487 => Some(&Self::GHAST_SPAWN_EGG), + 457 => Some(&Self::GHAST_TEAR), + -281 => Some(&Self::GILDED_BLACKSTONE), + 20 => Some(&Self::GLASS), + 460 => Some(&Self::GLASS_BOTTLE), + 102 => Some(&Self::GLASS_PANE), + 467 => Some(&Self::GLISTERING_MELON_SLICE), + 627 => Some(&Self::GLOBE_BANNER_PATTERN), + 844 => Some(&Self::GLOW_BERRIES), + 543 => Some(&Self::GLOW_INK_SAC), + 665 => Some(&Self::GLOW_ITEM_FRAME), + -411 => Some(&Self::GLOW_LICHEN), + 538 => Some(&Self::GLOW_SQUID_SPAWN_EGG), + 89 => Some(&Self::GLOWSTONE), + 426 => Some(&Self::GLOWSTONE_DUST), + 669 => Some(&Self::GOAT_HORN), + 537 => Some(&Self::GOAT_SPAWN_EGG), + 41 => Some(&Self::GOLD_BLOCK), + 337 => Some(&Self::GOLD_INGOT), + 458 => Some(&Self::GOLD_NUGGET), + 14 => Some(&Self::GOLD_ORE), + 287 => Some(&Self::GOLDEN_APPLE), + 357 => Some(&Self::GOLDEN_AXE), + 386 => Some(&Self::GOLDEN_BOOTS), + 312 => Some(&Self::GOLDEN_CARROT), + 384 => Some(&Self::GOLDEN_CHESTPLATE), + -1091 => Some(&Self::GOLDEN_DANDELION), + 383 => Some(&Self::GOLDEN_HELMET), + 365 => Some(&Self::GOLDEN_HOE), + 571 => Some(&Self::GOLDEN_HORSE_ARMOR), + 385 => Some(&Self::GOLDEN_LEGGINGS), + 789 => Some(&Self::GOLDEN_NAUTILUS_ARMOR), + 356 => Some(&Self::GOLDEN_PICKAXE), + 355 => Some(&Self::GOLDEN_SHOVEL), + 259 => Some(&Self::GOLDEN_SPEAR), + 354 => Some(&Self::GOLDEN_SWORD), + -590 => Some(&Self::GRANITE), + -896 => Some(&Self::GRANITE_SLAB), + -169 => Some(&Self::GRANITE_STAIRS), + -972 => Some(&Self::GRANITE_WALL), + 2 => Some(&Self::GRASS_BLOCK), + 13 => Some(&Self::GRAVEL), + 269 => Some(&Self::GRAY_BUNDLE), + -420 => Some(&Self::GRAY_CANDLE), + -603 => Some(&Self::GRAY_CARPET), + -634 => Some(&Self::GRAY_CONCRETE), + -715 => Some(&Self::GRAY_CONCRETE_POWDER), + 435 => Some(&Self::GRAY_DYE), + 227 => Some(&Self::GRAY_GLAZED_TERRACOTTA), + 760 => Some(&Self::GRAY_HARNESS), + -619 => Some(&Self::GRAY_SHULKER_BOX), + -679 => Some(&Self::GRAY_STAINED_GLASS), + -649 => Some(&Self::GRAY_STAINED_GLASS_PANE), + -730 => Some(&Self::GRAY_TERRACOTTA), + -553 => Some(&Self::GRAY_WOOL), + 270 => Some(&Self::GREEN_BUNDLE), + -426 => Some(&Self::GREEN_CANDLE), + -609 => Some(&Self::GREEN_CARPET), + -640 => Some(&Self::GREEN_CONCRETE), + -721 => Some(&Self::GREEN_CONCRETE_POWDER), + 429 => Some(&Self::GREEN_DYE), + 233 => Some(&Self::GREEN_GLAZED_TERRACOTTA), + 761 => Some(&Self::GREEN_HARNESS), + -625 => Some(&Self::GREEN_SHULKER_BOX), + -685 => Some(&Self::GREEN_STAINED_GLASS), + -655 => Some(&Self::GREEN_STAINED_GLASS_PANE), + -736 => Some(&Self::GREEN_TERRACOTTA), + -560 => Some(&Self::GREEN_WOOL), + -195 => Some(&Self::GRINDSTONE), + 494 => Some(&Self::GUARDIAN_SPAWN_EGG), + 360 => Some(&Self::GUNPOWDER), + 629 => Some(&Self::GUSTER_BANNER_PATTERN), + 709 => Some(&Self::GUSTER_POTTERY_SHERD), + -319 => Some(&Self::HANGING_ROOTS), + 755 => Some(&Self::HAPPY_GHAST_SPAWN_EGG), + 170 => Some(&Self::HAY_BLOCK), + 610 => Some(&Self::HEART_OF_THE_SEA), + 710 => Some(&Self::HEART_POTTERY_SHERD), + 711 => Some(&Self::HEARTBREAK_POTTERY_SHERD), + -316 => Some(&Self::HEAVY_CORE), + 148 => Some(&Self::HEAVY_WEIGHTED_PRESSURE_PLATE), + 530 => Some(&Self::HOGLIN_SPAWN_EGG), + -220 => Some(&Self::HONEY_BLOCK), + 633 => Some(&Self::HONEY_BOTTLE), + 632 => Some(&Self::HONEYCOMB), + -221 => Some(&Self::HONEYCOMB_BLOCK), + 566 => Some(&Self::HOPPER), + -584 => Some(&Self::HORN_CORAL), + -852 => Some(&Self::HORN_CORAL_BLOCK), + -843 => Some(&Self::HORN_CORAL_FAN), + 491 => Some(&Self::HORSE_SPAWN_EGG), + 739 => Some(&Self::HOST_ARMOR_TRIM_SMITHING_TEMPLATE), + 712 => Some(&Self::HOWL_POTTERY_SHERD), + 497 => Some(&Self::HUSK_SPAWN_EGG), + 79 => Some(&Self::ICE), + -862 => Some(&Self::INFESTED_CHISELED_STONE_BRICKS), + -858 => Some(&Self::INFESTED_COBBLESTONE), + -861 => Some(&Self::INFESTED_CRACKED_STONE_BRICKS), + -454 => Some(&Self::INFESTED_DEEPSLATE), + -860 => Some(&Self::INFESTED_MOSSY_STONE_BRICKS), + 97 => Some(&Self::INFESTED_STONE), + -859 => Some(&Self::INFESTED_STONE_BRICKS), + 445 => Some(&Self::INK_SAC), + 329 => Some(&Self::IRON_AXE), + 101 => Some(&Self::IRON_BARS), + 42 => Some(&Self::IRON_BLOCK), + 378 => Some(&Self::IRON_BOOTS), + -286 => Some(&Self::IRON_CHAIN), + 376 => Some(&Self::IRON_CHESTPLATE), + 404 => Some(&Self::IRON_DOOR), + 539 => Some(&Self::IRON_GOLEM_SPAWN_EGG), + 375 => Some(&Self::IRON_HELMET), + 363 => Some(&Self::IRON_HOE), + 570 => Some(&Self::IRON_HORSE_ARMOR), + 336 => Some(&Self::IRON_INGOT), + 377 => Some(&Self::IRON_LEGGINGS), + 788 => Some(&Self::IRON_NAUTILUS_ARMOR), + 608 => Some(&Self::IRON_NUGGET), + 15 => Some(&Self::IRON_ORE), + 328 => Some(&Self::IRON_PICKAXE), + 327 => Some(&Self::IRON_SHOVEL), + 260 => Some(&Self::IRON_SPEAR), + 338 => Some(&Self::IRON_SWORD), + 167 => Some(&Self::IRON_TRAPDOOR), + 553 => Some(&Self::ITEM_FRAME), + 91 => Some(&Self::JACK_O_LANTERN), + -211 => Some(&Self::JIGSAW), + 84 => Some(&Self::JUKEBOX), + 409 => Some(&Self::JUNGLE_BOAT), + -143 => Some(&Self::JUNGLE_BUTTON), + 682 => Some(&Self::JUNGLE_CHEST_BOAT), + 594 => Some(&Self::JUNGLE_DOOR), + -578 => Some(&Self::JUNGLE_FENCE), + 185 => Some(&Self::JUNGLE_FENCE_GATE), + -503 => Some(&Self::JUNGLE_HANGING_SIGN), + -802 => Some(&Self::JUNGLE_LEAVES), + -571 => Some(&Self::JUNGLE_LOG), + -741 => Some(&Self::JUNGLE_PLANKS), + -153 => Some(&Self::JUNGLE_PRESSURE_PLATE), + -827 => Some(&Self::JUNGLE_SAPLING), + -1050 => Some(&Self::JUNGLE_SHELF), + 617 => Some(&Self::JUNGLE_SIGN), + -806 => Some(&Self::JUNGLE_SLAB), + 136 => Some(&Self::JUNGLE_STAIRS), + -148 => Some(&Self::JUNGLE_TRAPDOOR), + -816 => Some(&Self::JUNGLE_WOOD), + 414 => Some(&Self::KELP), + 65 => Some(&Self::LADDER), + -208 => Some(&Self::LANTERN), + 22 => Some(&Self::LAPIS_BLOCK), + 446 => Some(&Self::LAPIS_LAZULI), + 21 => Some(&Self::LAPIS_ORE), + -330 => Some(&Self::LARGE_AMETHYST_BUD), + -865 => Some(&Self::LARGE_FERN), + 395 => Some(&Self::LAVA_BUCKET), + 586 => Some(&Self::LEAD), + -1026 => Some(&Self::LEAF_LITTER), + 413 => Some(&Self::LEATHER), + 370 => Some(&Self::LEATHER_BOOTS), + 368 => Some(&Self::LEATHER_CHESTPLATE), + 367 => Some(&Self::LEATHER_HELMET), + 569 => Some(&Self::LEATHER_HORSE_ARMOR), + 369 => Some(&Self::LEATHER_LEGGINGS), + -194 => Some(&Self::LECTERN), + 69 => Some(&Self::LEVER), + 838 => Some(&Self::LIGHT), + 271 => Some(&Self::LIGHT_BLUE_BUNDLE), + -416 => Some(&Self::LIGHT_BLUE_CANDLE), + -599 => Some(&Self::LIGHT_BLUE_CARPET), + -630 => Some(&Self::LIGHT_BLUE_CONCRETE), + -711 => Some(&Self::LIGHT_BLUE_CONCRETE_POWDER), + 439 => Some(&Self::LIGHT_BLUE_DYE), + 223 => Some(&Self::LIGHT_BLUE_GLAZED_TERRACOTTA), + 762 => Some(&Self::LIGHT_BLUE_HARNESS), + -615 => Some(&Self::LIGHT_BLUE_SHULKER_BOX), + -675 => Some(&Self::LIGHT_BLUE_STAINED_GLASS), + -645 => Some(&Self::LIGHT_BLUE_STAINED_GLASS_PANE), + -726 => Some(&Self::LIGHT_BLUE_TERRACOTTA), + -562 => Some(&Self::LIGHT_BLUE_WOOL), + 272 => Some(&Self::LIGHT_GRAY_BUNDLE), + -421 => Some(&Self::LIGHT_GRAY_CANDLE), + -604 => Some(&Self::LIGHT_GRAY_CARPET), + -635 => Some(&Self::LIGHT_GRAY_CONCRETE), + -716 => Some(&Self::LIGHT_GRAY_CONCRETE_POWDER), + 434 => Some(&Self::LIGHT_GRAY_DYE), + 228 => Some(&Self::LIGHT_GRAY_GLAZED_TERRACOTTA), + 763 => Some(&Self::LIGHT_GRAY_HARNESS), + -620 => Some(&Self::LIGHT_GRAY_SHULKER_BOX), + -680 => Some(&Self::LIGHT_GRAY_STAINED_GLASS), + -650 => Some(&Self::LIGHT_GRAY_STAINED_GLASS_PANE), + -731 => Some(&Self::LIGHT_GRAY_TERRACOTTA), + -552 => Some(&Self::LIGHT_GRAY_WOOL), + 147 => Some(&Self::LIGHT_WEIGHTED_PRESSURE_PLATE), + -312 => Some(&Self::LIGHTNING_ROD), + -863 => Some(&Self::LILAC), + -839 => Some(&Self::LILY_OF_THE_VALLEY), + 111 => Some(&Self::LILY_PAD), + 273 => Some(&Self::LIME_BUNDLE), + -418 => Some(&Self::LIME_CANDLE), + -601 => Some(&Self::LIME_CARPET), + -632 => Some(&Self::LIME_CONCRETE), + -713 => Some(&Self::LIME_CONCRETE_POWDER), + 437 => Some(&Self::LIME_DYE), + 225 => Some(&Self::LIME_GLAZED_TERRACOTTA), + 764 => Some(&Self::LIME_HARNESS), + -617 => Some(&Self::LIME_SHULKER_BOX), + -677 => Some(&Self::LIME_STAINED_GLASS), + -647 => Some(&Self::LIME_STAINED_GLASS_PANE), + -728 => Some(&Self::LIME_TERRACOTTA), + -559 => Some(&Self::LIME_WOOL), + 601 => Some(&Self::LINGERING_POTION), + 507 => Some(&Self::LLAMA_SPAWN_EGG), + -222 => Some(&Self::LODESTONE), + -204 => Some(&Self::LOOM), + 351 => Some(&Self::MACE), + 274 => Some(&Self::MAGENTA_BUNDLE), + -415 => Some(&Self::MAGENTA_CANDLE), + -598 => Some(&Self::MAGENTA_CARPET), + -629 => Some(&Self::MAGENTA_CONCRETE), + -710 => Some(&Self::MAGENTA_CONCRETE_POWDER), + 440 => Some(&Self::MAGENTA_DYE), + 222 => Some(&Self::MAGENTA_GLAZED_TERRACOTTA), + 765 => Some(&Self::MAGENTA_HARNESS), + -614 => Some(&Self::MAGENTA_SHULKER_BOX), + -674 => Some(&Self::MAGENTA_STAINED_GLASS), + -644 => Some(&Self::MAGENTA_STAINED_GLASS_PANE), + -725 => Some(&Self::MAGENTA_TERRACOTTA), + -565 => Some(&Self::MAGENTA_WOOL), + 213 => Some(&Self::MAGMA_BLOCK), + 463 => Some(&Self::MAGMA_CREAM), + 488 => Some(&Self::MAGMA_CUBE_SPAWN_EGG), + 677 => Some(&Self::MANGROVE_BOAT), + -487 => Some(&Self::MANGROVE_BUTTON), + 686 => Some(&Self::MANGROVE_CHEST_BOAT), + 675 => Some(&Self::MANGROVE_DOOR), + -491 => Some(&Self::MANGROVE_FENCE), + -492 => Some(&Self::MANGROVE_FENCE_GATE), + -508 => Some(&Self::MANGROVE_HANGING_SIGN), + -472 => Some(&Self::MANGROVE_LEAVES), + -484 => Some(&Self::MANGROVE_LOG), + -486 => Some(&Self::MANGROVE_PLANKS), + -490 => Some(&Self::MANGROVE_PRESSURE_PLATE), + -474 => Some(&Self::MANGROVE_PROPAGULE), + -482 => Some(&Self::MANGROVE_ROOTS), + -1053 => Some(&Self::MANGROVE_SHELF), + 676 => Some(&Self::MANGROVE_SIGN), + -489 => Some(&Self::MANGROVE_SLAB), + -488 => Some(&Self::MANGROVE_STAIRS), + -496 => Some(&Self::MANGROVE_TRAPDOOR), + -497 => Some(&Self::MANGROVE_WOOD), + 555 => Some(&Self::MAP), + -331 => Some(&Self::MEDIUM_AMETHYST_BUD), + 103 => Some(&Self::MELON), + 322 => Some(&Self::MELON_SEEDS), + 301 => Some(&Self::MELON_SLICE), + 393 => Some(&Self::MILK_BUCKET), + 402 => Some(&Self::MINECART), + 713 => Some(&Self::MINER_POTTERY_SHERD), + 623 => Some(&Self::MOJANG_BANNER_PATTERN), + 473 => Some(&Self::MOOSHROOM_SPAWN_EGG), + -320 => Some(&Self::MOSS_BLOCK), + -335 => Some(&Self::MOSS_CARPET), + 48 => Some(&Self::MOSSY_COBBLESTONE), + -888 => Some(&Self::MOSSY_COBBLESTONE_SLAB), + -179 => Some(&Self::MOSSY_COBBLESTONE_STAIRS), + -971 => Some(&Self::MOSSY_COBBLESTONE_WALL), + -166 => Some(&Self::MOSSY_STONE_BRICK_SLAB), + -175 => Some(&Self::MOSSY_STONE_BRICK_STAIRS), + -978 => Some(&Self::MOSSY_STONE_BRICK_WALL), + -868 => Some(&Self::MOSSY_STONE_BRICKS), + 714 => Some(&Self::MOURNER_POTTERY_SHERD), + -473 => Some(&Self::MUD), + -478 => Some(&Self::MUD_BRICK_SLAB), + -480 => Some(&Self::MUD_BRICK_STAIRS), + -481 => Some(&Self::MUD_BRICK_WALL), + -475 => Some(&Self::MUD_BRICKS), + -483 => Some(&Self::MUDDY_MANGROVE_ROOTS), + 500 => Some(&Self::MULE_SPAWN_EGG), + -1008 => Some(&Self::MUSHROOM_STEM), + 289 => Some(&Self::MUSHROOM_STEW), + 583 => Some(&Self::MUSIC_DISC_11), + 573 => Some(&Self::MUSIC_DISC_13), + 678 => Some(&Self::MUSIC_DISC_5), + 575 => Some(&Self::MUSIC_DISC_BLOCKS), + 574 => Some(&Self::MUSIC_DISC_CAT), + 576 => Some(&Self::MUSIC_DISC_CHIRP), + 828 => Some(&Self::MUSIC_DISC_CREATOR), + 829 => Some(&Self::MUSIC_DISC_CREATOR_MUSIC_BOX), + 577 => Some(&Self::MUSIC_DISC_FAR), + 832 => Some(&Self::MUSIC_DISC_LAVA_CHICKEN), + 578 => Some(&Self::MUSIC_DISC_MALL), + 579 => Some(&Self::MUSIC_DISC_MELLOHI), + 668 => Some(&Self::MUSIC_DISC_OTHERSIDE), + 662 => Some(&Self::MUSIC_DISC_PIGSTEP), + 830 => Some(&Self::MUSIC_DISC_PRECIPICE), + 742 => Some(&Self::MUSIC_DISC_RELIC), + 580 => Some(&Self::MUSIC_DISC_STAL), + 581 => Some(&Self::MUSIC_DISC_STRAD), + 831 => Some(&Self::MUSIC_DISC_TEARS), + 584 => Some(&Self::MUSIC_DISC_WAIT), + 582 => Some(&Self::MUSIC_DISC_WARD), + 589 => Some(&Self::MUTTON), + 110 => Some(&Self::MYCELIUM), + 587 => Some(&Self::NAME_TAG), + 609 => Some(&Self::NAUTILUS_SHELL), + 784 => Some(&Self::NAUTILUS_SPAWN_EGG), + 562 => Some(&Self::NETHER_BRICK), + 113 => Some(&Self::NETHER_BRICK_FENCE), + -877 => Some(&Self::NETHER_BRICK_SLAB), + 114 => Some(&Self::NETHER_BRICK_STAIRS), + -979 => Some(&Self::NETHER_BRICK_WALL), + 112 => Some(&Self::NETHER_BRICKS), + -288 => Some(&Self::NETHER_GOLD_ORE), + 153 => Some(&Self::NETHER_QUARTZ_ORE), + 663 => Some(&Self::NETHER_SPROUTS), + 557 => Some(&Self::NETHER_STAR), + 323 => Some(&Self::NETHER_WART), + 214 => Some(&Self::NETHER_WART_BLOCK), + 649 => Some(&Self::NETHERITE_AXE), + -270 => Some(&Self::NETHERITE_BLOCK), + 655 => Some(&Self::NETHERITE_BOOTS), + 653 => Some(&Self::NETHERITE_CHESTPLATE), + 652 => Some(&Self::NETHERITE_HELMET), + 650 => Some(&Self::NETHERITE_HOE), + 792 => Some(&Self::NETHERITE_HORSE_ARMOR), + 651 => Some(&Self::NETHERITE_INGOT), + 654 => Some(&Self::NETHERITE_LEGGINGS), + 791 => Some(&Self::NETHERITE_NAUTILUS_ARMOR), + 648 => Some(&Self::NETHERITE_PICKAXE), + 656 => Some(&Self::NETHERITE_SCRAP), + 647 => Some(&Self::NETHERITE_SHOVEL), + 261 => Some(&Self::NETHERITE_SPEAR), + 646 => Some(&Self::NETHERITE_SWORD), + 723 => Some(&Self::NETHERITE_UPGRADE_SMITHING_TEMPLATE), + 87 => Some(&Self::NETHERRACK), + 25 => Some(&Self::NOTE_BLOCK), + 407 => Some(&Self::OAK_BOAT), + 143 => Some(&Self::OAK_BUTTON), + 680 => Some(&Self::OAK_CHEST_BOAT), + 391 => Some(&Self::OAK_DOOR), + 85 => Some(&Self::OAK_FENCE), + 107 => Some(&Self::OAK_FENCE_GATE), + -500 => Some(&Self::OAK_HANGING_SIGN), + 18 => Some(&Self::OAK_LEAVES), + 17 => Some(&Self::OAK_LOG), + 5 => Some(&Self::OAK_PLANKS), + 72 => Some(&Self::OAK_PRESSURE_PLATE), + 6 => Some(&Self::OAK_SAPLING), + -1047 => Some(&Self::OAK_SHELF), + 390 => Some(&Self::OAK_SIGN), + 158 => Some(&Self::OAK_SLAB), + 53 => Some(&Self::OAK_STAIRS), + 96 => Some(&Self::OAK_TRAPDOOR), + -212 => Some(&Self::OAK_WOOD), + 251 => Some(&Self::OBSERVER), + 49 => Some(&Self::OBSIDIAN), + 484 => Some(&Self::OCELOT_SPAWN_EGG), + -471 => Some(&Self::OCHRE_FROGLIGHT), + 634 => Some(&Self::OMINOUS_BOTTLE), + 282 => Some(&Self::OMINOUS_TRIAL_KEY), + -1018 => Some(&Self::OPEN_EYEBLOSSOM), + 275 => Some(&Self::ORANGE_BUNDLE), + -414 => Some(&Self::ORANGE_CANDLE), + -597 => Some(&Self::ORANGE_CARPET), + -628 => Some(&Self::ORANGE_CONCRETE), + -709 => Some(&Self::ORANGE_CONCRETE_POWDER), + 441 => Some(&Self::ORANGE_DYE), + 221 => Some(&Self::ORANGE_GLAZED_TERRACOTTA), + 766 => Some(&Self::ORANGE_HARNESS), + -613 => Some(&Self::ORANGE_SHULKER_BOX), + -673 => Some(&Self::ORANGE_STAINED_GLASS), + -643 => Some(&Self::ORANGE_STAINED_GLASS_PANE), + -724 => Some(&Self::ORANGE_TERRACOTTA), + -834 => Some(&Self::ORANGE_TULIP), + -557 => Some(&Self::ORANGE_WOOL), + -837 => Some(&Self::OXEYE_DAISY), + -763 => Some(&Self::OXIDIZED_CHISELED_COPPER), + -343 => Some(&Self::OXIDIZED_COPPER), + -1069 => Some(&Self::OXIDIZED_COPPER_BARS), + -779 => Some(&Self::OXIDIZED_COPPER_BULB), + -1077 => Some(&Self::OXIDIZED_COPPER_CHAIN), + -1034 => Some(&Self::OXIDIZED_COPPER_CHEST), + -787 => Some(&Self::OXIDIZED_COPPER_DOOR), + -1042 => Some(&Self::OXIDIZED_COPPER_GOLEM_STATUE), + -771 => Some(&Self::OXIDIZED_COPPER_GRATE), + -1086 => Some(&Self::OXIDIZED_COPPER_LANTERN), + -795 => Some(&Self::OXIDIZED_COPPER_TRAPDOOR), + -350 => Some(&Self::OXIDIZED_CUT_COPPER), + -364 => Some(&Self::OXIDIZED_CUT_COPPER_SLAB), + -357 => Some(&Self::OXIDIZED_CUT_COPPER_STAIRS), + -1061 => Some(&Self::OXIDIZED_LIGHTNING_ROD), + 174 => Some(&Self::PACKED_ICE), + -477 => Some(&Self::PACKED_MUD), + 389 => Some(&Self::PAINTING), + -1011 => Some(&Self::PALE_HANGING_MOSS), + -1009 => Some(&Self::PALE_MOSS_BLOCK), + -1010 => Some(&Self::PALE_MOSS_CARPET), + 748 => Some(&Self::PALE_OAK_BOAT), + -989 => Some(&Self::PALE_OAK_BUTTON), + 749 => Some(&Self::PALE_OAK_CHEST_BOAT), + -990 => Some(&Self::PALE_OAK_DOOR), + -991 => Some(&Self::PALE_OAK_FENCE), + -992 => Some(&Self::PALE_OAK_FENCE_GATE), + -993 => Some(&Self::PALE_OAK_HANGING_SIGN), + -1007 => Some(&Self::PALE_OAK_LEAVES), + -995 => Some(&Self::PALE_OAK_LOG), + -996 => Some(&Self::PALE_OAK_PLANKS), + -997 => Some(&Self::PALE_OAK_PRESSURE_PLATE), + -1006 => Some(&Self::PALE_OAK_SAPLING), + -1055 => Some(&Self::PALE_OAK_SHELF), + 750 => Some(&Self::PALE_OAK_SIGN), + -998 => Some(&Self::PALE_OAK_SLAB), + -1000 => Some(&Self::PALE_OAK_STAIRS), + -1002 => Some(&Self::PALE_OAK_TRAPDOOR), + -1005 => Some(&Self::PALE_OAK_WOOD), + 523 => Some(&Self::PANDA_SPAWN_EGG), + 418 => Some(&Self::PAPER), + 786 => Some(&Self::PARCHED_SPAWN_EGG), + 512 => Some(&Self::PARROT_SPAWN_EGG), + -469 => Some(&Self::PEARLESCENT_FROGLIGHT), + -867 => Some(&Self::PEONY), + -902 => Some(&Self::PETRIFIED_OAK_SLAB), + 613 => Some(&Self::PHANTOM_MEMBRANE), + 520 => Some(&Self::PHANTOM_SPAWN_EGG), + 470 => Some(&Self::PIG_SPAWN_EGG), + 626 => Some(&Self::PIGLIN_BANNER_PATTERN), + 533 => Some(&Self::PIGLIN_BRUTE_SPAWN_EGG), + -970 => Some(&Self::PIGLIN_HEAD), + 531 => Some(&Self::PIGLIN_SPAWN_EGG), + 525 => Some(&Self::PILLAGER_SPAWN_EGG), + 276 => Some(&Self::PINK_BUNDLE), + -419 => Some(&Self::PINK_CANDLE), + -602 => Some(&Self::PINK_CARPET), + -633 => Some(&Self::PINK_CONCRETE), + -714 => Some(&Self::PINK_CONCRETE_POWDER), + 436 => Some(&Self::PINK_DYE), + 226 => Some(&Self::PINK_GLAZED_TERRACOTTA), + 767 => Some(&Self::PINK_HARNESS), + -549 => Some(&Self::PINK_PETALS), + -618 => Some(&Self::PINK_SHULKER_BOX), + -678 => Some(&Self::PINK_STAINED_GLASS), + -648 => Some(&Self::PINK_STAINED_GLASS_PANE), + -729 => Some(&Self::PINK_TERRACOTTA), + -836 => Some(&Self::PINK_TULIP), + -566 => Some(&Self::PINK_WOOL), + 33 => Some(&Self::PISTON), + -612 => Some(&Self::PITCHER_PLANT), + 326 => Some(&Self::PITCHER_POD), + -967 => Some(&Self::PLAYER_HEAD), + 715 => Some(&Self::PLENTY_POTTERY_SHERD), + 243 => Some(&Self::PODZOL), + -308 => Some(&Self::POINTED_DRIPSTONE), + 311 => Some(&Self::POISONOUS_POTATO), + 506 => Some(&Self::POLAR_BEAR_SPAWN_EGG), + -595 => Some(&Self::POLISHED_ANDESITE), + -892 => Some(&Self::POLISHED_ANDESITE_SLAB), + -174 => Some(&Self::POLISHED_ANDESITE_STAIRS), + -235 => Some(&Self::POLISHED_BASALT), + -291 => Some(&Self::POLISHED_BLACKSTONE), + -284 => Some(&Self::POLISHED_BLACKSTONE_BRICK_SLAB), + -275 => Some(&Self::POLISHED_BLACKSTONE_BRICK_STAIRS), + -278 => Some(&Self::POLISHED_BLACKSTONE_BRICK_WALL), + -274 => Some(&Self::POLISHED_BLACKSTONE_BRICKS), + -296 => Some(&Self::POLISHED_BLACKSTONE_BUTTON), + -295 => Some(&Self::POLISHED_BLACKSTONE_PRESSURE_PLATE), + -293 => Some(&Self::POLISHED_BLACKSTONE_SLAB), + -292 => Some(&Self::POLISHED_BLACKSTONE_STAIRS), + -297 => Some(&Self::POLISHED_BLACKSTONE_WALL), + -383 => Some(&Self::POLISHED_DEEPSLATE), + -384 => Some(&Self::POLISHED_DEEPSLATE_SLAB), + -385 => Some(&Self::POLISHED_DEEPSLATE_STAIRS), + -386 => Some(&Self::POLISHED_DEEPSLATE_WALL), + -593 => Some(&Self::POLISHED_DIORITE), + -895 => Some(&Self::POLISHED_DIORITE_SLAB), + -173 => Some(&Self::POLISHED_DIORITE_STAIRS), + -591 => Some(&Self::POLISHED_GRANITE), + -897 => Some(&Self::POLISHED_GRANITE_SLAB), + -172 => Some(&Self::POLISHED_GRANITE_STAIRS), + -748 => Some(&Self::POLISHED_TUFF), + -749 => Some(&Self::POLISHED_TUFF_SLAB), + -751 => Some(&Self::POLISHED_TUFF_STAIRS), + -752 => Some(&Self::POLISHED_TUFF_WALL), + 598 => Some(&Self::POPPED_CHORUS_FRUIT), + 38 => Some(&Self::POPPY), + 291 => Some(&Self::PORKCHOP), + 309 => Some(&Self::POTATO), + 459 => Some(&Self::POTION), + 400 => Some(&Self::POWDER_SNOW_BUCKET), + 27 => Some(&Self::POWERED_RAIL), + 168 => Some(&Self::PRISMARINE), + -887 => Some(&Self::PRISMARINE_BRICK_SLAB), + -4 => Some(&Self::PRISMARINE_BRICK_STAIRS), + -948 => Some(&Self::PRISMARINE_BRICKS), + 588 => Some(&Self::PRISMARINE_CRYSTALS), + 604 => Some(&Self::PRISMARINE_SHARD), + -885 => Some(&Self::PRISMARINE_SLAB), + -2 => Some(&Self::PRISMARINE_STAIRS), + -981 => Some(&Self::PRISMARINE_WALL), + 716 => Some(&Self::PRIZE_POTTERY_SHERD), + 296 => Some(&Self::PUFFERFISH), + 399 => Some(&Self::PUFFERFISH_BUCKET), + 515 => Some(&Self::PUFFERFISH_SPAWN_EGG), + 86 => Some(&Self::PUMPKIN), + 313 => Some(&Self::PUMPKIN_PIE), + 321 => Some(&Self::PUMPKIN_SEEDS), + 277 => Some(&Self::PURPLE_BUNDLE), + -423 => Some(&Self::PURPLE_CANDLE), + -606 => Some(&Self::PURPLE_CARPET), + -637 => Some(&Self::PURPLE_CONCRETE), + -718 => Some(&Self::PURPLE_CONCRETE_POWDER), + 432 => Some(&Self::PURPLE_DYE), + 219 => Some(&Self::PURPLE_GLAZED_TERRACOTTA), + 768 => Some(&Self::PURPLE_HARNESS), + -622 => Some(&Self::PURPLE_SHULKER_BOX), + -682 => Some(&Self::PURPLE_STAINED_GLASS), + -652 => Some(&Self::PURPLE_STAINED_GLASS_PANE), + -733 => Some(&Self::PURPLE_TERRACOTTA), + -564 => Some(&Self::PURPLE_WOOL), + 201 => Some(&Self::PURPUR_BLOCK), + -951 => Some(&Self::PURPUR_PILLAR), + -884 => Some(&Self::PURPUR_SLAB), + 203 => Some(&Self::PURPUR_STAIRS), + 563 => Some(&Self::QUARTZ), + 155 => Some(&Self::QUARTZ_BLOCK), + -304 => Some(&Self::QUARTZ_BRICKS), + -954 => Some(&Self::QUARTZ_PILLAR), + -876 => Some(&Self::QUARTZ_SLAB), + 156 => Some(&Self::QUARTZ_STAIRS), + 317 => Some(&Self::RABBIT), + 567 => Some(&Self::RABBIT_FOOT), + 568 => Some(&Self::RABBIT_HIDE), + 492 => Some(&Self::RABBIT_SPAWN_EGG), + 319 => Some(&Self::RABBIT_STEW), + 66 => Some(&Self::RAIL), + 737 => Some(&Self::RAISER_ARMOR_TRIM_SMITHING_TEMPLATE), + 527 => Some(&Self::RAVAGER_SPAWN_EGG), + 547 => Some(&Self::RAW_COPPER), + -452 => Some(&Self::RAW_COPPER_BLOCK), + 546 => Some(&Self::RAW_GOLD), + -453 => Some(&Self::RAW_GOLD_BLOCK), + 545 => Some(&Self::RAW_IRON), + -451 => Some(&Self::RAW_IRON_BLOCK), + 688 => Some(&Self::RECOVERY_COMPASS), + 278 => Some(&Self::RED_BUNDLE), + -427 => Some(&Self::RED_CANDLE), + -610 => Some(&Self::RED_CARPET), + -641 => Some(&Self::RED_CONCRETE), + -722 => Some(&Self::RED_CONCRETE_POWDER), + 428 => Some(&Self::RED_DYE), + 234 => Some(&Self::RED_GLAZED_TERRACOTTA), + 769 => Some(&Self::RED_HARNESS), + 40 => Some(&Self::RED_MUSHROOM), + 100 => Some(&Self::RED_MUSHROOM_BLOCK), + -890 => Some(&Self::RED_NETHER_BRICK_SLAB), + -184 => Some(&Self::RED_NETHER_BRICK_STAIRS), + -983 => Some(&Self::RED_NETHER_BRICK_WALL), + 215 => Some(&Self::RED_NETHER_BRICKS), + -949 => Some(&Self::RED_SAND), + 179 => Some(&Self::RED_SANDSTONE), + 182 => Some(&Self::RED_SANDSTONE_SLAB), + 180 => Some(&Self::RED_SANDSTONE_STAIRS), + -982 => Some(&Self::RED_SANDSTONE_WALL), + -626 => Some(&Self::RED_SHULKER_BOX), + -686 => Some(&Self::RED_STAINED_GLASS), + -656 => Some(&Self::RED_STAINED_GLASS_PANE), + -737 => Some(&Self::RED_TERRACOTTA), + -833 => Some(&Self::RED_TULIP), + -556 => Some(&Self::RED_WOOL), + 405 => Some(&Self::REDSTONE), + 152 => Some(&Self::REDSTONE_BLOCK), + 123 => Some(&Self::REDSTONE_LAMP), + 73 => Some(&Self::REDSTONE_ORE), + 76 => Some(&Self::REDSTONE_TORCH), + -466 => Some(&Self::REINFORCED_DEEPSLATE), + 451 => Some(&Self::REPEATER), + 188 => Some(&Self::REPEATING_COMMAND_BLOCK), + -1021 => Some(&Self::RESIN_BLOCK), + 752 => Some(&Self::RESIN_BRICK), + -1014 => Some(&Self::RESIN_BRICK_SLAB), + -1016 => Some(&Self::RESIN_BRICK_STAIRS), + -1017 => Some(&Self::RESIN_BRICK_WALL), + -1013 => Some(&Self::RESIN_BRICKS), + -1022 => Some(&Self::RESIN_CLUMP), + -272 => Some(&Self::RESPAWN_ANCHOR), + 733 => Some(&Self::RIB_ARMOR_TRIM_SMITHING_TEMPLATE), + -318 => Some(&Self::ROOTED_DIRT), + -866 => Some(&Self::ROSE_BUSH), + 306 => Some(&Self::ROTTEN_FLESH), + 403 => Some(&Self::SADDLE), + 294 => Some(&Self::SALMON), + 397 => Some(&Self::SALMON_BUCKET), + 516 => Some(&Self::SALMON_SPAWN_EGG), + 12 => Some(&Self::SAND), + 24 => Some(&Self::SANDSTONE), + -872 => Some(&Self::SANDSTONE_SLAB), + 128 => Some(&Self::SANDSTONE_STAIRS), + -975 => Some(&Self::SANDSTONE_WALL), + -165 => Some(&Self::SCAFFOLDING), + 717 => Some(&Self::SCRAPE_POTTERY_SHERD), + -458 => Some(&Self::SCULK), + -460 => Some(&Self::SCULK_CATALYST), + -307 => Some(&Self::SCULK_SENSOR), + -461 => Some(&Self::SCULK_SHRIEKER), + -459 => Some(&Self::SCULK_VEIN), + 169 => Some(&Self::SEA_LANTERN), + -156 => Some(&Self::SEA_PICKLE), + -130 => Some(&Self::SEAGRASS), + 724 => Some(&Self::SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE), + 738 => Some(&Self::SHAPER_ARMOR_TRIM_SMITHING_TEMPLATE), + 718 => Some(&Self::SHEAF_POTTERY_SHERD), + 453 => Some(&Self::SHEARS), + 471 => Some(&Self::SHEEP_SPAWN_EGG), + 719 => Some(&Self::SHELTER_POTTERY_SHERD), + 387 => Some(&Self::SHIELD), + -1028 => Some(&Self::SHORT_DRY_GRASS), + 31 => Some(&Self::SHORT_GRASS), + -230 => Some(&Self::SHROOMLIGHT), + 205 => Some(&Self::SHULKER_BOX), + 605 => Some(&Self::SHULKER_SHELL), + 503 => Some(&Self::SHULKER_SPAWN_EGG), + 735 => Some(&Self::SILENCE_ARMOR_TRIM_SMITHING_TEMPLATE), + 476 => Some(&Self::SILVERFISH_SPAWN_EGG), + 501 => Some(&Self::SKELETON_HORSE_SPAWN_EGG), + 144 => Some(&Self::SKELETON_SKULL), + 477 => Some(&Self::SKELETON_SPAWN_EGG), + 622 => Some(&Self::SKULL_BANNER_PATTERN), + 720 => Some(&Self::SKULL_POTTERY_SHERD), + 420 => Some(&Self::SLIME_BALL), + 165 => Some(&Self::SLIME_BLOCK), + 478 => Some(&Self::SLIME_SPAWN_EGG), + -332 => Some(&Self::SMALL_AMETHYST_BUD), + -336 => Some(&Self::SMALL_DRIPLEAF), + -202 => Some(&Self::SMITHING_TABLE), + -198 => Some(&Self::SMOKER), + -377 => Some(&Self::SMOOTH_BASALT), + -955 => Some(&Self::SMOOTH_QUARTZ), + -898 => Some(&Self::SMOOTH_QUARTZ_SLAB), + -185 => Some(&Self::SMOOTH_QUARTZ_STAIRS), + -958 => Some(&Self::SMOOTH_RED_SANDSTONE), + -891 => Some(&Self::SMOOTH_RED_SANDSTONE_SLAB), + -176 => Some(&Self::SMOOTH_RED_SANDSTONE_STAIRS), + -946 => Some(&Self::SMOOTH_SANDSTONE), + -889 => Some(&Self::SMOOTH_SANDSTONE_SLAB), + -177 => Some(&Self::SMOOTH_SANDSTONE_STAIRS), + -183 => Some(&Self::SMOOTH_STONE), + 44 => Some(&Self::SMOOTH_STONE_SLAB), + -596 => Some(&Self::SNIFFER_EGG), + 534 => Some(&Self::SNIFFER_SPAWN_EGG), + 721 => Some(&Self::SNORT_POTTERY_SHERD), + 732 => Some(&Self::SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE), + 78 => Some(&Self::SNOW), + 80 => Some(&Self::SNOW_BLOCK), + 540 => Some(&Self::SNOW_GOLEM_SPAWN_EGG), + 406 => Some(&Self::SNOWBALL), + 664 => Some(&Self::SOUL_CAMPFIRE), + -269 => Some(&Self::SOUL_LANTERN), + 88 => Some(&Self::SOUL_SAND), + -236 => Some(&Self::SOUL_SOIL), + -268 => Some(&Self::SOUL_TORCH), + 52 => Some(&Self::SPAWNER), + 307 => Some(&Self::SPIDER_EYE), + 479 => Some(&Self::SPIDER_SPAWN_EGG), + 734 => Some(&Self::SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE), + 600 => Some(&Self::SPLASH_POTION), + 19 => Some(&Self::SPONGE), + -321 => Some(&Self::SPORE_BLOSSOM), + 410 => Some(&Self::SPRUCE_BOAT), + -144 => Some(&Self::SPRUCE_BUTTON), + 683 => Some(&Self::SPRUCE_CHEST_BOAT), + 592 => Some(&Self::SPRUCE_DOOR), + -579 => Some(&Self::SPRUCE_FENCE), + 183 => Some(&Self::SPRUCE_FENCE_GATE), + -501 => Some(&Self::SPRUCE_HANGING_SIGN), + -800 => Some(&Self::SPRUCE_LEAVES), + -569 => Some(&Self::SPRUCE_LOG), + -739 => Some(&Self::SPRUCE_PLANKS), + -154 => Some(&Self::SPRUCE_PRESSURE_PLATE), + -825 => Some(&Self::SPRUCE_SAPLING), + -1048 => Some(&Self::SPRUCE_SHELF), + 615 => Some(&Self::SPRUCE_SIGN), + -804 => Some(&Self::SPRUCE_SLAB), + 134 => Some(&Self::SPRUCE_STAIRS), + -149 => Some(&Self::SPRUCE_TRAPDOOR), + -814 => Some(&Self::SPRUCE_WOOD), + 667 => Some(&Self::SPYGLASS), + 483 => Some(&Self::SQUID_SPAWN_EGG), + 29 => Some(&Self::STICKY_PISTON), + 1 => Some(&Self::STONE), + 346 => Some(&Self::STONE_AXE), + -875 => Some(&Self::STONE_BRICK_SLAB), + 109 => Some(&Self::STONE_BRICK_STAIRS), + -977 => Some(&Self::STONE_BRICK_WALL), + 98 => Some(&Self::STONE_BRICKS), + 77 => Some(&Self::STONE_BUTTON), + 362 => Some(&Self::STONE_HOE), + 345 => Some(&Self::STONE_PICKAXE), + 70 => Some(&Self::STONE_PRESSURE_PLATE), + 344 => Some(&Self::STONE_SHOVEL), + 801 => Some(&Self::STONE_SLAB), + 262 => Some(&Self::STONE_SPEAR), + -180 => Some(&Self::STONE_STAIRS), + 343 => Some(&Self::STONE_SWORD), + -197 => Some(&Self::STONECUTTER), + 495 => Some(&Self::STRAY_SPAWN_EGG), + 529 => Some(&Self::STRIDER_SPAWN_EGG), + 358 => Some(&Self::STRING), + -8 => Some(&Self::STRIPPED_ACACIA_LOG), + -823 => Some(&Self::STRIPPED_ACACIA_WOOD), + -528 => Some(&Self::STRIPPED_BAMBOO_BLOCK), + -6 => Some(&Self::STRIPPED_BIRCH_LOG), + -821 => Some(&Self::STRIPPED_BIRCH_WOOD), + -535 => Some(&Self::STRIPPED_CHERRY_LOG), + -545 => Some(&Self::STRIPPED_CHERRY_WOOD), + -300 => Some(&Self::STRIPPED_CRIMSON_HYPHAE), + -240 => Some(&Self::STRIPPED_CRIMSON_STEM), + -9 => Some(&Self::STRIPPED_DARK_OAK_LOG), + -824 => Some(&Self::STRIPPED_DARK_OAK_WOOD), + -7 => Some(&Self::STRIPPED_JUNGLE_LOG), + -822 => Some(&Self::STRIPPED_JUNGLE_WOOD), + -485 => Some(&Self::STRIPPED_MANGROVE_LOG), + -498 => Some(&Self::STRIPPED_MANGROVE_WOOD), + -10 => Some(&Self::STRIPPED_OAK_LOG), + -819 => Some(&Self::STRIPPED_OAK_WOOD), + -994 => Some(&Self::STRIPPED_PALE_OAK_LOG), + -1004 => Some(&Self::STRIPPED_PALE_OAK_WOOD), + -5 => Some(&Self::STRIPPED_SPRUCE_LOG), + -820 => Some(&Self::STRIPPED_SPRUCE_WOOD), + -301 => Some(&Self::STRIPPED_WARPED_HYPHAE), + -241 => Some(&Self::STRIPPED_WARPED_STEM), + 252 => Some(&Self::STRUCTURE_BLOCK), + 217 => Some(&Self::STRUCTURE_VOID), + 448 => Some(&Self::SUGAR), + 417 => Some(&Self::SUGAR_CANE), + 175 => Some(&Self::SUNFLOWER), + -573 => Some(&Self::SUSPICIOUS_GRAVEL), + -529 => Some(&Self::SUSPICIOUS_SAND), + 631 => Some(&Self::SUSPICIOUS_STEW), + 316 => Some(&Self::SWEET_BERRIES), + 672 => Some(&Self::TADPOLE_BUCKET), + 671 => Some(&Self::TADPOLE_SPAWN_EGG), + -1029 => Some(&Self::TALL_DRY_GRASS), + -864 => Some(&Self::TALL_GRASS), + -239 => Some(&Self::TARGET), + 172 => Some(&Self::TERRACOTTA), + -305 => Some(&Self::TEST_BLOCK), + 731 => Some(&Self::TIDE_ARMOR_TRIM_SMITHING_TEMPLATE), + -334 => Some(&Self::TINTED_GLASS), + 46 => Some(&Self::TNT), + 564 => Some(&Self::TNT_MINECART), + 50 => Some(&Self::TORCH), + -568 => Some(&Self::TORCHFLOWER), + 325 => Some(&Self::TORCHFLOWER_SEEDS), + 607 => Some(&Self::TOTEM_OF_UNDYING), + 690 => Some(&Self::TRADER_LLAMA_SPAWN_EGG), + 146 => Some(&Self::TRAPPED_CHEST), + 283 => Some(&Self::TRIAL_KEY), + -315 => Some(&Self::TRIAL_SPAWNER), + 585 => Some(&Self::TRIDENT), + 131 => Some(&Self::TRIPWIRE_HOOK), + 295 => Some(&Self::TROPICAL_FISH), + 398 => Some(&Self::TROPICAL_FISH_BUCKET), + 513 => Some(&Self::TROPICAL_FISH_SPAWN_EGG), + -131 => Some(&Self::TUBE_CORAL), + -132 => Some(&Self::TUBE_CORAL_BLOCK), + -133 => Some(&Self::TUBE_CORAL_FAN), + -333 => Some(&Self::TUFF), + -755 => Some(&Self::TUFF_BRICK_SLAB), + -757 => Some(&Self::TUFF_BRICK_STAIRS), + -758 => Some(&Self::TUFF_BRICK_WALL), + -754 => Some(&Self::TUFF_BRICKS), + -744 => Some(&Self::TUFF_SLAB), + -746 => Some(&Self::TUFF_STAIRS), + -747 => Some(&Self::TUFF_WALL), + -159 => Some(&Self::TURTLE_EGG), + 612 => Some(&Self::TURTLE_HELMET), + 611 => Some(&Self::TURTLE_SCUTE), + 519 => Some(&Self::TURTLE_SPAWN_EGG), + -287 => Some(&Self::TWISTING_VINES), + -314 => Some(&Self::VAULT), + -470 => Some(&Self::VERDANT_FROGLIGHT), + 730 => Some(&Self::VEX_ARMOR_TRIM_SMITHING_TEMPLATE), + 510 => Some(&Self::VEX_SPAWN_EGG), + 482 => Some(&Self::VILLAGER_SPAWN_EGG), + 508 => Some(&Self::VINDICATOR_SPAWN_EGG), + 106 => Some(&Self::VINE), + 526 => Some(&Self::WANDERING_TRADER_SPAWN_EGG), + 728 => Some(&Self::WARD_ARMOR_TRIM_SMITHING_TEMPLATE), + 674 => Some(&Self::WARDEN_SPAWN_EGG), + -261 => Some(&Self::WARPED_BUTTON), + 660 => Some(&Self::WARPED_DOOR), + -257 => Some(&Self::WARPED_FENCE), + -259 => Some(&Self::WARPED_FENCE_GATE), + -229 => Some(&Self::WARPED_FUNGUS), + 661 => Some(&Self::WARPED_FUNGUS_ON_A_STICK), + -507 => Some(&Self::WARPED_HANGING_SIGN), + -298 => Some(&Self::WARPED_HYPHAE), + -233 => Some(&Self::WARPED_NYLIUM), + -243 => Some(&Self::WARPED_PLANKS), + -263 => Some(&Self::WARPED_PRESSURE_PLATE), + -224 => Some(&Self::WARPED_ROOTS), + -1058 => Some(&Self::WARPED_SHELF), + 658 => Some(&Self::WARPED_SIGN), + -265 => Some(&Self::WARPED_SLAB), + -255 => Some(&Self::WARPED_STAIRS), + -226 => Some(&Self::WARPED_STEM), + -247 => Some(&Self::WARPED_TRAPDOOR), + -227 => Some(&Self::WARPED_WART_BLOCK), + 394 => Some(&Self::WATER_BUCKET), + -764 => Some(&Self::WAXED_CHISELED_COPPER), + -1070 => Some(&Self::WAXED_COPPER_BARS), + -344 => Some(&Self::WAXED_COPPER_BLOCK), + -780 => Some(&Self::WAXED_COPPER_BULB), + -1078 => Some(&Self::WAXED_COPPER_CHAIN), + -1035 => Some(&Self::WAXED_COPPER_CHEST), + -788 => Some(&Self::WAXED_COPPER_DOOR), + -1043 => Some(&Self::WAXED_COPPER_GOLEM_STATUE), + -772 => Some(&Self::WAXED_COPPER_GRATE), + -1087 => Some(&Self::WAXED_COPPER_LANTERN), + -796 => Some(&Self::WAXED_COPPER_TRAPDOOR), + -351 => Some(&Self::WAXED_CUT_COPPER), + -365 => Some(&Self::WAXED_CUT_COPPER_SLAB), + -358 => Some(&Self::WAXED_CUT_COPPER_STAIRS), + -765 => Some(&Self::WAXED_EXPOSED_CHISELED_COPPER), + -345 => Some(&Self::WAXED_EXPOSED_COPPER), + -1071 => Some(&Self::WAXED_EXPOSED_COPPER_BARS), + -781 => Some(&Self::WAXED_EXPOSED_COPPER_BULB), + -1079 => Some(&Self::WAXED_EXPOSED_COPPER_CHAIN), + -1036 => Some(&Self::WAXED_EXPOSED_COPPER_CHEST), + -789 => Some(&Self::WAXED_EXPOSED_COPPER_DOOR), + -1044 => Some(&Self::WAXED_EXPOSED_COPPER_GOLEM_STATUE), + -773 => Some(&Self::WAXED_EXPOSED_COPPER_GRATE), + -1088 => Some(&Self::WAXED_EXPOSED_COPPER_LANTERN), + -797 => Some(&Self::WAXED_EXPOSED_COPPER_TRAPDOOR), + -352 => Some(&Self::WAXED_EXPOSED_CUT_COPPER), + -366 => Some(&Self::WAXED_EXPOSED_CUT_COPPER_SLAB), + -359 => Some(&Self::WAXED_EXPOSED_CUT_COPPER_STAIRS), + -1063 => Some(&Self::WAXED_EXPOSED_LIGHTNING_ROD), + -1062 => Some(&Self::WAXED_LIGHTNING_ROD), + -766 => Some(&Self::WAXED_OXIDIZED_CHISELED_COPPER), + -446 => Some(&Self::WAXED_OXIDIZED_COPPER), + -1073 => Some(&Self::WAXED_OXIDIZED_COPPER_BARS), + -783 => Some(&Self::WAXED_OXIDIZED_COPPER_BULB), + -1081 => Some(&Self::WAXED_OXIDIZED_COPPER_CHAIN), + -1038 => Some(&Self::WAXED_OXIDIZED_COPPER_CHEST), + -791 => Some(&Self::WAXED_OXIDIZED_COPPER_DOOR), + -1046 => Some(&Self::WAXED_OXIDIZED_COPPER_GOLEM_STATUE), + -775 => Some(&Self::WAXED_OXIDIZED_COPPER_GRATE), + -1090 => Some(&Self::WAXED_OXIDIZED_COPPER_LANTERN), + -799 => Some(&Self::WAXED_OXIDIZED_COPPER_TRAPDOOR), + -447 => Some(&Self::WAXED_OXIDIZED_CUT_COPPER), + -449 => Some(&Self::WAXED_OXIDIZED_CUT_COPPER_SLAB), + -448 => Some(&Self::WAXED_OXIDIZED_CUT_COPPER_STAIRS), + -1065 => Some(&Self::WAXED_OXIDIZED_LIGHTNING_ROD), + -767 => Some(&Self::WAXED_WEATHERED_CHISELED_COPPER), + -346 => Some(&Self::WAXED_WEATHERED_COPPER), + -1072 => Some(&Self::WAXED_WEATHERED_COPPER_BARS), + -782 => Some(&Self::WAXED_WEATHERED_COPPER_BULB), + -1080 => Some(&Self::WAXED_WEATHERED_COPPER_CHAIN), + -1037 => Some(&Self::WAXED_WEATHERED_COPPER_CHEST), + -790 => Some(&Self::WAXED_WEATHERED_COPPER_DOOR), + -1045 => Some(&Self::WAXED_WEATHERED_COPPER_GOLEM_STATUE), + -774 => Some(&Self::WAXED_WEATHERED_COPPER_GRATE), + -1089 => Some(&Self::WAXED_WEATHERED_COPPER_LANTERN), + -798 => Some(&Self::WAXED_WEATHERED_COPPER_TRAPDOOR), + -353 => Some(&Self::WAXED_WEATHERED_CUT_COPPER), + -367 => Some(&Self::WAXED_WEATHERED_CUT_COPPER_SLAB), + -360 => Some(&Self::WAXED_WEATHERED_CUT_COPPER_STAIRS), + -1064 => Some(&Self::WAXED_WEATHERED_LIGHTNING_ROD), + 736 => Some(&Self::WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE), + -762 => Some(&Self::WEATHERED_CHISELED_COPPER), + -342 => Some(&Self::WEATHERED_COPPER), + -1068 => Some(&Self::WEATHERED_COPPER_BARS), + -778 => Some(&Self::WEATHERED_COPPER_BULB), + -1076 => Some(&Self::WEATHERED_COPPER_CHAIN), + -1033 => Some(&Self::WEATHERED_COPPER_CHEST), + -786 => Some(&Self::WEATHERED_COPPER_DOOR), + -1041 => Some(&Self::WEATHERED_COPPER_GOLEM_STATUE), + -770 => Some(&Self::WEATHERED_COPPER_GRATE), + -1085 => Some(&Self::WEATHERED_COPPER_LANTERN), + -794 => Some(&Self::WEATHERED_COPPER_TRAPDOOR), + -349 => Some(&Self::WEATHERED_CUT_COPPER), + -363 => Some(&Self::WEATHERED_CUT_COPPER_SLAB), + -356 => Some(&Self::WEATHERED_CUT_COPPER_STAIRS), + -1060 => Some(&Self::WEATHERED_LIGHTNING_ROD), + -231 => Some(&Self::WEEPING_VINES), + -984 => Some(&Self::WET_SPONGE), + 366 => Some(&Self::WHEAT), + 320 => Some(&Self::WHEAT_SEEDS), + 279 => Some(&Self::WHITE_BUNDLE), + -413 => Some(&Self::WHITE_CANDLE), + 171 => Some(&Self::WHITE_CARPET), + 236 => Some(&Self::WHITE_CONCRETE), + 237 => Some(&Self::WHITE_CONCRETE_POWDER), + 442 => Some(&Self::WHITE_DYE), + 220 => Some(&Self::WHITE_GLAZED_TERRACOTTA), + 770 => Some(&Self::WHITE_HARNESS), + 218 => Some(&Self::WHITE_SHULKER_BOX), + 241 => Some(&Self::WHITE_STAINED_GLASS), + 160 => Some(&Self::WHITE_STAINED_GLASS_PANE), + 159 => Some(&Self::WHITE_TERRACOTTA), + -835 => Some(&Self::WHITE_TULIP), + 35 => Some(&Self::WHITE_WOOL), + 727 => Some(&Self::WILD_ARMOR_TRIM_SMITHING_TEMPLATE), + -1024 => Some(&Self::WILDFLOWERS), + 284 => Some(&Self::WIND_CHARGE), + 485 => Some(&Self::WITCH_SPAWN_EGG), + -216 => Some(&Self::WITHER_ROSE), + -965 => Some(&Self::WITHER_SKELETON_SKULL), + 498 => Some(&Self::WITHER_SKELETON_SPAWN_EGG), + 542 => Some(&Self::WITHER_SPAWN_EGG), + 747 => Some(&Self::WOLF_ARMOR), + 472 => Some(&Self::WOLF_SPAWN_EGG), + 342 => Some(&Self::WOODEN_AXE), + 361 => Some(&Self::WOODEN_HOE), + 341 => Some(&Self::WOODEN_PICKAXE), + 340 => Some(&Self::WOODEN_SHOVEL), + 263 => Some(&Self::WOODEN_SPEAR), + 339 => Some(&Self::WOODEN_SWORD), + 550 => Some(&Self::WRITABLE_BOOK), + 551 => Some(&Self::WRITTEN_BOOK), + 280 => Some(&Self::YELLOW_BUNDLE), + -417 => Some(&Self::YELLOW_CANDLE), + -600 => Some(&Self::YELLOW_CARPET), + -631 => Some(&Self::YELLOW_CONCRETE), + -712 => Some(&Self::YELLOW_CONCRETE_POWDER), + 438 => Some(&Self::YELLOW_DYE), + 224 => Some(&Self::YELLOW_GLAZED_TERRACOTTA), + 771 => Some(&Self::YELLOW_HARNESS), + -616 => Some(&Self::YELLOW_SHULKER_BOX), + -676 => Some(&Self::YELLOW_STAINED_GLASS), + -646 => Some(&Self::YELLOW_STAINED_GLASS_PANE), + -727 => Some(&Self::YELLOW_TERRACOTTA), + -558 => Some(&Self::YELLOW_WOOL), + 532 => Some(&Self::ZOGLIN_SPAWN_EGG), + -966 => Some(&Self::ZOMBIE_HEAD), + 502 => Some(&Self::ZOMBIE_HORSE_SPAWN_EGG), + 785 => Some(&Self::ZOMBIE_NAUTILUS_SPAWN_EGG), + 480 => Some(&Self::ZOMBIE_SPAWN_EGG), + 511 => Some(&Self::ZOMBIE_VILLAGER_SPAWN_EGG), + 481 => Some(&Self::ZOMBIFIED_PIGLIN_SPAWN_EGG), + _ => None, + }, + } + } } diff --git a/pumpkin-data/src/lib.rs b/pumpkin-data/src/lib.rs index b8f3bcdb2..ff1777679 100644 --- a/pumpkin-data/src/lib.rs +++ b/pumpkin-data/src/lib.rs @@ -250,6 +250,11 @@ pub mod entity_id_remap; #[path = "generated/sound_id_remap.rs"] pub mod sound_id_remap; +#[cfg(feature = "bedrock_creative")] +#[rustfmt::skip] +#[path = "generated/bedrock_creative.rs"] +pub mod bedrock_creative; + #[cfg(feature = "tag")] #[rustfmt::skip] #[path = "generated/tag.rs"] diff --git a/pumpkin-protocol/Cargo.toml b/pumpkin-protocol/Cargo.toml index 18aaf40aa..2c5c15ea9 100644 --- a/pumpkin-protocol/Cargo.toml +++ b/pumpkin-protocol/Cargo.toml @@ -13,7 +13,7 @@ query = [] [dependencies] pumpkin-nbt.workspace = true -pumpkin-data = { workspace = true, features = ["packet", "item_id_remap", "entity_id_remap", "sound_id_remap", "recipes"] } +pumpkin-data = { workspace = true, features = ["packet", "item_id_remap", "entity_id_remap", "sound_id_remap", "recipes", "bedrock_creative"] } pumpkin-macros.workspace = true pumpkin-world.workspace = true pumpkin-util.workspace = true diff --git a/pumpkin-protocol/src/bedrock/client/item_stack_response.rs b/pumpkin-protocol/src/bedrock/client/item_stack_response.rs new file mode 100644 index 000000000..f2fb5deeb --- /dev/null +++ b/pumpkin-protocol/src/bedrock/client/item_stack_response.rs @@ -0,0 +1,62 @@ +use std::io::{Error, Write}; + +use crate::{ + bedrock::network_item::FullContainerName, + codec::{var_int::VarInt, var_uint::VarUInt}, + serial::PacketWrite, +}; +use pumpkin_macros::packet; + +#[derive(PacketWrite, Debug, Clone)] +pub struct ItemStackResponseSlotInfo { + pub slot: u8, + pub hotbar_slot: u8, + pub count: u8, + pub item_stack_id: VarInt, + pub custom_name: String, + pub filtered_custom_name: String, + pub durability_correction: VarInt, +} + +#[derive(PacketWrite, Debug, Clone)] +pub struct ItemStackResponseContainerInfo { + pub container_name: FullContainerName, + pub slots: Vec, +} + +#[derive(Debug, Clone)] +pub struct ItemStackResponse { + pub result: u8, // 0 = SUCCESS, 1 = ERROR + pub request_id: VarInt, + pub container_infos: Vec, +} + +impl PacketWrite for ItemStackResponse { + fn write(&self, writer: &mut W) -> Result<(), Error> { + self.result.write(writer)?; + self.request_id.write(writer)?; + if self.result == 0 { + VarUInt(self.container_infos.len() as u32).write(writer)?; + for info in &self.container_infos { + info.write(writer)?; + } + } + Ok(()) + } +} + +#[derive(Debug, Clone)] +#[packet(148)] +pub struct CItemStackResponse { + pub responses: Vec, +} + +impl PacketWrite for CItemStackResponse { + fn write(&self, writer: &mut W) -> Result<(), Error> { + VarUInt(self.responses.len() as u32).write(writer)?; + for response in &self.responses { + response.write(writer)?; + } + Ok(()) + } +} diff --git a/pumpkin-protocol/src/bedrock/client/mod.rs b/pumpkin-protocol/src/bedrock/client/mod.rs index 01a95ee60..cdb1ee768 100644 --- a/pumpkin-protocol/src/bedrock/client/mod.rs +++ b/pumpkin-protocol/src/bedrock/client/mod.rs @@ -13,6 +13,7 @@ pub mod gamerules_changed; pub mod handshake; pub mod inventory_content; pub mod item_registry; +pub mod item_stack_response; pub mod level_chunk; pub mod level_event; pub mod modal_form_request; @@ -56,6 +57,8 @@ pub use disconnect_player::*; pub use gamerules_changed::*; pub use handshake::*; pub use inventory_content::*; +pub use item_registry::*; +pub use item_stack_response::*; pub use level_chunk::*; pub use level_event::*; pub use modal_form_request::*; diff --git a/pumpkin-protocol/src/bedrock/network_item.rs b/pumpkin-protocol/src/bedrock/network_item.rs index 479551b29..43caad425 100644 --- a/pumpkin-protocol/src/bedrock/network_item.rs +++ b/pumpkin-protocol/src/bedrock/network_item.rs @@ -115,7 +115,7 @@ impl From<&ItemStack> for NetworkItemDescriptor { } } -#[derive(Default, Clone)] +#[derive(Default, Clone, Debug)] pub struct NetworkItemStackDescriptor { // I hate mojang // https://mojang.github.io/bedrock-protocol-docs/html/cerealizer_NetworkItemStackDescriptor___SerializedData.html @@ -130,6 +130,13 @@ impl PacketWrite for NetworkItemStackDescriptor { } } +impl PacketRead for NetworkItemStackDescriptor { + fn read(buf: &mut R) -> Result { + let item = NetworkItemDescriptor::read(buf)?; + Ok(Self { item, net_id: None }) + } +} + impl From<&ItemStack> for NetworkItemStackDescriptor { fn from(stack: &ItemStack) -> Self { if stack.is_empty() { @@ -155,13 +162,13 @@ impl From<&ItemStack> for NetworkItemStackDescriptor { } } -#[derive(PacketWrite, Clone)] +#[derive(PacketWrite, PacketRead, Clone, Debug, PartialEq, Eq)] pub struct FullContainerName { pub container_name: ContainerName, pub dynamic_id: Option, } -#[derive(Clone, Copy)] +#[derive(Clone, Copy, Debug, PartialEq, Eq)] #[repr(u8)] pub enum ContainerName { AnvilInput, @@ -233,9 +240,135 @@ pub enum ContainerName { RecipeFurnaceItems, } +impl TryFrom for ContainerName { + type Error = Error; + + fn try_from(value: u8) -> Result { + match value { + 0 => Ok(Self::AnvilInput), + 1 => Ok(Self::AnvilMaterial), + 2 => Ok(Self::AnvilResultPreview), + 3 => Ok(Self::SmithingTableInput), + 4 => Ok(Self::SmithingTableMaterial), + 5 => Ok(Self::SmithingTableResultPreview), + 6 => Ok(Self::Armor), + 7 => Ok(Self::LevelEntity), + 8 => Ok(Self::BeaconPayment), + 9 => Ok(Self::BrewingStandInput), + 10 => Ok(Self::BrewingStandResult), + 11 => Ok(Self::BrewingStandFuel), + 12 => Ok(Self::CombinedHotBarAndInventory), + 13 => Ok(Self::CraftingInput), + 14 => Ok(Self::CraftingOutputPreview), + 15 => Ok(Self::RecipeConstruction), + 16 => Ok(Self::RecipeNature), + 17 => Ok(Self::RecipeItems), + 18 => Ok(Self::RecipeSearch), + 19 => Ok(Self::RecipeSearchBar), + 20 => Ok(Self::RecipeEquipment), + 21 => Ok(Self::RecipeBook), + 22 => Ok(Self::EnchantingInput), + 23 => Ok(Self::EnchantingMaterial), + 24 => Ok(Self::FurnaceFuel), + 25 => Ok(Self::FurnaceIngredient), + 26 => Ok(Self::FurnaceResult), + 27 => Ok(Self::HorseEquip), + 28 => Ok(Self::HotBar), + 29 => Ok(Self::Inventory), + 30 => Ok(Self::ShulkerBox), + 31 => Ok(Self::TradeIngredient1), + 32 => Ok(Self::TradeIngredient2), + 33 => Ok(Self::TradeResultPreview), + 34 => Ok(Self::Offhand), + 35 => Ok(Self::CompoundCreatorInput), + 36 => Ok(Self::CompoundCreatorOutputPreview), + 37 => Ok(Self::ElementConstructorOutputPreview), + 38 => Ok(Self::MaterialReducerInput), + 39 => Ok(Self::MaterialReducerOutput), + 40 => Ok(Self::LabTableInput), + 41 => Ok(Self::LoomInput), + 42 => Ok(Self::LoomDye), + 43 => Ok(Self::LoomMaterial), + 44 => Ok(Self::LoomResultPreview), + 45 => Ok(Self::BlastFurnaceIngredient), + 46 => Ok(Self::SmokerIngredient), + 47 => Ok(Self::Trade2Ingredient1), + 48 => Ok(Self::Trade2Ingredient2), + 49 => Ok(Self::Trade2ResultPreview), + 50 => Ok(Self::GrindstoneInput), + 51 => Ok(Self::GrindstoneAdditional), + 52 => Ok(Self::GrindstoneResultPreview), + 53 => Ok(Self::StonecutterInput), + 54 => Ok(Self::StonecutterResultPreview), + 55 => Ok(Self::CartographyInput), + 56 => Ok(Self::CartographyAdditional), + 57 => Ok(Self::CartographyResultPreview), + 58 => Ok(Self::Barrel), + 59 => Ok(Self::Cursor), + 60 => Ok(Self::CreatedOutput), + 61 => Ok(Self::SmithingTableTemplate), + 62 => Ok(Self::CrafterLevelEntity), + 63 => Ok(Self::Dynamic), + 64 => Ok(Self::RecipeFood), + 65 => Ok(Self::RecipeBlocks), + 66 => Ok(Self::RecipeFurnaceItems), + _ => Err(Error::new( + std::io::ErrorKind::InvalidData, + format!("Invalid ContainerName ID: {value}"), + )), + } + } +} + impl PacketWrite for ContainerName { fn write(&self, writer: &mut W) -> Result<(), Error> { (*self as u8).write(writer)?; Ok(()) } } + +impl PacketRead for ContainerName { + fn read(buf: &mut R) -> Result { + let value = u8::read(buf)?; + Self::try_from(value) + } +} + +#[derive(Debug, Clone)] +pub struct NetworkItemStack { + pub id: VarInt, + pub count: u16, + pub aux_value: VarUInt, + pub block_runtime_id: VarInt, + pub extra_data: Vec, +} + +impl PacketRead for NetworkItemStack { + fn read(buf: &mut R) -> Result { + let id = VarInt::read(buf)?; + if id.0 == 0 { + return Ok(Self { + id, + count: 0, + aux_value: VarUInt(0), + block_runtime_id: VarInt(0), + extra_data: Vec::new(), + }); + } + let count = u16::read(buf)?; + let aux_value = VarUInt::read(buf)?; + let block_runtime_id = VarInt::read(buf)?; + + let extra_data_len = VarUInt::read(buf)?.0; + let mut extra_data = vec![0u8; extra_data_len as usize]; + buf.read_exact(&mut extra_data)?; + + Ok(Self { + id, + count, + aux_value, + block_runtime_id, + extra_data, + }) + } +} diff --git a/pumpkin-protocol/src/bedrock/server/block_pick_request.rs b/pumpkin-protocol/src/bedrock/server/block_pick_request.rs new file mode 100644 index 000000000..15fac6401 --- /dev/null +++ b/pumpkin-protocol/src/bedrock/server/block_pick_request.rs @@ -0,0 +1,12 @@ +use pumpkin_macros::packet; +use pumpkin_util::math::position::BlockPos; + +use crate::serial::PacketRead; + +#[derive(Debug, PacketRead)] +#[packet(34)] +pub struct SBlockPickRequest { + pub block_pos: BlockPos, + pub add_block_nbt: bool, + pub hotbar_slot: u8, +} diff --git a/pumpkin-protocol/src/bedrock/server/item_stack_request.rs b/pumpkin-protocol/src/bedrock/server/item_stack_request.rs new file mode 100644 index 000000000..1c0fc7e9b --- /dev/null +++ b/pumpkin-protocol/src/bedrock/server/item_stack_request.rs @@ -0,0 +1,285 @@ +use std::io::{Error, ErrorKind, Read, Write}; + +use crate::{ + bedrock::network_item::FullContainerName, + codec::{var_int::VarInt, var_uint::VarUInt}, + serial::{PacketRead, PacketWrite}, +}; +use pumpkin_macros::packet; + +#[derive(Debug)] +pub struct ItemStackRequestSlotInfo { + pub container_name: FullContainerName, + pub slot_id: u8, + pub stack_id: VarInt, +} + +impl PacketRead for ItemStackRequestSlotInfo { + fn read(buf: &mut R) -> Result { + let container_name = FullContainerName::read(buf)?; + let slot_id = u8::read(buf)?; + let stack_id = VarInt::read(buf)?; + Ok(Self { + container_name, + slot_id, + stack_id, + }) + } +} + +impl PacketWrite for ItemStackRequestSlotInfo { + fn write(&self, writer: &mut W) -> Result<(), Error> { + self.container_name.write(writer)?; + self.slot_id.write(writer)?; + self.stack_id.write(writer)?; + Ok(()) + } +} + +#[derive(Debug)] +pub enum ItemStackRequestAction { + Take { + count: u8, + source: ItemStackRequestSlotInfo, + destination: ItemStackRequestSlotInfo, + }, + Place { + count: u8, + source: ItemStackRequestSlotInfo, + destination: ItemStackRequestSlotInfo, + }, + Swap { + slot1: ItemStackRequestSlotInfo, + slot2: ItemStackRequestSlotInfo, + }, + Drop { + count: u8, + source: ItemStackRequestSlotInfo, + randomly: bool, + }, + Destroy { + count: u8, + source: ItemStackRequestSlotInfo, + }, + Consume { + count: u8, + source: ItemStackRequestSlotInfo, + }, + Create { + result_index: u8, + }, + PlaceInContainer { + count: u8, + source: ItemStackRequestSlotInfo, + destination: ItemStackRequestSlotInfo, + }, + TakeOutContainer { + count: u8, + source: ItemStackRequestSlotInfo, + destination: ItemStackRequestSlotInfo, + }, + LabTableCombine, + BeaconPayment { + primary_effect_id: VarInt, + secondary_effect_id: VarInt, + }, + MineBlock { + hotbar_slot: VarInt, + predicted_durability: VarInt, + stack_id: VarInt, + }, + CraftRecipe { + recipe_id: VarUInt, + repetitions: u8, + }, + CraftRecipeAuto { + recipe_id: VarUInt, + repetitions: u8, + repetitions2: u8, + }, + CraftCreative { + creative_item_id: VarUInt, + repetitions: u8, + }, + Optional { + recipe_id: VarUInt, + filter_string_index: i32, + }, + Grindstone { + recipe_id: VarUInt, + repair_cost: VarInt, + repetitions: u8, + }, + Loom { + pattern_id: String, + repetitions: u8, + }, + CraftNonImplemented, + CraftResultsDeprecated { + result_items: Vec, + times_crafted: u8, + }, +} + +impl PacketRead for ItemStackRequestAction { + #[allow(clippy::too_many_lines)] + fn read(buf: &mut R) -> Result { + let action_type = u8::read(buf)?; + match action_type { + 0 => Ok(Self::Take { + count: u8::read(buf)?, + source: ItemStackRequestSlotInfo::read(buf)?, + destination: ItemStackRequestSlotInfo::read(buf)?, + }), + 1 => Ok(Self::Place { + count: u8::read(buf)?, + source: ItemStackRequestSlotInfo::read(buf)?, + destination: ItemStackRequestSlotInfo::read(buf)?, + }), + 2 => Ok(Self::Swap { + slot1: ItemStackRequestSlotInfo::read(buf)?, + slot2: ItemStackRequestSlotInfo::read(buf)?, + }), + 3 => Ok(Self::Drop { + count: u8::read(buf)?, + source: ItemStackRequestSlotInfo::read(buf)?, + randomly: bool::read(buf)?, + }), + 4 => Ok(Self::Destroy { + count: u8::read(buf)?, + source: ItemStackRequestSlotInfo::read(buf)?, + }), + 5 => Ok(Self::Consume { + count: u8::read(buf)?, + source: ItemStackRequestSlotInfo::read(buf)?, + }), + 6 => Ok(Self::Create { + result_index: u8::read(buf)?, + }), + 7 => Ok(Self::PlaceInContainer { + count: u8::read(buf)?, + source: ItemStackRequestSlotInfo::read(buf)?, + destination: ItemStackRequestSlotInfo::read(buf)?, + }), + 8 => Ok(Self::TakeOutContainer { + count: u8::read(buf)?, + source: ItemStackRequestSlotInfo::read(buf)?, + destination: ItemStackRequestSlotInfo::read(buf)?, + }), + 9 => Ok(Self::LabTableCombine), + 10 => Ok(Self::BeaconPayment { + primary_effect_id: VarInt::read(buf)?, + secondary_effect_id: VarInt::read(buf)?, + }), + 11 => Ok(Self::MineBlock { + hotbar_slot: VarInt::read(buf)?, + predicted_durability: VarInt::read(buf)?, + stack_id: VarInt::read(buf)?, + }), + 12 => Ok(Self::CraftRecipe { + recipe_id: VarUInt::read(buf)?, + repetitions: u8::read(buf)?, + }), + 13 => { + let recipe_id = VarUInt::read(buf)?; + let repetitions = u8::read(buf)?; + let repetitions2 = u8::read(buf)?; + let count = u8::read(buf)?; + // Skip ingredients + if count > 0 { + return Err(Error::new( + ErrorKind::InvalidData, + "CraftRecipeAuto stack action is unimplemented", + )); + } + Ok(Self::CraftRecipeAuto { + recipe_id, + repetitions, + repetitions2, + }) + } + 14 => Ok(Self::CraftCreative { + creative_item_id: VarUInt::read(buf)?, + repetitions: u8::read(buf)?, + }), + 15 => Ok(Self::Optional { + recipe_id: VarUInt::read(buf)?, + filter_string_index: i32::read(buf)?, + }), + 16 => Ok(Self::Grindstone { + recipe_id: VarUInt::read(buf)?, + repair_cost: VarInt::read(buf)?, + repetitions: u8::read(buf)?, + }), + 17 => Ok(Self::Loom { + pattern_id: String::read(buf)?, + repetitions: u8::read(buf)?, + }), + 18 => Ok(Self::CraftNonImplemented), + 19 => { + let result_items_len = VarUInt::read(buf)?.0; + let mut result_items = Vec::with_capacity(result_items_len as usize); + for _ in 0..result_items_len { + result_items.push(crate::bedrock::network_item::NetworkItemStack::read(buf)?); + } + let times_crafted = u8::read(buf)?; + Ok(Self::CraftResultsDeprecated { + result_items, + times_crafted, + }) + } + _ => Err(Error::new( + ErrorKind::InvalidData, + format!("Unknown ItemStackRequestAction ID: {action_type}"), + )), + } + } +} + +#[derive(Debug)] +pub struct ItemStackRequest { + pub request_id: VarInt, + pub actions: Vec, + pub filter_strings: Vec, + pub filter_cause: i32, +} + +impl PacketRead for ItemStackRequest { + fn read(buf: &mut R) -> Result { + let request_id = VarInt::read(buf)?; + let actions_len = VarUInt::read(buf)?.0; + let mut actions = Vec::with_capacity(actions_len as usize); + for _ in 0..actions_len { + actions.push(ItemStackRequestAction::read(buf)?); + } + let filter_strings_len = VarUInt::read(buf)?.0; + let mut filter_strings = Vec::with_capacity(filter_strings_len as usize); + for _ in 0..filter_strings_len { + filter_strings.push(String::read(buf)?); + } + let filter_cause = i32::read(buf)?; + Ok(Self { + request_id, + actions, + filter_strings, + filter_cause, + }) + } +} + +#[derive(Debug)] +#[packet(147)] +pub struct SItemStackRequest { + pub requests: Vec, +} + +impl PacketRead for SItemStackRequest { + fn read(buf: &mut R) -> Result { + let requests_len = VarUInt::read(buf)?.0; + let mut requests = Vec::with_capacity(requests_len as usize); + for _ in 0..requests_len { + requests.push(ItemStackRequest::read(buf)?); + } + Ok(Self { requests }) + } +} diff --git a/pumpkin-protocol/src/bedrock/server/mob_equipment.rs b/pumpkin-protocol/src/bedrock/server/mob_equipment.rs new file mode 100644 index 000000000..9074e1ff5 --- /dev/null +++ b/pumpkin-protocol/src/bedrock/server/mob_equipment.rs @@ -0,0 +1,42 @@ +use crate::{ + bedrock::network_item::NetworkItemDescriptor, + codec::{var_int::VarInt, var_ulong::VarULong}, + serial::PacketRead, +}; +use pumpkin_macros::packet; +use std::io::{Error, Read}; + +#[derive(Debug)] +#[packet(31)] +pub struct SMobEquipment { + pub entity_runtime_id: VarULong, + pub stack_id: VarInt, + pub item: Option, + pub inventory_slot: u8, + pub hotbar_slot: u8, + pub window_id: u8, +} + +impl PacketRead for SMobEquipment { + fn read(reader: &mut R) -> Result { + let entity_runtime_id = VarULong::read(reader)?; + let stack_id = VarInt::read(reader)?; + let item = if stack_id.0 == 0 { + None + } else { + Some(NetworkItemDescriptor::read(reader)?) + }; + let inventory_slot = u8::read(reader)?; + let hotbar_slot = u8::read(reader)?; + let window_id = u8::read(reader)?; + + Ok(Self { + entity_runtime_id, + stack_id, + item, + inventory_slot, + hotbar_slot, + window_id, + }) + } +} diff --git a/pumpkin-protocol/src/bedrock/server/mod.rs b/pumpkin-protocol/src/bedrock/server/mod.rs index 5ed95f4d1..91e2585d4 100644 --- a/pumpkin-protocol/src/bedrock/server/mod.rs +++ b/pumpkin-protocol/src/bedrock/server/mod.rs @@ -1,5 +1,6 @@ pub mod actor_event; pub mod animate; +pub mod block_pick_request; pub mod client_cache_status; pub mod command_request; pub mod container_close; @@ -7,8 +8,10 @@ pub mod emote; pub mod emote_list; pub mod interaction; pub mod inventory_transaction; +pub mod item_stack_request; pub mod loading_screen; pub mod login; +pub mod mob_equipment; pub mod modal_form_response; pub mod player_action; pub mod player_auth_input; @@ -21,6 +24,7 @@ pub mod text; pub use actor_event::*; pub use animate::*; +pub use block_pick_request::*; pub use client_cache_status::*; pub use command_request::*; pub use container_close::*; @@ -28,8 +32,10 @@ pub use emote::*; pub use emote_list::*; pub use interaction::{Action as InteractAction, SInteraction}; pub use inventory_transaction::*; +pub use item_stack_request::*; pub use loading_screen::*; pub use login::*; +pub use mob_equipment::*; pub use modal_form_response::*; pub use player_action::{Action as PlayerActionType, SPlayerAction}; pub use player_auth_input::*; diff --git a/pumpkin/src/entity/mod.rs b/pumpkin/src/entity/mod.rs index d0878bf8b..57fa2fc27 100644 --- a/pumpkin/src/entity/mod.rs +++ b/pumpkin/src/entity/mod.rs @@ -2488,7 +2488,7 @@ impl Entity { MetadataValue::Long(self.bedrock_flags_two.load(Ordering::Relaxed)), ); client - .send_game_packet(&CSetActorData { + .enqueue_packet(&CSetActorData { actor_runtime_id: VarULong(self.entity_id as u64), metadata, synced_properties: PropertySyncData { diff --git a/pumpkin/src/entity/player.rs b/pumpkin/src/entity/player.rs index b66c4066e..1284bc8a5 100644 --- a/pumpkin/src/entity/player.rs +++ b/pumpkin/src/entity/player.rs @@ -3400,16 +3400,40 @@ impl Player { } pub async fn close_handled_screen(self: &Arc) { + let (sync_id, bedrock_window_type) = { + let current_handler_guard = self.current_screen_handler.lock().await; + let handler = current_handler_guard.lock().await; + let sync_id = handler.sync_id(); + let window_type = handler.window_type(); + let bedrock_window_type = match window_type { + Some(WindowType::Crafting) => 1, + Some(WindowType::Furnace) => 2, + Some(WindowType::Enchantment) => 3, + Some(WindowType::BrewingStand) => 4, + Some(WindowType::Anvil) => 5, + Some(WindowType::Hopper) => 8, + Some(WindowType::Beacon) => 13, + Some(WindowType::BlastFurnace) => 27, + Some(WindowType::Smoker) => 28, + Some(WindowType::Stonecutter) => 29, + Some(WindowType::CartographyTable) => 30, + Some(WindowType::Grindstone) => 26, + Some(WindowType::Loom) => 24, + Some(WindowType::Smithing) => 34, + _ => 0, + }; + (sync_id, bedrock_window_type) + }; + self.client - .enqueue_packet(&CCloseContainer::new( - self.current_screen_handler - .lock() - .await - .lock() - .await - .sync_id() - .into(), - )) + .enqueue_packet_editioned( + &CCloseContainer::new(sync_id.into()), + &pumpkin_protocol::bedrock::server::container_close::SContainerClose { + container_id: sync_id, + container_type: bedrock_window_type, + server_initiated: true, + }, + ) .await; self.on_handled_screen_closed().await; } diff --git a/pumpkin/src/lib.rs b/pumpkin/src/lib.rs index d64f25c8a..ec630ac6e 100644 --- a/pumpkin/src/lib.rs +++ b/pumpkin/src/lib.rs @@ -504,6 +504,13 @@ impl PumpkinServer { let be_clients = bedrock_clients.clone(); let mut clients_guard = bedrock_clients.lock().await; + if clients_guard + .get(&client_addr) + .is_some_and(|client| client.is_closed()) + { + clients_guard.remove(&client_addr); + } + let mut is_new = false; let client = clients_guard.entry(client_addr).or_insert_with(|| { is_new = true; @@ -525,9 +532,10 @@ impl PumpkinServer { tasks.spawn(async move { let login_result = client_clone.handle_login_sequence(&server_clone).await; - match login_result { + match login_result { PacketHandlerResult::Stop => { client_clone.close().await; + client_clone.await_tasks().await; } PacketHandlerResult::ReadyToPlay(profile, config) => { if let Some((player, _world)) = server_clone @@ -539,6 +547,7 @@ impl PumpkinServer { client_clone.progress_player_packets(&player, &server_clone).await; client_clone.close().await; + client_clone.await_tasks().await; player.remove().await; server_clone.remove_player(&player).await; if let Err(e) = server_clone.player_data_storage @@ -564,7 +573,8 @@ impl PumpkinServer { id, &mut Cursor::new(&udp_buf[1..len]), client_addr, - sock + sock, + bedrock_clients, ).await; } } diff --git a/pumpkin/src/net/bedrock/mod.rs b/pumpkin/src/net/bedrock/mod.rs index b25db0041..3cf8c128c 100644 --- a/pumpkin/src/net/bedrock/mod.rs +++ b/pumpkin/src/net/bedrock/mod.rs @@ -30,6 +30,7 @@ use pumpkin_protocol::{ packet_encoder::UDPNetworkEncoder, server::{ animate::SAnimate, + block_pick_request::SBlockPickRequest, client_cache_status::SClientCacheStatus, command_request::SCommandRequest, container_close::SContainerClose, @@ -38,6 +39,7 @@ use pumpkin_protocol::{ inventory_transaction::SInventoryTransaction, loading_screen::SLoadingScreen, login::SLogin, + mob_equipment::SMobEquipment, player_action::SPlayerAction, player_auth_input::SPlayerAuthInput, raknet::{ @@ -136,6 +138,7 @@ pub struct BedrockClient { output_ordered_index: AtomicU32, /// The next form ID to use for custom forms. pub next_form_id: AtomicU32, + pub inventory_opened: AtomicBool, /// An notifier that is triggered when this client is closed. close_token: CancellationToken, last_seen: Arc>, @@ -184,6 +187,7 @@ impl BedrockClient { output_sequenced_index: AtomicU32::new(0), output_ordered_index: AtomicU32::new(0), next_form_id: AtomicU32::new(0), + inventory_opened: AtomicBool::new(false), compounds: Arc::new(Mutex::new(HashMap::new())), close_token: CancellationToken::new(), last_seen: Arc::new(AtomicCell::new(std::time::Instant::now())), @@ -650,12 +654,11 @@ impl BedrockClient { } self.close_token.cancel(); self.be_clients.lock().await.remove(&self.address); + } + + pub async fn await_tasks(&self) { self.tasks.close(); self.tasks.wait().await; - - if let Some(player) = self.player.lock().await.as_ref() { - player.remove().await; - } } pub fn is_closed(&self) -> bool { @@ -1011,6 +1014,9 @@ impl BedrockClient { SInventoryTransaction::PACKET_ID => { self.handle_inventory_action(player, SInventoryTransaction::read(reader)?).await; } + pumpkin_protocol::bedrock::server::item_stack_request::SItemStackRequest::PACKET_ID => { + self.handle_item_stack_request(player, pumpkin_protocol::bedrock::server::item_stack_request::SItemStackRequest::read(reader)?).await; + } SInteraction::PACKET_ID => { self.handle_interaction(player, SInteraction::read(reader)?) .await; @@ -1059,6 +1065,14 @@ impl BedrockClient { SLoadingScreen::PACKET_ID => { // Ignore for now } + SBlockPickRequest::PACKET_ID => { + self.handle_block_pick_request(player, SBlockPickRequest::read(reader)?) + .await; + } + SMobEquipment::PACKET_ID => { + self.handle_mob_equipment(player, SMobEquipment::read(reader)?) + .await; + } _ => { warn!("Bedrock: Received Unknown Game packet: {}", packet.id); } @@ -1111,8 +1125,24 @@ impl BedrockClient { payload: &mut Cursor<&[u8]>, addr: SocketAddr, socket: &UdpSocket, + be_clients: &Arc>>>, ) -> Result<(), Error> { - match i32::from(packet_id) { + let packet_id_i32 = i32::from(packet_id); + if packet_id_i32 == SOpenConnectionRequest1::PACKET_ID { + let old_client = { + let mut clients_guard = be_clients.lock().await; + clients_guard.remove(&addr) + }; + if let Some(client) = old_client { + debug!( + "Closing old Bedrock client connection for {} due to new connection request", + addr + ); + client.close().await; + } + } + + match packet_id_i32 { SUnconnectedPing::PACKET_ID => { Self::handle_unconnected_ping( server, diff --git a/pumpkin/src/net/bedrock/play.rs b/pumpkin/src/net/bedrock/play.rs index a326786f0..2e966fd79 100644 --- a/pumpkin/src/net/bedrock/play.rs +++ b/pumpkin/src/net/bedrock/play.rs @@ -3,17 +3,30 @@ use std::{ sync::{Arc, atomic::Ordering}, }; +use pumpkin_data::{data_component_impl::EquipmentSlot, item_stack::ItemStack}; +use pumpkin_inventory::screen_handler::{InventoryPlayer, ScreenHandler}; use pumpkin_macros::send_cancellable; +use pumpkin_protocol::bedrock::{ + client::inventory_content::CInventoryContent, + network_item::{ + ContainerName, FullContainerName, NetworkItemDescriptor, NetworkItemStackDescriptor, + }, +}; use pumpkin_protocol::{ bedrock::{ - client::{chunk_radius_update::CChunkRadiusUpdate, container_open::CContainerOpen}, + client::{ + chunk_radius_update::CChunkRadiusUpdate, container_open::CContainerOpen, + player_hotbar::CPlayerHotbar, + }, server::{ animate::{AnimateAction, SAnimate}, + block_pick_request::SBlockPickRequest, command_request::SCommandRequest, container_close::SContainerClose, emote::SEmote, interaction::{Action, SInteraction}, inventory_transaction::{SInventoryTransaction, TransactionData}, + mob_equipment::SMobEquipment, player_action::{Action as PlayerAction, SPlayerAction}, player_auth_input::{InputData, SPlayerAuthInput}, request_chunk_radius::SRequestChunkRadius, @@ -21,11 +34,12 @@ use pumpkin_protocol::{ text::SText, }, }, - codec::{var_int::VarInt, var_long::VarLong, var_ulong::VarULong}, - java::client::play::{Animation, CEntityAnimation, CSystemChatMessage}, + codec::{var_int::VarInt, var_long::VarLong, var_uint::VarUInt, var_ulong::VarULong}, + java::client::play::{Animation, CEntityAnimation, CSetSelectedSlot, CSystemChatMessage}, }; use pumpkin_util::{GameMode, math::position::BlockPos, text::TextComponent}; +use pumpkin_world::inventory::Inventory; use pumpkin_world::world::BlockFlags; use crate::{ @@ -33,7 +47,8 @@ use crate::{ entity::{EntityBase, player::Player}, net::{DisconnectReason, bedrock::BedrockClient}, plugin::player::{ - player_chat::PlayerChatEvent, player_command_send::PlayerCommandSendEvent, + item_held::PlayerItemHeldEvent, player_chat::PlayerChatEvent, + player_command_send::PlayerCommandSendEvent, player_toggle_flight_event::PlayerToggleFlightEvent, }, server::{Server, seasonal_events}, @@ -42,6 +57,60 @@ use crate::{ use pumpkin_data::BlockDirection; use tracing::{debug, info}; +fn descriptor_to_stack(desc: &NetworkItemDescriptor) -> ItemStack { + if desc.id.0 == 0 || desc.stack_size == 0 { + ItemStack::EMPTY.clone() + } else if let Some(mapping) = pumpkin_data::item::JavaToBedrockItemMapping::from_bedrock( + desc.id.0 as i16, + desc.aux_value.0, + ) { + ItemStack::new(desc.stack_size as u8, mapping.java_item) + } else { + tracing::warn!( + "Failed to map bedrock item id {} and data {} to Java item", + desc.id.0, + desc.aux_value.0 + ); + ItemStack::EMPTY.clone() + } +} + +const fn map_bedrock_slot_to_screen_handler(window_id: i32, slot: u32) -> Option { + match window_id { + 0 => { + // WINDOW_ID_INVENTORY + if slot < 9 { + // Hotbar: Bedrock 0-8 -> Screen Handler 36-44 + Some(slot as usize + 36) + } else if slot < 36 { + // Main Inventory: Bedrock 9-35 -> Screen Handler 9-35 + Some(slot as usize) + } else { + None + } + } + 120 => { + // WINDOW_ID_ARMOUR + if slot < 4 { + // Armor: Bedrock 0-3 -> Screen Handler 5-8 + Some(slot as usize + 5) + } else { + None + } + } + 119 => { + // WINDOW_ID_OFF_HAND + if slot == 0 { + // Offhand: Bedrock 0 -> Screen Handler 45 + Some(45) + } else { + None + } + } + _ => None, + } +} + impl BedrockClient { pub async fn handle_request_chunk_radius( &self, @@ -62,7 +131,7 @@ impl BedrockClient { let view_distance = chunk_radius.clamp(2, NonZeroI32::from(server.basic_config.view_distance).get()); - self.send_game_packet(&CChunkRadiusUpdate { + self.enqueue_packet(&CChunkRadiusUpdate { chunk_radius: VarInt(view_distance), }) .await; @@ -376,17 +445,91 @@ impl BedrockClient { // ); // } + #[allow(clippy::too_many_lines, clippy::collapsible_if, clippy::unreachable)] pub async fn handle_inventory_action( &self, player: &Arc, packet: SInventoryTransaction, ) { + let mut inventory_updated = false; + + for action in &packet.actions { + if let Some(window_id) = action.window_id { + if let Some(screen_slot) = + map_bedrock_slot_to_screen_handler(window_id, action.inventory_slot) + { + let item_stack = descriptor_to_stack(&action.new_item); + + let mut player_screen_handler = player.player_screen_handler.lock().await; + + let is_armor_equipped = player_screen_handler + .get_slot(screen_slot) + .get_stack() + .await + .lock() + .await + .are_equal(&item_stack); + + if !is_armor_equipped { + if (5..9).contains(&screen_slot) { + player + .enqueue_equipment_change( + &match screen_slot { + 5 => EquipmentSlot::HEAD, + 6 => EquipmentSlot::CHEST, + 7 => EquipmentSlot::LEGS, + 8 => EquipmentSlot::FEET, + _ => unreachable!(), + }, + &item_stack, + ) + .await; + } else if (36..45).contains(&screen_slot) { + let hotbar_slot = screen_slot - 36; + if player.inventory().get_selected_slot() == hotbar_slot as u8 { + let equipment = &[(EquipmentSlot::MAIN_HAND, item_stack.clone())]; + player.living_entity.send_equipment_changes(equipment); + } + } + } + + player_screen_handler + .get_slot(screen_slot) + .set_stack(item_stack.clone()) + .await; + player_screen_handler.set_received_stack(screen_slot, item_stack); + player_screen_handler.send_content_updates().await; + + inventory_updated = true; + } + } + } + + if inventory_updated { + self.enqueue_packet(&CInventoryContent { + container_id: VarUInt(0), + slots: futures::future::join_all(player.inventory().main_inventory.iter().map( + async |s| { + let stack = s.lock().await; + NetworkItemStackDescriptor::from(&*stack) + }, + )) + .await, + full_container_name: FullContainerName { + container_name: ContainerName::Inventory, + dynamic_id: None, + }, + storage_item: NetworkItemStackDescriptor::default(), + }) + .await; + } + match packet.transaction_data { TransactionData::Normal(_data) => { - // TODO + // Actions are already applied to the inventory screen handler above. } TransactionData::Mismatch(_data) => { - // TODO + // Actions are already applied to the inventory screen handler above. } TransactionData::UseItem(data) => { let face = match data.block_face.0 { @@ -449,7 +592,18 @@ impl BedrockClient { match data.action_type.0 { // Interact 0 => { - // TODO + let world = player.world(); + if let Some(target) = world.get_entity_by_id(target_runtime_id) { + let held = player.inventory.held_item(); + let mut stack = held.lock().await; + if !target.interact(player, &mut stack).await { + let server = world.server.upgrade().expect("Server is gone"); + server + .item_registry + .use_on_entity(&mut stack, player, target) + .await; + } + } } // Attack 1 => { @@ -468,7 +622,12 @@ impl BedrockClient { } } TransactionData::ReleaseItem(_data) => { - // TODO + let item_in_use = player.living_entity.item_in_use.lock().await.clone(); + if let Some(stack) = item_in_use { + let server = player.world().server.upgrade().expect("Server is gone"); + server.item_registry.on_stopped_using(&stack, player).await; + } + player.living_entity.clear_active_hand().await; } } } @@ -476,7 +635,11 @@ impl BedrockClient { pub async fn handle_interaction(&self, player: &Arc, packet: SInteraction) { match packet.action { Action::OpenInventory => { - self.send_game_packet(&CContainerOpen { + if self.inventory_opened.load(Ordering::Relaxed) { + return; + } + self.inventory_opened.store(true, Ordering::Relaxed); + self.enqueue_packet(&CContainerOpen { container_id: 0, container_type: 0xff, position: BlockPos::ZERO, @@ -496,15 +659,48 @@ impl BedrockClient { } } - pub async fn handle_container_close(&self, _player: &Arc, packet: SContainerClose) { - if packet.container_id == 0 { - self.send_game_packet(&SContainerClose { - container_id: 0, - container_type: 0xff, - server_initiated: false, - }) - .await; + pub async fn handle_container_close(&self, player: &Arc, packet: SContainerClose) { + if packet.container_id == 0 || packet.container_id == 0xff { + self.inventory_opened.store(false, Ordering::Relaxed); } + player.on_handled_screen_closed().await; + + self.enqueue_packet(&SContainerClose { + container_id: packet.container_id, + container_type: packet.container_type, + server_initiated: false, + }) + .await; + + // Sync the cursor (make it empty) to Bedrock client + self.enqueue_packet(&CInventoryContent { + container_id: VarUInt(59), // Cursor container ID + slots: vec![NetworkItemStackDescriptor::default()], + full_container_name: FullContainerName { + container_name: ContainerName::Cursor, + dynamic_id: None, + }, + storage_item: NetworkItemStackDescriptor::default(), + }) + .await; + + // Sync the inventory content to Bedrock client + self.enqueue_packet(&CInventoryContent { + container_id: VarUInt(0), // player inventory + slots: futures::future::join_all(player.inventory().main_inventory.iter().map( + async |s| { + let stack = s.lock().await; + NetworkItemStackDescriptor::from(&*stack) + }, + )) + .await, + full_container_name: FullContainerName { + container_name: ContainerName::Inventory, + dynamic_id: None, + }, + storage_item: NetworkItemStackDescriptor::default(), + }) + .await; } pub async fn handle_chat_message(&self, server: &Server, player: &Arc, packet: SText) { @@ -728,4 +924,895 @@ impl BedrockClient { ); let _ = server.plugin_manager.fire(event).await; } + + #[allow(clippy::too_many_lines)] + pub async fn handle_item_stack_request( + &self, + player: &Arc, + packet: pumpkin_protocol::bedrock::server::item_stack_request::SItemStackRequest, + ) { + use pumpkin_protocol::bedrock::client::item_stack_response::{ + CItemStackResponse, ItemStackResponse, ItemStackResponseContainerInfo, + ItemStackResponseSlotInfo, + }; + use pumpkin_protocol::bedrock::server::item_stack_request::ItemStackRequestAction; + + let current_screen_handler = player.current_screen_handler.lock().await.clone(); + let mut screen_handler = current_screen_handler.lock().await; + + let mut responses = Vec::with_capacity(packet.requests.len()); + + for request in packet.requests { + let mut created_item: Option = None; + let mut updates = Vec::new(); + let mut result = 0u8; // 0 = Success, 1 = Error + + for action in request.actions { + match action { + ItemStackRequestAction::CraftCreative { + creative_item_id, + repetitions, + } => { + let index = (creative_item_id.0.saturating_sub(1)) as usize; + if index < pumpkin_data::bedrock_creative::CREATIVE_ENTRIES.len() { + let entry = pumpkin_data::bedrock_creative::CREATIVE_ENTRIES[index]; + if let Some(mapping) = + pumpkin_data::item::JavaToBedrockItemMapping::from_bedrock( + entry.item_id, + entry.item_aux_value, + ) + { + // Bedrock `repetitions` represents how many stacks to create; use the item's max stack size + let max_stack = ItemStack::static_new_java(1, mapping.java_item) + .get_max_stack_size(); + let count = ((max_stack as u16) * (repetitions as u16)) + .min(u8::MAX as u16) + as u8; + created_item = Some(ItemStack::new(count, mapping.java_item)); + } else { + tracing::warn!( + "Failed to map bedrock item id {} and data {} to Java item", + entry.item_id, + entry.item_aux_value + ); + result = 1; + break; + } + } else { + tracing::warn!( + "Creative item index {} out of bounds (len: {})", + index, + pumpkin_data::bedrock_creative::CREATIVE_ENTRIES.len() + ); + result = 1; + break; + } + } + ItemStackRequestAction::Take { + count, + source, + destination, + } + | ItemStackRequestAction::Place { + count, + source, + destination, + } + | ItemStackRequestAction::PlaceInContainer { + count, + source, + destination, + } + | ItemStackRequestAction::TakeOutContainer { + count, + source, + destination, + } => { + let mut source_stack = + get_slot_stack(&*screen_handler, &source, created_item.as_ref()).await; + if source_stack.is_empty() && created_item.is_none() { + tracing::debug!("Source stack is empty in Take/Place"); + result = 1; + break; + } + let count = count.min(source_stack.item_count); + if count > 0 { + let mut dest_stack = get_slot_stack( + &*screen_handler, + &destination, + created_item.as_ref(), + ) + .await; + if dest_stack.is_empty() { + dest_stack = source_stack.copy_with_count(count); + } else if dest_stack.are_items_and_components_equal(&source_stack) { + dest_stack.item_count = dest_stack.item_count.saturating_add(count); + } else { + tracing::debug!( + "Destination stack is not compatible with source stack" + ); + result = 1; + break; + } + + source_stack.decrement(count); + let source_stack = if source_stack.is_empty() { + ItemStack::EMPTY.clone() + } else { + source_stack + }; + + update_slot_stack( + player, + &mut *screen_handler, + &source, + source_stack.clone(), + ) + .await; + update_slot_stack( + player, + &mut *screen_handler, + &destination, + dest_stack.clone(), + ) + .await; + + record_update( + &mut updates, + source.container_name.clone(), + source.slot_id, + source_stack.item_count, + source.stack_id, + ); + record_update( + &mut updates, + destination.container_name.clone(), + destination.slot_id, + dest_stack.item_count, + destination.stack_id, + ); + } + } + ItemStackRequestAction::Swap { slot1, slot2 } => { + let stack1 = + get_slot_stack(&*screen_handler, &slot1, created_item.as_ref()).await; + let stack2 = + get_slot_stack(&*screen_handler, &slot2, created_item.as_ref()).await; + + update_slot_stack(player, &mut *screen_handler, &slot1, stack2.clone()) + .await; + update_slot_stack(player, &mut *screen_handler, &slot2, stack1.clone()) + .await; + + record_update( + &mut updates, + slot1.container_name.clone(), + slot1.slot_id, + stack2.item_count, + slot2.stack_id, + ); + record_update( + &mut updates, + slot2.container_name.clone(), + slot2.slot_id, + stack1.item_count, + slot1.stack_id, + ); + } + ItemStackRequestAction::Drop { + count, + source, + randomly: _, + } => { + let mut source_stack = + get_slot_stack(&*screen_handler, &source, created_item.as_ref()).await; + if source_stack.is_empty() { + result = 1; + break; + } + let count = count.min(source_stack.item_count); + if count > 0 { + let dropped_stack = source_stack.copy_with_count(count); + player.drop_item(dropped_stack).await; + + source_stack.decrement(count); + let source_stack = if source_stack.is_empty() { + ItemStack::EMPTY.clone() + } else { + source_stack + }; + + update_slot_stack( + player, + &mut *screen_handler, + &source, + source_stack.clone(), + ) + .await; + + record_update( + &mut updates, + source.container_name.clone(), + source.slot_id, + source_stack.item_count, + source.stack_id, + ); + } + } + ItemStackRequestAction::Destroy { count, source } + | ItemStackRequestAction::Consume { count, source } => { + let mut source_stack = + get_slot_stack(&*screen_handler, &source, created_item.as_ref()).await; + if source_stack.is_empty() { + result = 1; + break; + } + let count = count.min(source_stack.item_count); + if count > 0 { + source_stack.decrement(count); + let source_stack = if source_stack.is_empty() { + ItemStack::EMPTY.clone() + } else { + source_stack + }; + + update_slot_stack( + player, + &mut *screen_handler, + &source, + source_stack.clone(), + ) + .await; + + record_update( + &mut updates, + source.container_name.clone(), + source.slot_id, + source_stack.item_count, + source.stack_id, + ); + } + } + ItemStackRequestAction::CraftRecipe { + recipe_id: _, + repetitions, + } + | ItemStackRequestAction::CraftRecipeAuto { + recipe_id: _, + repetitions, + .. + } => { + if repetitions > 0 { + let output_slot = screen_handler.get_behaviour().slots[0].clone(); + let output_stack = output_slot.get_cloned_stack().await; + + if output_stack.is_empty() { + tracing::warn!("Client tried to craft, but output slot is empty!"); + result = 1; + break; + } + + let mut total_crafted = output_stack.clone(); + total_crafted.item_count = + total_crafted.item_count.saturating_mul(repetitions); + created_item = Some(total_crafted); + + for _ in 0..repetitions { + output_slot + .on_take_item(player.as_ref(), &output_stack) + .await; + } + + // Record updates for all grid slots so Bedrock client is notified of consumed ingredients! + let is_player = screen_handler.window_type().is_none(); + let grid_size = if is_player { 4 } else { 9 }; + for i in 0..grid_size { + let grid_slot_index = 1 + i; + let grid_slot = + screen_handler.get_behaviour().slots[grid_slot_index].clone(); + let grid_stack = grid_slot.get_cloned_stack().await; + record_update( + &mut updates, + FullContainerName { + container_name: ContainerName::CraftingInput, + dynamic_id: None, + }, + i as u8, + grid_stack.item_count, + VarInt(0), + ); + } + } + } + ItemStackRequestAction::CraftResultsDeprecated { .. } + | ItemStackRequestAction::MineBlock { .. } + | ItemStackRequestAction::BeaconPayment { .. } + | ItemStackRequestAction::Create { .. } + | ItemStackRequestAction::LabTableCombine + | ItemStackRequestAction::Optional { .. } + | ItemStackRequestAction::Grindstone { .. } + | ItemStackRequestAction::Loom { .. } + | ItemStackRequestAction::CraftNonImplemented => { + // Successful no-ops to prevent client-side transaction rollbacks + } + } + } + + let mut container_infos = Vec::new(); + if result == 0 { + for update in updates { + let container_info = container_infos.iter_mut().find( + |info: &&mut ItemStackResponseContainerInfo| { + info.container_name == update.container_name + }, + ); + + let slot_info = ItemStackResponseSlotInfo { + slot: update.slot_id, + hotbar_slot: update.slot_id, + count: update.count, + item_stack_id: update.stack_id, + custom_name: String::new(), + filtered_custom_name: String::new(), + durability_correction: VarInt(0), + }; + + if let Some(info) = container_info { + info.slots.push(slot_info); + } else { + container_infos.push(ItemStackResponseContainerInfo { + container_name: update.container_name, + slots: vec![slot_info], + }); + } + } + } + + responses.push(ItemStackResponse { + result, + request_id: request.request_id, + container_infos, + }); + } + + // Send updates to Java client + screen_handler.send_content_updates().await; + + // Collect inventory updates if we modified player inventory + let mut inventory_updated = false; + for response in &responses { + if response.result == 0 { + for info in &response.container_infos { + if info.container_name.container_name == ContainerName::Inventory + || info.container_name.container_name + == ContainerName::CombinedHotBarAndInventory + || info.container_name.container_name == ContainerName::HotBar + { + inventory_updated = true; + } + } + } + } + + // Send Bedrock specific responses and updates + self.enqueue_packet(&CItemStackResponse { responses }).await; + + if inventory_updated { + self.enqueue_packet(&CInventoryContent { + container_id: VarUInt(0), + slots: futures::future::join_all(player.inventory().main_inventory.iter().map( + async |s| { + let stack = s.lock().await; + NetworkItemStackDescriptor::from(&*stack) + }, + )) + .await, + full_container_name: FullContainerName { + container_name: ContainerName::Inventory, + dynamic_id: None, + }, + storage_item: NetworkItemStackDescriptor::default(), + }) + .await; + } + } + + #[allow(clippy::too_many_lines)] + pub async fn handle_block_pick_request(&self, player: &Arc, packet: SBlockPickRequest) { + if !player.can_interact_with_block_at(&packet.block_pos, 1.0) { + return; + } + + let world = player.world(); + let block = world.get_block(&packet.block_pos); + + if block.item_id == 0 { + return; + } + + let Some(item) = pumpkin_data::item::Item::from_id(block.item_id) else { + return; + }; + let stack = ItemStack::new(1, item); + + let target_hotbar_slot = packet.hotbar_slot as usize; + if target_hotbar_slot >= 9 { + return; + } + + let slot_with_stack = player.inventory().get_slot_with_stack(&stack).await; + + if slot_with_stack != -1 { + if pumpkin_inventory::player::player_inventory::PlayerInventory::is_valid_hotbar_index( + slot_with_stack as usize, + ) { + if slot_with_stack as usize != target_hotbar_slot { + let target_stack = player.inventory.main_inventory[target_hotbar_slot] + .lock() + .await + .clone(); + let source_stack = player.inventory.main_inventory[slot_with_stack as usize] + .lock() + .await + .clone(); + player + .inventory + .set_stack(target_hotbar_slot, source_stack) + .await; + player + .inventory + .set_stack(slot_with_stack as usize, target_stack) + .await; + } + } else { + let target_stack = player.inventory.main_inventory[target_hotbar_slot] + .lock() + .await + .clone(); + let source_stack = player.inventory.main_inventory[slot_with_stack as usize] + .lock() + .await + .clone(); + player + .inventory + .set_stack(target_hotbar_slot, source_stack) + .await; + player + .inventory + .set_stack(slot_with_stack as usize, target_stack) + .await; + } + } else if player.gamemode.load() == GameMode::Creative { + player.inventory.set_stack(target_hotbar_slot, stack).await; + } else { + return; + } + + player.inventory.set_selected_slot(target_hotbar_slot as u8); + + // Send hotbar updates + player + .client + .enqueue_packet_editioned( + &CSetSelectedSlot::new(player.inventory.get_selected_slot() as i8), + &CPlayerHotbar { + selected_slot: VarUInt(player.inventory.get_selected_slot() as u32), + container_id: 0, + should_select_block: true, + }, + ) + .await; + + // Send screen handler / Java inventory updates + player + .player_screen_handler + .lock() + .await + .send_content_updates() + .await; + + // Sync main hand equipment to other players + let stack_in_hand = player.inventory().held_item().lock().await.clone(); + let equipment = &[(EquipmentSlot::MAIN_HAND, stack_in_hand)]; + player.living_entity.send_equipment_changes(equipment); + + // Sync bedrock inventory updates + self.enqueue_packet(&CInventoryContent { + container_id: VarUInt(0), + slots: futures::future::join_all(player.inventory().main_inventory.iter().map( + async |s| { + let stack = s.lock().await; + NetworkItemStackDescriptor::from(&*stack) + }, + )) + .await, + full_container_name: FullContainerName { + container_name: ContainerName::Inventory, + dynamic_id: None, + }, + storage_item: NetworkItemStackDescriptor::default(), + }) + .await; + } + + pub async fn handle_mob_equipment(&self, player: &Arc, packet: SMobEquipment) { + player.update_last_action_time(); + let slot = packet.hotbar_slot; + if slot >= 9 { + return; + } + let previous_slot = player.inventory.get_selected_slot(); + if let Some(server) = player.world().server.upgrade() { + let event = PlayerItemHeldEvent::new(player.clone(), previous_slot, slot); + let event = server.plugin_manager.fire(event).await; + if event.cancelled { + self.enqueue_packet(&CPlayerHotbar { + selected_slot: VarUInt(previous_slot as u32), + container_id: 0, + should_select_block: true, + }) + .await; + return; + } + } + + let inv = player.inventory(); + inv.set_selected_slot(slot); + let stack = inv.held_item().lock().await.clone(); + let equipment = &[(EquipmentSlot::MAIN_HAND, stack)]; + player.living_entity.send_equipment_changes(equipment); + } +} + +#[allow(clippy::too_many_lines)] +fn map_bedrock_container_slot( + screen_handler: &dyn ScreenHandler, + container_name: ContainerName, + slot_id: u8, +) -> Option { + let container_slots = screen_handler.get_behaviour().container_slots; + let is_player_screen = screen_handler.window_type().is_none(); + + match container_name { + ContainerName::HotBar => { + if is_player_screen { + Some(36 + slot_id as usize) + } else { + Some(container_slots + 27 + slot_id as usize) + } + } + ContainerName::Inventory | ContainerName::CombinedHotBarAndInventory => { + if slot_id < 9 { + if is_player_screen { + Some(36 + slot_id as usize) + } else { + Some(container_slots + 27 + slot_id as usize) + } + } else if slot_id < 36 { + if is_player_screen { + Some(slot_id as usize) + } else { + Some(container_slots + (slot_id - 9) as usize) + } + } else { + None + } + } + ContainerName::Armor => (slot_id < 4).then(|| 5 + slot_id as usize), + ContainerName::Offhand => (slot_id == 0).then_some(45), + ContainerName::Cursor => None, + ContainerName::CraftingInput => { + if is_player_screen { + (slot_id < 4).then(|| 1 + slot_id as usize) + } else if screen_handler.window_type() + == Some(pumpkin_data::screen::WindowType::Crafting) + { + (slot_id < 9).then(|| 1 + slot_id as usize) + } else { + None + } + } + ContainerName::CraftingOutputPreview | ContainerName::CreatedOutput => { + if is_player_screen { + Some(0) + } else if let Some(window_type) = screen_handler.window_type() { + match window_type { + pumpkin_data::screen::WindowType::Crafting => Some(0), + pumpkin_data::screen::WindowType::Stonecutter => Some(1), + pumpkin_data::screen::WindowType::Anvil + | pumpkin_data::screen::WindowType::Furnace + | pumpkin_data::screen::WindowType::BlastFurnace + | pumpkin_data::screen::WindowType::Smoker + | pumpkin_data::screen::WindowType::Grindstone + | pumpkin_data::screen::WindowType::Merchant => Some(2), + pumpkin_data::screen::WindowType::Loom + | pumpkin_data::screen::WindowType::Smithing => Some(3), + _ => None, + } + } else { + None + } + } + ContainerName::AnvilInput => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Anvil) + ) + .then_some(0), + ContainerName::AnvilMaterial => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Anvil) + ) + .then_some(1), + ContainerName::AnvilResultPreview => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Anvil) + ) + .then_some(2), + ContainerName::BeaconPayment => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Beacon) + ) + .then_some(0), + ContainerName::BrewingStandResult => (matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::BrewingStand) + ) && slot_id < 3) + .then_some(slot_id as usize), + ContainerName::BrewingStandInput => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::BrewingStand) + ) + .then_some(3), + ContainerName::BrewingStandFuel => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::BrewingStand) + ) + .then_some(4), + ContainerName::FurnaceIngredient + | ContainerName::BlastFurnaceIngredient + | ContainerName::SmokerIngredient => matches!( + screen_handler.window_type(), + Some( + pumpkin_data::screen::WindowType::Furnace + | pumpkin_data::screen::WindowType::BlastFurnace + | pumpkin_data::screen::WindowType::Smoker + ) + ) + .then_some(0), + ContainerName::FurnaceFuel => matches!( + screen_handler.window_type(), + Some( + pumpkin_data::screen::WindowType::Furnace + | pumpkin_data::screen::WindowType::BlastFurnace + | pumpkin_data::screen::WindowType::Smoker + ) + ) + .then_some(1), + ContainerName::FurnaceResult => matches!( + screen_handler.window_type(), + Some( + pumpkin_data::screen::WindowType::Furnace + | pumpkin_data::screen::WindowType::BlastFurnace + | pumpkin_data::screen::WindowType::Smoker + ) + ) + .then_some(2), + ContainerName::EnchantingInput => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Enchantment) + ) + .then_some(0), + ContainerName::EnchantingMaterial => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Enchantment) + ) + .then_some(1), + ContainerName::GrindstoneInput => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Grindstone) + ) + .then_some(0), + ContainerName::GrindstoneAdditional => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Grindstone) + ) + .then_some(1), + ContainerName::GrindstoneResultPreview => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Grindstone) + ) + .then_some(2), + ContainerName::LoomInput => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Loom) + ) + .then_some(0), + ContainerName::LoomDye => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Loom) + ) + .then_some(1), + ContainerName::LoomMaterial => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Loom) + ) + .then_some(2), + ContainerName::LoomResultPreview => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Loom) + ) + .then_some(3), + ContainerName::StonecutterInput => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Stonecutter) + ) + .then_some(0), + ContainerName::StonecutterResultPreview => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Stonecutter) + ) + .then_some(1), + ContainerName::CartographyInput => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::CartographyTable) + ) + .then_some(0), + ContainerName::CartographyAdditional => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::CartographyTable) + ) + .then_some(1), + ContainerName::CartographyResultPreview => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::CartographyTable) + ) + .then_some(2), + ContainerName::SmithingTableTemplate => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Smithing) + ) + .then_some(0), + ContainerName::SmithingTableInput => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Smithing) + ) + .then_some(1), + ContainerName::SmithingTableMaterial => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Smithing) + ) + .then_some(2), + ContainerName::SmithingTableResultPreview => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Smithing) + ) + .then_some(3), + ContainerName::TradeIngredient1 | ContainerName::Trade2Ingredient1 => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Merchant) + ) + .then_some(0), + ContainerName::TradeIngredient2 | ContainerName::Trade2Ingredient2 => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Merchant) + ) + .then_some(1), + ContainerName::TradeResultPreview | ContainerName::Trade2ResultPreview => matches!( + screen_handler.window_type(), + Some(pumpkin_data::screen::WindowType::Merchant) + ) + .then_some(2), + _ => ((slot_id as usize) < container_slots).then_some(slot_id as usize), + } +} + +struct SlotUpdate { + container_name: FullContainerName, + slot_id: u8, + count: u8, + stack_id: VarInt, +} + +fn record_update( + updates: &mut Vec, + container_name: FullContainerName, + slot_id: u8, + count: u8, + stack_id: VarInt, +) { + let final_stack_id = if count == 0 { VarInt(0) } else { stack_id }; + if let Some(existing) = updates + .iter_mut() + .find(|u| u.container_name == container_name && u.slot_id == slot_id) + { + existing.count = count; + existing.stack_id = final_stack_id; + } else { + updates.push(SlotUpdate { + container_name, + slot_id, + count, + stack_id: final_stack_id, + }); + } +} + +async fn get_slot_stack( + screen_handler: &dyn ScreenHandler, + slot_info: &pumpkin_protocol::bedrock::server::item_stack_request::ItemStackRequestSlotInfo, + created_item: Option<&ItemStack>, +) -> ItemStack { + if let (ContainerName::CreatedOutput, Some(stack)) = + (slot_info.container_name.container_name, created_item) + { + return stack.clone(); + } + if slot_info.container_name.container_name == ContainerName::Cursor { + let cursor_lock = screen_handler.get_behaviour().cursor_stack.lock().await; + return cursor_lock.clone(); + } + if let Some(screen_slot) = map_bedrock_container_slot( + screen_handler, + slot_info.container_name.container_name, + slot_info.slot_id, + ) { + screen_handler.get_behaviour().slots[screen_slot] + .get_cloned_stack() + .await + } else { + ItemStack::EMPTY.clone() + } +} + +#[allow(clippy::unreachable)] +async fn update_slot_stack( + player: &Player, + screen_handler: &mut dyn ScreenHandler, + slot_info: &pumpkin_protocol::bedrock::server::item_stack_request::ItemStackRequestSlotInfo, + new_stack: ItemStack, +) { + if slot_info.container_name.container_name == ContainerName::Cursor { + let mut cursor_lock = screen_handler.get_behaviour().cursor_stack.lock().await; + *cursor_lock = new_stack; + return; + } + if let Some(screen_slot) = map_bedrock_container_slot( + screen_handler, + slot_info.container_name.container_name, + slot_info.slot_id, + ) { + let is_player_screen = screen_handler.window_type().is_none(); + if is_player_screen { + let current_stack = screen_handler.get_behaviour().slots[screen_slot] + .get_cloned_stack() + .await; + if !current_stack.are_items_and_components_equal(&new_stack) { + if (5..9).contains(&screen_slot) { + player + .enqueue_equipment_change( + &match screen_slot { + 5 => EquipmentSlot::HEAD, + 6 => EquipmentSlot::CHEST, + 7 => EquipmentSlot::LEGS, + 8 => EquipmentSlot::FEET, + _ => unreachable!(), + }, + &new_stack, + ) + .await; + } else if (36..45).contains(&screen_slot) { + let hotbar_slot = screen_slot - 36; + if player.inventory().get_selected_slot() == hotbar_slot as u8 { + let equipment = &[(EquipmentSlot::MAIN_HAND, new_stack.clone())]; + player.living_entity.send_equipment_changes(equipment); + } + } + } + } + + screen_handler.get_behaviour().slots[screen_slot] + .set_stack(new_stack.clone()) + .await; + screen_handler.set_received_stack(screen_slot, new_stack); + } } diff --git a/pumpkin/src/world/mod.rs b/pumpkin/src/world/mod.rs index e1c65865d..c643f0dc3 100644 --- a/pumpkin/src/world/mod.rs +++ b/pumpkin/src/world/mod.rs @@ -90,7 +90,7 @@ use pumpkin_protocol::{ bedrock::{ client::{ add_player::CAddPlayer, - creative_content::{CCreativeContent, Group}, + creative_content::{CCreativeContent, CreativeCategory, Entry, Group}, gamerules_changed::GameRules, player_list::{CPlayerList, PlayerListEntry, Skin}, remove_actor::CRemoveActor, @@ -1755,6 +1755,8 @@ impl World { player: Arc, server: &Server, ) { + static CREATIVE_CONTENT: std::sync::OnceLock<(Vec, Vec)> = + std::sync::OnceLock::new(); let level_info = server.level_info.load(); let weather = self.weather.lock().await; let runtime_id = player.entity_id() as u64; @@ -1909,16 +1911,65 @@ impl World { }) .await; + let (groups, entries) = CREATIVE_CONTENT.get_or_init(|| { + let groups = pumpkin_data::bedrock_creative::CREATIVE_GROUPS + .iter() + .map(|g| { + let creative_category = match g.category { + 1 => CreativeCategory::Construction, + 2 => CreativeCategory::Nature, + 3 => CreativeCategory::Equipment, + 4 => CreativeCategory::Items, + 5 => CreativeCategory::CommandOnly, + _ => CreativeCategory::Undefined, + }; + let icon_item = if g.icon_item_id != 0 { + NetworkItemDescriptor { + id: VarInt::from(g.icon_item_id), + stack_size: 1, + aux_value: VarUInt(g.icon_item_aux_value), + block_runtime_id: VarInt(0), + nbt_data: pumpkin_nbt::Nbt::default(), + place_on_blocks: Vec::new(), + destroy_blocks: Vec::new(), + shield_blocking_tick: 0, + } + } else { + NetworkItemDescriptor::default() + }; + + Group { + creative_category, + name: g.name.to_string(), + icon_item, + } + }) + .collect::>(); + + let entries = pumpkin_data::bedrock_creative::CREATIVE_ENTRIES + .iter() + .enumerate() + .map(|(i, e)| Entry { + id: VarUInt((i + 1) as u32), + item: NetworkItemDescriptor { + id: VarInt::from(e.item_id), + stack_size: 1, + aux_value: VarUInt(e.item_aux_value), + block_runtime_id: VarInt(0), + nbt_data: pumpkin_nbt::Nbt::default(), + place_on_blocks: Vec::new(), + destroy_blocks: Vec::new(), + shield_blocking_tick: 0, + }, + group_index: VarUInt(e.group_index), + }) + .collect::>(); + + (groups, entries) + }); + client - .send_game_packet(&CCreativeContent { - groups: &[Group { - creative_category: - pumpkin_protocol::bedrock::client::CreativeCategory::Construction, - name: String::new(), - icon_item: NetworkItemDescriptor::default(), - }], - entries: &[], - }) + .send_game_packet(&CCreativeContent { groups, entries }) .await; client @@ -4982,7 +5033,7 @@ impl World { Self::broadcast_java_grouped(je_packet, je_recipients_by_version); for recipient in bedrock_recipients { - recipient.send_game_packet(be_packet).await; + recipient.enqueue_packet(be_packet).await; } } }