fix: ci
This commit is contained in:
parent
a2b92e6dc5
commit
0fe84c75d8
3
Cargo.lock
generated
3
Cargo.lock
generated
@ -3511,11 +3511,8 @@ dependencies = [
|
||||
name = "pumpkin-fuzzer"
|
||||
version = "0.1.0-dev+26.2-26.40"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"clap",
|
||||
"colored",
|
||||
"pumpkin-protocol",
|
||||
"pumpkin-util",
|
||||
"rand 0.9.5",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -4,7 +4,7 @@ use crate::item::Item;
|
||||
use crate::item_stack::ItemStack;
|
||||
use pumpkin_util::identifier::Identifier;
|
||||
use pumpkin_util::text::TextComponent;
|
||||
use pumpkin_util::text::{color::Color, hover::HoverEvent, style::Style};
|
||||
use pumpkin_util::text::{color::Color, color::NamedColor, hover::HoverEvent, style::Style};
|
||||
use std::collections::BTreeMap;
|
||||
use std::fmt::Display;
|
||||
use std::hash::{Hash, Hasher};
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
use crate::biome::de::Deserialize;
|
||||
use crate::entity_type::EntityType;
|
||||
use crate::tag::RegistryKey;
|
||||
use crate::tag::Taggable;
|
||||
use pumpkin_util::biome::{TemperatureModifier, Weather};
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
use pumpkin_util::math::float_provider::{
|
||||
FloatProvider, NormalFloatProvider,
|
||||
ClampedNormalFloatProvider, ConstantFloatProvider, FloatProvider, NormalFloatProvider,
|
||||
TrapezoidFloatProvider, UniformFloatProvider,
|
||||
};
|
||||
use pumpkin_util::y_offset::{AboveBottom, Absolute, BelowTop, YOffset};
|
||||
@ -63,6 +63,7 @@ pub struct CarverConfig {
|
||||
pub replaceable: crate::tag::Tag,
|
||||
pub additional: CarverAdditionalConfig,
|
||||
}
|
||||
use super::*;
|
||||
pub const CANYON: CarverConfig = CarverConfig {
|
||||
probability: 0.01f32,
|
||||
y: HeightProvider::Uniform(UniformHeightProvider {
|
||||
|
||||
@ -3,7 +3,10 @@ use crate::BlockState;
|
||||
use crate::biome::Biome;
|
||||
use crate::chunk::DoublePerlinNoiseParameters;
|
||||
use crate::dimension::Dimension;
|
||||
use pumpkin_util::random::RandomDeriver;
|
||||
use pumpkin_util::y_offset::Absolute;
|
||||
use pumpkin_util::y_offset::YOffset;
|
||||
use std::{cell::RefCell, num::NonZeroUsize};
|
||||
pub struct GenerationSettings {
|
||||
pub aquifers_enabled: bool,
|
||||
pub ore_veins_enabled: bool,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
use crate::tag::{RegistryKey, Taggable};
|
||||
use crate::tag::{RegistryKey, Tag, Taggable};
|
||||
#[derive(Clone, Copy, PartialEq)]
|
||||
pub struct DamageType {
|
||||
pub death_message_type: DeathMessageType,
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
use crate::data_component_impl::*;
|
||||
#[derive(Copy, Clone, Hash, PartialEq, Eq)]
|
||||
#[repr(u8)]
|
||||
pub enum DataComponent {
|
||||
@ -240,123 +241,160 @@ impl DataComponent {
|
||||
#[must_use]
|
||||
#[allow(clippy::too_many_lines)]
|
||||
pub fn try_from_name(name: &str) -> Option<Self> {
|
||||
let name = if name.contains(':') {
|
||||
std::borrow::Cow::Borrowed(name)
|
||||
} else {
|
||||
std::borrow::Cow::Owned(format!("minecraft:{name}"))
|
||||
};
|
||||
match name.as_ref() {
|
||||
"minecraft:custom_data" => Some(Self::CustomData),
|
||||
"minecraft:max_stack_size" => Some(Self::MaxStackSize),
|
||||
"minecraft:max_damage" => Some(Self::MaxDamage),
|
||||
"minecraft:damage" => Some(Self::Damage),
|
||||
"minecraft:unbreakable" => Some(Self::Unbreakable),
|
||||
"minecraft:use_effects" => Some(Self::UseEffects),
|
||||
"minecraft:custom_name" => Some(Self::CustomName),
|
||||
"minecraft:minimum_attack_charge" => Some(Self::MinimumAttackCharge),
|
||||
"minecraft:damage_type" => Some(Self::DamageType),
|
||||
"minecraft:item_name" => Some(Self::ItemName),
|
||||
"minecraft:item_model" => Some(Self::ItemModel),
|
||||
"minecraft:lore" => Some(Self::Lore),
|
||||
"minecraft:rarity" => Some(Self::Rarity),
|
||||
"minecraft:enchantments" => Some(Self::Enchantments),
|
||||
"minecraft:can_place_on" => Some(Self::CanPlaceOn),
|
||||
"minecraft:can_break" => Some(Self::CanBreak),
|
||||
"minecraft:attribute_modifiers" => Some(Self::AttributeModifiers),
|
||||
"minecraft:custom_model_data" => Some(Self::CustomModelData),
|
||||
"minecraft:tooltip_display" => Some(Self::TooltipDisplay),
|
||||
"minecraft:repair_cost" => Some(Self::RepairCost),
|
||||
"minecraft:creative_slot_lock" => Some(Self::CreativeSlotLock),
|
||||
"minecraft:enchantment_glint_override" => Some(Self::EnchantmentGlintOverride),
|
||||
"minecraft:intangible_projectile" => Some(Self::IntangibleProjectile),
|
||||
"minecraft:food" => Some(Self::Food),
|
||||
"minecraft:consumable" => Some(Self::Consumable),
|
||||
"minecraft:use_remainder" => Some(Self::UseRemainder),
|
||||
"minecraft:use_cooldown" => Some(Self::UseCooldown),
|
||||
"minecraft:damage_resistant" => Some(Self::DamageResistant),
|
||||
"minecraft:tool" => Some(Self::Tool),
|
||||
"minecraft:weapon" => Some(Self::Weapon),
|
||||
"minecraft:attack_range" => Some(Self::AttackRange),
|
||||
"minecraft:enchantable" => Some(Self::Enchantable),
|
||||
"minecraft:equippable" => Some(Self::Equippable),
|
||||
"minecraft:repairable" => Some(Self::Repairable),
|
||||
"minecraft:glider" => Some(Self::Glider),
|
||||
"minecraft:tooltip_style" => Some(Self::TooltipStyle),
|
||||
"minecraft:death_protection" => Some(Self::DeathProtection),
|
||||
"minecraft:blocks_attacks" => Some(Self::BlocksAttacks),
|
||||
"minecraft:piercing_weapon" => Some(Self::PiercingWeapon),
|
||||
"minecraft:kinetic_weapon" => Some(Self::KineticWeapon),
|
||||
"minecraft:swing_animation" => Some(Self::SwingAnimation),
|
||||
"minecraft:additional_trade_cost" => Some(Self::AdditionalTradeCost),
|
||||
"minecraft:stored_enchantments" => Some(Self::StoredEnchantments),
|
||||
"minecraft:dye" => Some(Self::Dye),
|
||||
"minecraft:dyed_color" => Some(Self::DyedColor),
|
||||
"minecraft:map_color" => Some(Self::MapColor),
|
||||
"minecraft:map_id" => Some(Self::MapId),
|
||||
"minecraft:map_decorations" => Some(Self::MapDecorations),
|
||||
"minecraft:map_post_processing" => Some(Self::MapPostProcessing),
|
||||
"minecraft:charged_projectiles" => Some(Self::ChargedProjectiles),
|
||||
"minecraft:bundle_contents" => Some(Self::BundleContents),
|
||||
"minecraft:potion_contents" => Some(Self::PotionContents),
|
||||
"minecraft:potion_duration_scale" => Some(Self::PotionDurationScale),
|
||||
"minecraft:suspicious_stew_effects" => Some(Self::SuspiciousStewEffects),
|
||||
"minecraft:writable_book_content" => Some(Self::WritableBookContent),
|
||||
"minecraft:written_book_content" => Some(Self::WrittenBookContent),
|
||||
"minecraft:trim" => Some(Self::Trim),
|
||||
"minecraft:debug_stick_state" => Some(Self::DebugStickState),
|
||||
"minecraft:entity_data" => Some(Self::EntityData),
|
||||
"minecraft:bucket_entity_data" => Some(Self::BucketEntityData),
|
||||
"minecraft:block_entity_data" => Some(Self::BlockEntityData),
|
||||
"minecraft:instrument" => Some(Self::Instrument),
|
||||
"minecraft:provides_trim_material" => Some(Self::ProvidesTrimMaterial),
|
||||
"minecraft:ominous_bottle_amplifier" => Some(Self::OminousBottleAmplifier),
|
||||
"minecraft:jukebox_playable" => Some(Self::JukeboxPlayable),
|
||||
"minecraft:provides_banner_patterns" => Some(Self::ProvidesBannerPatterns),
|
||||
"minecraft:recipes" => Some(Self::Recipes),
|
||||
"minecraft:lodestone_tracker" => Some(Self::LodestoneTracker),
|
||||
"minecraft:firework_explosion" => Some(Self::FireworkExplosion),
|
||||
"minecraft:fireworks" => Some(Self::Fireworks),
|
||||
"minecraft:profile" => Some(Self::Profile),
|
||||
"minecraft:note_block_sound" => Some(Self::NoteBlockSound),
|
||||
"minecraft:banner_patterns" => Some(Self::BannerPatterns),
|
||||
"minecraft:base_color" => Some(Self::BaseColor),
|
||||
"minecraft:pot_decorations" => Some(Self::PotDecorations),
|
||||
"minecraft:container" => Some(Self::Container),
|
||||
"minecraft:block_state" => Some(Self::BlockState),
|
||||
"minecraft:bees" => Some(Self::Bees),
|
||||
"minecraft:sulfur_cube_content" => Some(Self::SulfurCubeContent),
|
||||
"minecraft:lock" => Some(Self::Lock),
|
||||
"minecraft:container_loot" => Some(Self::ContainerLoot),
|
||||
"minecraft:break_sound" => Some(Self::BreakSound),
|
||||
"minecraft:villager/variant" => Some(Self::VillagerVariant),
|
||||
"minecraft:wolf/variant" => Some(Self::WolfVariant),
|
||||
"minecraft:wolf/sound_variant" => Some(Self::WolfSoundVariant),
|
||||
"minecraft:wolf/collar" => Some(Self::WolfCollar),
|
||||
"minecraft:fox/variant" => Some(Self::FoxVariant),
|
||||
"minecraft:salmon/size" => Some(Self::SalmonSize),
|
||||
"minecraft:parrot/variant" => Some(Self::ParrotVariant),
|
||||
"minecraft:tropical_fish/pattern" => Some(Self::TropicalFishPattern),
|
||||
"minecraft:tropical_fish/base_color" => Some(Self::TropicalFishBaseColor),
|
||||
"minecraft:tropical_fish/pattern_color" => Some(Self::TropicalFishPatternColor),
|
||||
"minecraft:mooshroom/variant" => Some(Self::MooshroomVariant),
|
||||
"minecraft:rabbit/variant" => Some(Self::RabbitVariant),
|
||||
"minecraft:pig/variant" => Some(Self::PigVariant),
|
||||
"minecraft:pig/sound_variant" => Some(Self::PigSoundVariant),
|
||||
"minecraft:cow/variant" => Some(Self::CowVariant),
|
||||
"minecraft:cow/sound_variant" => Some(Self::CowSoundVariant),
|
||||
"minecraft:chicken/variant" => Some(Self::ChickenVariant),
|
||||
"minecraft:chicken/sound_variant" => Some(Self::ChickenSoundVariant),
|
||||
"minecraft:zombie_nautilus/variant" => Some(Self::ZombieNautilusVariant),
|
||||
"minecraft:frog/variant" => Some(Self::FrogVariant),
|
||||
"minecraft:horse/variant" => Some(Self::HorseVariant),
|
||||
"minecraft:painting/variant" => Some(Self::PaintingVariant),
|
||||
"minecraft:llama/variant" => Some(Self::LlamaVariant),
|
||||
"minecraft:axolotl/variant" => Some(Self::AxolotlVariant),
|
||||
"minecraft:cat/variant" => Some(Self::CatVariant),
|
||||
"minecraft:cat/sound_variant" => Some(Self::CatSoundVariant),
|
||||
"minecraft:cat/collar" => Some(Self::CatCollar),
|
||||
"minecraft:sheep/color" => Some(Self::SheepColor),
|
||||
"minecraft:shulker/color" => Some(Self::ShulkerColor),
|
||||
match name {
|
||||
"minecraft:custom_data" | "custom_data" => Some(Self::CustomData),
|
||||
"minecraft:max_stack_size" | "max_stack_size" => Some(Self::MaxStackSize),
|
||||
"minecraft:max_damage" | "max_damage" => Some(Self::MaxDamage),
|
||||
"minecraft:damage" | "damage" => Some(Self::Damage),
|
||||
"minecraft:unbreakable" | "unbreakable" => Some(Self::Unbreakable),
|
||||
"minecraft:use_effects" | "use_effects" => Some(Self::UseEffects),
|
||||
"minecraft:custom_name" | "custom_name" => Some(Self::CustomName),
|
||||
"minecraft:minimum_attack_charge" | "minimum_attack_charge" => {
|
||||
Some(Self::MinimumAttackCharge)
|
||||
}
|
||||
"minecraft:damage_type" | "damage_type" => Some(Self::DamageType),
|
||||
"minecraft:item_name" | "item_name" => Some(Self::ItemName),
|
||||
"minecraft:item_model" | "item_model" => Some(Self::ItemModel),
|
||||
"minecraft:lore" | "lore" => Some(Self::Lore),
|
||||
"minecraft:rarity" | "rarity" => Some(Self::Rarity),
|
||||
"minecraft:enchantments" | "enchantments" => Some(Self::Enchantments),
|
||||
"minecraft:can_place_on" | "can_place_on" => Some(Self::CanPlaceOn),
|
||||
"minecraft:can_break" | "can_break" => Some(Self::CanBreak),
|
||||
"minecraft:attribute_modifiers" | "attribute_modifiers" => {
|
||||
Some(Self::AttributeModifiers)
|
||||
}
|
||||
"minecraft:custom_model_data" | "custom_model_data" => Some(Self::CustomModelData),
|
||||
"minecraft:tooltip_display" | "tooltip_display" => Some(Self::TooltipDisplay),
|
||||
"minecraft:repair_cost" | "repair_cost" => Some(Self::RepairCost),
|
||||
"minecraft:creative_slot_lock" | "creative_slot_lock" => Some(Self::CreativeSlotLock),
|
||||
"minecraft:enchantment_glint_override" | "enchantment_glint_override" => {
|
||||
Some(Self::EnchantmentGlintOverride)
|
||||
}
|
||||
"minecraft:intangible_projectile" | "intangible_projectile" => {
|
||||
Some(Self::IntangibleProjectile)
|
||||
}
|
||||
"minecraft:food" | "food" => Some(Self::Food),
|
||||
"minecraft:consumable" | "consumable" => Some(Self::Consumable),
|
||||
"minecraft:use_remainder" | "use_remainder" => Some(Self::UseRemainder),
|
||||
"minecraft:use_cooldown" | "use_cooldown" => Some(Self::UseCooldown),
|
||||
"minecraft:damage_resistant" | "damage_resistant" => Some(Self::DamageResistant),
|
||||
"minecraft:tool" | "tool" => Some(Self::Tool),
|
||||
"minecraft:weapon" | "weapon" => Some(Self::Weapon),
|
||||
"minecraft:attack_range" | "attack_range" => Some(Self::AttackRange),
|
||||
"minecraft:enchantable" | "enchantable" => Some(Self::Enchantable),
|
||||
"minecraft:equippable" | "equippable" => Some(Self::Equippable),
|
||||
"minecraft:repairable" | "repairable" => Some(Self::Repairable),
|
||||
"minecraft:glider" | "glider" => Some(Self::Glider),
|
||||
"minecraft:tooltip_style" | "tooltip_style" => Some(Self::TooltipStyle),
|
||||
"minecraft:death_protection" | "death_protection" => Some(Self::DeathProtection),
|
||||
"minecraft:blocks_attacks" | "blocks_attacks" => Some(Self::BlocksAttacks),
|
||||
"minecraft:piercing_weapon" | "piercing_weapon" => Some(Self::PiercingWeapon),
|
||||
"minecraft:kinetic_weapon" | "kinetic_weapon" => Some(Self::KineticWeapon),
|
||||
"minecraft:swing_animation" | "swing_animation" => Some(Self::SwingAnimation),
|
||||
"minecraft:additional_trade_cost" | "additional_trade_cost" => {
|
||||
Some(Self::AdditionalTradeCost)
|
||||
}
|
||||
"minecraft:stored_enchantments" | "stored_enchantments" => {
|
||||
Some(Self::StoredEnchantments)
|
||||
}
|
||||
"minecraft:dye" | "dye" => Some(Self::Dye),
|
||||
"minecraft:dyed_color" | "dyed_color" => Some(Self::DyedColor),
|
||||
"minecraft:map_color" | "map_color" => Some(Self::MapColor),
|
||||
"minecraft:map_id" | "map_id" => Some(Self::MapId),
|
||||
"minecraft:map_decorations" | "map_decorations" => Some(Self::MapDecorations),
|
||||
"minecraft:map_post_processing" | "map_post_processing" => {
|
||||
Some(Self::MapPostProcessing)
|
||||
}
|
||||
"minecraft:charged_projectiles" | "charged_projectiles" => {
|
||||
Some(Self::ChargedProjectiles)
|
||||
}
|
||||
"minecraft:bundle_contents" | "bundle_contents" => Some(Self::BundleContents),
|
||||
"minecraft:potion_contents" | "potion_contents" => Some(Self::PotionContents),
|
||||
"minecraft:potion_duration_scale" | "potion_duration_scale" => {
|
||||
Some(Self::PotionDurationScale)
|
||||
}
|
||||
"minecraft:suspicious_stew_effects" | "suspicious_stew_effects" => {
|
||||
Some(Self::SuspiciousStewEffects)
|
||||
}
|
||||
"minecraft:writable_book_content" | "writable_book_content" => {
|
||||
Some(Self::WritableBookContent)
|
||||
}
|
||||
"minecraft:written_book_content" | "written_book_content" => {
|
||||
Some(Self::WrittenBookContent)
|
||||
}
|
||||
"minecraft:trim" | "trim" => Some(Self::Trim),
|
||||
"minecraft:debug_stick_state" | "debug_stick_state" => Some(Self::DebugStickState),
|
||||
"minecraft:entity_data" | "entity_data" => Some(Self::EntityData),
|
||||
"minecraft:bucket_entity_data" | "bucket_entity_data" => Some(Self::BucketEntityData),
|
||||
"minecraft:block_entity_data" | "block_entity_data" => Some(Self::BlockEntityData),
|
||||
"minecraft:instrument" | "instrument" => Some(Self::Instrument),
|
||||
"minecraft:provides_trim_material" | "provides_trim_material" => {
|
||||
Some(Self::ProvidesTrimMaterial)
|
||||
}
|
||||
"minecraft:ominous_bottle_amplifier" | "ominous_bottle_amplifier" => {
|
||||
Some(Self::OminousBottleAmplifier)
|
||||
}
|
||||
"minecraft:jukebox_playable" | "jukebox_playable" => Some(Self::JukeboxPlayable),
|
||||
"minecraft:provides_banner_patterns" | "provides_banner_patterns" => {
|
||||
Some(Self::ProvidesBannerPatterns)
|
||||
}
|
||||
"minecraft:recipes" | "recipes" => Some(Self::Recipes),
|
||||
"minecraft:lodestone_tracker" | "lodestone_tracker" => Some(Self::LodestoneTracker),
|
||||
"minecraft:firework_explosion" | "firework_explosion" => Some(Self::FireworkExplosion),
|
||||
"minecraft:fireworks" | "fireworks" => Some(Self::Fireworks),
|
||||
"minecraft:profile" | "profile" => Some(Self::Profile),
|
||||
"minecraft:note_block_sound" | "note_block_sound" => Some(Self::NoteBlockSound),
|
||||
"minecraft:banner_patterns" | "banner_patterns" => Some(Self::BannerPatterns),
|
||||
"minecraft:base_color" | "base_color" => Some(Self::BaseColor),
|
||||
"minecraft:pot_decorations" | "pot_decorations" => Some(Self::PotDecorations),
|
||||
"minecraft:container" | "container" => Some(Self::Container),
|
||||
"minecraft:block_state" | "block_state" => Some(Self::BlockState),
|
||||
"minecraft:bees" | "bees" => Some(Self::Bees),
|
||||
"minecraft:sulfur_cube_content" | "sulfur_cube_content" => {
|
||||
Some(Self::SulfurCubeContent)
|
||||
}
|
||||
"minecraft:lock" | "lock" => Some(Self::Lock),
|
||||
"minecraft:container_loot" | "container_loot" => Some(Self::ContainerLoot),
|
||||
"minecraft:break_sound" | "break_sound" => Some(Self::BreakSound),
|
||||
"minecraft:villager/variant" | "villager_variant" => Some(Self::VillagerVariant),
|
||||
"minecraft:wolf/variant" | "wolf_variant" => Some(Self::WolfVariant),
|
||||
"minecraft:wolf/sound_variant" | "wolf_sound_variant" => Some(Self::WolfSoundVariant),
|
||||
"minecraft:wolf/collar" | "wolf_collar" => Some(Self::WolfCollar),
|
||||
"minecraft:fox/variant" | "fox_variant" => Some(Self::FoxVariant),
|
||||
"minecraft:salmon/size" | "salmon_size" => Some(Self::SalmonSize),
|
||||
"minecraft:parrot/variant" | "parrot_variant" => Some(Self::ParrotVariant),
|
||||
"minecraft:tropical_fish/pattern" | "tropical_fish_pattern" => {
|
||||
Some(Self::TropicalFishPattern)
|
||||
}
|
||||
"minecraft:tropical_fish/base_color" | "tropical_fish_base_color" => {
|
||||
Some(Self::TropicalFishBaseColor)
|
||||
}
|
||||
"minecraft:tropical_fish/pattern_color" | "tropical_fish_pattern_color" => {
|
||||
Some(Self::TropicalFishPatternColor)
|
||||
}
|
||||
"minecraft:mooshroom/variant" | "mooshroom_variant" => Some(Self::MooshroomVariant),
|
||||
"minecraft:rabbit/variant" | "rabbit_variant" => Some(Self::RabbitVariant),
|
||||
"minecraft:pig/variant" | "pig_variant" => Some(Self::PigVariant),
|
||||
"minecraft:pig/sound_variant" | "pig_sound_variant" => Some(Self::PigSoundVariant),
|
||||
"minecraft:cow/variant" | "cow_variant" => Some(Self::CowVariant),
|
||||
"minecraft:cow/sound_variant" | "cow_sound_variant" => Some(Self::CowSoundVariant),
|
||||
"minecraft:chicken/variant" | "chicken_variant" => Some(Self::ChickenVariant),
|
||||
"minecraft:chicken/sound_variant" | "chicken_sound_variant" => {
|
||||
Some(Self::ChickenSoundVariant)
|
||||
}
|
||||
"minecraft:zombie_nautilus/variant" | "zombie_nautilus_variant" => {
|
||||
Some(Self::ZombieNautilusVariant)
|
||||
}
|
||||
"minecraft:frog/variant" | "frog_variant" => Some(Self::FrogVariant),
|
||||
"minecraft:horse/variant" | "horse_variant" => Some(Self::HorseVariant),
|
||||
"minecraft:painting/variant" | "painting_variant" => Some(Self::PaintingVariant),
|
||||
"minecraft:llama/variant" | "llama_variant" => Some(Self::LlamaVariant),
|
||||
"minecraft:axolotl/variant" | "axolotl_variant" => Some(Self::AxolotlVariant),
|
||||
"minecraft:cat/variant" | "cat_variant" => Some(Self::CatVariant),
|
||||
"minecraft:cat/sound_variant" | "cat_sound_variant" => Some(Self::CatSoundVariant),
|
||||
"minecraft:cat/collar" | "cat_collar" => Some(Self::CatCollar),
|
||||
"minecraft:sheep/color" | "sheep_color" => Some(Self::SheepColor),
|
||||
"minecraft:shulker/color" | "shulker_color" => Some(Self::ShulkerColor),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
use pumpkin_util::math::int_provider::{
|
||||
IntProvider, NormalIntProvider, UniformIntProvider,
|
||||
BiasedToBottomIntProvider, ClampedIntProvider, ClampedNormalIntProvider, ConstantIntProvider,
|
||||
IntProvider, NormalIntProvider, TrapezoidIntProvider, UniformIntProvider, WeightedEntry,
|
||||
WeightedListIntProvider,
|
||||
};
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Dimension {
|
||||
|
||||
@ -212,3 +212,27 @@ impl DyeColor {
|
||||
}
|
||||
}
|
||||
}
|
||||
impl From<DyeColor> for String {
|
||||
fn from(value: DyeColor) -> Self {
|
||||
value.name().to_string()
|
||||
}
|
||||
}
|
||||
impl From<&str> for DyeColor {
|
||||
fn from(s: &str) -> Self {
|
||||
DyeColor::by_name(s).unwrap_or_default()
|
||||
}
|
||||
}
|
||||
impl From<i8> for DyeColor {
|
||||
fn from(s: i8) -> Self {
|
||||
if s >= 0 {
|
||||
DyeColor::by_id(s as u8).unwrap_or_default()
|
||||
} else {
|
||||
DyeColor::default()
|
||||
}
|
||||
}
|
||||
}
|
||||
impl From<u8> for DyeColor {
|
||||
fn from(s: u8) -> Self {
|
||||
DyeColor::by_id(s).unwrap_or_default()
|
||||
}
|
||||
}
|
||||
|
||||
@ -984,55 +984,54 @@ impl Enchantment {
|
||||
},
|
||||
};
|
||||
pub fn from_name(name: &str) -> Option<&'static Self> {
|
||||
let name = if name.contains(':') {
|
||||
std::borrow::Cow::Borrowed(name)
|
||||
} else {
|
||||
std::borrow::Cow::Owned(format!("minecraft:{name}"))
|
||||
};
|
||||
match name.as_ref() {
|
||||
"minecraft:aqua_affinity" => Some(&Self::AQUA_AFFINITY),
|
||||
"minecraft:bane_of_arthropods" => Some(&Self::BANE_OF_ARTHROPODS),
|
||||
"minecraft:binding_curse" => Some(&Self::BINDING_CURSE),
|
||||
"minecraft:blast_protection" => Some(&Self::BLAST_PROTECTION),
|
||||
"minecraft:breach" => Some(&Self::BREACH),
|
||||
"minecraft:channeling" => Some(&Self::CHANNELING),
|
||||
"minecraft:density" => Some(&Self::DENSITY),
|
||||
"minecraft:depth_strider" => Some(&Self::DEPTH_STRIDER),
|
||||
"minecraft:efficiency" => Some(&Self::EFFICIENCY),
|
||||
"minecraft:feather_falling" => Some(&Self::FEATHER_FALLING),
|
||||
"minecraft:fire_aspect" => Some(&Self::FIRE_ASPECT),
|
||||
"minecraft:fire_protection" => Some(&Self::FIRE_PROTECTION),
|
||||
"minecraft:flame" => Some(&Self::FLAME),
|
||||
"minecraft:fortune" => Some(&Self::FORTUNE),
|
||||
"minecraft:frost_walker" => Some(&Self::FROST_WALKER),
|
||||
"minecraft:impaling" => Some(&Self::IMPALING),
|
||||
"minecraft:infinity" => Some(&Self::INFINITY),
|
||||
"minecraft:knockback" => Some(&Self::KNOCKBACK),
|
||||
"minecraft:looting" => Some(&Self::LOOTING),
|
||||
"minecraft:loyalty" => Some(&Self::LOYALTY),
|
||||
"minecraft:luck_of_the_sea" => Some(&Self::LUCK_OF_THE_SEA),
|
||||
"minecraft:lunge" => Some(&Self::LUNGE),
|
||||
"minecraft:lure" => Some(&Self::LURE),
|
||||
"minecraft:mending" => Some(&Self::MENDING),
|
||||
"minecraft:multishot" => Some(&Self::MULTISHOT),
|
||||
"minecraft:piercing" => Some(&Self::PIERCING),
|
||||
"minecraft:power" => Some(&Self::POWER),
|
||||
"minecraft:projectile_protection" => Some(&Self::PROJECTILE_PROTECTION),
|
||||
"minecraft:protection" => Some(&Self::PROTECTION),
|
||||
"minecraft:punch" => Some(&Self::PUNCH),
|
||||
"minecraft:quick_charge" => Some(&Self::QUICK_CHARGE),
|
||||
"minecraft:respiration" => Some(&Self::RESPIRATION),
|
||||
"minecraft:riptide" => Some(&Self::RIPTIDE),
|
||||
"minecraft:sharpness" => Some(&Self::SHARPNESS),
|
||||
"minecraft:silk_touch" => Some(&Self::SILK_TOUCH),
|
||||
"minecraft:smite" => Some(&Self::SMITE),
|
||||
"minecraft:soul_speed" => Some(&Self::SOUL_SPEED),
|
||||
"minecraft:sweeping_edge" => Some(&Self::SWEEPING_EDGE),
|
||||
"minecraft:swift_sneak" => Some(&Self::SWIFT_SNEAK),
|
||||
"minecraft:thorns" => Some(&Self::THORNS),
|
||||
"minecraft:unbreaking" => Some(&Self::UNBREAKING),
|
||||
"minecraft:vanishing_curse" => Some(&Self::VANISHING_CURSE),
|
||||
"minecraft:wind_burst" => Some(&Self::WIND_BURST),
|
||||
match name {
|
||||
"minecraft:aqua_affinity" | "aqua_affinity" => Some(&Self::AQUA_AFFINITY),
|
||||
"minecraft:bane_of_arthropods" | "bane_of_arthropods" => {
|
||||
Some(&Self::BANE_OF_ARTHROPODS)
|
||||
}
|
||||
"minecraft:binding_curse" | "binding_curse" => Some(&Self::BINDING_CURSE),
|
||||
"minecraft:blast_protection" | "blast_protection" => Some(&Self::BLAST_PROTECTION),
|
||||
"minecraft:breach" | "breach" => Some(&Self::BREACH),
|
||||
"minecraft:channeling" | "channeling" => Some(&Self::CHANNELING),
|
||||
"minecraft:density" | "density" => Some(&Self::DENSITY),
|
||||
"minecraft:depth_strider" | "depth_strider" => Some(&Self::DEPTH_STRIDER),
|
||||
"minecraft:efficiency" | "efficiency" => Some(&Self::EFFICIENCY),
|
||||
"minecraft:feather_falling" | "feather_falling" => Some(&Self::FEATHER_FALLING),
|
||||
"minecraft:fire_aspect" | "fire_aspect" => Some(&Self::FIRE_ASPECT),
|
||||
"minecraft:fire_protection" | "fire_protection" => Some(&Self::FIRE_PROTECTION),
|
||||
"minecraft:flame" | "flame" => Some(&Self::FLAME),
|
||||
"minecraft:fortune" | "fortune" => Some(&Self::FORTUNE),
|
||||
"minecraft:frost_walker" | "frost_walker" => Some(&Self::FROST_WALKER),
|
||||
"minecraft:impaling" | "impaling" => Some(&Self::IMPALING),
|
||||
"minecraft:infinity" | "infinity" => Some(&Self::INFINITY),
|
||||
"minecraft:knockback" | "knockback" => Some(&Self::KNOCKBACK),
|
||||
"minecraft:looting" | "looting" => Some(&Self::LOOTING),
|
||||
"minecraft:loyalty" | "loyalty" => Some(&Self::LOYALTY),
|
||||
"minecraft:luck_of_the_sea" | "luck_of_the_sea" => Some(&Self::LUCK_OF_THE_SEA),
|
||||
"minecraft:lunge" | "lunge" => Some(&Self::LUNGE),
|
||||
"minecraft:lure" | "lure" => Some(&Self::LURE),
|
||||
"minecraft:mending" | "mending" => Some(&Self::MENDING),
|
||||
"minecraft:multishot" | "multishot" => Some(&Self::MULTISHOT),
|
||||
"minecraft:piercing" | "piercing" => Some(&Self::PIERCING),
|
||||
"minecraft:power" | "power" => Some(&Self::POWER),
|
||||
"minecraft:projectile_protection" | "projectile_protection" => {
|
||||
Some(&Self::PROJECTILE_PROTECTION)
|
||||
}
|
||||
"minecraft:protection" | "protection" => Some(&Self::PROTECTION),
|
||||
"minecraft:punch" | "punch" => Some(&Self::PUNCH),
|
||||
"minecraft:quick_charge" | "quick_charge" => Some(&Self::QUICK_CHARGE),
|
||||
"minecraft:respiration" | "respiration" => Some(&Self::RESPIRATION),
|
||||
"minecraft:riptide" | "riptide" => Some(&Self::RIPTIDE),
|
||||
"minecraft:sharpness" | "sharpness" => Some(&Self::SHARPNESS),
|
||||
"minecraft:silk_touch" | "silk_touch" => Some(&Self::SILK_TOUCH),
|
||||
"minecraft:smite" | "smite" => Some(&Self::SMITE),
|
||||
"minecraft:soul_speed" | "soul_speed" => Some(&Self::SOUL_SPEED),
|
||||
"minecraft:sweeping_edge" | "sweeping_edge" => Some(&Self::SWEEPING_EDGE),
|
||||
"minecraft:swift_sneak" | "swift_sneak" => Some(&Self::SWIFT_SNEAK),
|
||||
"minecraft:thorns" | "thorns" => Some(&Self::THORNS),
|
||||
"minecraft:unbreaking" | "unbreaking" => Some(&Self::UNBREAKING),
|
||||
"minecraft:vanishing_curse" | "vanishing_curse" => Some(&Self::VANISHING_CURSE),
|
||||
"minecraft:wind_burst" | "wind_burst" => Some(&Self::WIND_BURST),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,184 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_7_6: &[u16] = &[
|
||||
5, 5, 78, 0, 9, 1, 2, 72, 5, 5, 3, 52, 5, 5, 4, 1, 71, 4, 37, 11, 11, 48, 6, 5, 5, 40, 7, 8,
|
||||
56, 41, 9, 80, 10, 5, 5, 12, 11, 13, 14, 74, 15, 18, 19, 17, 75, 16, 21, 20, 76, 22, 23, 24,
|
||||
34, 25, 86, 56, 42, 26, 26, 27, 33, 70, 58, 28, 9, 43, 29, 30, 31, 1, 80, 32, 1, 33, 5, 5, 35,
|
||||
91, 36, 37, 38, 5, 5, 92, 0, 39, 47, 46, 70, 5, 5, 48, 1, 49, 5, 5, 54, 62, 50, 90, 51, 53, 53,
|
||||
79, 54, 77, 77, 52, 56, 9, 57, 58, 59, 60, 61, 62, 63, 64, 65, 9, 67, 66, 44, 68, 69, 5, 5, 70,
|
||||
71, 38, 64, 52, 1, 55, 45, 36, 94, 72, 73, 78, 79, 81, 79, 80, 37, 82, 83, 84, 85, 86, 9, 87,
|
||||
88, 70, 89, 53, 92, 93,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_8: &[u16] = &[
|
||||
5, 5, 78, 0, 9, 1, 2, 72, 5, 5, 3, 52, 5, 5, 4, 1, 71, 4, 37, 11, 11, 48, 6, 5, 5, 40, 7, 8,
|
||||
56, 41, 9, 80, 10, 5, 5, 12, 11, 13, 14, 74, 15, 18, 19, 17, 75, 16, 21, 20, 76, 22, 23, 24,
|
||||
34, 25, 86, 56, 42, 26, 26, 27, 33, 70, 58, 28, 9, 43, 29, 30, 31, 1, 80, 32, 1, 33, 5, 5, 35,
|
||||
91, 36, 37, 38, 5, 5, 92, 0, 39, 47, 46, 70, 5, 5, 48, 1, 49, 5, 5, 54, 62, 50, 90, 51, 53, 53,
|
||||
79, 54, 77, 77, 52, 56, 9, 57, 58, 59, 60, 61, 62, 63, 64, 65, 9, 67, 66, 44, 68, 69, 5, 5, 70,
|
||||
71, 38, 64, 52, 1, 55, 45, 36, 94, 72, 73, 78, 79, 81, 79, 80, 37, 82, 83, 84, 85, 86, 9, 87,
|
||||
88, 70, 89, 53, 92, 93,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_9: &[u16] = &[
|
||||
5, 5, 78, 0, 9, 1, 2, 72, 5, 5, 3, 52, 5, 5, 4, 1, 71, 4, 37, 11, 11, 48, 6, 5, 5, 40, 7, 8,
|
||||
56, 41, 9, 80, 10, 5, 5, 12, 11, 13, 14, 74, 15, 18, 19, 17, 75, 16, 21, 20, 76, 22, 23, 24,
|
||||
34, 25, 86, 56, 42, 26, 26, 27, 33, 70, 58, 28, 9, 43, 29, 30, 31, 1, 80, 32, 1, 33, 5, 5, 35,
|
||||
91, 36, 37, 38, 5, 5, 92, 0, 39, 47, 46, 70, 5, 5, 48, 1, 49, 5, 5, 54, 62, 50, 90, 51, 53, 53,
|
||||
79, 54, 77, 77, 52, 56, 9, 57, 58, 59, 60, 61, 62, 63, 64, 65, 9, 67, 66, 44, 68, 69, 5, 5, 70,
|
||||
71, 38, 64, 52, 1, 55, 45, 36, 94, 72, 73, 78, 79, 81, 79, 80, 37, 82, 83, 84, 85, 86, 9, 87,
|
||||
88, 70, 89, 53, 92, 93,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_10: &[u16] = &[
|
||||
5, 5, 78, 0, 9, 1, 2, 72, 5, 5, 3, 52, 5, 5, 4, 1, 71, 4, 37, 11, 11, 48, 6, 5, 5, 40, 7, 8,
|
||||
56, 41, 9, 80, 10, 5, 5, 12, 11, 13, 14, 74, 15, 18, 19, 17, 75, 16, 21, 20, 76, 22, 23, 24,
|
||||
34, 25, 86, 56, 42, 26, 26, 27, 33, 70, 58, 28, 9, 43, 29, 30, 31, 1, 80, 32, 1, 33, 5, 5, 35,
|
||||
91, 36, 37, 38, 5, 5, 92, 0, 39, 47, 46, 70, 5, 5, 48, 1, 49, 5, 5, 54, 62, 50, 90, 51, 53, 53,
|
||||
79, 54, 77, 77, 52, 56, 9, 57, 58, 59, 60, 61, 62, 63, 64, 65, 9, 67, 66, 44, 68, 69, 5, 5, 70,
|
||||
71, 38, 64, 52, 1, 55, 45, 36, 94, 72, 73, 78, 79, 81, 79, 80, 37, 82, 83, 84, 85, 86, 9, 87,
|
||||
88, 70, 89, 53, 92, 93,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_11: &[u16] = &[
|
||||
5, 5, 78, 0, 9, 1, 2, 72, 5, 5, 3, 52, 5, 5, 4, 1, 71, 4, 37, 11, 11, 48, 6, 5, 5, 40, 7, 8,
|
||||
56, 41, 9, 80, 10, 5, 5, 12, 11, 13, 14, 74, 15, 18, 19, 17, 75, 16, 21, 20, 76, 22, 23, 24,
|
||||
34, 25, 86, 56, 42, 26, 26, 27, 33, 70, 58, 28, 9, 43, 29, 30, 31, 1, 80, 32, 1, 33, 5, 5, 35,
|
||||
91, 36, 37, 38, 5, 5, 92, 0, 39, 47, 46, 70, 5, 5, 48, 1, 49, 5, 5, 54, 62, 50, 90, 51, 53, 53,
|
||||
79, 54, 77, 77, 52, 56, 9, 57, 58, 59, 60, 61, 62, 63, 64, 65, 9, 67, 66, 44, 68, 69, 5, 5, 70,
|
||||
71, 38, 64, 52, 1, 55, 45, 36, 94, 72, 73, 78, 79, 81, 79, 80, 37, 82, 83, 84, 85, 86, 9, 87,
|
||||
88, 70, 89, 53, 92, 93,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_12: &[u16] = &[
|
||||
5, 5, 78, 0, 9, 1, 2, 72, 5, 5, 3, 52, 5, 5, 4, 1, 71, 4, 37, 11, 11, 48, 6, 5, 5, 40, 7, 8,
|
||||
56, 41, 9, 80, 10, 5, 5, 12, 11, 13, 14, 74, 15, 18, 19, 17, 75, 16, 21, 20, 76, 22, 23, 24,
|
||||
34, 25, 86, 56, 42, 26, 26, 27, 33, 70, 58, 28, 9, 43, 29, 30, 31, 1, 80, 32, 1, 33, 5, 5, 35,
|
||||
91, 36, 37, 38, 5, 5, 92, 0, 39, 47, 46, 70, 5, 5, 48, 1, 49, 5, 5, 54, 62, 50, 90, 51, 53, 53,
|
||||
79, 54, 77, 77, 52, 56, 9, 57, 58, 59, 60, 61, 62, 63, 64, 65, 9, 67, 66, 44, 68, 69, 5, 5, 70,
|
||||
71, 38, 64, 52, 1, 55, 45, 36, 94, 72, 73, 78, 79, 81, 79, 80, 37, 82, 83, 84, 85, 86, 9, 87,
|
||||
88, 70, 89, 53, 92, 93,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_13: &[u16] = &[
|
||||
5, 5, 78, 0, 9, 1, 2, 72, 5, 5, 3, 52, 5, 5, 4, 1, 71, 4, 37, 11, 11, 48, 6, 5, 5, 40, 7, 8,
|
||||
56, 41, 9, 80, 10, 5, 5, 12, 11, 13, 14, 74, 15, 18, 19, 17, 75, 16, 21, 20, 76, 22, 23, 24,
|
||||
34, 25, 86, 56, 42, 26, 26, 27, 33, 70, 58, 28, 9, 43, 29, 30, 31, 1, 80, 32, 1, 33, 5, 5, 35,
|
||||
91, 36, 37, 38, 5, 5, 92, 0, 39, 47, 46, 70, 5, 5, 48, 1, 49, 5, 5, 54, 62, 50, 90, 51, 53, 53,
|
||||
79, 54, 77, 77, 52, 56, 9, 57, 58, 59, 60, 61, 62, 63, 64, 65, 9, 67, 66, 44, 68, 69, 5, 5, 70,
|
||||
71, 38, 64, 52, 1, 55, 45, 36, 94, 72, 73, 78, 79, 81, 79, 80, 37, 82, 83, 84, 85, 86, 9, 87,
|
||||
88, 70, 89, 53, 92, 93,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_13_2: &[u16] = &[
|
||||
5, 5, 78, 0, 9, 1, 2, 72, 5, 5, 3, 52, 5, 5, 4, 1, 71, 4, 37, 11, 11, 48, 6, 5, 5, 40, 7, 8,
|
||||
56, 41, 9, 80, 10, 5, 5, 12, 11, 13, 14, 74, 15, 18, 19, 17, 75, 16, 21, 20, 76, 22, 23, 24,
|
||||
34, 25, 86, 56, 42, 26, 26, 27, 33, 70, 58, 28, 9, 43, 29, 30, 31, 1, 80, 32, 1, 33, 5, 5, 35,
|
||||
91, 36, 37, 38, 5, 5, 92, 0, 39, 47, 46, 70, 5, 5, 48, 1, 49, 5, 5, 54, 62, 50, 90, 51, 53, 53,
|
||||
79, 54, 77, 77, 52, 56, 9, 57, 58, 59, 60, 61, 62, 63, 64, 65, 9, 67, 66, 44, 68, 69, 5, 5, 70,
|
||||
71, 38, 64, 52, 1, 55, 45, 36, 94, 72, 73, 78, 79, 81, 79, 80, 37, 82, 83, 84, 85, 86, 9, 87,
|
||||
88, 70, 89, 53, 92, 93,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_14: &[u16] = &[
|
||||
5, 5, 83, 0, 10, 1, 2, 76, 5, 5, 3, 55, 5, 5, 4, 1, 74, 4, 39, 12, 12, 6, 7, 5, 5, 42, 8, 9,
|
||||
59, 43, 10, 85, 11, 5, 5, 13, 12, 14, 15, 78, 16, 19, 20, 18, 79, 17, 22, 21, 80, 23, 24, 25,
|
||||
36, 26, 27, 59, 44, 28, 28, 29, 35, 73, 61, 30, 10, 45, 31, 32, 33, 1, 85, 34, 1, 35, 5, 5, 37,
|
||||
99, 38, 39, 40, 5, 5, 100, 0, 41, 49, 48, 73, 5, 5, 50, 1, 51, 5, 5, 52, 65, 53, 97, 54, 56,
|
||||
56, 87, 57, 81, 81, 55, 59, 98, 60, 61, 62, 63, 64, 65, 66, 67, 68, 98, 70, 69, 46, 71, 72, 5,
|
||||
5, 73, 74, 40, 67, 55, 1, 58, 47, 75, 82, 76, 77, 83, 84, 86, 88, 85, 39, 89, 90, 91, 92, 93,
|
||||
10, 94, 95, 73, 96, 56, 100, 101,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_15: &[u16] = &[
|
||||
6, 6, 84, 0, 11, 1, 2, 77, 6, 6, 3, 4, 6, 6, 5, 1, 75, 5, 40, 13, 13, 7, 8, 6, 6, 43, 9, 10,
|
||||
60, 44, 11, 86, 12, 6, 6, 14, 13, 15, 16, 79, 17, 20, 21, 19, 80, 18, 23, 22, 81, 24, 25, 26,
|
||||
37, 27, 28, 60, 45, 29, 29, 30, 36, 74, 62, 31, 11, 46, 32, 33, 34, 1, 86, 35, 1, 36, 6, 6, 38,
|
||||
100, 39, 40, 41, 6, 6, 101, 0, 42, 50, 49, 74, 6, 6, 51, 1, 52, 6, 6, 53, 66, 54, 98, 55, 57,
|
||||
57, 88, 58, 82, 82, 56, 60, 99, 61, 62, 63, 64, 65, 66, 67, 68, 69, 99, 71, 70, 47, 72, 73, 6,
|
||||
6, 74, 75, 41, 68, 56, 1, 59, 48, 76, 83, 77, 78, 84, 85, 87, 89, 86, 40, 90, 91, 92, 93, 94,
|
||||
11, 95, 96, 74, 97, 57, 101, 102,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_16: &[u16] = &[
|
||||
6, 6, 91, 0, 11, 1, 2, 89, 6, 6, 3, 4, 6, 6, 5, 1, 81, 5, 43, 14, 14, 7, 8, 6, 6, 46, 9, 10,
|
||||
65, 47, 11, 36, 12, 6, 6, 13, 14, 15, 16, 83, 17, 20, 21, 19, 84, 18, 22, 23, 85, 24, 25, 26,
|
||||
39, 27, 28, 65, 48, 29, 29, 30, 38, 80, 68, 31, 32, 49, 33, 34, 35, 1, 36, 37, 1, 38, 6, 6, 40,
|
||||
41, 42, 43, 44, 6, 6, 105, 0, 45, 53, 52, 80, 6, 6, 54, 1, 55, 6, 6, 56, 72, 57, 58, 59, 60,
|
||||
60, 61, 62, 86, 86, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 66, 77, 76, 50, 78, 79, 6,
|
||||
6, 80, 81, 82, 74, 64, 1, 63, 51, 88, 87, 89, 90, 91, 92, 93, 94, 36, 43, 95, 96, 97, 98, 99,
|
||||
100, 101, 102, 80, 103, 104, 105, 106,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_16_2: &[u16] = &[
|
||||
6, 6, 92, 0, 11, 1, 2, 90, 6, 6, 3, 4, 6, 6, 5, 1, 82, 5, 43, 14, 14, 7, 8, 6, 6, 46, 9, 10,
|
||||
66, 47, 11, 36, 12, 6, 6, 13, 14, 15, 16, 84, 17, 20, 21, 19, 85, 18, 22, 23, 86, 24, 25, 26,
|
||||
39, 27, 28, 66, 48, 29, 29, 30, 38, 81, 69, 31, 32, 49, 33, 34, 35, 1, 36, 37, 1, 38, 6, 6, 40,
|
||||
41, 42, 43, 44, 6, 6, 106, 0, 45, 53, 52, 81, 6, 6, 54, 1, 55, 6, 6, 56, 73, 57, 58, 59, 60,
|
||||
61, 62, 63, 87, 87, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 67, 78, 77, 50, 79, 80, 6,
|
||||
6, 81, 82, 83, 75, 65, 1, 64, 51, 89, 88, 90, 91, 92, 93, 94, 95, 36, 43, 96, 97, 98, 99, 100,
|
||||
101, 102, 103, 81, 104, 105, 106, 107,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_17: &[u16] = &[
|
||||
7, 7, 97, 0, 12, 1, 2, 3, 7, 7, 4, 5, 7, 7, 6, 1, 87, 6, 47, 15, 15, 8, 9, 7, 7, 51, 10, 11,
|
||||
71, 52, 12, 40, 13, 7, 7, 14, 15, 16, 17, 89, 18, 21, 22, 20, 90, 19, 23, 24, 91, 25, 26, 27,
|
||||
43, 28, 29, 71, 53, 30, 30, 31, 32, 33, 34, 35, 36, 54, 37, 38, 39, 1, 40, 41, 1, 42, 7, 7, 44,
|
||||
45, 46, 47, 48, 7, 7, 111, 49, 50, 58, 57, 86, 7, 7, 59, 1, 60, 7, 7, 61, 78, 62, 63, 64, 65,
|
||||
66, 67, 68, 92, 92, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 72, 83, 82, 55, 84, 85, 7,
|
||||
7, 86, 87, 88, 80, 70, 1, 69, 56, 94, 93, 95, 96, 97, 98, 99, 100, 40, 47, 101, 102, 103, 104,
|
||||
105, 106, 107, 108, 33, 109, 110, 111, 112,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_18: &[u16] = &[
|
||||
7, 7, 97, 0, 12, 1, 2, 3, 7, 7, 4, 5, 7, 7, 6, 1, 87, 6, 47, 15, 15, 8, 9, 7, 7, 51, 10, 11,
|
||||
71, 52, 12, 40, 13, 7, 7, 14, 15, 16, 17, 89, 18, 21, 22, 20, 90, 19, 23, 24, 91, 25, 26, 27,
|
||||
43, 28, 29, 71, 53, 30, 30, 31, 32, 33, 34, 35, 36, 54, 37, 38, 39, 1, 40, 41, 1, 42, 7, 7, 44,
|
||||
45, 46, 47, 48, 7, 7, 111, 49, 50, 58, 57, 86, 7, 7, 59, 1, 60, 7, 7, 61, 78, 62, 63, 64, 65,
|
||||
66, 67, 68, 92, 92, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 72, 83, 82, 55, 84, 85, 7,
|
||||
7, 86, 87, 88, 80, 70, 1, 69, 56, 94, 93, 95, 96, 97, 98, 99, 100, 40, 47, 101, 102, 103, 104,
|
||||
105, 106, 107, 108, 33, 109, 110, 111, 112,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_19: &[u16] = &[
|
||||
8, 9, 0, 1, 14, 2, 3, 4, 9, 8, 5, 6, 8, 9, 7, 2, 90, 7, 50, 17, 17, 10, 11, 8, 9, 54, 12, 13,
|
||||
32, 55, 14, 105, 15, 8, 9, 16, 17, 18, 19, 93, 20, 23, 24, 22, 94, 21, 25, 26, 95, 27, 28, 29,
|
||||
46, 30, 31, 32, 56, 33, 33, 34, 35, 36, 37, 38, 39, 57, 40, 41, 42, 2, 43, 44, 2, 45, 8, 9, 47,
|
||||
48, 49, 50, 51, 8, 9, 116, 52, 53, 61, 60, 89, 8, 9, 62, 2, 63, 8, 9, 64, 81, 65, 66, 67, 68,
|
||||
69, 70, 71, 96, 96, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 75, 86, 85, 58, 87, 88, 8,
|
||||
9, 89, 90, 91, 83, 92, 2, 72, 59, 98, 97, 99, 100, 101, 102, 103, 104, 105, 50, 106, 107, 108,
|
||||
109, 110, 111, 112, 113, 36, 114, 115, 116, 117,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_19_3: &[u16] = &[
|
||||
8, 9, 0, 1, 15, 2, 3, 4, 9, 8, 5, 6, 8, 9, 7, 2, 91, 7, 51, 11, 11, 10, 12, 8, 9, 55, 13, 14,
|
||||
33, 56, 15, 106, 16, 8, 9, 17, 18, 19, 20, 94, 21, 24, 25, 23, 95, 22, 26, 27, 96, 28, 29, 30,
|
||||
47, 31, 32, 33, 57, 34, 34, 35, 36, 37, 38, 39, 40, 58, 41, 42, 43, 2, 44, 45, 2, 46, 8, 9, 48,
|
||||
49, 50, 51, 52, 8, 9, 117, 53, 54, 62, 61, 90, 8, 9, 63, 2, 64, 8, 9, 65, 82, 66, 67, 68, 69,
|
||||
70, 71, 72, 97, 97, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 76, 87, 86, 59, 88, 89, 8,
|
||||
9, 90, 91, 92, 84, 93, 2, 73, 60, 99, 98, 100, 101, 102, 103, 104, 105, 106, 51, 107, 108, 109,
|
||||
110, 111, 112, 113, 114, 37, 115, 116, 117, 118,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_19_4: &[u16] = &[
|
||||
9, 13, 0, 1, 18, 2, 3, 4, 13, 9, 5, 6, 9, 13, 7, 8, 97, 7, 61, 10, 10, 11, 12, 9, 13, 14, 15,
|
||||
16, 39, 17, 18, 111, 19, 9, 13, 20, 21, 22, 23, 24, 25, 29, 30, 27, 28, 26, 31, 32, 33, 34, 35,
|
||||
36, 57, 37, 38, 39, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 9,
|
||||
13, 58, 59, 60, 61, 62, 9, 13, 122, 63, 64, 65, 66, 96, 9, 13, 67, 100, 68, 9, 13, 69, 86, 70,
|
||||
71, 72, 73, 74, 75, 76, 77, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 91, 93,
|
||||
94, 95, 9, 13, 96, 97, 98, 88, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
|
||||
61, 112, 113, 114, 115, 116, 117, 118, 119, 44, 120, 121, 122, 123,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_20: &[u16] = &[
|
||||
9, 13, 0, 1, 18, 2, 3, 4, 13, 9, 5, 6, 9, 13, 7, 8, 97, 7, 61, 10, 10, 11, 12, 9, 13, 14, 15,
|
||||
16, 39, 17, 18, 111, 19, 9, 13, 20, 21, 22, 23, 24, 25, 29, 30, 27, 28, 26, 31, 32, 33, 34, 35,
|
||||
36, 57, 37, 38, 39, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 9,
|
||||
13, 58, 59, 60, 61, 62, 9, 13, 122, 63, 64, 65, 66, 96, 9, 13, 67, 100, 68, 9, 13, 69, 86, 70,
|
||||
71, 72, 73, 74, 75, 76, 77, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 91, 93,
|
||||
94, 95, 9, 13, 96, 97, 98, 88, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
|
||||
61, 112, 113, 114, 115, 116, 117, 118, 119, 44, 120, 121, 122, 123,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_20_2: &[u16] = &[
|
||||
9, 13, 0, 1, 18, 2, 3, 4, 13, 9, 5, 6, 9, 13, 7, 8, 97, 7, 61, 10, 10, 11, 12, 9, 13, 14, 15,
|
||||
16, 39, 17, 18, 111, 19, 9, 13, 20, 21, 22, 23, 24, 25, 29, 30, 27, 28, 26, 31, 32, 33, 34, 35,
|
||||
36, 57, 37, 38, 39, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 9,
|
||||
13, 58, 59, 60, 61, 62, 9, 13, 122, 63, 64, 65, 66, 96, 9, 13, 67, 100, 68, 9, 13, 69, 86, 70,
|
||||
71, 72, 73, 74, 75, 76, 77, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 91, 93,
|
||||
94, 95, 9, 13, 96, 97, 98, 88, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
|
||||
61, 112, 113, 114, 115, 116, 117, 118, 119, 44, 120, 121, 122, 123,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_20_3: &[u16] = &[
|
||||
9, 14, 0, 1, 19, 2, 3, 4, 14, 9, 5, 6, 9, 14, 7, 8, 98, 10, 113, 11, 11, 12, 13, 9, 14, 15, 16,
|
||||
17, 40, 18, 19, 112, 20, 9, 14, 21, 22, 23, 24, 25, 26, 30, 31, 28, 29, 27, 32, 33, 34, 35, 36,
|
||||
37, 58, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 9,
|
||||
14, 59, 60, 61, 62, 63, 9, 14, 124, 64, 65, 66, 67, 97, 9, 14, 68, 101, 69, 9, 14, 70, 87, 71,
|
||||
72, 73, 74, 75, 76, 77, 78, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 93, 92, 94,
|
||||
95, 96, 9, 14, 97, 98, 99, 89, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
|
||||
113, 114, 115, 116, 117, 118, 119, 120, 121, 45, 122, 123, 124, 125,
|
||||
];
|
||||
pub static ENTITY_ID_REMAP_V_26_2_TO_V_1_20_5: &[u16] = &[
|
||||
10, 17, 0, 1, 2, 3, 4, 5, 17, 10, 6, 7, 10, 17, 8, 9, 11, 12, 13, 14, 14, 15, 16, 10, 17, 18,
|
||||
19, 20, 43, 21, 22, 116, 23, 10, 17, 24, 25, 26, 27, 28, 29, 33, 34, 31, 32, 30, 35, 36, 37,
|
||||
@ -103,6 +283,86 @@ pub fn remap_entity_id_for_version(
|
||||
version: pumpkin_util::version::JavaMinecraftVersion,
|
||||
) -> u16 {
|
||||
match version {
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_7_6 => ENTITY_ID_REMAP_V_26_2_TO_V_1_7_6
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_8 => ENTITY_ID_REMAP_V_26_2_TO_V_1_8
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_9 => ENTITY_ID_REMAP_V_26_2_TO_V_1_9
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_10 => ENTITY_ID_REMAP_V_26_2_TO_V_1_10
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_11 => ENTITY_ID_REMAP_V_26_2_TO_V_1_11
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_12 => ENTITY_ID_REMAP_V_26_2_TO_V_1_12
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_13 => ENTITY_ID_REMAP_V_26_2_TO_V_1_13
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_13_2 => ENTITY_ID_REMAP_V_26_2_TO_V_1_13_2
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_14 => ENTITY_ID_REMAP_V_26_2_TO_V_1_14
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_15 => ENTITY_ID_REMAP_V_26_2_TO_V_1_15
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_16 => ENTITY_ID_REMAP_V_26_2_TO_V_1_16
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_16_2 => ENTITY_ID_REMAP_V_26_2_TO_V_1_16_2
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_17 => ENTITY_ID_REMAP_V_26_2_TO_V_1_17
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_18 => ENTITY_ID_REMAP_V_26_2_TO_V_1_18
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_19 => ENTITY_ID_REMAP_V_26_2_TO_V_1_19
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_19_3 => ENTITY_ID_REMAP_V_26_2_TO_V_1_19_3
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_19_4 => ENTITY_ID_REMAP_V_26_2_TO_V_1_19_4
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_20 => ENTITY_ID_REMAP_V_26_2_TO_V_1_20
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_20_2 => ENTITY_ID_REMAP_V_26_2_TO_V_1_20_2
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_20_3 => ENTITY_ID_REMAP_V_26_2_TO_V_1_20_3
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
.unwrap_or(0),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_20_5 => ENTITY_ID_REMAP_V_26_2_TO_V_1_20_5
|
||||
.get(usize::from(entity_id))
|
||||
.copied()
|
||||
|
||||
@ -301,7 +301,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -432,7 +432,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 3u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -1140,7 +1140,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 2u32,
|
||||
experience_reward: 1u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -1506,7 +1506,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 2u32,
|
||||
experience_reward: 1u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -1856,7 +1856,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 3u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -2216,7 +2216,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 2u32,
|
||||
experience_reward: 1u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -2324,7 +2324,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 2u32,
|
||||
experience_reward: 3u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -3346,7 +3346,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 3u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -3712,7 +3712,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 2u32,
|
||||
experience_reward: 3u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -3804,7 +3804,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 3u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -4288,7 +4288,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 2u32,
|
||||
experience_reward: 1u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -4929,7 +4929,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 3u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -5488,7 +5488,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -5580,7 +5580,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 3u32,
|
||||
experience_reward: 1u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -6094,7 +6094,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 2u32,
|
||||
experience_reward: 3u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -6276,7 +6276,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -6857,7 +6857,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 3u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -7096,7 +7096,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -7198,7 +7198,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -7826,7 +7826,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 3u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -8453,7 +8453,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 3u32,
|
||||
experience_reward: 1u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -8717,7 +8717,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -9096,7 +9096,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -9188,7 +9188,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 1u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -10528,7 +10528,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 3u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
@ -10620,7 +10620,7 @@ impl EntityType {
|
||||
(Attributes::WATER_MOVEMENT_EFFICIENCY, 0f64),
|
||||
(Attributes::WAYPOINT_TRANSMIT_RANGE, 0f64),
|
||||
],
|
||||
experience_reward: 3u32,
|
||||
experience_reward: 2u32,
|
||||
hurt_sound: None,
|
||||
attackable: Some(true),
|
||||
mob: true,
|
||||
|
||||
@ -773,7 +773,7 @@ pub const FLUID_LEVEL_SOURCE: i32 = 0;
|
||||
pub const FLUID_LEVEL_FLOWING_MAX: i32 = 8;
|
||||
pub const FLUID_MIN_HEIGHT: f32 = 0.0;
|
||||
pub const FLUID_MAX_HEIGHT: f32 = 1.0;
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
#[derive(Clone, Copy, Eq, PartialEq)]
|
||||
pub enum Falling {
|
||||
True,
|
||||
False,
|
||||
@ -809,7 +809,7 @@ impl EnumVariants for Falling {
|
||||
}
|
||||
}
|
||||
}
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
#[derive(Clone, Copy, Eq, PartialEq)]
|
||||
pub enum Level {
|
||||
L1,
|
||||
L2,
|
||||
@ -875,7 +875,7 @@ impl EnumVariants for Level {
|
||||
}
|
||||
}
|
||||
}
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
#[derive(Clone, Copy, Eq, PartialEq)]
|
||||
pub struct WaterLikeFluidProperties {
|
||||
pub r#falling: Falling,
|
||||
}
|
||||
@ -916,7 +916,7 @@ impl FluidProperties for WaterLikeFluidProperties {
|
||||
if !["water", "lava"].contains(&fluid.name) {
|
||||
panic!(
|
||||
"{} is not a valid fluid for {}",
|
||||
fluid.name, "WaterLikeFluidProperties"
|
||||
&fluid.name, "WaterLikeFluidProperties"
|
||||
);
|
||||
}
|
||||
for (idx, state) in fluid.states.iter().enumerate() {
|
||||
@ -930,7 +930,7 @@ impl FluidProperties for WaterLikeFluidProperties {
|
||||
if !["water", "lava"].contains(&fluid.name) {
|
||||
panic!(
|
||||
"{} is not a valid fluid for {}",
|
||||
fluid.name, "WaterLikeFluidProperties"
|
||||
&fluid.name, "WaterLikeFluidProperties"
|
||||
);
|
||||
}
|
||||
Self::from_index(fluid.default_state_index)
|
||||
@ -942,7 +942,7 @@ impl FluidProperties for WaterLikeFluidProperties {
|
||||
if !["water", "lava"].contains(&fluid.name) {
|
||||
panic!(
|
||||
"{} is not a valid fluid for {}",
|
||||
fluid.name, "WaterLikeFluidProperties"
|
||||
&fluid.name, "WaterLikeFluidProperties"
|
||||
);
|
||||
}
|
||||
let mut fluid_props = Self::default(fluid);
|
||||
@ -955,7 +955,7 @@ impl FluidProperties for WaterLikeFluidProperties {
|
||||
fluid_props
|
||||
}
|
||||
}
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
#[derive(Clone, Copy, Eq, PartialEq)]
|
||||
pub struct FlowingWaterLikeFluidProperties {
|
||||
pub r#falling: Falling,
|
||||
pub r#level: Level,
|
||||
@ -1004,7 +1004,7 @@ impl FluidProperties for FlowingWaterLikeFluidProperties {
|
||||
if !["flowing_water", "flowing_lava"].contains(&fluid.name) {
|
||||
panic!(
|
||||
"{} is not a valid fluid for {}",
|
||||
fluid.name, "FlowingWaterLikeFluidProperties"
|
||||
&fluid.name, "FlowingWaterLikeFluidProperties"
|
||||
);
|
||||
}
|
||||
for (idx, state) in fluid.states.iter().enumerate() {
|
||||
@ -1018,7 +1018,7 @@ impl FluidProperties for FlowingWaterLikeFluidProperties {
|
||||
if !["flowing_water", "flowing_lava"].contains(&fluid.name) {
|
||||
panic!(
|
||||
"{} is not a valid fluid for {}",
|
||||
fluid.name, "FlowingWaterLikeFluidProperties"
|
||||
&fluid.name, "FlowingWaterLikeFluidProperties"
|
||||
);
|
||||
}
|
||||
Self::from_index(fluid.default_state_index)
|
||||
@ -1033,7 +1033,7 @@ impl FluidProperties for FlowingWaterLikeFluidProperties {
|
||||
if !["flowing_water", "flowing_lava"].contains(&fluid.name) {
|
||||
panic!(
|
||||
"{} is not a valid fluid for {}",
|
||||
fluid.name, "FlowingWaterLikeFluidProperties"
|
||||
&fluid.name, "FlowingWaterLikeFluidProperties"
|
||||
);
|
||||
}
|
||||
let mut fluid_props = Self::default(fluid);
|
||||
|
||||
@ -883,7 +883,7 @@ fn default_water_source_conversion() -> bool {
|
||||
GameRuleRegistry::default().water_source_conversion
|
||||
}
|
||||
mod as_string {
|
||||
use serde::{Deserialize, Deserializer, Serializer};
|
||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||
use std::{fmt::Display, str::FromStr};
|
||||
pub fn serialize<T: Display, S: Serializer>(
|
||||
value: &T,
|
||||
|
||||
@ -13,7 +13,8 @@ use crate::data_component_impl::*;
|
||||
use crate::effect::StatusEffect;
|
||||
use crate::sound::Sound;
|
||||
use crate::tag::{RegistryKey, Taggable};
|
||||
use crate::AttributeModifierSlot;
|
||||
use crate::{AttributeModifierSlot, tag};
|
||||
use pumpkin_nbt::{compound::NbtCompound, tag::NbtTag};
|
||||
use pumpkin_util::text::TextComponent;
|
||||
use std::borrow::Cow;
|
||||
use std::hash::{Hash, Hasher};
|
||||
@ -64238,6 +64239,7 @@ impl Item {
|
||||
],
|
||||
};
|
||||
#[must_use]
|
||||
#[allow(deprecated)]
|
||||
pub fn translated_name(&self) -> TextComponent {
|
||||
let name = self
|
||||
.components
|
||||
@ -64250,7 +64252,6 @@ impl Item {
|
||||
}
|
||||
})
|
||||
.unwrap_or(self.registry_key);
|
||||
#[allow(deprecated)]
|
||||
TextComponent::translate(name, &[])
|
||||
}
|
||||
#[doc = "Try to parse an item from a resource location string."]
|
||||
@ -67638,7 +67639,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const APPLE : Self = Self { id : 878 , registry_key : "minecraft:apple" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\tnutrition\x08\n\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\0\n\x17minecraft:use_animation\x08\x05value\x03eat\0\n\x0Eminecraft:tags\t\x04tags\x08\x02\x11minecraft:is_food\0\n\x17minecraft:use_modifiers\x08\x0Bstart_using\x06always\x01\x0Femit_vibrations\x01\x05\x0Cuse_duration\xCD\xCC\xCC?\x05\x11movement_modifier33\xB3>\0\n\x16minecraft:display_name\x08\x05value\x0Fitem.apple.name\0\n\x0Fitem_properties\x03\x11creative_category\x04\x08\x0Ecreative_group\0\x01\x04foil\0\x01\x0Eliquid_clipped\0\x01\x17can_destroy_in_creative\x01\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\0\x01\x0Fstacked_by_data\0\x03\ruse_animation\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x05apple\0\0\x03\x0Cuse_duration@\x01\x12hidden_in_commands\x02\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x03\x0Emax_stack_size\x80\x01\x01\x0Eshould_despawn\x01\x08\x10enchantable_slot\x04none\0\t\titem_tags\x08\x02\x11minecraft:is_food\0\0" } ;
|
||||
pub const APPLE : Self = Self { id : 878 , registry_key : "minecraft:apple" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x16minecraft:display_name\x08\x05value\x0Fitem.apple.name\0\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\tnutrition\x08\x05\x13saturation_modifier\x9A\x99\x99>\n\x11using_converts_to\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x02\x11minecraft:is_food\0\n\x0Fitem_properties\x08\x0Ecreative_group\0\x01\x0Eallow_off_hand\0\x03\ruse_animation\x02\x03\x0Cuse_duration@\x03\x11creative_category\x04\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\0\x03\x0Bframe_count\x02\x01\x04foil\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\0\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x08\x10enchantable_slot\x04none\x03\x06damage\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x05apple\0\0\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x80\x01\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\x01\x05\x11movement_modifier33\xB3>\x05\x0Cuse_duration\xCD\xCC\xCC?\x08\x0Bstart_using\x06always\0\n\x17minecraft:use_animation\x08\x05value\x03eat\0\t\titem_tags\x08\x02\x11minecraft:is_food\0\0" } ;
|
||||
pub const ARCHER_POTTERY_SHERD: Self = Self {
|
||||
id: 671,
|
||||
registry_key: "minecraft:archer_pottery_sherd",
|
||||
@ -67723,7 +67724,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const BAKED_POTATO : Self = Self { id : 281 , registry_key : "minecraft:baked_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x03\tnutrition\n\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\0" } ;
|
||||
pub const BAKED_POTATO : Self = Self { id : 281 , registry_key : "minecraft:baked_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\x9A\x99\x19?\x03\ron_use_action\x01\x03\tnutrition\n\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\0\0\0" } ;
|
||||
pub const BALLOON: Self = Self {
|
||||
id: 612,
|
||||
registry_key: "minecraft:balloon",
|
||||
@ -67976,7 +67977,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const BEEF : Self = Self { id : 273 , registry_key : "minecraft:beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x06\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const BEEF : Self = Self { id : 273 , registry_key : "minecraft:beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x03\tnutrition\x06\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0\0" } ;
|
||||
pub const BEEHIVE: Self = Self {
|
||||
id: -219,
|
||||
registry_key: "minecraft:beehive",
|
||||
@ -67984,9 +67985,9 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const BEETROOT : Self = Self { id : 285 , registry_key : "minecraft:beetroot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x02\x03\ron_use_action\x01\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\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const BEETROOT_SEEDS : Self = Self { id : 295 , registry_key : "minecraft:beetroot_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\x0Bcrop_result\x12minecraft:beetroot\x01\x1Aplant_at_any_solid_surface\0\0\0\0" } ;
|
||||
pub const BEETROOT_SOUP : Self = Self { id : 286 , registry_key : "minecraft:beetroot_soup" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x08\x11using_converts_to\x04bowl\x05\x13saturation_modifier\x9A\x99\x19?\x03\tnutrition\x0C\x08\rcooldown_type\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\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\x03\x18minecraft:max_stack_size\x02\0\0" } ;
|
||||
pub const BEETROOT : Self = Self { id : 285 , registry_key : "minecraft:beetroot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x03\ron_use_action\x01\x03\tnutrition\x02\0\0\0" } ;
|
||||
pub const BEETROOT_SEEDS : Self = Self { id : 295 , registry_key : "minecraft:beetroot_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x12minecraft:beetroot\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\0\0\0" } ;
|
||||
pub const BEETROOT_SOUP : Self = Self { id : 286 , registry_key : "minecraft:beetroot_soup" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\tnutrition\x0C\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x19?\x08\x11using_converts_to\x04bowl\0\x03\x18minecraft:max_stack_size\x02\0\0" } ;
|
||||
pub const BELL: Self = Self {
|
||||
id: -206,
|
||||
registry_key: "minecraft:bell",
|
||||
@ -68148,7 +68149,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const BLACK_BUNDLE : Self = Self { id : 857 , registry_key : "minecraft:black_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x01\x04foil\0\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\x06damage\0\x01\x0Fstacked_by_data\0\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x03\x11creative_category\x06\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x02\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\x03\x0Cuse_duration\0\x01\x0Eliquid_clipped\0\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\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0\0" } ;
|
||||
pub const BLACK_BUNDLE : Self = Self { id : 857 , registry_key : "minecraft:black_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\x01\rhand_equipped\0\x01\x04foil\0\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\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\x0Bframe_count\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\0\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x03\x06damage\0\x08\x0Ecreative_group\0\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\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\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0\0" } ;
|
||||
pub const BLACK_CANDLE: Self = Self {
|
||||
id: -428,
|
||||
registry_key: "minecraft:black_candle",
|
||||
@ -68324,7 +68325,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const BLUE_BUNDLE : Self = Self { id : 858 , registry_key : "minecraft:blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\t\titem_tags\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x16minecraft:storage_item\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\x01\x1Aallow_nested_storage_items\x01\0\n\x0Fitem_properties\x03\x0Bframe_count\x02\x03\x06damage\0\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x16bundle_blue_open_front\x08\x07default\x0Bbundle_blue\x08\x10bundle_open_back\x15bundle_blue_open_back\0\0\x03\x11enchantable_value\0\x01\x17can_destroy_in_creative\x01\x08\x10enchantable_slot\x04none\x01\x0Eshould_despawn\x01\x03\x11creative_category\x06\x01\rhand_equipped\0\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x01\x0Fstacked_by_data\0\x03\x0Emax_stack_size\x02\x01\x0Eallow_off_hand\0\x01\x04foil\0\x01\x12hidden_in_commands\x02\x03\x0Cuse_duration\0\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0\0" } ;
|
||||
pub const BLUE_BUNDLE : Self = Self { id : 858 , registry_key : "minecraft:blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x01\x04foil\0\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x04none\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x03\x06damage\0\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x03\x11creative_category\x06\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x03\ruse_animation\0\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bbundle_blue\x08\x10bundle_open_back\x15bundle_blue_open_back\x08\x11bundle_open_front\x16bundle_blue_open_front\0\0\x08\x0Ecreative_group\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\t\titem_tags\0\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\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0\0" } ;
|
||||
pub const BLUE_CANDLE: Self = Self {
|
||||
id: -424,
|
||||
registry_key: "minecraft:blue_candle",
|
||||
@ -68563,8 +68564,8 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const BREAD : Self = Self { id : 261 , registry_key : "minecraft:bread" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\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\n\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x19?\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const BREEZE_ROD : Self = Self { id : 874 , registry_key : "minecraft:breeze_rod" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x16minecraft:display_name\x08\x05value\x14item.breeze_rod.name\0\n\x0Fitem_properties\x01\x0Eliquid_clipped\0\x01\x0Eshould_despawn\x01\x01\rhand_equipped\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nbreeze_rod\0\0\x03\x11creative_category\x08\x03\ruse_animation\0\x03\x0Cuse_duration\0\x03\x0Emax_stack_size\x80\x01\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x04none\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x01\x0Fstacked_by_data\0\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\0\t\titem_tags\0\0\0\0" } ;
|
||||
pub const BREAD : Self = Self { id : 261 , registry_key : "minecraft:bread" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\x11using_converts_to\0\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x19?\x03\tnutrition\n\x03\ron_use_action\x01\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\0\0\0" } ;
|
||||
pub const BREEZE_ROD : Self = Self { id : 874 , registry_key : "minecraft:breeze_rod" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x16minecraft:display_name\x08\x05value\x14item.breeze_rod.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x0Fitem_properties\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x01\x0Eshould_despawn\x01\x01\x17can_destroy_in_creative\x01\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x03\x0Emax_stack_size\x80\x01\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x01\x04foil\0\x03\x0Cuse_duration\0\x03\x0Bframe_count\x02\x03\x11creative_category\x08\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nbreeze_rod\0\0\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\x01\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\0\t\titem_tags\0\0\0\0" } ;
|
||||
pub const BREEZE_SPAWN_EGG: Self = Self {
|
||||
id: 506,
|
||||
registry_key: "minecraft:breeze_spawn_egg",
|
||||
@ -68628,7 +68629,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const BROWN_BUNDLE : Self = Self { id : 859 , registry_key : "minecraft:brown_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\t\titem_tags\0\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x01\x04foil\0\x01\x0Eshould_despawn\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Cbundle_brown\x08\x10bundle_open_back\x16bundle_brown_open_back\x08\x11bundle_open_front\x17bundle_brown_open_front\0\0\x03\x11creative_category\x06\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x08\x0Ecreative_group\0\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x03\x0Cuse_duration\0\x01\rhand_equipped\0\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x08\x10enchantable_slot\x04none\x03\x06damage\0\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\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\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0\0" } ;
|
||||
pub const BROWN_BUNDLE : Self = Self { id : 859 , registry_key : "minecraft:brown_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x03\x0Cuse_duration\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x16bundle_brown_open_back\x08\x07default\x0Cbundle_brown\x08\x11bundle_open_front\x17bundle_brown_open_front\0\0\x01\rhand_equipped\0\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x01\x0Eshould_despawn\x01\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\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\x03\tmax_slots\x80\x01\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\0\0\0" } ;
|
||||
pub const BROWN_CANDLE: Self = Self {
|
||||
id: -425,
|
||||
registry_key: "minecraft:brown_candle",
|
||||
@ -68804,7 +68805,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const BUNDLE : Self = Self { id : 860 , registry_key : "minecraft:bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\x0Fitem_properties\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x03\x0Cuse_duration\0\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x01\x04foil\0\x03\x06damage\0\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x01\x0Eliquid_clipped\0\x05\x0Cmining_speed\0\0\x80?\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x10bundle_open_back\x08\x07default\x06bundle\x08\x11bundle_open_front\x11bundle_open_front\0\0\x03\ruse_animation\0\x01\x12hidden_in_commands\x02\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\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0\0" } ;
|
||||
pub const BUNDLE : Self = Self { id : 860 , registry_key : "minecraft:bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x0Fitem_properties\x03\x0Cuse_duration\0\x01\x0Eallow_off_hand\0\x01\x17can_destroy_in_creative\x01\x01\x0Fstacked_by_data\0\x01\x04foil\0\x03\x06damage\0\x08\x10enchantable_slot\x04none\x01\rhand_equipped\0\x05\x0Cmining_speed\0\0\x80?\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x06bundle\x08\x11bundle_open_front\x11bundle_open_front\x08\x10bundle_open_back\x10bundle_open_back\0\0\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x03\x11enchantable_value\0\x03\ruse_animation\0\x08\x0Ecreative_group\0\x03\x0Emax_stack_size\x02\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\x01\x1Aallow_nested_storage_items\x01\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\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0\0" } ;
|
||||
pub const BURN_POTTERY_SHERD: Self = Self {
|
||||
id: 675,
|
||||
registry_key: "minecraft:burn_pottery_sherd",
|
||||
@ -68868,7 +68869,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const CAMERA : Self = Self { id : 607 , registry_key : "minecraft:camera" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x10minecraft:camera\x05\x13black_bars_duration\xCD\xCCL>\x05\x13slide_away_duration\xCD\xCCL>\x05\x17black_bars_screen_ratio\n\xD7\xA3=\x05\x14shutter_screen_ratio\0\0\0?\x05\x10shutter_duration\xCD\xCCL>\x05\x10picture_duration\0\0\x80?\0\x03\x16minecraft:use_duration\xC0\x9A\x0C\x08\x0Fminecraft:block\x10minecraft:camera\0\0" } ;
|
||||
pub const CAMERA : Self = Self { id : 607 , registry_key : "minecraft:camera" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration\xC0\x9A\x0C\x08\x0Fminecraft:block\x10minecraft:camera\n\x10minecraft:camera\x05\x13black_bars_duration\xCD\xCCL>\x05\x10shutter_duration\xCD\xCCL>\x05\x17black_bars_screen_ratio\n\xD7\xA3=\x05\x13slide_away_duration\xCD\xCCL>\x05\x14shutter_screen_ratio\0\0\0?\x05\x10picture_duration\0\0\x80?\0\0\0" } ;
|
||||
pub const CAMPFIRE: Self = Self {
|
||||
id: 601,
|
||||
registry_key: "minecraft:campfire",
|
||||
@ -68897,7 +68898,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const CARROT : Self = Self { id : 279 , registry_key : "minecraft:carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x11minecraft:carrots\x08\rplant_at_face\x02up\t\x08plant_at\x08\x02\x12minecraft:farmland\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x08\x11using_converts_to\0\x03\tnutrition\x06\x03\ron_use_action\x01\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\0\0\0" } ;
|
||||
pub const CARROT : Self = Self { id : 279 , registry_key : "minecraft:carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x06\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x03\ron_use_action\x01\0\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x11minecraft:carrots\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const CARROT_ON_A_STICK: Self = Self {
|
||||
id: 527,
|
||||
registry_key: "minecraft:carrot_on_a_stick",
|
||||
@ -69199,7 +69200,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const CHICKEN : Self = Self { id : 275 , registry_key : "minecraft:chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\x03\ron_use_action\x01\t\x07effects\n\x02\x03\x02id\"\x08\x04name\x06hunger\x03\tamplifier\0\x05\x06chance\x9A\x99\x99>\x08\rdescriptionId\rpotion.hunger\x03\x08duration<\0\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const CHICKEN : Self = Self { id : 275 , registry_key : "minecraft:chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x03\tnutrition\x04\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\x11using_converts_to\0\t\x07effects\n\x02\x03\tamplifier\0\x08\x04name\x06hunger\x05\x06chance\x9A\x99\x99>\x03\x08duration<\x08\rdescriptionId\rpotion.hunger\x03\x02id\"\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const CHICKEN_SPAWN_EGG: Self = Self {
|
||||
id: 439,
|
||||
registry_key: "minecraft:chicken_spawn_egg",
|
||||
@ -69319,7 +69320,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const CHORUS_FRUIT : Self = Self { id : 568 , registry_key : "minecraft:chorus_fruit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x08\rcooldown_type\x0Bchorusfruit\x03\ron_use_action\0\x03\rcooldown_time(\x01\x0Ecan_always_eat\x01\x08\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x08\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const CHORUS_FRUIT : Self = Self { id : 568 , registry_key : "minecraft:chorus_fruit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99>\x08\rcooldown_type\x0Bchorusfruit\x01\x0Ecan_always_eat\x01\x03\tnutrition\x08\x03\ron_use_action\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time(\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const CHORUS_PLANT: Self = Self {
|
||||
id: 240,
|
||||
registry_key: "minecraft:chorus_plant",
|
||||
@ -69544,7 +69545,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const COD : Self = Self { id : 264 , registry_key : "minecraft:cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\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\xCD\xCC\xCC=\x03\rcooldown_time\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\x08\rcooldown_type\0\x03\tnutrition\x04\0\x01\x19minecraft:stacked_by_data\x01\0\0" } ;
|
||||
pub const COD : Self = Self { id : 264 , registry_key : "minecraft:cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x04\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\x11using_converts_to\0\0\0\0" } ;
|
||||
pub const COD_BUCKET: Self = Self {
|
||||
id: 367,
|
||||
registry_key: "minecraft:cod_bucket",
|
||||
@ -69671,14 +69672,14 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const COOKED_BEEF : Self = Self { id : 274 , registry_key : "minecraft:cooked_beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x03\tnutrition\x10\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x05\x13saturation_modifier\xCD\xCCL?\x08\x11using_converts_to\0\x03\ron_use_action\x01\0\0\0" } ;
|
||||
pub const COOKED_CHICKEN : Self = Self { id : 276 , registry_key : "minecraft:cooked_chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\ron_use_action\x01\x03\rcooldown_time\0\x03\tnutrition\x0C\x08\x11using_converts_to\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\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_COD : Self = Self { id : 268 , registry_key : "minecraft:cooked_cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\x08\x11using_converts_to\0\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x03\tnutrition\n\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\0\x01\x19minecraft:stacked_by_data\x01\0\0" } ;
|
||||
pub const COOKED_MUTTON : Self = Self { id : 561 , registry_key : "minecraft:cooked_mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCCL?\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x03\ron_use_action\x01\x08\rcooldown_type\0\x03\tnutrition\x0C\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_PORKCHOP : Self = Self { id : 263 , registry_key : "minecraft:cooked_porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x10\x03\ron_use_action\x01\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCCL?\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_RABBIT : Self = Self { id : 289 , registry_key : "minecraft:cooked_rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\tnutrition\n\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\x03\rcooldown_time\0\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_SALMON : Self = Self { id : 269 , registry_key : "minecraft:cooked_salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x03\ron_use_action\x01\x08\rcooldown_type\0\x03\tnutrition\x0C\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCCL?\x03\rcooldown_time\0\0\0\0" } ;
|
||||
pub const COOKIE : Self = Self { id : 271 , registry_key : "minecraft:cookie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\tnutrition\x04\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\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCC\xCC=\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_BEEF : Self = Self { id : 274 , registry_key : "minecraft:cooked_beef" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x05\x13saturation_modifier\xCD\xCCL?\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x10\x08\rcooldown_type\0\x08\x11using_converts_to\0\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_CHICKEN : Self = Self { id : 276 , registry_key : "minecraft:cooked_chicken" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\ron_use_action\x01\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x19?\x03\tnutrition\x0C\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_COD : Self = Self { id : 268 , registry_key : "minecraft:cooked_cod" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\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\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x19?\x03\tnutrition\n\x03\ron_use_action\x01\x08\rcooldown_type\0\0\x01\x19minecraft:stacked_by_data\x01\0\0" } ;
|
||||
pub const COOKED_MUTTON : Self = Self { id : 561 , registry_key : "minecraft:cooked_mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\ron_use_action\x01\x08\x11using_converts_to\0\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\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x0C\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_PORKCHOP : Self = Self { id : 263 , registry_key : "minecraft:cooked_porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x03\tnutrition\x10\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x05\x13saturation_modifier\xCD\xCCL?\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_RABBIT : Self = Self { id : 289 , registry_key : "minecraft:cooked_rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\rcooldown_time\0\x08\rcooldown_type\0\x08\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x19?\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\x03\tnutrition\n\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKED_SALMON : Self = Self { id : 269 , registry_key : "minecraft:cooked_salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\tnutrition\x0C\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCCL?\x08\rcooldown_type\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\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const COOKIE : Self = Self { id : 271 , registry_key : "minecraft:cookie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\x05\x13saturation_modifier\xCD\xCC\xCC=\x01\x0Ecan_always_eat\0\x08\rcooldown_type\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\x03\tnutrition\x04\0\0\0" } ;
|
||||
pub const COPPER_AXE: Self = Self {
|
||||
id: 750,
|
||||
registry_key: "minecraft:copper_axe",
|
||||
@ -69840,7 +69841,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const COPPER_SPEAR : Self = Self { id : 850 , registry_key : "minecraft:copper_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\x08\rrepair_amount)context.other->query.remaining_durability\t\x05items\n\x02\x08\x04name\x16minecraft:copper_spear\0\0\t\x05items\n\x02\x08\x04name\x16minecraft:copper_ingot\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\0\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\xFC\x02\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x18minecraft:swing_duration\x05\x05value\x9A\x99Y?\0\n\x12minecraft:cooldown\x05\x08duration\x9A\x99Y?\x08\x08category\x05spear\x08\x04type\x06attack\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x05\x0Cuse_duration\0\xA0\x8CG\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_sound\x15item.copper_spear.use\x08\x0Bstart_using\x06always\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\r\0\n\x0Fitem_properties\x03\x11enchantable_value\x1A\x03\ruse_animation\0\x01\rhand_equipped\x01\x08\x0Ecreative_group\0\x01\x04foil\0\x08\x10enchantable_slot\x0Bmelee_spear\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Ccopper_spear\0\0\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x06damage\x04\x01\x12hidden_in_commands\x02\x03\x0Bframe_count\x02\x05\x0Cmining_speed\0\0\x80?\x03\x11creative_category\x06\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\0\n\x16minecraft:display_name\x08\x05value\x16item.copper_spear.name\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\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\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\x0Fdamage_modifier\0\0\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\n\x14knockback_conditions\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\xA5\0\x05\x12min_relative_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\n\x13dismount_conditions\x02\x0Cmax_durationP\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0@A\0\x02\x05delay\r\0\n\x11damage_conditions\x02\x0Cmax_duration\xFA\0\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\0\x05\x11damage_multiplier\x85\xEBQ?\0\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.copper_spear.attack_hit\x08\x0Battack_miss\x1Ditem.copper_spear.attack_miss\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\t\titem_tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\0\0" } ;
|
||||
pub const COPPER_SPEAR : Self = Self { id : 850 , registry_key : "minecraft:copper_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x11damage_conditions\x02\x0Cmax_duration\xFA\0\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\0\n\x13dismount_conditions\x02\x0Cmax_durationP\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0@A\0\x05\x11damage_multiplier\x85\xEBQ?\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x02\x05delay\r\0\n\x14knockback_conditions\x02\x0Cmax_duration\xA5\0\x05\tmin_speed33\xA3@\x05\x12min_relative_speed\0\0\0\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\x05\x0Fdamage_modifier\0\0\0\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\x10minecraft:damage\x02\x05value\x02\0\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x16minecraft:copper_spear\0\x08\rrepair_amount)context.other->query.remaining_durability\0\t\x05items\n\x02\x08\x04name\x16minecraft:copper_ingot\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\0\0\n\x0Fitem_properties\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x03\x11creative_category\x06\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x03\ruse_animation\0\x01\x04foil\0\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\x01\x0Eshould_despawn\x01\x03\x06damage\x04\x08\x10enchantable_slot\x0Bmelee_spear\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\x1A\x01\rhand_equipped\x01\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Ccopper_spear\0\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\0\n\x12minecraft:cooldown\x05\x08duration\x9A\x99Y?\x08\x04type\x06attack\x08\x08category\x05spear\0\t\titem_tags\x08\x04\x15minecraft:copper_tier\x12minecraft:is_spear\n\x18minecraft:swing_duration\x05\x05value\x9A\x99Y?\0\n\x16minecraft:display_name\x08\x05value\x16item.copper_spear.name\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Ditem.copper_spear.attack_miss\x08\nattack_hit\x1Citem.copper_spear.attack_hit\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x08\x0Bstart_using\x06always\x08\x0Bstart_sound\x15item.copper_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\x05\x11movement_modifier\0\0\x80?\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\r\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\xFC\x02\0\0\0" } ;
|
||||
pub const COPPER_SWORD: Self = Self {
|
||||
id: 747,
|
||||
registry_key: "minecraft:copper_sword",
|
||||
@ -70205,7 +70206,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const CYAN_BUNDLE : Self = Self { id : 861 , registry_key : "minecraft:cyan_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x16bundle_cyan_open_front\x08\x07default\x0Bbundle_cyan\x08\x10bundle_open_back\x15bundle_cyan_open_back\0\0\x03\x11enchantable_value\0\x01\x04foil\0\x01\rhand_equipped\0\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\x08\x10enchantable_slot\x04none\x03\x11creative_category\x06\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x03\x0Emax_stack_size\x02\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\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\0\0\0" } ;
|
||||
pub const CYAN_BUNDLE : Self = Self { id : 861 , registry_key : "minecraft:cyan_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x0Fitem_properties\x03\x11enchantable_value\0\x03\x06damage\0\x01\x04foil\0\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\0\x01\x0Eallow_off_hand\0\x01\x0Eshould_despawn\x01\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\x08\x0Ecreative_group\0\x01\x17can_destroy_in_creative\x01\x03\x11creative_category\x06\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_cyan_open_back\x08\x07default\x0Bbundle_cyan\x08\x11bundle_open_front\x16bundle_cyan_open_front\0\0\x05\x0Cmining_speed\0\0\x80?\x08\x10enchantable_slot\x04none\0\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x16minecraft:storage_item\x03\tmax_slots\x80\x01\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\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0\0" } ;
|
||||
pub const CYAN_CANDLE: Self = Self {
|
||||
id: -422,
|
||||
registry_key: "minecraft:cyan_candle",
|
||||
@ -70927,7 +70928,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const DIAMOND_SPEAR : Self = Self { id : 851 , registry_key : "minecraft:diamond_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Eitem.diamond_spear.attack_miss\x08\nattack_hit\x1Ditem.diamond_spear.attack_hit\0\t\titem_tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\n\x17minecraft:use_modifiers\x08\x0Bstart_sound\x16item.diamond_spear.use\x01\x0Femit_vibrations\0\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_using\x06always\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x01\x0Fstacked_by_data\0\x03\x0Emax_stack_size\x02\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\x01\x04foil\0\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x0Bmelee_spear\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x0Eshould_despawn\x01\x01\x0Eliquid_clipped\0\x03\x11creative_category\x06\x03\ruse_animation\0\x01\rhand_equipped\x01\x05\x0Cmining_speed\0\0\x80?\x03\x11enchantable_value\x14\x03\x06damage\x08\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rdiamond_spear\0\0\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\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\n\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x18minecraft:swing_duration\x05\x05valueff\x86?\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\x08\rrepair_amount)context.other->query.remaining_durability\t\x05items\n\x02\x08\x04name\x17minecraft:diamond_spear\0\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\t\x05items\n\x02\x08\x04name\x11minecraft:diamond\0\0\0\n\x16minecraft:display_name\x08\x05value\x17item.diamond_spear.name\0\n\x14minecraft:durability\x03\x0Emax_durability\xB0\x18\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\0\n\x12minecraft:cooldown\x05\x08durationff\x86?\x08\x08category\x05spear\x08\x04type\x06attack\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x14knockback_conditions\x02\x0Cmax_duration\x82\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\x02\x05delay\n\0\n\x13dismount_conditions\x05\tmin_speed\0\0 A\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_duration<\0\0\x05\x11damage_multiplier\x9A\x99\x89?\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\xC8\0\0\x05\x0Fdamage_modifier\0\0\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\0\n\x10minecraft:damage\x02\x05value\x04\0\0\0\0" } ;
|
||||
pub const DIAMOND_SPEAR : Self = Self { id : 851 , registry_key : "minecraft:diamond_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\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\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x02\x05delay\n\0\n\x13dismount_conditions\x05\tmin_speed\0\0 A\x02\x0Cmax_duration<\0\x05\x12min_relative_speed\0\0\0\0\0\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\x0Fdamage_modifier\0\0\0\0\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\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\x11damage_multiplier\x9A\x99\x89?\0\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x16item.diamond_spear.use\x08\x0Bstart_using\x06always\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\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\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durability\xB0\x18\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Ditem.diamond_spear.attack_hit\x08\x0Battack_miss\x1Eitem.diamond_spear.attack_miss\0\n\x12minecraft:cooldown\x05\x08durationff\x86?\x08\x08category\x05spear\x08\x04type\x06attack\0\n\x10minecraft:damage\x02\x05value\x04\0\0\n\x16minecraft:display_name\x08\x05value\x17item.diamond_spear.name\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\x08\rrepair_amount)context.other->query.remaining_durability\t\x05items\n\x02\x08\x04name\x17minecraft:diamond_spear\0\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\t\x05items\n\x02\x08\x04name\x11minecraft:diamond\0\0\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\n\0\n\x0Fitem_properties\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11enchantable_value\x14\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rdiamond_spear\0\0\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\x03\x06damage\x08\x01\x17can_destroy_in_creative\x01\x01\rhand_equipped\x01\x01\x0Fstacked_by_data\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eallow_off_hand\0\x03\x0Bframe_count\x02\0\n\x18minecraft:swing_duration\x05\x05valueff\x86?\0\t\titem_tags\x08\x06\x16minecraft:diamond_tier\x1Dminecraft:transformable_items\x12minecraft:is_spear\0\0" } ;
|
||||
pub const DIAMOND_SWORD: Self = Self {
|
||||
id: 318,
|
||||
registry_key: "minecraft:diamond_sword",
|
||||
@ -71082,7 +71083,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const DRIED_KELP : Self = Self { id : 270 , registry_key : "minecraft:dried_kelp" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration \n\x0Eminecraft:food\x03\tnutrition\x02\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\rcooldown_type\0\x08\x11using_converts_to\0\0\0\0" } ;
|
||||
pub const DRIED_KELP : Self = Self { id : 270 , registry_key : "minecraft:dried_kelp" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x08\rcooldown_type\0\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\x08\x11using_converts_to\0\x03\tnutrition\x02\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCC\xCC=\0\x03\x16minecraft:use_duration \0\0" } ;
|
||||
pub const DRIED_KELP_BLOCK: Self = Self {
|
||||
id: -139,
|
||||
registry_key: "minecraft:dried_kelp_block",
|
||||
@ -72028,7 +72029,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const ENCHANTED_GOLDEN_APPLE : Self = Self { id : 259 , registry_key : "minecraft:enchanted_golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x01\x0Eminecraft:foil\x01\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99?\x03\rcooldown_time\0\x08\rcooldown_type\0\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\t\x07effects\n\x08\x03\x02id\x14\x08\x04name\x0Cregeneration\x03\tamplifier\x02\x05\x06chance\0\0\x80?\x08\rdescriptionId\x13potion.regeneration\x03\x08duration<\0\x03\tamplifier\x06\x05\x06chance\0\0\x80?\x03\x08duration\xF0\x01\x08\rdescriptionId\x11potion.absorption\x03\x02id,\x08\x04name\nabsorption\0\x08\x04name\nresistance\x05\x06chance\0\0\x80?\x08\rdescriptionId\x11potion.resistance\x03\tamplifier\0\x03\x02id\x16\x03\x08duration\xD8\x04\0\x05\x06chance\0\0\x80?\x08\x04name\x0Ffire_resistance\x08\rdescriptionId\x15potion.fireResistance\x03\tamplifier\0\x03\x08duration\xD8\x04\x03\x02id\x18\0\x03\tnutrition\x08\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const ENCHANTED_GOLDEN_APPLE : Self = Self { id : 259 , registry_key : "minecraft:enchanted_golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x03\rcooldown_time\0\x01\x0Ecan_always_eat\x01\x05\x13saturation_modifier\x9A\x99\x99?\x03\ron_use_action\x01\t\x07effects\n\x08\x03\x08duration<\x03\x02id\x14\x03\tamplifier\x02\x05\x06chance\0\0\x80?\x08\rdescriptionId\x13potion.regeneration\x08\x04name\x0Cregeneration\0\x05\x06chance\0\0\x80?\x03\tamplifier\x06\x08\rdescriptionId\x11potion.absorption\x03\x02id,\x03\x08duration\xF0\x01\x08\x04name\nabsorption\0\x03\x08duration\xD8\x04\x08\x04name\nresistance\x03\tamplifier\0\x03\x02id\x16\x08\rdescriptionId\x11potion.resistance\x05\x06chance\0\0\x80?\0\x03\x02id\x18\x08\x04name\x0Ffire_resistance\x08\rdescriptionId\x15potion.fireResistance\x03\tamplifier\0\x05\x06chance\0\0\x80?\x03\x08duration\xD8\x04\0\x03\tnutrition\x08\x08\rcooldown_type\0\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\x0Eminecraft:foil\x01\0\0" } ;
|
||||
pub const ENCHANTING_TABLE: Self = Self {
|
||||
id: 116,
|
||||
registry_key: "minecraft:enchanting_table",
|
||||
@ -72603,7 +72604,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const GLOW_BERRIES : Self = Self { id : 879 , registry_key : "minecraft:glow_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x08\x11using_converts_to\0\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x99>\x03\tnutrition\x04\x03\ron_use_action\x01\0\n\x0Eminecraft:seed\x01\x1Aplant_at_any_solid_surface\x01\x08\rplant_at_face\x04down\x08\x0Bcrop_result\x14minecraft:cave_vines\t\x08plant_at\x08\x04\ncave_vines\x1Ccave_vines_head_with_berries\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const GLOW_BERRIES : Self = Self { id : 879 , registry_key : "minecraft:glow_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x04\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\n\x0Eminecraft:seed\t\x08plant_at\x08\x04\ncave_vines\x1Ccave_vines_head_with_berries\x08\x0Bcrop_result\x14minecraft:cave_vines\x08\rplant_at_face\x04down\x01\x1Aplant_at_any_solid_surface\x01\0\0\0" } ;
|
||||
pub const GLOW_FRAME: Self = Self {
|
||||
id: 636,
|
||||
registry_key: "minecraft:glow_frame",
|
||||
@ -72702,7 +72703,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const GOLDEN_APPLE : Self = Self { id : 258 , registry_key : "minecraft:golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\t\x07effects\n\x04\x08\x04name\x0Cregeneration\x05\x06chance\0\0\x80?\x03\tamplifier\x02\x08\rdescriptionId\x13potion.regeneration\x03\x08duration\n\x03\x02id\x14\0\x05\x06chance\0\0\x80?\x03\x08duration\xF0\x01\x03\x02id,\x08\x04name\nabsorption\x03\tamplifier\0\x08\rdescriptionId\x11potion.absorption\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99?\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\x01\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x08\x08\rcooldown_type\0\0\0\0" } ;
|
||||
pub const GOLDEN_APPLE : Self = Self { id : 258 , registry_key : "minecraft:golden_apple" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x99?\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x08\t\x07effects\n\x04\x03\x08duration\n\x08\rdescriptionId\x13potion.regeneration\x05\x06chance\0\0\x80?\x03\tamplifier\x02\x08\x04name\x0Cregeneration\x03\x02id\x14\0\x08\rdescriptionId\x11potion.absorption\x03\x02id,\x05\x06chance\0\0\x80?\x03\x08duration\xF0\x01\x08\x04name\nabsorption\x03\tamplifier\0\0\0\0\0" } ;
|
||||
pub const GOLDEN_AXE: Self = Self {
|
||||
id: 328,
|
||||
registry_key: "minecraft:golden_axe",
|
||||
@ -72717,7 +72718,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const GOLDEN_CARROT : Self = Self { id : 283 , registry_key : "minecraft:golden_carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99?\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\tnutrition\x0C\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0\0" } ;
|
||||
pub const GOLDEN_CARROT : Self = Self { id : 283 , registry_key : "minecraft:golden_carrot" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99?\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\rcooldown_type\0\x08\x11using_converts_to\0\x03\tnutrition\x0C\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const GOLDEN_CHESTPLATE: Self = Self {
|
||||
id: 355,
|
||||
registry_key: "minecraft:golden_chestplate",
|
||||
@ -72788,7 +72789,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const GOLDEN_SPEAR : Self = Self { id : 852 , registry_key : "minecraft:golden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ngold_spear\0\0\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x01\rhand_equipped\x01\x01\x12hidden_in_commands\x02\x01\x0Fstacked_by_data\0\x08\x10enchantable_slot\x0Bmelee_spear\x03\ruse_animation\0\x03\x06damage\x02\x08\x0Ecreative_group\0\x03\x11creative_category\x06\x05\x0Cmining_speed\0\0\x80?\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\x03\x11enchantable_value,\x01\x04foil\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x16\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\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durability<\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x13dismount_conditions\x02\x0Cmax_durationF\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0PA\0\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x11damage_conditions\x02\x0Cmax_duration\x13\x01\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\0\x05\x11damage_multiplier333?\x02\x05delay\x0E\0\x05\x0Fdamage_modifier\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\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration33s?\x08\x04type\x06attack\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\0\n\x16minecraft:display_name\x08\x05value\x16item.golden_spear.name\0\t\titem_tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\n\x17minecraft:hand_equipped\x01\x05value\x01\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\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x16minecraft:golden_spear\0\x08\rrepair_amount)context.other->query.remaining_durability\0\t\x05items\n\x02\x08\x04name\x14minecraft:gold_ingot\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\0\0\n\x17minecraft:use_modifiers\x08\x0Bstart_sound\x15item.golden_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_using\x06always\x01\x0Femit_vibrations\0\x05\x11movement_modifier\0\0\x80?\0\n\x10minecraft:damage\x02\x05value\x01\0\0\0\0" } ;
|
||||
pub const GOLDEN_SPEAR : Self = Self { id : 852 , registry_key : "minecraft:golden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x15item.golden_spear.use\x08\x0Bstart_using\x06always\x05\x0Cuse_duration\0\xA0\x8CG\0\t\titem_tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\n\x16minecraft:display_name\x08\x05value\x16item.golden_spear.name\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Ditem.golden_spear.attack_miss\x08\nattack_hit\x1Citem.golden_spear.attack_hit\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability<\0\n\x10minecraft:damage\x02\x05value\x01\0\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x16\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration33s?\x08\x04type\x06attack\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\x0Fdamage_modifier\0\0\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\x11damage_multiplier333?\x02\x05delay\x0E\0\n\x14knockback_conditions\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\xAA\0\x05\x12min_relative_speed\0\0\0\0\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\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\n\x11damage_conditions\x02\x0Cmax_duration\x13\x01\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\0\x05\rhitbox_margin\0\0\x80>\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x16minecraft:golden_spear\0\x08\rrepair_amount)context.other->query.remaining_durability\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\t\x05items\n\x02\x08\x04name\x14minecraft:gold_ingot\0\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:golden_tier\x12minecraft:is_spear\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x19minecraft:piercing_weapon\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\x05\rhitbox_margin\0\0\x80>\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x0Fitem_properties\x05\x0Cmining_speed\0\0\x80?\x03\x11creative_category\x06\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x0Bmelee_spear\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ngold_spear\0\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x0Eliquid_clipped\0\x01\rhand_equipped\x01\x03\ruse_animation\0\x01\x0Eshould_despawn\x01\x03\x06damage\x02\x01\x12hidden_in_commands\x02\x03\x11enchantable_value,\x03\x0Emax_stack_size\x02\x01\x0Eallow_off_hand\0\x01\x04foil\0\x03\x0Bframe_count\x02\0\0\0" } ;
|
||||
pub const GOLDEN_SWORD: Self = Self {
|
||||
id: 325,
|
||||
registry_key: "minecraft:golden_sword",
|
||||
@ -72852,7 +72853,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const GRAY_BUNDLE : Self = Self { id : 862 , registry_key : "minecraft:gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x03\x0Emax_stack_size\x02\x01\x04foil\0\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x03\ruse_animation\0\x08\x10enchantable_slot\x04none\x03\x11creative_category\x06\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x03\x06damage\0\x03\x0Cuse_duration\0\x01\x0Eliquid_clipped\0\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\x05\x0Cmining_speed\0\0\x80?\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x03\x11enchantable_value\0\0\t\titem_tags\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\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\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0\0" } ;
|
||||
pub const GRAY_BUNDLE : Self = Self { id : 862 , registry_key : "minecraft:gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\0\x01\x12hidden_in_commands\x02\x01\x04foil\0\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x03\x11enchantable_value\0\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bbundle_gray\x08\x10bundle_open_back\x15bundle_gray_open_back\x08\x11bundle_open_front\x16bundle_gray_open_front\0\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\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\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0\0" } ;
|
||||
pub const GRAY_CANDLE: Self = Self {
|
||||
id: -420,
|
||||
registry_key: "minecraft:gray_candle",
|
||||
@ -72951,7 +72952,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const GREEN_BUNDLE : Self = Self { id : 863 , registry_key : "minecraft:green_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\x18minecraft:max_stack_size\x01\x05value\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\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\0\t\titem_tags\0\0\n\x0Fitem_properties\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x01\x12hidden_in_commands\x02\x03\x06damage\0\x01\x0Eallow_off_hand\0\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x03\x0Cuse_duration\0\x01\x0Eliquid_clipped\0\x01\x04foil\0\x03\x11creative_category\x06\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Cbundle_green\x08\x11bundle_open_front\x17bundle_green_open_front\x08\x10bundle_open_back\x16bundle_green_open_back\0\0\x08\x10enchantable_slot\x04none\x03\x11enchantable_value\0\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x01\x0Eshould_despawn\x01\0\0\0" } ;
|
||||
pub const GREEN_BUNDLE : Self = Self { id : 863 , registry_key : "minecraft:green_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\t\titem_tags\0\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\x03\x0Cuse_duration\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x03\x0Bframe_count\x02\x03\ruse_animation\0\x01\x04foil\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\x03\x11enchantable_value\0\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\x03\x06damage\0\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\x03\x11creative_category\x06\x01\rhand_equipped\0\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x01\x12hidden_in_commands\x02\x05\x0Cmining_speed\0\0\x80?\0\0\0" } ;
|
||||
pub const GREEN_CANDLE: Self = Self {
|
||||
id: -426,
|
||||
registry_key: "minecraft:green_candle",
|
||||
@ -73414,7 +73415,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const HONEY_BOTTLE : Self = Self { id : 604 , registry_key : "minecraft:honey_bottle" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_durationP\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\tnutrition\x0C\x03\rcooldown_time\0\x01\x0Ecan_always_eat\x01\x08\x11using_converts_to\x0Cglass_bottle\x03\ron_use_action\x01\x08\rcooldown_type\0\x05\x13saturation_modifier\xCD\xCC\xCC=\t\x0Eremove_effects\x03\x02&\0\x03\x18minecraft:max_stack_size \0\0" } ;
|
||||
pub const HONEY_BOTTLE : Self = Self { id : 604 , registry_key : "minecraft:honey_bottle" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_durationP\n\x0Eminecraft:food\x08\x11using_converts_to\x0Cglass_bottle\t\x0Eremove_effects\x03\x02&\x05\x13saturation_modifier\xCD\xCC\xCC=\x01\x0Ecan_always_eat\x01\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\x0C\0\x03\x18minecraft:max_stack_size \0\0" } ;
|
||||
pub const HONEYCOMB: Self = Self {
|
||||
id: 603,
|
||||
registry_key: "minecraft:honeycomb",
|
||||
@ -73716,7 +73717,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const IRON_SPEAR : Self = Self { id : 853 , registry_key : "minecraft:iron_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\x08\rrepair_amount)context.other->query.remaining_durability\t\x05items\n\x02\x08\x04name\x14minecraft:iron_spear\0\0\t\x05items\n\x02\x08\x04name\x14minecraft:iron_ingot\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x19minecraft:piercing_weapon\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\0\n\x10minecraft:damage\x02\x05value\x03\0\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\x11damage_multiplier33s?\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x11damage_conditions\x05\tmin_speed\0\0\0\0\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration\xE1\0\0\x05\x0Fdamage_modifier\0\0\0\0\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\x000A\x02\x0Cmax_duration2\0\0\x02\x05delay\x0C\0\n\x14knockback_conditions\x02\x0Cmax_duration\x87\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\0\0\n\x0Fitem_properties\x03\x11creative_category\x06\x08\x0Ecreative_group\0\x01\x04foil\0\x01\x0Eliquid_clipped\0\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x0Bmelee_spear\x05\x0Cmining_speed\0\0\x80?\x01\x12hidden_in_commands\x02\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\niron_spear\0\0\x01\x0Eallow_off_hand\0\x01\x17can_destroy_in_creative\x01\x03\x06damage\x06\x03\ruse_animation\0\x03\x0Emax_stack_size\x02\x03\x11enchantable_value\x1C\x01\x0Eshould_despawn\x01\x01\rhand_equipped\x01\0\n\x16minecraft:swing_sounds\x08\x0Battack_miss\x1Bitem.iron_spear.attack_miss\x08\nattack_hit\x1Aitem.iron_spear.attack_hit\0\n\x16minecraft:display_name\x08\x05value\x14item.iron_spear.name\0\n\x12minecraft:cooldown\x08\x04type\x06attack\x08\x08category\x05spear\x05\x08duration33s?\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x17minecraft:use_modifiers\x01\x0Femit_vibrations\0\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_sound\x13item.iron_spear.use\x08\x0Bstart_using\x06always\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0E\0\t\titem_tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\n\x14minecraft:durability\x03\x0Emax_durability\xF4\x03\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\0\0\0" } ;
|
||||
pub const IRON_SPEAR : Self = Self { id : 853 , registry_key : "minecraft:iron_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x18minecraft:swing_duration\x05\x05value33s?\0\n\x16minecraft:display_name\x08\x05value\x14item.iron_spear.name\0\n\x10minecraft:damage\x02\x05value\x03\0\0\n\x14minecraft:durability\x03\x0Emax_durability\xF4\x03\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\0\n\x15minecraft:enchantable\x01\x05value\x0E\x08\x04slot\x0Bmelee_spear\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Aitem.iron_spear.attack_hit\x08\x0Battack_miss\x1Bitem.iron_spear.attack_miss\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\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\x0Fdamage_modifier\0\0\0\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\xE1\0\0\n\x13dismount_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\x000A\x02\x0Cmax_duration2\0\0\x05\x11damage_multiplier33s?\n\x14knockback_conditions\x02\x0Cmax_duration\x87\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x02\x05delay\x0C\0\x05\rhitbox_margin\0\0\x80>\0\0\t\titem_tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\n\x0Fitem_properties\x03\x0Bframe_count\x02\x03\x06damage\x06\x01\rhand_equipped\x01\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x11enchantable_value\x1C\x01\x17can_destroy_in_creative\x01\x08\x10enchantable_slot\x0Bmelee_spear\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x03\ruse_animation\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\niron_spear\0\0\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\x01\x04foil\0\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x14minecraft:iron_spear\0\x08\rrepair_amount)context.other->query.remaining_durability\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\t\x05items\n\x02\x08\x04name\x14minecraft:iron_ingot\0\0\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x13minecraft:iron_tier\x12minecraft:is_spear\0\n\x17minecraft:use_modifiers\x08\x0Bstart_sound\x13item.iron_spear.use\x05\x11movement_modifier\0\0\x80?\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_using\x06always\x01\x0Femit_vibrations\0\0\n\x12minecraft:cooldown\x05\x08duration33s?\x08\x08category\x05spear\x08\x04type\x06attack\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0\0" } ;
|
||||
pub const IRON_SWORD: Self = Self {
|
||||
id: 309,
|
||||
registry_key: "minecraft:iron_sword",
|
||||
@ -74298,7 +74299,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const LIGHT_BLUE_BUNDLE : Self = Self { id : 864 , registry_key : "minecraft:light_blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\t\titem_tags\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\x0Fitem_properties\x03\x0Cuse_duration\0\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x03\x06damage\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x1Bbundle_light_blue_open_back\x08\x11bundle_open_front\x1Cbundle_light_blue_open_front\x08\x07default\x11bundle_light_blue\0\0\x01\x0Eallow_off_hand\0\x01\x04foil\0\x03\x0Bframe_count\x02\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x01\rhand_equipped\0\x03\x11enchantable_value\0\x01\x0Eshould_despawn\x01\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\x03\x0Emax_stack_size\x02\x01\x0Fstacked_by_data\0\x05\x0Cmining_speed\0\0\x80?\x03\ruse_animation\0\0\0\0" } ;
|
||||
pub const LIGHT_BLUE_BUNDLE : Self = Self { id : 864 , registry_key : "minecraft:light_blue_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x05\x0Cmining_speed\0\0\x80?\x08\x10enchantable_slot\x04none\x01\x12hidden_in_commands\x02\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x01\rhand_equipped\0\x03\x0Cuse_duration\0\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x1Bbundle_light_blue_open_back\x08\x07default\x11bundle_light_blue\x08\x11bundle_open_front\x1Cbundle_light_blue_open_front\0\0\x03\ruse_animation\0\x01\x0Fstacked_by_data\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x01\x0Eshould_despawn\x01\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\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0\0" } ;
|
||||
pub const LIGHT_BLUE_CANDLE: Self = Self {
|
||||
id: -416,
|
||||
registry_key: "minecraft:light_blue_candle",
|
||||
@ -74397,7 +74398,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const LIGHT_GRAY_BUNDLE : Self = Self { id : 865 , registry_key : "minecraft:light_gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x08\x0Ecreative_group\0\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x08\x10enchantable_slot\x04none\x01\x04foil\0\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\x01\x0Eshould_despawn\x01\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x1Cbundle_light_gray_open_front\x08\x07default\x11bundle_light_gray\x08\x10bundle_open_back\x1Bbundle_light_gray_open_back\0\0\x03\x0Cuse_duration\0\x03\x06damage\0\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x03\x0Emax_stack_size\x02\0\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\0\0" } ;
|
||||
pub const LIGHT_GRAY_BUNDLE : Self = Self { id : 865 , registry_key : "minecraft:light_gray_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x02\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x03\x0Cuse_duration\0\x03\x06damage\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x1Bbundle_light_gray_open_back\x08\x11bundle_open_front\x1Cbundle_light_gray_open_front\x08\x07default\x11bundle_light_gray\0\0\x01\rhand_equipped\0\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x01\x04foil\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x03\x11creative_category\x06\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\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\t\titem_tags\0\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\0\0" } ;
|
||||
pub const LIGHT_GRAY_CANDLE: Self = Self {
|
||||
id: -421,
|
||||
registry_key: "minecraft:light_gray_candle",
|
||||
@ -74517,7 +74518,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const LIME_BUNDLE : Self = Self { id : 866 , registry_key : "minecraft:lime_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x03\x0Emax_stack_size\x02\x08\x10enchantable_slot\x04none\x01\x0Eliquid_clipped\0\x01\x0Eallow_off_hand\0\x03\x06damage\0\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eshould_despawn\x01\x03\x0Cuse_duration\0\x03\x11creative_category\x06\x03\x11enchantable_value\0\x01\x04foil\0\x01\rhand_equipped\0\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x16bundle_lime_open_front\x08\x07default\x0Bbundle_lime\x08\x10bundle_open_back\x15bundle_lime_open_back\0\0\x01\x0Fstacked_by_data\0\0\t\titem_tags\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\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\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\0\0" } ;
|
||||
pub const LIME_BUNDLE : Self = Self { id : 866 , registry_key : "minecraft:lime_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x16minecraft:storage_item\x01\x1Aallow_nested_storage_items\x01\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\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\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x02\x03\ruse_animation\0\x01\x12hidden_in_commands\x02\x03\x06damage\0\x01\x04foil\0\x03\x0Bframe_count\x02\x05\x0Cmining_speed\0\0\x80?\x01\x17can_destroy_in_creative\x01\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x16bundle_lime_open_front\x08\x10bundle_open_back\x15bundle_lime_open_back\x08\x07default\x0Bbundle_lime\0\0\x01\x0Eallow_off_hand\0\x03\x11creative_category\x06\x01\x0Eliquid_clipped\0\x01\rhand_equipped\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\0\t\titem_tags\0\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0\0" } ;
|
||||
pub const LIME_CANDLE: Self = Self {
|
||||
id: -418,
|
||||
registry_key: "minecraft:lime_candle",
|
||||
@ -74721,7 +74722,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const MAGENTA_BUNDLE : Self = Self { id : 867 , registry_key : "minecraft:magenta_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\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\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x01\x04foil\0\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x03\x11creative_category\x06\x03\x06damage\0\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x01\x0Eshould_despawn\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Ebundle_magenta\x08\x10bundle_open_back\x18bundle_magenta_open_back\x08\x11bundle_open_front\x19bundle_magenta_open_front\0\0\x05\x0Cmining_speed\0\0\x80?\x01\x12hidden_in_commands\x02\x03\x0Cuse_duration\0\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\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\0\0\0" } ;
|
||||
pub const MAGENTA_BUNDLE : Self = Self { id : 867 , registry_key : "minecraft:magenta_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x03\x0Bframe_count\x02\x03\x11creative_category\x06\x01\x04foil\0\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x08\x0Ecreative_group\0\x03\x0Cuse_duration\0\x05\x0Cmining_speed\0\0\x80?\x01\x17can_destroy_in_creative\x01\x08\x10enchantable_slot\x04none\x03\ruse_animation\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\x03\x06damage\0\x01\x0Fstacked_by_data\0\x01\x0Eshould_despawn\x01\x03\x11enchantable_value\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\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\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0\0" } ;
|
||||
pub const MAGENTA_CANDLE: Self = Self {
|
||||
id: -415,
|
||||
registry_key: "minecraft:magenta_candle",
|
||||
@ -75023,8 +75024,8 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const MELON_SEEDS : Self = Self { id : 293 , registry_key : "minecraft:melon_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\x0Bcrop_result\x14minecraft:melon_stem\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\0\0\0" } ;
|
||||
pub const MELON_SLICE : Self = Self { id : 272 , registry_key : "minecraft:melon_slice" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99>\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x03\tnutrition\x04\x03\ron_use_action\x01\x08\x11using_converts_to\0\0\0\0" } ;
|
||||
pub const MELON_SEEDS : Self = Self { id : 293 , registry_key : "minecraft:melon_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\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\0" } ;
|
||||
pub const MELON_SLICE : Self = Self { id : 272 , registry_key : "minecraft:melon_slice" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\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\rcooldown_type\0\x03\rcooldown_time\0\x03\tnutrition\x04\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\0\0\0" } ;
|
||||
pub const MELON_STEM: Self = Self {
|
||||
id: 105,
|
||||
registry_key: "minecraft:melon_stem",
|
||||
@ -75242,7 +75243,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const MUSHROOM_STEW : Self = Self { id : 260 , registry_key : "minecraft:mushroom_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\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\x03\tnutrition\x0C\x08\x11using_converts_to\x04bowl\x05\x13saturation_modifier\x9A\x99\x19?\x03\ron_use_action\x01\x08\rcooldown_type\0\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const MUSHROOM_STEW : Self = Self { id : 260 , registry_key : "minecraft:mushroom_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x05\x13saturation_modifier\x9A\x99\x19?\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x08\rcooldown_type\0\x03\tnutrition\x0C\x08\x11using_converts_to\x04bowl\0\x03\x18minecraft:max_stack_size\x02\0\0" } ;
|
||||
pub const MUSIC_DISC_11: Self = Self {
|
||||
id: 554,
|
||||
registry_key: "minecraft:music_disc_11",
|
||||
@ -75397,7 +75398,7 @@ impl BedrockItem {
|
||||
component_based: true,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const MUTTON : Self = Self { id : 560 , registry_key : "minecraft:mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\x11using_converts_to\0\x03\tnutrition\x04\x03\ron_use_action\x01\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99>\0\0\0" } ;
|
||||
pub const MUTTON : Self = Self { id : 560 , registry_key : "minecraft:mutton" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x03\tnutrition\x04\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\x9A\x99\x99>\x08\rcooldown_type\0\x08\x11using_converts_to\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const MYCELIUM: Self = Self {
|
||||
id: 110,
|
||||
registry_key: "minecraft:mycelium",
|
||||
@ -75489,7 +75490,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const NETHER_WART : Self = Self { id : 294 , registry_key : "minecraft:nether_wart" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x15minecraft:nether_wart\t\x08plant_at\x08\x02\tsoul_sand\x01\x1Aplant_at_any_solid_surface\0\0\0\0" } ;
|
||||
pub const NETHER_WART : Self = Self { id : 294 , registry_key : "minecraft:nether_wart" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\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\0" } ;
|
||||
pub const NETHER_WART_BLOCK: Self = Self {
|
||||
id: 214,
|
||||
registry_key: "minecraft:nether_wart_block",
|
||||
@ -75595,7 +75596,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const NETHERITE_SPEAR : Self = Self { id : 854 , registry_key : "minecraft:netherite_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\x08\rrepair_amount)context.other->query.remaining_durability\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_spear\0\0\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_ingot\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x10minecraft:damage\x02\x05value\x05\0\0\n\x19minecraft:piercing_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\0\n\x17minecraft:use_modifiers\x08\x0Bstart_sound\x18item.netherite_spear.use\x01\x0Femit_vibrations\0\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_using\x06always\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\0\n\x18minecraft:fire_resistant\x01\x05value\x01\0\n\x0Fitem_properties\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x08\x10enchantable_slot\x0Bmelee_spear\x01\x0Eliquid_clipped\0\x03\ruse_animation\0\x01\x0Fstacked_by_data\0\x01\x0Eshould_despawn\x01\x08\x0Ecreative_group\0\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\n\x01\x04foil\0\x03\x0Bframe_count\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Fnetherite_spear\0\0\x01\x0Eallow_off_hand\0\x03\x11creative_category\x06\x03\x11enchantable_value\x1E\x01\x12hidden_in_commands\x02\x01\rhand_equipped\x01\0\n\x16minecraft:display_name\x08\x05value\x19item.netherite_spear.name\0\n\x15minecraft:enchantable\x01\x05value\x0F\x08\x04slot\x0Bmelee_spear\0\t\titem_tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\n\x18minecraft:swing_duration\x05\x05value33\x93?\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\rhitbox_margin\0\0\x80>\x05\x11damage_multiplier\x9A\x99\x99?\x05\x0Fdamage_modifier\0\0\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x13dismount_conditions\x05\tmin_speed\0\0\x10A\x02\x0Cmax_duration2\0\x05\x12min_relative_speed\0\0\0\0\0\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\xAF\0\0\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\x02\x0Cmax_durationn\0\0\x02\x05delay\x08\0\0\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Fitem.netherite_spear.attack_hit\x08\x0Battack_miss item.netherite_spear.attack_miss\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\xDC\x1F\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration33\x93?\x08\x04type\x06attack\0\0\0" } ;
|
||||
pub const NETHERITE_SPEAR : Self = Self { id : 854 , registry_key : "minecraft:netherite_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\x05\x11damage_multiplier\x9A\x99\x99?\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\x02\x05delay\x08\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\xAF\0\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x13dismount_conditions\x05\tmin_speed\0\0\x10A\x02\x0Cmax_duration2\0\x05\x12min_relative_speed\0\0\0\0\0\n\x14knockback_conditions\x02\x0Cmax_durationn\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\x05\x0Fdamage_modifier\0\0\0\0\0\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_spear\0\x08\rrepair_amount)context.other->query.remaining_durability\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\t\x05items\n\x02\x08\x04name\x19minecraft:netherite_ingot\0\0\0\n\x0Fitem_properties\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\x1E\x05\x0Cmining_speed\0\0\x80?\x01\rhand_equipped\x01\x03\x06damage\n\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Fnetherite_spear\0\0\x03\x0Emax_stack_size\x02\x03\ruse_animation\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x01\x04foil\0\x08\x10enchantable_slot\x0Bmelee_spear\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\0\n\x18minecraft:fire_resistant\x01\x05value\x01\0\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration33\x93?\x08\x04type\x06attack\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Fitem.netherite_spear.attack_hit\x08\x0Battack_miss item.netherite_spear.attack_miss\0\t\titem_tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\n\x10minecraft:damage\x02\x05value\x05\0\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x01\x0Femit_vibrations\0\x08\x0Bstart_using\x06always\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_sound\x18item.netherite_spear.use\0\n\x19minecraft:piercing_weapon\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>\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0F\0\n\x16minecraft:display_name\x08\x05value\x19item.netherite_spear.name\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x18minecraft:swing_duration\x05\x05value33\x93?\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x18minecraft:netherite_tier\x12minecraft:is_spear\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durability\xDC\x1F\0\0\0" } ;
|
||||
pub const NETHERITE_SWORD: Self = Self {
|
||||
id: 617,
|
||||
registry_key: "minecraft:netherite_sword",
|
||||
@ -75792,7 +75793,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const OMINOUS_TRIAL_KEY : Self = Self { id : 875 , registry_key : "minecraft:ominous_trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\t\titem_tags\0\0\n\x0Fitem_properties\x01\x04foil\0\x03\x06damage\0\x03\x11creative_category\x08\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x80\x01\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x04none\x01\x17can_destroy_in_creative\x01\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x11ominous_trial_key\0\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\0\n\x16minecraft:display_name\x08\x05value\x1Bitem.ominous_trial_key.name\0\0\0" } ;
|
||||
pub const OMINOUS_TRIAL_KEY : Self = Self { id : 875 , registry_key : "minecraft:ominous_trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x16minecraft:display_name\x08\x05value\x1Bitem.ominous_trial_key.name\0\n\x0Fitem_properties\x03\x11enchantable_value\0\x01\rhand_equipped\0\x01\x0Eshould_despawn\x01\x01\x0Eallow_off_hand\0\x05\x0Cmining_speed\0\0\x80?\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x11ominous_trial_key\0\0\x01\x0Fstacked_by_data\0\x03\x11creative_category\x08\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x03\x0Emax_stack_size\x80\x01\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x01\x17can_destroy_in_creative\x01\x03\x06damage\0\x03\x0Cuse_duration\0\x01\x04foil\0\x03\ruse_animation\0\0\t\titem_tags\0\0\0\0" } ;
|
||||
pub const OPEN_EYEBLOSSOM: Self = Self {
|
||||
id: -1018,
|
||||
registry_key: "minecraft:open_eyeblossom",
|
||||
@ -75800,7 +75801,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const ORANGE_BUNDLE : Self = Self { id : 868 , registry_key : "minecraft:orange_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x18minecraft:max_stack_size\x01\x05value\x01\0\t\titem_tags\0\0\n\x16minecraft:storage_item\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\x0Cbanned_items\n\x04\x08\x04name\x15minecraft:shulker_box\0\x08\x04name\x1Cminecraft:undyed_shulker_box\0\0\n\x0Fitem_properties\x03\x0Cuse_duration\0\x03\x11enchantable_value\0\x08\x10enchantable_slot\x04none\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x01\rhand_equipped\0\x01\x0Eallow_off_hand\0\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\x05\x0Cmining_speed\0\0\x80?\x01\x12hidden_in_commands\x02\x03\x11creative_category\x06\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\x01\x0Fstacked_by_data\0\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x02\x03\x06damage\0\x08\x0Ecreative_group\0\x03\ruse_animation\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\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\0\0" } ;
|
||||
pub const ORANGE_BUNDLE : Self = Self { id : 868 , registry_key : "minecraft:orange_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x05\x0Cmining_speed\0\0\x80?\x03\x06damage\0\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x01\x0Eshould_despawn\x01\x03\x0Bframe_count\x02\x03\ruse_animation\0\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\0\x01\x04foil\0\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x03\x11creative_category\x06\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x18bundle_orange_open_front\x08\x07default\rbundle_orange\x08\x10bundle_open_back\x17bundle_orange_open_back\0\0\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\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\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\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\t\titem_tags\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\0\0" } ;
|
||||
pub const ORANGE_CANDLE: Self = Self {
|
||||
id: -414,
|
||||
registry_key: "minecraft:orange_candle",
|
||||
@ -76333,7 +76334,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const PINK_BUNDLE : Self = Self { id : 869 , registry_key : "minecraft:pink_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\x05\x0Cmining_speed\0\0\x80?\x01\x0Eallow_off_hand\0\x03\x0Emax_stack_size\x02\x01\x0Eshould_despawn\x01\x01\x12hidden_in_commands\x02\x08\x0Ecreative_group\0\x03\x11creative_category\x06\x01\x17can_destroy_in_creative\x01\x03\x0Bframe_count\x02\x01\x04foil\0\x08\x10enchantable_slot\x04none\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x15bundle_pink_open_back\x08\x11bundle_open_front\x16bundle_pink_open_front\x08\x07default\x0Bbundle_pink\0\0\x03\x11enchantable_value\0\x01\x0Fstacked_by_data\0\x03\x06damage\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\x01\x0Eliquid_clipped\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\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0\0" } ;
|
||||
pub const PINK_BUNDLE : Self = Self { id : 869 , registry_key : "minecraft:pink_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x03\x11enchantable_value\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x03\x11creative_category\x06\x01\x17can_destroy_in_creative\x01\x03\ruse_animation\0\x01\rhand_equipped\0\x01\x0Fstacked_by_data\0\x01\x12hidden_in_commands\x02\x08\x10enchantable_slot\x04none\n\x0Eminecraft:icon\n\x08textures\x08\x11bundle_open_front\x16bundle_pink_open_front\x08\x07default\x0Bbundle_pink\x08\x10bundle_open_back\x15bundle_pink_open_back\0\0\x01\x0Eshould_despawn\x01\x01\x04foil\0\x08\x0Ecreative_group\0\x03\x06damage\0\x03\x0Cuse_duration\0\x03\x0Bframe_count\x02\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\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!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\0\0" } ;
|
||||
pub const PINK_CANDLE: Self = Self {
|
||||
id: -419,
|
||||
registry_key: "minecraft:pink_candle",
|
||||
@ -76510,7 +76511,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const POISONOUS_POTATO : Self = Self { id : 282 , registry_key : "minecraft:poisonous_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\t\x07effects\n\x02\x08\x04name\x06poison\x08\rdescriptionId\rpotion.poison\x05\x06chance\x9A\x99\x19?\x03\tamplifier\0\x03\x08duration\n\x03\x02id&\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\tnutrition\x04\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\0\0\0" } ;
|
||||
pub const POISONOUS_POTATO : Self = Self { id : 282 , registry_key : "minecraft:poisonous_potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\x11using_converts_to\0\t\x07effects\n\x02\x08\x04name\x06poison\x08\rdescriptionId\rpotion.poison\x03\tamplifier\0\x05\x06chance\x9A\x99\x19?\x03\x08duration\n\x03\x02id&\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\tnutrition\x04\x01\x0Ecan_always_eat\0\x03\ron_use_action\x01\x05\x13saturation_modifier\x9A\x99\x99>\0\0\0" } ;
|
||||
pub const POLAR_BEAR_SPAWN_EGG: Self = Self {
|
||||
id: 477,
|
||||
registry_key: "minecraft:polar_bear_spawn_egg",
|
||||
@ -76987,7 +76988,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const PORKCHOP : Self = Self { id : 262 , registry_key : "minecraft:porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\x03\tnutrition\x06\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\x03\ron_use_action\x01\x08\rcooldown_type\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const PORKCHOP : Self = Self { id : 262 , registry_key : "minecraft:porkchop" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\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\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\ron_use_action\x01\x03\tnutrition\x06\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const PORTAL: Self = Self {
|
||||
id: 90,
|
||||
registry_key: "minecraft:portal",
|
||||
@ -76995,7 +76996,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const POTATO : Self = Self { id : 280 , registry_key : "minecraft:potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\tnutrition\x02\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\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\x03\rcooldown_time\0\x08\rcooldown_type\0\0\n\x0Eminecraft:seed\x08\x0Bcrop_result\x12minecraft:potatoes\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const POTATO : Self = Self { id : 280 , registry_key : "minecraft:potato" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:seed\t\x08plant_at\x08\x02\x12minecraft:farmland\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x12minecraft:potatoes\x08\rplant_at_face\x02up\0\n\x0Eminecraft:food\x08\rcooldown_type\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\x08\x11using_converts_to\0\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99>\0\0\0" } ;
|
||||
pub const POTATOES: Self = Self {
|
||||
id: 142,
|
||||
registry_key: "minecraft:potatoes",
|
||||
@ -77129,7 +77130,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const PUFFERFISH : Self = Self { id : 267 , registry_key : "minecraft:pufferfish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCC\xCC=\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\t\x07effects\n\x06\x03\tamplifier\x02\x05\x06chance\0\0\x80?\x08\rdescriptionId\rpotion.poison\x03\x08durationx\x03\x02id&\x08\x04name\x06poison\0\x05\x06chance\0\0\x80?\x03\tamplifier\0\x08\x04name\x06nausea\x03\x02id\x12\x03\x08duration\x1E\x08\rdescriptionId\x10potion.confusion\0\x03\tamplifier\x04\x08\rdescriptionId\rpotion.hunger\x03\x02id\"\x03\x08duration\x1E\x08\x04name\x06hunger\x05\x06chance\0\0\x80?\0\x03\tnutrition\x02\0\0\0" } ;
|
||||
pub const PUFFERFISH : Self = Self { id : 267 , registry_key : "minecraft:pufferfish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x05\x13saturation_modifier\xCD\xCC\xCC=\t\x07effects\n\x06\x08\x04name\x06poison\x03\tamplifier\x02\x05\x06chance\0\0\x80?\x03\x08durationx\x08\rdescriptionId\rpotion.poison\x03\x02id&\0\x05\x06chance\0\0\x80?\x08\rdescriptionId\x10potion.confusion\x08\x04name\x06nausea\x03\tamplifier\0\x03\x08duration\x1E\x03\x02id\x12\0\x08\x04name\x06hunger\x03\x02id\"\x08\rdescriptionId\rpotion.hunger\x03\tamplifier\x04\x05\x06chance\0\0\x80?\x03\x08duration\x1E\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\ron_use_action\x01\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\tnutrition\x02\0\x03\x16minecraft:use_duration@\x01\x19minecraft:stacked_by_data\x01\0\0" } ;
|
||||
pub const PUFFERFISH_BUCKET: Self = Self {
|
||||
id: 370,
|
||||
registry_key: "minecraft:pufferfish_bucket",
|
||||
@ -77151,8 +77152,8 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const PUMPKIN_PIE : Self = Self { id : 284 , registry_key : "minecraft:pumpkin_pie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\tnutrition\x10\x08\x11using_converts_to\0\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\0\x03\rcooldown_time\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\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const PUMPKIN_SEEDS : Self = Self { id : 292 , registry_key : "minecraft:pumpkin_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\x0Bcrop_result\x16minecraft:pumpkin_stem\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0\0" } ;
|
||||
pub const PUMPKIN_PIE : Self = Self { id : 284 , registry_key : "minecraft:pumpkin_pie" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x08\rcooldown_type\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x08\x11using_converts_to\0\x03\tnutrition\x10\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x03\rcooldown_time\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const PUMPKIN_SEEDS : Self = Self { id : 292 , registry_key : "minecraft:pumpkin_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\x08\x0Bcrop_result\x16minecraft:pumpkin_stem\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0\0" } ;
|
||||
pub const PUMPKIN_STEM: Self = Self {
|
||||
id: 104,
|
||||
registry_key: "minecraft:pumpkin_stem",
|
||||
@ -77160,7 +77161,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const PURPLE_BUNDLE : Self = Self { id : 870 , registry_key : "minecraft:purple_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\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\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x01\x12hidden_in_commands\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\rbundle_purple\x08\x11bundle_open_front\x18bundle_purple_open_front\x08\x10bundle_open_back\x17bundle_purple_open_back\0\0\x08\x0Ecreative_group\0\x01\x04foil\0\x03\x0Bframe_count\x02\x03\x0Cuse_duration\0\x03\x06damage\0\x01\x0Fstacked_by_data\0\x03\x11creative_category\x06\x05\x0Cmining_speed\0\0\x80?\x03\ruse_animation\0\x03\x11enchantable_value\0\x01\x0Eliquid_clipped\0\x01\x0Eshould_despawn\x01\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x01\rhand_equipped\0\x01\x0Eallow_off_hand\0\0\0\0" } ;
|
||||
pub const PURPLE_BUNDLE : Self = Self { id : 870 , registry_key : "minecraft:purple_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\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\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\0\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\n\x0Fitem_properties\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\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x03\x11enchantable_value\0\x03\x11creative_category\x06\x03\x0Emax_stack_size\x02\x01\x04foil\0\x01\x0Eliquid_clipped\0\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x05\x0Cmining_speed\0\0\x80?\x08\x10enchantable_slot\x04none\x01\x0Eallow_off_hand\0\x01\x0Eshould_despawn\x01\x03\x06damage\0\x01\rhand_equipped\0\x03\ruse_animation\0\0\t\titem_tags\0\0\0\0" } ;
|
||||
pub const PURPLE_CANDLE: Self = Self {
|
||||
id: -423,
|
||||
registry_key: "minecraft:purple_candle",
|
||||
@ -77350,7 +77351,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const RABBIT : Self = Self { id : 288 , registry_key : "minecraft:rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x05\x13saturation_modifier\x9A\x99\x99>\x03\ron_use_action\x01\x08\x11using_converts_to\0\x03\tnutrition\x06\x03\rcooldown_time\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0\0" } ;
|
||||
pub const RABBIT : Self = Self { id : 288 , registry_key : "minecraft:rabbit" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\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\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x99>\x08\rcooldown_type\0\x03\tnutrition\x06\x01\x0Ecan_always_eat\0\x08\x11using_converts_to\0\0\0\0" } ;
|
||||
pub const RABBIT_FOOT: Self = Self {
|
||||
id: 538,
|
||||
registry_key: "minecraft:rabbit_foot",
|
||||
@ -77372,7 +77373,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const RABBIT_STEW : Self = Self { id : 290 , registry_key : "minecraft:rabbit_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x03\tnutrition\x14\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?\x08\x11using_converts_to\x04bowl\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\ron_use_action\x01\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const RABBIT_STEW : Self = Self { id : 290 , registry_key : "minecraft:rabbit_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x18minecraft:max_stack_size\x02\n\x0Eminecraft:food\x05\x13saturation_modifier\x9A\x99\x19?\x03\tnutrition\x14\x08\rcooldown_type\0\x03\ron_use_action\x01\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\x04bowl\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const RAIL: Self = Self {
|
||||
id: 66,
|
||||
registry_key: "minecraft:rail",
|
||||
@ -77450,7 +77451,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const RED_BUNDLE : Self = Self { id : 871 , registry_key : "minecraft:red_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x03\x0Bframe_count\x02\x01\x17can_destroy_in_creative\x01\x01\x0Eliquid_clipped\0\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\x01\x01\x04foil\0\x01\rhand_equipped\0\x05\x0Cmining_speed\0\0\x80?\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x14bundle_red_open_back\x08\x11bundle_open_front\x15bundle_red_open_front\x08\x07default\nbundle_red\0\0\x08\x10enchantable_slot\x04none\x03\x11creative_category\x06\x03\x11enchantable_value\0\x03\x0Emax_stack_size\x02\x01\x12hidden_in_commands\x02\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\x03\x0Cuse_duration\0\x03\ruse_animation\0\x03\x06damage\0\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\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\x01\x1Aallow_nested_storage_items\x01\0\0\0" } ;
|
||||
pub const RED_BUNDLE : Self = Self { id : 871 , registry_key : "minecraft:red_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\x03\tmax_slots\x80\x01\0\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x01\x04foil\0\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\x01\rhand_equipped\0\x08\x10enchantable_slot\x04none\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x14bundle_red_open_back\x08\x07default\nbundle_red\x08\x11bundle_open_front\x15bundle_red_open_front\0\0\x03\x11creative_category\x06\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x01\x12hidden_in_commands\x02\x03\x0Cuse_duration\0\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x01\x0Eliquid_clipped\0\x03\x11enchantable_value\0\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\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\0\0" } ;
|
||||
pub const RED_CANDLE: Self = Self {
|
||||
id: -427,
|
||||
registry_key: "minecraft:red_candle",
|
||||
@ -77808,7 +77809,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const ROTTEN_FLESH : Self = Self { id : 277 , registry_key : "minecraft:rotten_flesh" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\rcooldown_type\0\x03\rcooldown_time\0\x03\tnutrition\x08\x08\x11using_converts_to\0\t\x07effects\n\x02\x05\x06chance\xCD\xCCL?\x03\x08duration<\x08\rdescriptionId\rpotion.hunger\x03\tamplifier\0\x03\x02id\"\x08\x04name\x06hunger\0\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\0\0\0" } ;
|
||||
pub const ROTTEN_FLESH : Self = Self { id : 277 , registry_key : "minecraft:rotten_flesh" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x05\x13saturation_modifier\xCD\xCC\xCC=\t\x07effects\n\x02\x08\x04name\x06hunger\x03\x08duration<\x08\rdescriptionId\rpotion.hunger\x03\tamplifier\0\x03\x02id\"\x05\x06chance\xCD\xCCL?\0\x03\tnutrition\x08\x08\x11using_converts_to\0\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const SADDLE: Self = Self {
|
||||
id: 374,
|
||||
registry_key: "minecraft:saddle",
|
||||
@ -77816,7 +77817,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const SALMON : Self = Self { id : 265 , registry_key : "minecraft:salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\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\x08\rcooldown_type\0\x03\rcooldown_time\0\x01\x0Ecan_always_eat\0\x03\tnutrition\x04\x05\x13saturation_modifier\xCD\xCC\xCC=\0\x01\x19minecraft:stacked_by_data\x01\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const SALMON : Self = Self { id : 265 , registry_key : "minecraft:salmon" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x03\ron_use_action\x01\x08\rcooldown_type\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\x05\x13saturation_modifier\xCD\xCC\xCC=\x03\tnutrition\x04\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const SALMON_BUCKET: Self = Self {
|
||||
id: 368,
|
||||
registry_key: "minecraft:salmon_bucket",
|
||||
@ -78377,7 +78378,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const SPIDER_EYE : Self = Self { id : 278 , registry_key : "minecraft:spider_eye" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\x08\x11using_converts_to\0\t\x07effects\n\x02\x08\rdescriptionId\rpotion.poison\x08\x04name\x06poison\x03\tamplifier\0\x03\x08duration\n\x03\x02id&\x05\x06chance\0\0\x80?\0\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCCL?\x03\ron_use_action\x01\x08\rcooldown_type\0\x03\tnutrition\x04\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x01\x0Ecan_always_eat\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const SPIDER_EYE : Self = Self { id : 278 , registry_key : "minecraft:spider_eye" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\t\x07effects\n\x02\x05\x06chance\0\0\x80?\x03\x08duration\n\x08\x04name\x06poison\x03\x02id&\x08\rdescriptionId\rpotion.poison\x03\tamplifier\0\0\x05\x13saturation_modifier\xCD\xCCL?\x03\rcooldown_time\0\x03\tnutrition\x04\x03\ron_use_action\x01\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\0\0\0" } ;
|
||||
pub const SPIDER_SPAWN_EGG: Self = Self {
|
||||
id: 450,
|
||||
registry_key: "minecraft:spider_spawn_egg",
|
||||
@ -78742,7 +78743,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const STONE_SPEAR : Self = Self { id : 855 , registry_key : "minecraft:stone_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x05\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\x03\x0Emax_durability\x84\x02\0\n\x19minecraft:piercing_weapon\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\0\t\titem_tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\n\x11damage_conditions\x02\x0Cmax_duration\x13\x01\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\0\x05\x0Fdamage_modifier\0\0\0\0\x05\x11damage_multiplier\x85\xEBQ?\x02\x05delay\x0E\0\n\x13dismount_conditions\x02\x0Cmax_durationZ\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0PA\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x14knockback_conditions\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\xB4\0\x05\x12min_relative_speed\0\0\0\0\0\0\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x17minecraft:use_modifiers\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_sound\x14item.stone_spear.use\x08\x0Bstart_using\x06always\x01\x0Femit_vibrations\0\x05\x0Cuse_duration\0\xA0\x8CG\0\n\x0Fitem_properties\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x03\x06damage\x04\x01\x0Eallow_off_hand\0\x01\x12hidden_in_commands\x02\x08\x10enchantable_slot\x0Bmelee_spear\x03\x11creative_category\x06\x03\x0Bframe_count\x02\x03\x0Emax_stack_size\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bstone_spear\0\0\x01\rhand_equipped\x01\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\ruse_animation\0\x03\x11enchantable_value\n\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x01\x0Eliquid_clipped\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x12minecraft:cooldown\x08\x04type\x06attack\x05\x08duration\0\0@?\x08\x08category\x05spear\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\x08\rrepair_amount)context.other->query.remaining_durability\t\x05items\n\x02\x08\x04name\x15minecraft:stone_spear\0\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\t\x05items\n\x02\x08\x04tags,q.all_tags('minecraft:stone_tool_materials')\0\0\0\n\x18minecraft:swing_duration\x05\x05value\0\0@?\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Bitem.stone_spear.attack_hit\x08\x0Battack_miss\x1Citem.stone_spear.attack_miss\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x16minecraft:display_name\x08\x05value\x15item.stone_spear.name\0\0\0" } ;
|
||||
pub const STONE_SPEAR : Self = Self { id : 855 , registry_key : "minecraft:stone_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Bitem.stone_spear.attack_hit\x08\x0Battack_miss\x1Citem.stone_spear.attack_miss\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x05\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\0\n\x18minecraft:swing_duration\x05\x05value\0\0@?\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\x08\rrepair_amount)context.other->query.remaining_durability\t\x05items\n\x02\x08\x04name\x15minecraft:stone_spear\0\0\t\x05items\n\x02\x08\x04tags,q.all_tags('minecraft:stone_tool_materials')\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\0\0\n\x10minecraft:damage\x02\x05value\x02\0\0\n\x17minecraft:use_modifiers\x08\x0Bstart_using\x06always\x05\x0Cuse_duration\0\xA0\x8CG\x01\x0Femit_vibrations\0\x08\x0Bstart_sound\x14item.stone_spear.use\x05\x11movement_modifier\0\0\x80?\0\n\x19minecraft:piercing_weapon\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\x05\rhitbox_margin\0\0\x80>\0\t\titem_tags\x08\x04\x14minecraft:stone_tier\x12minecraft:is_spear\n\x12minecraft:cooldown\x08\x08category\x05spear\x05\x08duration\0\0@?\x08\x04type\x06attack\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x02\x0Cmax_duration\xB4\0\x05\tmin_speed33\xA3@\0\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\n\x13dismount_conditions\x05\tmin_speed\0\0PA\x02\x0Cmax_durationZ\0\x05\x12min_relative_speed\0\0\0\0\0\x05\x0Fdamage_modifier\0\0\0\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration\x13\x01\0\x05\x11damage_multiplier\x85\xEBQ?\x02\x05delay\x0E\0\x05\rhitbox_margin\0\0\x80>\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\0\0\n\x0Fitem_properties\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\x80\xE4\xAF\x01\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x01\x0Eliquid_clipped\0\x01\rhand_equipped\x01\x01\x12hidden_in_commands\x02\x01\x04foil\0\x03\x11enchantable_value\n\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x03\x11creative_category\x06\x08\x10enchantable_slot\x0Bmelee_spear\x03\x06damage\x04\x05\x0Cmining_speed\0\0\x80?\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bstone_spear\0\0\x03\x0Bframe_count\x02\0\n\x16minecraft:display_name\x08\x05value\x15item.stone_spear.name\0\n\x14minecraft:durability\x03\x0Emax_durability\x84\x02\n\rdamage_chance\x03\x03max\xC8\x01\x03\x03min\0\0\0\0\0" } ;
|
||||
pub const STONE_STAIRS: Self = Self {
|
||||
id: 67,
|
||||
registry_key: "minecraft:stone_stairs",
|
||||
@ -79121,8 +79122,8 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const SUSPICIOUS_STEW : Self = Self { id : 602 , registry_key : "minecraft:suspicious_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:food\x08\rcooldown_type\0\x01\x0Ecan_always_eat\x01\x03\tnutrition\x0C\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x02\x03\rcooldown_time\0\x08\x11using_converts_to\x04bowl\x05\x13saturation_modifier\x9A\x99\x19?\0\x03\x18minecraft:max_stack_size\x02\0\0" } ;
|
||||
pub const SWEET_BERRIES : Self = Self { id : 287 , registry_key : "minecraft:sweet_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x03\x16minecraft:use_duration@\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\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\0\n\x0Eminecraft:food\x08\x11using_converts_to\0\x03\tnutrition\x04\x05\x13saturation_modifier\x9A\x99\x99>\x01\x0Ecan_always_eat\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\x08\rcooldown_type\0\0\0\0" } ;
|
||||
pub const SUSPICIOUS_STEW : Self = Self { id : 602 , registry_key : "minecraft:suspicious_stew" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\ron_use_action\x02\x03\tnutrition\x0C\x03\rcooldown_time\0\x05\x13saturation_modifier\x9A\x99\x19?\x08\rcooldown_type\0\x01\x0Ecan_always_eat\x01\x08\x11using_converts_to\x04bowl\0\x03\x18minecraft:max_stack_size\x02\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const SWEET_BERRIES : Self = Self { id : 287 , registry_key : "minecraft:sweet_berries" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\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\0\n\x0Eminecraft:food\x03\ron_use_action\x01\x01\x0Ecan_always_eat\0\x08\rcooldown_type\0\x03\tnutrition\x04\x05\x13saturation_modifier\x9A\x99\x99>\x08\x11using_converts_to\0\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const SWEET_BERRY_BUSH: Self = Self {
|
||||
id: -207,
|
||||
registry_key: "minecraft:sweet_berry_bush",
|
||||
@ -79221,7 +79222,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const TORCHFLOWER_SEEDS : Self = Self { id : 296 , registry_key : "minecraft:torchflower_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\x0Bcrop_result\x1Aminecraft:torchflower_crop\t\x08plant_at\x08\x02\x12minecraft:farmland\x01\x1Aplant_at_any_solid_surface\0\x08\rplant_at_face\x02up\0\0\0" } ;
|
||||
pub const TORCHFLOWER_SEEDS : Self = Self { id : 296 , registry_key : "minecraft:torchflower_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\x0Bcrop_result\x1Aminecraft:torchflower_crop\t\x08plant_at\x08\x02\x12minecraft:farmland\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\0\0\0" } ;
|
||||
pub const TOTEM_OF_UNDYING: Self = Self {
|
||||
id: 578,
|
||||
registry_key: "minecraft:totem_of_undying",
|
||||
@ -79250,7 +79251,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const TRIAL_KEY : Self = Self { id : 876 , registry_key : "minecraft:trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x03\x0Cuse_duration\0\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x08\x10enchantable_slot\x04none\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ttrial_key\0\0\x03\ruse_animation\0\x03\x06damage\0\x05\x0Cmining_speed\0\0\x80?\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x08\x0Ecreative_group\0\x01\rhand_equipped\0\x03\x11creative_category\x08\x03\x0Bframe_count\x02\x01\x0Eliquid_clipped\0\x01\x0Eshould_despawn\x01\x03\x0Emax_stack_size\x80\x01\0\n\x16minecraft:display_name\x08\x05value\x13item.trial_key.name\0\t\titem_tags\0\0\0\0" } ;
|
||||
pub const TRIAL_KEY : Self = Self { id : 876 , registry_key : "minecraft:trial_key" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x01\x0Eshould_despawn\x01\x01\x12hidden_in_commands\x02\x03\x11creative_category\x08\x01\rhand_equipped\0\x03\x0Cuse_duration\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\ttrial_key\0\0\x01\x0Fstacked_by_data\0\x03\x0Bframe_count\x02\x08\x10enchantable_slot\x04none\x01\x17can_destroy_in_creative\x01\x03\x11enchantable_value\0\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x03\x06damage\0\x03\ruse_animation\0\x03\x0Emax_stack_size\x80\x01\x01\x04foil\0\0\t\titem_tags\0\0\n\x16minecraft:display_name\x08\x05value\x13item.trial_key.name\0\0\0" } ;
|
||||
pub const TRIAL_SPAWNER: Self = Self {
|
||||
id: -315,
|
||||
registry_key: "minecraft:trial_spawner",
|
||||
@ -79279,7 +79280,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const TROPICAL_FISH : Self = Self { id : 266 , registry_key : "minecraft:tropical_fish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\t\x0Con_use_range\x05\x06\0\0\0A\0\0\0A\0\0\0A\x03\rcooldown_time\0\x05\x13saturation_modifier\xCD\xCC\xCC=\x08\rcooldown_type\0\x08\x11using_converts_to\0\x01\x0Ecan_always_eat\0\x03\tnutrition\x02\x03\ron_use_action\x01\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const TROPICAL_FISH : Self = Self { id : 266 , registry_key : "minecraft:tropical_fish" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\x01\x19minecraft:stacked_by_data\x01\n\x0Eminecraft:food\x03\rcooldown_time\0\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\x03\tnutrition\x02\x08\rcooldown_type\0\x05\x13saturation_modifier\xCD\xCC\xCC=\0\x03\x16minecraft:use_duration@\0\0" } ;
|
||||
pub const TROPICAL_FISH_BUCKET: Self = Self {
|
||||
id: 369,
|
||||
registry_key: "minecraft:tropical_fish_bucket",
|
||||
@ -80330,8 +80331,8 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const WHEAT_SEEDS : Self = Self { id : 291 , registry_key : "minecraft:wheat_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\x08\x0Bcrop_result\x0Fminecraft:wheat\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0\0" } ;
|
||||
pub const WHITE_BUNDLE : Self = Self { id : 872 , registry_key : "minecraft:white_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\x03\tmax_slots\x80\x01\x01\x1Aallow_nested_storage_items\x01\t\rallowed_items\0\0\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\n\x0Fitem_properties\x01\x0Fstacked_by_data\0\x01\x0Eallow_off_hand\0\x01\x04foil\0\x05\x0Cmining_speed\0\0\x80?\x03\x0Bframe_count\x02\x03\x06damage\0\x03\x0Cuse_duration\0\x01\x12hidden_in_commands\x02\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x01\x0Eliquid_clipped\0\x03\x11creative_category\x06\x01\rhand_equipped\0\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x16bundle_white_open_back\x08\x11bundle_open_front\x17bundle_white_open_front\x08\x07default\x0Cbundle_white\0\0\x03\ruse_animation\0\x03\x11enchantable_value\0\x01\x0Eshould_despawn\x01\x08\x10enchantable_slot\x04none\x03\x0Emax_stack_size\x02\0\0\0" } ;
|
||||
pub const WHEAT_SEEDS : Self = Self { id : 291 , registry_key : "minecraft:wheat_seeds" , version : BedrockItemVersion :: Legacy , component_based : false , definition_components : b"\n\0\n\ncomponents\n\x0Eminecraft:seed\x08\x0Bcrop_result\x0Fminecraft:wheat\x08\rplant_at_face\x02up\x01\x1Aplant_at_any_solid_surface\0\t\x08plant_at\x08\x02\x12minecraft:farmland\0\0\0" } ;
|
||||
pub const WHITE_BUNDLE : Self = Self { id : 872 , registry_key : "minecraft:white_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\t\titem_tags\0\0\n\x1Cminecraft:bundle_interaction\x03\x12num_viewable_slots\x18\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\x01\x1Aallow_nested_storage_items\x01\x03\tmax_slots\x80\x01\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n!minecraft:storage_weight_modifier\x03\x16weight_in_storage_item\x08\0\n\x0Fitem_properties\x08\x0Ecreative_group\0\x01\rhand_equipped\0\x01\x0Eliquid_clipped\0\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\x03\x11creative_category\x06\x03\ruse_animation\0\x01\x0Eallow_off_hand\0\x03\x11enchantable_value\0\x05\x0Cmining_speed\0\0\x80?\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x01\x17can_destroy_in_creative\x01\x01\x04foil\0\x03\x0Emax_stack_size\x02\x03\x06damage\0\x08\x10enchantable_slot\x04none\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\0\0\0" } ;
|
||||
pub const WHITE_CANDLE: Self = Self {
|
||||
id: -413,
|
||||
registry_key: "minecraft:white_candle",
|
||||
@ -80451,7 +80452,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const WIND_CHARGE : Self = Self { id : 877 , registry_key : "minecraft:wind_charge" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x13minecraft:throwable\x05\x11max_draw_duration\0\0\0\0\x01\x12do_swing_animation\x01\x05\x10max_launch_power\0\0\xC0?\x05\x11min_draw_duration\0\0\0\0\x01\x1Cscale_power_by_draw_duration\0\x05\x12launch_power_scale\0\0\xC0?\0\n\x16minecraft:display_name\x08\x05value\x15item.wind_charge.name\0\n\x0Fitem_properties\x03\x0Emax_stack_size\x80\x01\x01\x0Eallow_off_hand\0\x01\x0Fstacked_by_data\0\x01\x04foil\0\x01\rhand_equipped\0\x03\ruse_animation\0\x03\x0Cuse_duration\0\x01\x0Eshould_despawn\x01\x03\x11creative_category\x06\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x03\x0Bframe_count\x02\x03\x11enchantable_value\0\x01\x12hidden_in_commands\x02\x01\x0Eliquid_clipped\0\x03\x06damage\0\x01\x17can_destroy_in_creative\x01\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bwind_charge\0\0\0\n\x14minecraft:projectile\x05\x16minimum_critical_power\0\0\0\0\x08\x11projectile_entity\"minecraft:wind_charge_projectile<>\0\n\x12minecraft:cooldown\x08\x08category\x0Bwind_charge\x05\x08duration\0\0\0?\x08\x04type\x03use\0\t\titem_tags\0\0\0\0" } ;
|
||||
pub const WIND_CHARGE : Self = Self { id : 877 , registry_key : "minecraft:wind_charge" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x16minecraft:display_name\x08\x05value\x15item.wind_charge.name\0\n\x12minecraft:cooldown\x05\x08duration\0\0\0?\x08\x08category\x0Bwind_charge\x08\x04type\x03use\0\n\x0Fitem_properties\x08\x10enchantable_slot\x04none\x03\ruse_animation\0\n\x0Eminecraft:icon\n\x08textures\x08\x07default\x0Bwind_charge\0\0\x03\x06damage\0\x03\x0Bframe_count\x02\x01\x0Eallow_off_hand\0\x01\x17can_destroy_in_creative\x01\x03\x11creative_category\x06\x01\x12hidden_in_commands\x02\x01\rhand_equipped\0\x05\x0Cmining_speed\0\0\x80?\x08\x0Ecreative_group\0\x01\x0Eshould_despawn\x01\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\0\x03\x11enchantable_value\0\x01\x04foil\0\x03\x0Emax_stack_size\x80\x01\x01\x0Eliquid_clipped\0\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\x10max_launch_power\0\0\xC0?\x05\x11min_draw_duration\0\0\0\0\x01\x1Cscale_power_by_draw_duration\0\x05\x11max_draw_duration\0\0\0\0\x01\x12do_swing_animation\x01\0\t\titem_tags\0\0\0\0" } ;
|
||||
pub const WITCH_SPAWN_EGG: Self = Self {
|
||||
id: 456,
|
||||
registry_key: "minecraft:witch_spawn_egg",
|
||||
@ -80564,7 +80565,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const WOODEN_SPEAR : Self = Self { id : 856 , registry_key : "minecraft:wooden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.wooden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.wooden_spear.attack_miss\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x01\x04foil\0\x03\x11creative_category\x06\x03\x0Bframe_count\x02\x01\x0Eshould_despawn\x01\x03\x06damage\x02\x08\x10enchantable_slot\x0Bmelee_spear\x01\rhand_equipped\x01\x03\x11enchantable_value\x1E\x01\x0Eliquid_clipped\0\x01\x12hidden_in_commands\x02\x03\x0Emax_stack_size\x02\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nwood_spear\0\0\x01\x17can_destroy_in_creative\x01\x08\x0Ecreative_group\0\x01\x0Fstacked_by_data\0\x03\x0Cuse_duration\x80\xE4\xAF\x01\x05\x0Cmining_speed\0\0\x80?\x01\x0Eallow_off_hand\0\x03\ruse_animation\0\0\n\x19minecraft:piercing_weapon\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\n\x0Ecreative_reach\x05\x03min\0\0\0@\x05\x03max\0\0\xF0@\0\0\n\x16minecraft:display_name\x08\x05value\x16item.wooden_spear.name\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\x14minecraft:repairable\t\x0Crepair_items\n\x04\t\x05items\n\x02\x08\x04name\x16minecraft:wooden_spear\0\x08\rrepair_amount)context.other->query.remaining_durability\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\t\x05items\n\x02\x08\x04tags\x1Eq.all_tags('minecraft:planks')\0\0\0\n\x12minecraft:cooldown\x05\x08durationff&?\x08\x04type\x06attack\x08\x08category\x05spear\0\n\x14minecraft:durability\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\x03\x0Emax_durabilityx\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x15minecraft:enchantable\x08\x04slot\x0Bmelee_spear\x01\x05value\x0F\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x14knockback_conditions\x02\x0Cmax_duration\xC8\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\0\x05\rhitbox_margin\0\0\x80>\n\x05reach\x05\x03max\0\0\x90@\x05\x03min\0\0\0@\0\x05\x11damage_multiplier333?\n\x13dismount_conditions\x02\x0Cmax_durationd\0\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed\0\0`A\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\x02\x05delay\x0F\0\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x02\x0Cmax_duration,\x01\x05\tmin_speed\0\0\0\0\0\x05\x0Fdamage_modifier\0\0\0\0\0\0\n\x17minecraft:use_modifiers\x08\x0Bstart_sound\x15item.wooden_spear.use\x05\x0Cuse_duration\0\xA0\x8CG\x01\x0Femit_vibrations\0\x05\x11movement_modifier\0\0\x80?\x08\x0Bstart_using\x06always\0\n\x10minecraft:damage\x02\x05value\x01\0\0\n\x18minecraft:swing_duration\x05\x05valueff&?\0\n\x0Eminecraft:fuel\x05\x08duration\0\0 A\0\0\0" } ;
|
||||
pub const WOODEN_SPEAR : Self = Self { id : 856 , registry_key : "minecraft:wooden_spear" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x16minecraft:display_name\x08\x05value\x16item.wooden_spear.name\0\n\x17minecraft:use_modifiers\x05\x0Cuse_duration\0\xA0\x8CG\x08\x0Bstart_sound\x15item.wooden_spear.use\x01\x0Femit_vibrations\0\x08\x0Bstart_using\x06always\x05\x11movement_modifier\0\0\x80?\0\n\x17minecraft:hand_equipped\x01\x05value\x01\0\n\x14minecraft:durability\x03\x0Emax_durabilityx\n\rdamage_chance\x03\x03min\0\x03\x03max\xC8\x01\0\0\n\x16minecraft:swing_sounds\x08\nattack_hit\x1Citem.wooden_spear.attack_hit\x08\x0Battack_miss\x1Ditem.wooden_spear.attack_miss\0\n\x0Eminecraft:tags\t\x04tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\0\n\x15minecraft:enchantable\x01\x05value\x0F\x08\x04slot\x0Bmelee_spear\0\n\x18minecraft:swing_duration\x05\x05valueff&?\0\t\titem_tags\x08\x04\x15minecraft:wooden_tier\x12minecraft:is_spear\n\x12minecraft:cooldown\x08\x04type\x06attack\x08\x08category\x05spear\x05\x08durationff&?\0\n\x10minecraft:damage\x02\x05value\x01\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\x0Eminecraft:fuel\x05\x08duration\0\0 A\0\n\x18minecraft:max_stack_size\x01\x05value\x01\0\n\x0Fitem_properties\x01\x0Eallow_off_hand\0\x05\x0Cmining_speed\0\0\x80?\n\x0Eminecraft:icon\n\x08textures\x08\x07default\nwood_spear\0\0\x03\ruse_animation\0\x08\x10enchantable_slot\x0Bmelee_spear\x08\x0Ecreative_group\0\x03\x11creative_category\x06\x03\x0Bframe_count\x02\x01\x0Fstacked_by_data\0\x03\x06damage\x02\x01\x0Eshould_despawn\x01\x01\x0Eliquid_clipped\0\x01\x17can_destroy_in_creative\x01\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\x80\xE4\xAF\x01\x03\x11enchantable_value\x1E\x01\x12hidden_in_commands\x02\x01\rhand_equipped\x01\x01\x04foil\0\0\n\x18minecraft:kinetic_weapon\n\x18minecraft:kinetic_weapon\n\x05reach\x05\x03min\0\0\0@\x05\x03max\0\0\x90@\0\x05\rhitbox_margin\0\0\x80>\n\x11damage_conditions\x05\x12min_relative_speed33\x93@\x05\tmin_speed\0\0\0\0\x02\x0Cmax_duration,\x01\0\x05\x0Fdamage_modifier\0\0\0\0\x05\x11damage_multiplier333?\n\x14knockback_conditions\x05\x12min_relative_speed\0\0\0\0\x05\tmin_speed33\xA3@\x02\x0Cmax_duration\xC8\0\0\x02\x05delay\x0F\0\n\x13dismount_conditions\x05\tmin_speed\0\0`A\x02\x0Cmax_durationd\0\x05\x12min_relative_speed\0\0\0\0\0\n\x0Ecreative_reach\x05\x03max\0\0\xF0@\x05\x03min\0\0\0@\0\0\0\n\x14minecraft:repairable\t\x0Crepair_items\n\x04\x08\rrepair_amount)context.other->query.remaining_durability\t\x05items\n\x02\x08\x04name\x16minecraft:wooden_spear\0\0\x08\rrepair_amount\x1Bquery.max_durability * 0.25\t\x05items\n\x02\x08\x04tags\x1Eq.all_tags('minecraft:planks')\0\0\0\0\0" } ;
|
||||
pub const WOODEN_SWORD: Self = Self {
|
||||
id: 310,
|
||||
registry_key: "minecraft:wooden_sword",
|
||||
@ -80593,7 +80594,7 @@ impl BedrockItem {
|
||||
component_based: false,
|
||||
definition_components: b"\n\0\0",
|
||||
};
|
||||
pub const YELLOW_BUNDLE : Self = Self { id : 873 , registry_key : "minecraft:yellow_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\n\x0Fitem_properties\x03\x11creative_category\x06\x03\x06damage\0\x01\x0Eallow_off_hand\0\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x05\x0Cmining_speed\0\0\x80?\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x01\x04foil\0\x01\x17can_destroy_in_creative\x01\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\x0Bframe_count\x02\x01\x0Eshould_despawn\x01\x01\rhand_equipped\0\x03\x0Cuse_duration\0\x03\ruse_animation\0\x03\x11enchantable_value\0\x01\x0Fstacked_by_data\0\x01\x12hidden_in_commands\x02\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\n\x1Eminecraft:storage_weight_limit\x03\x10max_weight_limit\x80\x01\0\t\titem_tags\0\0\n\x16minecraft:storage_item\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\t\rallowed_items\0\0\0\0\0" } ;
|
||||
pub const YELLOW_BUNDLE : Self = Self { id : 873 , registry_key : "minecraft:yellow_bundle" , version : BedrockItemVersion :: DataDriven , component_based : true , definition_components : b"\n\0\n\ncomponents\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\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\n\x0Fitem_properties\x03\x06damage\0\x03\x0Bframe_count\x02\n\x0Eminecraft:icon\n\x08textures\x08\x10bundle_open_back\x17bundle_yellow_open_back\x08\x07default\rbundle_yellow\x08\x11bundle_open_front\x18bundle_yellow_open_front\0\0\x08\x0Ecreative_group\0\x08\x10enchantable_slot\x04none\x01\x12hidden_in_commands\x02\x01\x0Eshould_despawn\x01\x01\x04foil\0\x03\ruse_animation\0\x01\rhand_equipped\0\x03\x11creative_category\x06\x01\x0Eallow_off_hand\0\x01\x0Eliquid_clipped\0\x03\x0Emax_stack_size\x02\x03\x0Cuse_duration\0\x01\x0Fstacked_by_data\0\x01\x17can_destroy_in_creative\x01\x05\x0Cmining_speed\0\0\x80?\x03\x11enchantable_value\0\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\0" } ;
|
||||
pub const YELLOW_CANDLE: Self = Self {
|
||||
id: -417,
|
||||
registry_key: "minecraft:yellow_candle",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -121,7 +121,7 @@ pub mod overworld_noise_evaluator {
|
||||
pos: &pumpkin_util::math::vector3::Vector3<i32>,
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
-overworld_node_5(pos, ctx)
|
||||
overworld_node_5(pos, ctx) * -1f64
|
||||
}
|
||||
#[inline(always)]
|
||||
pub fn overworld_node_7<C: NoiseEvaluationContext>(
|
||||
@ -1299,7 +1299,7 @@ pub mod overworld_noise_evaluator {
|
||||
pos: &pumpkin_util::math::vector3::Vector3<i32>,
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
-overworld_node_142(pos, ctx)
|
||||
overworld_node_142(pos, ctx) * -1f64
|
||||
}
|
||||
#[inline(always)]
|
||||
pub fn overworld_node_144<C: NoiseEvaluationContext>(
|
||||
@ -1377,7 +1377,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_151(pos, ctx);
|
||||
if (-1000000f64..0.03f64).contains(&val) {
|
||||
if val >= -1000000f64 && val < 0.03f64 {
|
||||
overworld_node_152(pos, ctx)
|
||||
} else {
|
||||
overworld_node_151(pos, ctx)
|
||||
@ -1396,7 +1396,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_54(pos, ctx);
|
||||
if (-1000000f64..1.5625f64).contains(&val) {
|
||||
if val >= -1000000f64 && val < 1.5625f64 {
|
||||
overworld_node_97(pos, ctx)
|
||||
} else {
|
||||
overworld_node_154(pos, ctx)
|
||||
@ -1516,7 +1516,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_166(pos, ctx);
|
||||
if (-60f64..321f64).contains(&val) {
|
||||
if val >= -60f64 && val < 321f64 {
|
||||
overworld_node_167(pos, ctx)
|
||||
} else {
|
||||
overworld_node_168(pos, ctx)
|
||||
@ -1574,7 +1574,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_166(pos, ctx);
|
||||
if (-60f64..321f64).contains(&val) {
|
||||
if val >= -60f64 && val < 321f64 {
|
||||
overworld_node_174(pos, ctx)
|
||||
} else {
|
||||
overworld_node_12(pos, ctx)
|
||||
@ -1610,7 +1610,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_166(pos, ctx);
|
||||
if (-60f64..321f64).contains(&val) {
|
||||
if val >= -60f64 && val < 321f64 {
|
||||
overworld_node_177(pos, ctx)
|
||||
} else {
|
||||
overworld_node_12(pos, ctx)
|
||||
@ -1653,7 +1653,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_166(pos, ctx);
|
||||
if (-60f64..321f64).contains(&val) {
|
||||
if val >= -60f64 && val < 321f64 {
|
||||
overworld_node_181(pos, ctx)
|
||||
} else {
|
||||
overworld_node_12(pos, ctx)
|
||||
@ -1705,7 +1705,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_170(pos, ctx);
|
||||
if (-1000000f64..0f64).contains(&val) {
|
||||
if val >= -1000000f64 && val < 0f64 {
|
||||
overworld_node_171(pos, ctx)
|
||||
} else {
|
||||
overworld_node_187(pos, ctx)
|
||||
@ -1805,7 +1805,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_166(pos, ctx);
|
||||
if (-60f64..51f64).contains(&val) {
|
||||
if val >= -60f64 && val < 51f64 {
|
||||
overworld_node_197(pos, ctx)
|
||||
} else {
|
||||
overworld_node_12(pos, ctx)
|
||||
@ -1841,7 +1841,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_166(pos, ctx);
|
||||
if (-60f64..51f64).contains(&val) {
|
||||
if val >= -60f64 && val < 51f64 {
|
||||
overworld_node_200(pos, ctx)
|
||||
} else {
|
||||
overworld_node_12(pos, ctx)
|
||||
@ -1884,7 +1884,7 @@ pub mod overworld_noise_evaluator {
|
||||
ctx: &mut C,
|
||||
) -> f64 {
|
||||
let val = overworld_node_166(pos, ctx);
|
||||
if (-60f64..51f64).contains(&val) {
|
||||
if val >= -60f64 && val < 51f64 {
|
||||
overworld_node_204(pos, ctx)
|
||||
} else {
|
||||
overworld_node_12(pos, ctx)
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
pub const CURRENT_MC_VERSION: JavaMinecraftVersion =
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_26_2;
|
||||
pub const LOWEST_SUPPORTED_MC_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_1_20_5;
|
||||
pub const LOWEST_SUPPORTED_MC_VERSION: JavaMinecraftVersion = JavaMinecraftVersion::V_1_7_2;
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub struct PacketId {
|
||||
pub v1_20_5: i32,
|
||||
|
||||
@ -1,9 +1,161 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_7_6: &[u16] = &[
|
||||
1, 3, 2, 4, 47, 5, 5, 5, 1, 1, 1, 5, 23, 6, 7, 8, 9, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 19, 32, 18, 18, 14, 20, 21, 22, 23, 32, 9, 9, 24, 37, 0, 45, 23, 37, 19, 24, 24,
|
||||
25, 26, 27, 0, 17, 24, 24, 28, 5, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 48, 49, 5, 5, 9, 9, 9, 10, 10, 32, 32, 32, 32, 9, 9, 9, 35, 32, 23, 5,
|
||||
9, 9, 10, 10, 39, 24, 24, 24, 24, 24, 0, 24, 32, 23, 23, 15, 20, 24, 37, 37, 3, 32, 28,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_8: &[u16] = &[
|
||||
1, 3, 2, 4, 47, 5, 5, 5, 1, 1, 1, 5, 23, 6, 7, 8, 9, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 19, 32, 18, 18, 14, 20, 21, 22, 23, 32, 9, 9, 24, 37, 0, 45, 23, 37, 19, 24, 24,
|
||||
25, 26, 27, 0, 17, 24, 24, 28, 5, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 48, 49, 5, 5, 9, 9, 9, 10, 10, 32, 32, 32, 32, 9, 9, 9, 35, 32, 23, 5,
|
||||
9, 9, 10, 10, 39, 24, 24, 24, 24, 24, 0, 24, 32, 23, 23, 15, 20, 24, 37, 37, 3, 32, 28,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_9: &[u16] = &[
|
||||
1, 3, 2, 4, 47, 5, 5, 5, 1, 1, 1, 5, 23, 6, 7, 8, 9, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 19, 32, 18, 18, 14, 20, 21, 22, 23, 32, 9, 9, 24, 37, 0, 45, 23, 37, 19, 24, 24,
|
||||
25, 26, 27, 0, 17, 24, 24, 28, 5, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 48, 49, 5, 5, 9, 9, 9, 10, 10, 32, 32, 32, 32, 9, 9, 9, 35, 32, 23, 5,
|
||||
9, 9, 10, 10, 39, 24, 24, 24, 24, 24, 0, 24, 32, 23, 23, 15, 20, 24, 37, 37, 3, 32, 28,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_10: &[u16] = &[
|
||||
1, 3, 2, 4, 47, 5, 5, 5, 1, 1, 1, 5, 23, 6, 7, 8, 9, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 19, 32, 18, 18, 14, 20, 21, 22, 23, 32, 9, 9, 24, 37, 0, 45, 23, 37, 19, 24, 24,
|
||||
25, 26, 27, 0, 17, 24, 24, 28, 5, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 48, 49, 5, 5, 9, 9, 9, 10, 10, 32, 32, 32, 32, 9, 9, 9, 35, 32, 23, 5,
|
||||
9, 9, 10, 10, 39, 24, 24, 24, 24, 24, 0, 24, 32, 23, 23, 15, 20, 24, 37, 37, 3, 32, 28,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_11: &[u16] = &[
|
||||
1, 3, 2, 4, 47, 5, 5, 5, 1, 1, 1, 5, 23, 6, 7, 8, 9, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 19, 32, 18, 18, 14, 20, 21, 22, 23, 32, 9, 9, 24, 37, 0, 45, 23, 37, 19, 24, 24,
|
||||
25, 26, 27, 0, 17, 24, 24, 28, 5, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 48, 49, 5, 5, 9, 9, 9, 10, 10, 32, 32, 32, 32, 9, 9, 9, 35, 32, 23, 5,
|
||||
9, 9, 10, 10, 39, 24, 24, 24, 24, 24, 0, 24, 32, 23, 23, 15, 20, 24, 37, 37, 3, 32, 28,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_12: &[u16] = &[
|
||||
1, 3, 2, 4, 47, 5, 5, 5, 1, 1, 1, 5, 23, 6, 7, 8, 9, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 19, 32, 18, 18, 14, 20, 21, 22, 23, 32, 9, 9, 24, 37, 0, 45, 23, 37, 19, 24, 24,
|
||||
25, 26, 27, 0, 17, 24, 24, 28, 5, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 48, 49, 5, 5, 9, 9, 9, 10, 10, 32, 32, 32, 32, 9, 9, 9, 35, 32, 23, 5,
|
||||
9, 9, 10, 10, 39, 24, 24, 24, 24, 24, 0, 24, 32, 23, 23, 15, 20, 24, 37, 37, 3, 32, 28,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_13: &[u16] = &[
|
||||
1, 3, 2, 4, 47, 5, 5, 5, 1, 1, 1, 5, 23, 6, 7, 8, 9, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 19, 32, 18, 18, 14, 20, 21, 22, 23, 32, 9, 9, 24, 37, 0, 45, 23, 37, 19, 24, 24,
|
||||
25, 26, 27, 0, 17, 24, 24, 28, 5, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 48, 49, 5, 5, 9, 9, 9, 10, 10, 32, 32, 32, 32, 9, 9, 9, 35, 32, 23, 5,
|
||||
9, 9, 10, 10, 39, 24, 24, 24, 24, 24, 0, 24, 32, 23, 23, 15, 20, 24, 37, 37, 3, 32, 28,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_13_2: &[u16] = &[
|
||||
1, 3, 2, 4, 47, 5, 5, 5, 1, 1, 1, 5, 23, 6, 7, 8, 9, 9, 9, 10, 10, 11, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 19, 32, 18, 18, 14, 20, 21, 22, 23, 32, 9, 9, 24, 37, 0, 45, 23, 37, 19, 24, 24,
|
||||
25, 26, 27, 0, 17, 24, 24, 28, 5, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 48, 49, 5, 5, 9, 9, 9, 10, 10, 32, 32, 32, 32, 9, 9, 9, 35, 32, 23, 5,
|
||||
9, 9, 10, 10, 39, 24, 24, 24, 24, 24, 0, 24, 32, 23, 23, 15, 20, 24, 37, 37, 3, 32, 28,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_14: &[u16] = &[
|
||||
1, 3, 2, 4, 53, 56, 5, 5, 1, 1, 1, 5, 26, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 22, 37, 21, 21, 17, 23, 24, 25, 26, 37, 10, 10, 29, 42, 0, 51, 26, 42, 27, 28,
|
||||
29, 30, 31, 32, 0, 20, 28, 28, 33, 5, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46,
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 9, 10, 11, 13, 13, 37, 37, 37, 37, 9, 10, 11, 40,
|
||||
37, 26, 5, 9, 10, 12, 13, 45, 28, 28, 28, 28, 28, 0, 28, 37, 26, 26, 18, 23, 28, 42, 42, 3, 37,
|
||||
33,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_15: &[u16] = &[
|
||||
1, 3, 2, 4, 53, 56, 5, 5, 1, 1, 1, 5, 26, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 22, 37, 21, 21, 17, 23, 24, 25, 26, 37, 59, 59, 29, 42, 0, 51, 26, 42, 27, 28,
|
||||
29, 30, 31, 32, 0, 20, 28, 28, 33, 5, 34, 35, 36, 37, 38, 39, 40, 41, 42, 42, 43, 44, 45, 46,
|
||||
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 13, 37, 37, 37, 37, 9, 10, 11, 40,
|
||||
37, 26, 5, 9, 10, 12, 13, 45, 28, 28, 28, 28, 28, 0, 28, 37, 26, 26, 18, 23, 28, 42, 42, 3, 37,
|
||||
33,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_16: &[u16] = &[
|
||||
1, 3, 2, 4, 55, 58, 5, 5, 1, 1, 1, 5, 27, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 22, 64, 21, 21, 17, 23, 24, 25, 26, 39, 61, 61, 31, 28, 0, 53, 27, 28, 29, 30,
|
||||
31, 32, 33, 34, 0, 20, 30, 30, 35, 5, 36, 37, 38, 39, 40, 41, 42, 43, 44, 44, 45, 46, 47, 48,
|
||||
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 13, 64, 65, 66, 39, 67, 68, 69, 70,
|
||||
71, 26, 5, 9, 10, 12, 13, 47, 30, 30, 30, 30, 30, 0, 30, 64, 26, 27, 18, 23, 30, 28, 28, 3, 64,
|
||||
35,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_16_2: &[u16] = &[
|
||||
1, 3, 2, 4, 55, 58, 5, 5, 1, 1, 1, 5, 27, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 22, 64, 21, 21, 17, 23, 24, 25, 26, 39, 61, 61, 31, 28, 0, 53, 27, 28, 29, 30,
|
||||
31, 32, 33, 34, 0, 20, 30, 30, 35, 5, 36, 37, 38, 39, 40, 41, 42, 43, 44, 44, 45, 46, 47, 48,
|
||||
49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 13, 64, 65, 66, 39, 67, 68, 69, 70,
|
||||
71, 26, 5, 9, 10, 12, 13, 47, 30, 30, 30, 30, 30, 0, 30, 64, 26, 27, 18, 23, 30, 28, 28, 3, 64,
|
||||
35,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_17: &[u16] = &[
|
||||
1, 4, 2, 5, 58, 61, 6, 6, 1, 1, 1, 6, 29, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
||||
21, 22, 23, 24, 24, 68, 23, 23, 19, 25, 26, 27, 28, 42, 64, 64, 33, 30, 0, 56, 29, 30, 31, 32,
|
||||
33, 34, 35, 36, 37, 22, 88, 32, 38, 78, 39, 40, 41, 42, 43, 44, 45, 46, 47, 47, 48, 49, 50, 51,
|
||||
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
|
||||
76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 32, 68, 28, 29, 20, 25, 86, 30, 30, 4,
|
||||
68, 38,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_18: &[u16] = &[
|
||||
1, 2, 3, 4, 57, 60, 5, 5, 1, 1, 1, 5, 28, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 23, 67, 22, 22, 18, 24, 25, 26, 27, 41, 63, 63, 32, 29, 0, 55, 28, 29, 30, 31,
|
||||
32, 33, 34, 35, 36, 21, 87, 31, 37, 77, 38, 39, 40, 41, 42, 43, 44, 45, 46, 46, 47, 48, 49, 50,
|
||||
51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
|
||||
75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 0, 31, 67, 27, 28, 19, 24, 85, 29, 29, 2,
|
||||
67, 37,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_19: &[u16] = &[
|
||||
1, 2, 3, 4, 61, 64, 5, 5, 1, 1, 1, 5, 32, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 23, 71, 22, 22, 24, 25, 26, 27, 28, 45, 67, 67, 36, 29, 30, 31, 32, 33, 34, 35,
|
||||
36, 37, 38, 39, 40, 21, 91, 35, 41, 81, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50, 51, 52, 53, 54,
|
||||
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
|
||||
79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 35, 71, 28, 32, 19, 25, 89, 33, 33, 2,
|
||||
71, 41,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_19_3: &[u16] = &[
|
||||
1, 2, 3, 4, 61, 64, 5, 5, 1, 1, 1, 5, 32, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 23, 71, 22, 22, 24, 25, 26, 27, 28, 45, 67, 67, 36, 29, 30, 31, 32, 33, 34, 35,
|
||||
36, 37, 38, 39, 40, 21, 91, 35, 41, 81, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50, 51, 52, 53, 54,
|
||||
55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
|
||||
79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 35, 71, 28, 32, 19, 25, 89, 33, 33, 2,
|
||||
71, 41,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_19_4: &[u16] = &[
|
||||
1, 2, 3, 4, 64, 67, 5, 5, 1, 1, 1, 5, 35, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 23, 74, 22, 22, 24, 25, 26, 27, 28, 48, 30, 30, 39, 32, 33, 34, 35, 36, 37, 38,
|
||||
39, 40, 41, 42, 43, 21, 94, 38, 44, 84, 45, 46, 47, 48, 49, 50, 51, 52, 53, 53, 54, 55, 56, 57,
|
||||
58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
|
||||
82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 38, 74, 28, 35, 19, 25, 92, 36, 36, 2,
|
||||
74, 44,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_20: &[u16] = &[
|
||||
1, 2, 3, 4, 62, 65, 5, 5, 1, 1, 1, 5, 33, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 23, 72, 22, 22, 24, 25, 26, 27, 28, 46, 29, 29, 37, 30, 31, 32, 33, 34, 35, 36,
|
||||
37, 38, 39, 40, 41, 21, 92, 36, 42, 82, 43, 44, 45, 46, 47, 48, 49, 50, 51, 51, 52, 53, 54, 55,
|
||||
56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
|
||||
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 72, 28, 33, 19, 25, 90, 34, 34, 2,
|
||||
72, 42,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_20_2: &[u16] = &[
|
||||
1, 2, 3, 4, 62, 65, 5, 5, 1, 1, 1, 5, 33, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 23, 72, 22, 22, 24, 25, 26, 27, 28, 46, 29, 29, 37, 30, 31, 32, 33, 34, 35, 36,
|
||||
37, 38, 39, 40, 41, 21, 92, 36, 42, 82, 43, 44, 45, 46, 47, 48, 49, 50, 51, 51, 52, 53, 54, 55,
|
||||
56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
|
||||
80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 72, 28, 33, 19, 25, 90, 34, 34, 2,
|
||||
72, 42,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_20_3: &[u16] = &[
|
||||
1, 2, 3, 4, 65, 68, 5, 5, 1, 1, 1, 5, 35, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 98, 25, 25, 26, 27, 28, 29, 30, 48, 31, 31, 39, 32, 33, 34, 35, 36, 37, 38,
|
||||
39, 40, 41, 42, 43, 21, 95, 38, 44, 85, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
|
||||
59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
|
||||
83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 35, 19, 27, 93, 36, 36, 2,
|
||||
75, 44,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_20_5: &[u16] = &[
|
||||
0, 1, 2, 3, 68, 71, 4, 4, 0, 0, 0, 4, 37, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 33, 41, 34, 35, 36, 37, 38, 39, 40,
|
||||
41, 42, 43, 44, 45, 20, 40, 40, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
|
||||
41, 42, 43, 44, 45, 20, 98, 40, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
|
||||
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
|
||||
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
|
||||
108, 1, 78, 46,
|
||||
@ -11,7 +163,7 @@ const PARTICLE_ID_REMAP_V_26_2_TO_V_1_20_5: &[u16] = &[
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21: &[u16] = &[
|
||||
0, 1, 2, 3, 68, 71, 4, 4, 0, 0, 0, 4, 37, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 33, 41, 34, 35, 36, 37, 38, 39, 40,
|
||||
41, 42, 43, 44, 45, 20, 40, 40, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
|
||||
41, 42, 43, 44, 45, 20, 98, 40, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
|
||||
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
|
||||
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
|
||||
108, 1, 78, 46,
|
||||
@ -19,7 +171,7 @@ const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21: &[u16] = &[
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21_2: &[u16] = &[
|
||||
0, 1, 2, 3, 69, 72, 4, 4, 0, 0, 0, 4, 37, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 33, 41, 34, 35, 36, 37, 38, 39, 40,
|
||||
41, 42, 43, 44, 45, 46, 40, 40, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
|
||||
41, 42, 43, 44, 45, 46, 99, 40, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
|
||||
63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
|
||||
87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
|
||||
108, 109, 110, 79, 47,
|
||||
@ -27,50 +179,50 @@ const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21_2: &[u16] = &[
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21_4: &[u16] = &[
|
||||
0, 1, 2, 3, 70, 73, 4, 4, 0, 0, 0, 4, 38, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 42, 35, 36, 37, 38, 39, 40, 41,
|
||||
42, 43, 44, 45, 46, 47, 41, 41, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
|
||||
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
|
||||
88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
|
||||
109, 110, 111, 80, 48,
|
||||
42, 43, 44, 45, 46, 47, 100, 41, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
|
||||
63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
|
||||
87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
|
||||
108, 109, 110, 111, 80, 48,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21_5: &[u16] = &[
|
||||
0, 1, 2, 3, 71, 74, 4, 4, 0, 0, 0, 4, 39, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
|
||||
43, 44, 45, 46, 47, 48, 42, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
||||
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
|
||||
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
|
||||
110, 111, 112, 113, 49,
|
||||
43, 44, 45, 46, 47, 48, 101, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
|
||||
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
|
||||
88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
|
||||
109, 110, 111, 112, 113, 49,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21_6: &[u16] = &[
|
||||
0, 1, 2, 3, 71, 74, 4, 4, 0, 0, 0, 4, 39, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
|
||||
43, 44, 45, 46, 47, 48, 42, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
||||
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
|
||||
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
|
||||
110, 111, 112, 113, 49,
|
||||
43, 44, 45, 46, 47, 48, 101, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
|
||||
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
|
||||
88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
|
||||
109, 110, 111, 112, 113, 49,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21_7: &[u16] = &[
|
||||
0, 1, 2, 3, 71, 74, 4, 4, 0, 0, 0, 4, 39, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
|
||||
43, 44, 45, 46, 47, 48, 42, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
||||
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
|
||||
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
|
||||
110, 111, 112, 113, 49,
|
||||
43, 44, 45, 46, 47, 48, 101, 42, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
|
||||
64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
|
||||
88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
|
||||
109, 110, 111, 112, 113, 49,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21_9: &[u16] = &[
|
||||
0, 1, 2, 3, 72, 75, 4, 4, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
|
||||
44, 45, 46, 47, 48, 49, 43, 43, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
|
||||
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
|
||||
90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
|
||||
111, 112, 113, 114, 50,
|
||||
44, 45, 46, 47, 48, 49, 102, 43, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
||||
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
|
||||
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
|
||||
110, 111, 112, 113, 114, 50,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_1_21_11: &[u16] = &[
|
||||
0, 1, 2, 3, 72, 75, 4, 4, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
|
||||
44, 45, 46, 47, 48, 49, 43, 43, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
|
||||
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
|
||||
90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
|
||||
111, 112, 113, 114, 50,
|
||||
44, 45, 46, 47, 48, 49, 102, 43, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
|
||||
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
|
||||
89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
|
||||
110, 111, 112, 113, 114, 50,
|
||||
];
|
||||
const PARTICLE_ID_REMAP_V_26_2_TO_V_26_1: &[u16] = &[
|
||||
0, 1, 2, 3, 74, 77, 4, 4, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
|
||||
@ -83,6 +235,98 @@ const PARTICLE_ID_REMAP_V_26_2_TO_V_26_1: &[u16] = &[
|
||||
#[must_use]
|
||||
pub fn remap_particle_id_for_version(particle_id: u16, version: JavaMinecraftVersion) -> u16 {
|
||||
match version {
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_7_6 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_7_6
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_8 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_8
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_9 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_9
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_10 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_10
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_11 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_11
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_12 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_12
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_13 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_13
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_13_2 => {
|
||||
PARTICLE_ID_REMAP_V_26_2_TO_V_1_13_2
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id)
|
||||
}
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_14 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_14
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_15 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_15
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_16 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_16
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_16_2 => {
|
||||
PARTICLE_ID_REMAP_V_26_2_TO_V_1_16_2
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id)
|
||||
}
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_17 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_17
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_18 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_18
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_19 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_19
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_19_3 => {
|
||||
PARTICLE_ID_REMAP_V_26_2_TO_V_1_19_3
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id)
|
||||
}
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_19_4 => {
|
||||
PARTICLE_ID_REMAP_V_26_2_TO_V_1_19_4
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id)
|
||||
}
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_20 => PARTICLE_ID_REMAP_V_26_2_TO_V_1_20
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id),
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_20_2 => {
|
||||
PARTICLE_ID_REMAP_V_26_2_TO_V_1_20_2
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id)
|
||||
}
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_20_3 => {
|
||||
PARTICLE_ID_REMAP_V_26_2_TO_V_1_20_3
|
||||
.get(usize::from(particle_id))
|
||||
.copied()
|
||||
.unwrap_or(particle_id)
|
||||
}
|
||||
pumpkin_util::version::JavaMinecraftVersion::V_1_20_5 => {
|
||||
PARTICLE_ID_REMAP_V_26_2_TO_V_1_20_5
|
||||
.get(usize::from(particle_id))
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
use crate::effect::StatusEffect;
|
||||
use std::hash::Hash;
|
||||
pub struct Potion {
|
||||
pub id: u8,
|
||||
pub name: &'static str,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
use crate::item::Item;
|
||||
use crate::tag::Taggable;
|
||||
use serde::Serialize;
|
||||
use serde::{Deserialize, Serialize};
|
||||
#[derive(Clone, Debug, Serialize)]
|
||||
pub enum CraftingRecipeTypes {
|
||||
CraftingShaped {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,3 +1,4 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
|
||||
pub enum ScoreboardDisplaySlot {
|
||||
List,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -55,165 +55,165 @@ impl TryFrom<i32> for StatisticCategory {
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
||||
#[repr(i32)]
|
||||
pub enum CustomStatistic {
|
||||
AviateOneCm = 19i32,
|
||||
DamageDealt = 25i32,
|
||||
CleanBanner = 43i32,
|
||||
InspectDispenser = 49i32,
|
||||
PotFlower = 52i32,
|
||||
TradedWithVillager = 38i32,
|
||||
PlayNoteblock = 50i32,
|
||||
WalkOnWaterOneCm = 9i32,
|
||||
OpenShulkerBox = 61i32,
|
||||
DamageResisted = 31i32,
|
||||
InteractWithLectern = 65i32,
|
||||
BellRing = 70i32,
|
||||
UseCauldron = 41i32,
|
||||
InteractWithAnvil = 73i32,
|
||||
FallOneCm = 10i32,
|
||||
PigOneCm = 16i32,
|
||||
EnchantItem = 55i32,
|
||||
SleepInBed = 60i32,
|
||||
FlyOneCm = 12i32,
|
||||
RaidTrigger = 71i32,
|
||||
DamageDealtResisted = 27i32,
|
||||
InteractWithBrewingstand = 45i32,
|
||||
InspectHopper = 48i32,
|
||||
PlayRecord = 56i32,
|
||||
WalkOneCm = 6i32,
|
||||
CleanArmor = 42i32,
|
||||
InteractWithCartographyTable = 67i32,
|
||||
OpenEnderchest = 54i32,
|
||||
InteractWithFurnace = 57i32,
|
||||
SwimOneCm = 20i32,
|
||||
DamageAbsorbed = 30i32,
|
||||
OpenBarrel = 62i32,
|
||||
TimeSinceRest = 4i32,
|
||||
DamageBlockedByShield = 29i32,
|
||||
NautilusOneCm = 22i32,
|
||||
TimeSinceDeath = 3i32,
|
||||
InteractWithBlastFurnace = 63i32,
|
||||
ClimbOneCm = 11i32,
|
||||
HappyGhastOneCm = 17i32,
|
||||
TotalWorldTime = 2i32,
|
||||
Deaths = 32i32,
|
||||
InteractWithBeacon = 46i32,
|
||||
PlayTime = 1i32,
|
||||
InteractWithCraftingTable = 58i32,
|
||||
MinecartOneCm = 14i32,
|
||||
TalkedToVillager = 37i32,
|
||||
PlayerKills = 35i32,
|
||||
InteractWithStonecutter = 69i32,
|
||||
InteractWithSmithingTable = 76i32,
|
||||
Jump = 23i32,
|
||||
FillCauldron = 40i32,
|
||||
RaidWin = 72i32,
|
||||
TriggerTrappedChest = 53i32,
|
||||
BoatOneCm = 15i32,
|
||||
DamageDealtAbsorbed = 26i32,
|
||||
CleanShulkerBox = 44i32,
|
||||
TuneNoteblock = 51i32,
|
||||
InteractWithCampfire = 66i32,
|
||||
SprintOneCm = 8i32,
|
||||
InteractWithLoom = 68i32,
|
||||
FishCaught = 36i32,
|
||||
InteractWithGrindstone = 74i32,
|
||||
DamageTaken = 28i32,
|
||||
InspectDropper = 47i32,
|
||||
AnimalsBred = 34i32,
|
||||
WalkUnderWaterOneCm = 13i32,
|
||||
HorseOneCm = 18i32,
|
||||
OpenChest = 59i32,
|
||||
MobKills = 33i32,
|
||||
SneakTime = 5i32,
|
||||
EatCakeSlice = 39i32,
|
||||
CrouchOneCm = 7i32,
|
||||
InteractWithSmoker = 64i32,
|
||||
TargetHit = 75i32,
|
||||
StriderOneCm = 21i32,
|
||||
LeaveGame = 0i32,
|
||||
TimeSinceDeath = 3i32,
|
||||
OpenShulkerBox = 61i32,
|
||||
OpenBarrel = 62i32,
|
||||
InteractWithSmithingTable = 76i32,
|
||||
DamageAbsorbed = 30i32,
|
||||
PigOneCm = 16i32,
|
||||
DamageTaken = 28i32,
|
||||
EatCakeSlice = 39i32,
|
||||
CleanBanner = 43i32,
|
||||
WalkOnWaterOneCm = 9i32,
|
||||
InspectHopper = 48i32,
|
||||
TuneNoteblock = 51i32,
|
||||
AviateOneCm = 19i32,
|
||||
BellRing = 70i32,
|
||||
MobKills = 33i32,
|
||||
TradedWithVillager = 38i32,
|
||||
EnchantItem = 55i32,
|
||||
InspectDispenser = 49i32,
|
||||
PlayRecord = 56i32,
|
||||
SneakTime = 5i32,
|
||||
Jump = 23i32,
|
||||
DamageDealtAbsorbed = 26i32,
|
||||
AnimalsBred = 34i32,
|
||||
SwimOneCm = 20i32,
|
||||
InteractWithBrewingstand = 45i32,
|
||||
InteractWithCraftingTable = 58i32,
|
||||
InteractWithLoom = 68i32,
|
||||
Deaths = 32i32,
|
||||
PlayerKills = 35i32,
|
||||
InteractWithAnvil = 73i32,
|
||||
SprintOneCm = 8i32,
|
||||
FillCauldron = 40i32,
|
||||
InteractWithLectern = 65i32,
|
||||
SleepInBed = 60i32,
|
||||
TargetHit = 75i32,
|
||||
CrouchOneCm = 7i32,
|
||||
InteractWithCartographyTable = 67i32,
|
||||
InteractWithBlastFurnace = 63i32,
|
||||
UseCauldron = 41i32,
|
||||
RaidWin = 72i32,
|
||||
InteractWithCampfire = 66i32,
|
||||
FallOneCm = 10i32,
|
||||
Drop = 24i32,
|
||||
FishCaught = 36i32,
|
||||
InteractWithStonecutter = 69i32,
|
||||
BoatOneCm = 15i32,
|
||||
RaidTrigger = 71i32,
|
||||
WalkUnderWaterOneCm = 13i32,
|
||||
InspectDropper = 47i32,
|
||||
OpenEnderchest = 54i32,
|
||||
PlayTime = 1i32,
|
||||
LeaveGame = 0i32,
|
||||
HorseOneCm = 18i32,
|
||||
PlayNoteblock = 50i32,
|
||||
DamageResisted = 31i32,
|
||||
TimeSinceRest = 4i32,
|
||||
NautilusOneCm = 22i32,
|
||||
InteractWithSmoker = 64i32,
|
||||
DamageBlockedByShield = 29i32,
|
||||
CleanShulkerBox = 44i32,
|
||||
InteractWithBeacon = 46i32,
|
||||
PotFlower = 52i32,
|
||||
MinecartOneCm = 14i32,
|
||||
WalkOneCm = 6i32,
|
||||
DamageDealt = 25i32,
|
||||
FlyOneCm = 12i32,
|
||||
OpenChest = 59i32,
|
||||
TalkedToVillager = 37i32,
|
||||
InteractWithGrindstone = 74i32,
|
||||
ClimbOneCm = 11i32,
|
||||
InteractWithFurnace = 57i32,
|
||||
HappyGhastOneCm = 17i32,
|
||||
CleanArmor = 42i32,
|
||||
TriggerTrappedChest = 53i32,
|
||||
DamageDealtResisted = 27i32,
|
||||
TotalWorldTime = 2i32,
|
||||
}
|
||||
impl CustomStatistic {
|
||||
#[must_use]
|
||||
pub const fn from_i32(id: i32) -> Option<Self> {
|
||||
match id {
|
||||
19i32 => Some(Self::AviateOneCm),
|
||||
25i32 => Some(Self::DamageDealt),
|
||||
43i32 => Some(Self::CleanBanner),
|
||||
49i32 => Some(Self::InspectDispenser),
|
||||
52i32 => Some(Self::PotFlower),
|
||||
38i32 => Some(Self::TradedWithVillager),
|
||||
50i32 => Some(Self::PlayNoteblock),
|
||||
9i32 => Some(Self::WalkOnWaterOneCm),
|
||||
61i32 => Some(Self::OpenShulkerBox),
|
||||
31i32 => Some(Self::DamageResisted),
|
||||
65i32 => Some(Self::InteractWithLectern),
|
||||
70i32 => Some(Self::BellRing),
|
||||
41i32 => Some(Self::UseCauldron),
|
||||
73i32 => Some(Self::InteractWithAnvil),
|
||||
10i32 => Some(Self::FallOneCm),
|
||||
16i32 => Some(Self::PigOneCm),
|
||||
55i32 => Some(Self::EnchantItem),
|
||||
60i32 => Some(Self::SleepInBed),
|
||||
12i32 => Some(Self::FlyOneCm),
|
||||
71i32 => Some(Self::RaidTrigger),
|
||||
27i32 => Some(Self::DamageDealtResisted),
|
||||
45i32 => Some(Self::InteractWithBrewingstand),
|
||||
48i32 => Some(Self::InspectHopper),
|
||||
56i32 => Some(Self::PlayRecord),
|
||||
6i32 => Some(Self::WalkOneCm),
|
||||
42i32 => Some(Self::CleanArmor),
|
||||
67i32 => Some(Self::InteractWithCartographyTable),
|
||||
54i32 => Some(Self::OpenEnderchest),
|
||||
57i32 => Some(Self::InteractWithFurnace),
|
||||
20i32 => Some(Self::SwimOneCm),
|
||||
30i32 => Some(Self::DamageAbsorbed),
|
||||
62i32 => Some(Self::OpenBarrel),
|
||||
4i32 => Some(Self::TimeSinceRest),
|
||||
29i32 => Some(Self::DamageBlockedByShield),
|
||||
22i32 => Some(Self::NautilusOneCm),
|
||||
3i32 => Some(Self::TimeSinceDeath),
|
||||
63i32 => Some(Self::InteractWithBlastFurnace),
|
||||
11i32 => Some(Self::ClimbOneCm),
|
||||
17i32 => Some(Self::HappyGhastOneCm),
|
||||
2i32 => Some(Self::TotalWorldTime),
|
||||
32i32 => Some(Self::Deaths),
|
||||
46i32 => Some(Self::InteractWithBeacon),
|
||||
1i32 => Some(Self::PlayTime),
|
||||
58i32 => Some(Self::InteractWithCraftingTable),
|
||||
14i32 => Some(Self::MinecartOneCm),
|
||||
37i32 => Some(Self::TalkedToVillager),
|
||||
35i32 => Some(Self::PlayerKills),
|
||||
69i32 => Some(Self::InteractWithStonecutter),
|
||||
76i32 => Some(Self::InteractWithSmithingTable),
|
||||
23i32 => Some(Self::Jump),
|
||||
40i32 => Some(Self::FillCauldron),
|
||||
72i32 => Some(Self::RaidWin),
|
||||
53i32 => Some(Self::TriggerTrappedChest),
|
||||
15i32 => Some(Self::BoatOneCm),
|
||||
26i32 => Some(Self::DamageDealtAbsorbed),
|
||||
44i32 => Some(Self::CleanShulkerBox),
|
||||
51i32 => Some(Self::TuneNoteblock),
|
||||
66i32 => Some(Self::InteractWithCampfire),
|
||||
8i32 => Some(Self::SprintOneCm),
|
||||
68i32 => Some(Self::InteractWithLoom),
|
||||
36i32 => Some(Self::FishCaught),
|
||||
74i32 => Some(Self::InteractWithGrindstone),
|
||||
28i32 => Some(Self::DamageTaken),
|
||||
47i32 => Some(Self::InspectDropper),
|
||||
34i32 => Some(Self::AnimalsBred),
|
||||
13i32 => Some(Self::WalkUnderWaterOneCm),
|
||||
18i32 => Some(Self::HorseOneCm),
|
||||
59i32 => Some(Self::OpenChest),
|
||||
33i32 => Some(Self::MobKills),
|
||||
5i32 => Some(Self::SneakTime),
|
||||
39i32 => Some(Self::EatCakeSlice),
|
||||
7i32 => Some(Self::CrouchOneCm),
|
||||
64i32 => Some(Self::InteractWithSmoker),
|
||||
75i32 => Some(Self::TargetHit),
|
||||
21i32 => Some(Self::StriderOneCm),
|
||||
0i32 => Some(Self::LeaveGame),
|
||||
3i32 => Some(Self::TimeSinceDeath),
|
||||
61i32 => Some(Self::OpenShulkerBox),
|
||||
62i32 => Some(Self::OpenBarrel),
|
||||
76i32 => Some(Self::InteractWithSmithingTable),
|
||||
30i32 => Some(Self::DamageAbsorbed),
|
||||
16i32 => Some(Self::PigOneCm),
|
||||
28i32 => Some(Self::DamageTaken),
|
||||
39i32 => Some(Self::EatCakeSlice),
|
||||
43i32 => Some(Self::CleanBanner),
|
||||
9i32 => Some(Self::WalkOnWaterOneCm),
|
||||
48i32 => Some(Self::InspectHopper),
|
||||
51i32 => Some(Self::TuneNoteblock),
|
||||
19i32 => Some(Self::AviateOneCm),
|
||||
70i32 => Some(Self::BellRing),
|
||||
33i32 => Some(Self::MobKills),
|
||||
38i32 => Some(Self::TradedWithVillager),
|
||||
55i32 => Some(Self::EnchantItem),
|
||||
49i32 => Some(Self::InspectDispenser),
|
||||
56i32 => Some(Self::PlayRecord),
|
||||
5i32 => Some(Self::SneakTime),
|
||||
23i32 => Some(Self::Jump),
|
||||
26i32 => Some(Self::DamageDealtAbsorbed),
|
||||
34i32 => Some(Self::AnimalsBred),
|
||||
20i32 => Some(Self::SwimOneCm),
|
||||
45i32 => Some(Self::InteractWithBrewingstand),
|
||||
58i32 => Some(Self::InteractWithCraftingTable),
|
||||
68i32 => Some(Self::InteractWithLoom),
|
||||
32i32 => Some(Self::Deaths),
|
||||
35i32 => Some(Self::PlayerKills),
|
||||
73i32 => Some(Self::InteractWithAnvil),
|
||||
8i32 => Some(Self::SprintOneCm),
|
||||
40i32 => Some(Self::FillCauldron),
|
||||
65i32 => Some(Self::InteractWithLectern),
|
||||
60i32 => Some(Self::SleepInBed),
|
||||
75i32 => Some(Self::TargetHit),
|
||||
7i32 => Some(Self::CrouchOneCm),
|
||||
67i32 => Some(Self::InteractWithCartographyTable),
|
||||
63i32 => Some(Self::InteractWithBlastFurnace),
|
||||
41i32 => Some(Self::UseCauldron),
|
||||
72i32 => Some(Self::RaidWin),
|
||||
66i32 => Some(Self::InteractWithCampfire),
|
||||
10i32 => Some(Self::FallOneCm),
|
||||
24i32 => Some(Self::Drop),
|
||||
36i32 => Some(Self::FishCaught),
|
||||
69i32 => Some(Self::InteractWithStonecutter),
|
||||
15i32 => Some(Self::BoatOneCm),
|
||||
71i32 => Some(Self::RaidTrigger),
|
||||
13i32 => Some(Self::WalkUnderWaterOneCm),
|
||||
47i32 => Some(Self::InspectDropper),
|
||||
54i32 => Some(Self::OpenEnderchest),
|
||||
1i32 => Some(Self::PlayTime),
|
||||
0i32 => Some(Self::LeaveGame),
|
||||
18i32 => Some(Self::HorseOneCm),
|
||||
50i32 => Some(Self::PlayNoteblock),
|
||||
31i32 => Some(Self::DamageResisted),
|
||||
4i32 => Some(Self::TimeSinceRest),
|
||||
22i32 => Some(Self::NautilusOneCm),
|
||||
64i32 => Some(Self::InteractWithSmoker),
|
||||
29i32 => Some(Self::DamageBlockedByShield),
|
||||
44i32 => Some(Self::CleanShulkerBox),
|
||||
46i32 => Some(Self::InteractWithBeacon),
|
||||
52i32 => Some(Self::PotFlower),
|
||||
14i32 => Some(Self::MinecartOneCm),
|
||||
6i32 => Some(Self::WalkOneCm),
|
||||
25i32 => Some(Self::DamageDealt),
|
||||
12i32 => Some(Self::FlyOneCm),
|
||||
59i32 => Some(Self::OpenChest),
|
||||
37i32 => Some(Self::TalkedToVillager),
|
||||
74i32 => Some(Self::InteractWithGrindstone),
|
||||
11i32 => Some(Self::ClimbOneCm),
|
||||
57i32 => Some(Self::InteractWithFurnace),
|
||||
17i32 => Some(Self::HappyGhastOneCm),
|
||||
42i32 => Some(Self::CleanArmor),
|
||||
53i32 => Some(Self::TriggerTrappedChest),
|
||||
27i32 => Some(Self::DamageDealtResisted),
|
||||
2i32 => Some(Self::TotalWorldTime),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
/* This file is generated. Do not edit manually. */
|
||||
use pumpkin_util::math::floor_div;
|
||||
use pumpkin_util::random::{
|
||||
RandomGenerator, RandomImpl,
|
||||
RandomGenerator, RandomImpl, get_carver_seed, get_region_seed, legacy_rand::LegacyRand,
|
||||
xoroshiro128::Xoroshiro,
|
||||
};
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
|
||||
pub enum StructureKeys {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,4 +1,5 @@
|
||||
#![allow(
|
||||
unused,
|
||||
clippy::all,
|
||||
clippy::pedantic,
|
||||
clippy::nursery,
|
||||
|
||||
@ -279,6 +279,12 @@ impl NbtCompound {
|
||||
self.get(name).and_then(|tag| tag.extract_compound())
|
||||
}
|
||||
|
||||
/// Returns the named byte array, or `None` if the tag is absent or has another type.
|
||||
#[must_use]
|
||||
pub fn get_byte_array(&self, name: &str) -> Option<&[i8]> {
|
||||
self.get(name).and_then(|tag| tag.extract_byte_array())
|
||||
}
|
||||
|
||||
/// Returns the named integer array, or `None` if the tag is absent or has another type.
|
||||
#[must_use]
|
||||
pub fn get_int_array(&self, name: &str) -> Option<&[i32]> {
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 952c0a65b21c1b934d678cb9b8eef6cbfec2a695
|
||||
Subproject commit 2f91c555a4e902bf3e69d5cd0a60835232b2a92d
|
||||
@ -46,9 +46,9 @@ impl ClientPacket for CConfigAddResourcePack<'_> {
|
||||
write.write_string(self.url)?;
|
||||
write.write_string(self.hash)?;
|
||||
write.write_bool(self.forced)?;
|
||||
if let Some(_prompt) = &self.prompt_message {
|
||||
if let Some(prompt) = &self.prompt_message {
|
||||
write.write_bool(true)?;
|
||||
// TODO
|
||||
write.write_slice(&prompt.encode())?;
|
||||
} else {
|
||||
write.write_bool(false)?;
|
||||
}
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
use pumpkin_data::packet::clientbound::CONFIG_CODE_OF_CONDUCT;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use crate::ser::NetworkWriteExt;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(CONFIG_CODE_OF_CONDUCT)]
|
||||
pub struct CCodeOfConduct<'a> {
|
||||
pub code_of_conduct: &'a str,
|
||||
}
|
||||
|
||||
impl<'a> CCodeOfConduct<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(code_of_conduct: &'a str) -> Self {
|
||||
Self { code_of_conduct }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CCodeOfConduct<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_string(self.code_of_conduct)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
use pumpkin_data::packet::clientbound::CONFIG_CUSTOM_REPORT_DETAILS;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use crate::codec::var_int::VarInt;
|
||||
use crate::ser::NetworkWriteExt;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(CONFIG_CUSTOM_REPORT_DETAILS)]
|
||||
pub struct CConfigCustomReportDetails<'a> {
|
||||
pub details: &'a [(&'a str, &'a str)],
|
||||
}
|
||||
|
||||
impl<'a> CConfigCustomReportDetails<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(details: &'a [(&'a str, &'a str)]) -> Self {
|
||||
Self { details }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CConfigCustomReportDetails<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&VarInt(self.details.len() as i32))?;
|
||||
for (key, value) in self.details {
|
||||
write.write_string(key)?;
|
||||
write.write_string(value)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -1,12 +1,17 @@
|
||||
mod add_resource_pack;
|
||||
mod clear_dialog;
|
||||
mod code_of_conduct;
|
||||
mod config_disconnect;
|
||||
mod cookie_request;
|
||||
mod custom_report_details;
|
||||
mod feature_flags;
|
||||
mod finish_config;
|
||||
mod known_packs;
|
||||
mod ping;
|
||||
mod plugin_message;
|
||||
mod registry_data;
|
||||
mod remove_resource_pack;
|
||||
mod reset_chat;
|
||||
mod server_links;
|
||||
mod show_dialog;
|
||||
mod store_cookie;
|
||||
@ -15,13 +20,18 @@ mod update_tags;
|
||||
|
||||
pub use add_resource_pack::*;
|
||||
pub use clear_dialog::*;
|
||||
pub use code_of_conduct::*;
|
||||
pub use config_disconnect::*;
|
||||
pub use cookie_request::*;
|
||||
pub use custom_report_details::*;
|
||||
pub use feature_flags::*;
|
||||
pub use finish_config::*;
|
||||
pub use known_packs::*;
|
||||
pub use ping::*;
|
||||
pub use plugin_message::*;
|
||||
pub use registry_data::*;
|
||||
pub use remove_resource_pack::*;
|
||||
pub use reset_chat::*;
|
||||
pub use server_links::*;
|
||||
pub use show_dialog::*;
|
||||
pub use store_cookie::*;
|
||||
|
||||
29
crates/pumpkin-protocol/src/java/client/config/ping.rs
Normal file
29
crates/pumpkin-protocol/src/java/client/config/ping.rs
Normal file
@ -0,0 +1,29 @@
|
||||
use pumpkin_data::packet::clientbound::CONFIG_PING;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use crate::ser::NetworkWriteExt;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(CONFIG_PING)]
|
||||
pub struct CConfigPing {
|
||||
pub id: i32,
|
||||
}
|
||||
|
||||
impl CConfigPing {
|
||||
#[must_use]
|
||||
pub const fn new(id: i32) -> Self {
|
||||
Self { id }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CConfigPing {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_i32_be(self.id)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
use pumpkin_data::packet::clientbound::CONFIG_RESOURCE_PACK_POP;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use crate::ser::NetworkWriteExt;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(CONFIG_RESOURCE_PACK_POP)]
|
||||
pub struct CConfigRemoveResourcePack<'a> {
|
||||
pub uuid: Option<&'a uuid::Uuid>,
|
||||
}
|
||||
|
||||
impl<'a> CConfigRemoveResourcePack<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(uuid: Option<&'a uuid::Uuid>) -> Self {
|
||||
Self { uuid }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CConfigRemoveResourcePack<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
if let Some(uuid) = self.uuid {
|
||||
write.write_bool(true)?;
|
||||
write.write_uuid(uuid)?;
|
||||
} else {
|
||||
write.write_bool(false)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
18
crates/pumpkin-protocol/src/java/client/config/reset_chat.rs
Normal file
18
crates/pumpkin-protocol/src/java/client/config/reset_chat.rs
Normal file
@ -0,0 +1,18 @@
|
||||
use pumpkin_data::packet::clientbound::CONFIG_RESET_CHAT;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(CONFIG_RESET_CHAT)]
|
||||
pub struct CConfigResetChat;
|
||||
|
||||
impl ClientPacket for CConfigResetChat {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
_write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_RESOURCE_PACK_PUSH;
|
||||
use pumpkin_util::text::TextComponent;
|
||||
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use crate::ser::NetworkWriteExt;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_RESOURCE_PACK_PUSH)]
|
||||
pub struct CAddResourcePack<'a> {
|
||||
pub uuid: &'a uuid::Uuid,
|
||||
pub url: &'a str,
|
||||
pub hash: &'a str,
|
||||
pub forced: bool,
|
||||
pub prompt_message: Option<TextComponent>,
|
||||
}
|
||||
|
||||
impl<'a> CAddResourcePack<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(
|
||||
uuid: &'a uuid::Uuid,
|
||||
url: &'a str,
|
||||
hash: &'a str,
|
||||
forced: bool,
|
||||
prompt_message: Option<TextComponent>,
|
||||
) -> Self {
|
||||
Self {
|
||||
uuid,
|
||||
url,
|
||||
hash,
|
||||
forced,
|
||||
prompt_message,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CAddResourcePack<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_uuid(self.uuid)?;
|
||||
write.write_string(self.url)?;
|
||||
write.write_string(self.hash)?;
|
||||
write.write_bool(self.forced)?;
|
||||
if let Some(prompt) = &self.prompt_message {
|
||||
write.write_bool(true)?;
|
||||
write.write_slice(&prompt.encode())?;
|
||||
} else {
|
||||
write.write_bool(false)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_BUNDLE_DELIMITER;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_BUNDLE_DELIMITER)]
|
||||
pub struct CBundleDelimiter;
|
||||
|
||||
impl ClientPacket for CBundleDelimiter {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
_write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_CHUNKS_BIOMES;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
pub struct ChunkBiomeEntry<'a> {
|
||||
pub chunk_x: i32,
|
||||
pub chunk_z: i32,
|
||||
pub data: &'a [u8],
|
||||
}
|
||||
|
||||
#[java_packet(PLAY_CHUNKS_BIOMES)]
|
||||
pub struct CChunksBiomes<'a> {
|
||||
pub chunks: &'a [ChunkBiomeEntry<'a>],
|
||||
}
|
||||
|
||||
impl<'a> CChunksBiomes<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(chunks: &'a [ChunkBiomeEntry<'a>]) -> Self {
|
||||
Self { chunks }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CChunksBiomes<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&VarInt(self.chunks.len() as i32))?;
|
||||
for chunk in self.chunks {
|
||||
write.write_i32_be(chunk.chunk_x)?;
|
||||
write.write_i32_be(chunk.chunk_z)?;
|
||||
write.write_slice(chunk.data)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
41
crates/pumpkin-protocol/src/java/client/play/combat_event.rs
Normal file
41
crates/pumpkin-protocol/src/java/client/play/combat_event.rs
Normal file
@ -0,0 +1,41 @@
|
||||
use pumpkin_data::packet::clientbound::{PLAY_PLAYER_COMBAT_END, PLAY_PLAYER_COMBAT_ENTER};
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_PLAYER_COMBAT_ENTER)]
|
||||
pub struct CCombatEnter;
|
||||
|
||||
impl ClientPacket for CCombatEnter {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
_write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
#[java_packet(PLAY_PLAYER_COMBAT_END)]
|
||||
pub struct CCombatEnd {
|
||||
pub duration_ticks: VarInt,
|
||||
}
|
||||
|
||||
impl CCombatEnd {
|
||||
#[must_use]
|
||||
pub const fn new(duration_ticks: VarInt) -> Self {
|
||||
Self { duration_ticks }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CCombatEnd {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&self.duration_ticks)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_CUSTOM_CHAT_COMPLETIONS;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_CUSTOM_CHAT_COMPLETIONS)]
|
||||
pub struct CCustomChatCompletions<'a> {
|
||||
pub action: VarInt,
|
||||
pub entries: &'a [&'a str],
|
||||
}
|
||||
|
||||
impl<'a> CCustomChatCompletions<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(action: VarInt, entries: &'a [&'a str]) -> Self {
|
||||
Self { action, entries }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CCustomChatCompletions<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&self.action)?;
|
||||
write.write_var_int(&VarInt(self.entries.len() as i32))?;
|
||||
for entry in self.entries {
|
||||
write.write_string(entry)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_CUSTOM_REPORT_DETAILS;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_CUSTOM_REPORT_DETAILS)]
|
||||
pub struct CPlayCustomReportDetails<'a> {
|
||||
pub details: &'a [(&'a str, &'a str)],
|
||||
}
|
||||
|
||||
impl<'a> CPlayCustomReportDetails<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(details: &'a [(&'a str, &'a str)]) -> Self {
|
||||
Self { details }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CPlayCustomReportDetails<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&VarInt(self.details.len() as i32))?;
|
||||
for (key, value) in self.details {
|
||||
write.write_string(key)?;
|
||||
write.write_string(value)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
43
crates/pumpkin-protocol/src/java/client/play/delete_chat.rs
Normal file
43
crates/pumpkin-protocol/src/java/client/play/delete_chat.rs
Normal file
@ -0,0 +1,43 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_DELETE_CHAT;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_DELETE_CHAT)]
|
||||
pub struct CDeleteChat<'a> {
|
||||
pub signature_id: VarInt,
|
||||
pub signature: Option<&'a [u8]>,
|
||||
}
|
||||
|
||||
impl<'a> CDeleteChat<'a> {
|
||||
#[must_use]
|
||||
pub const fn from_id(signature_id: VarInt) -> Self {
|
||||
Self {
|
||||
signature_id,
|
||||
signature: None,
|
||||
}
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub const fn from_signature(signature: &'a [u8]) -> Self {
|
||||
Self {
|
||||
signature_id: VarInt(0),
|
||||
signature: Some(signature),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CDeleteChat<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&self.signature_id)?;
|
||||
if let Some(signature) = self.signature {
|
||||
write.write_slice(signature)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_GAME_RULE_VALUES;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_GAME_RULE_VALUES)]
|
||||
pub struct CGameRuleValues<'a> {
|
||||
pub rules: &'a [(&'a str, &'a str)],
|
||||
}
|
||||
|
||||
impl<'a> CGameRuleValues<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(rules: &'a [(&'a str, &'a str)]) -> Self {
|
||||
Self { rules }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CGameRuleValues<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&VarInt(self.rules.len() as i32))?;
|
||||
for (key, value) in self.rules {
|
||||
write.write_string(key)?;
|
||||
write.write_string(value)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_LOW_DISK_SPACE_WARNING;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_LOW_DISK_SPACE_WARNING)]
|
||||
pub struct CLowDiskSpaceWarning;
|
||||
|
||||
impl ClientPacket for CLowDiskSpaceWarning {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
_write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -2,6 +2,10 @@ mod award_stats;
|
||||
pub use award_stats::*;
|
||||
mod acknowledge_block;
|
||||
mod actionbar;
|
||||
mod add_resource_pack;
|
||||
pub use add_resource_pack::*;
|
||||
mod remove_resource_pack;
|
||||
pub use remove_resource_pack::*;
|
||||
mod block_destroy_stage;
|
||||
mod block_entity_data;
|
||||
mod block_event;
|
||||
@ -226,3 +230,57 @@ pub use waypoint::*;
|
||||
|
||||
mod debug_sample;
|
||||
pub use debug_sample::*;
|
||||
|
||||
mod bundle_delimiter;
|
||||
pub use bundle_delimiter::*;
|
||||
|
||||
mod chunks_biomes;
|
||||
pub use chunks_biomes::*;
|
||||
|
||||
mod combat_event;
|
||||
pub use combat_event::*;
|
||||
|
||||
mod custom_chat_completions;
|
||||
pub use custom_chat_completions::*;
|
||||
|
||||
mod custom_report_details;
|
||||
pub use custom_report_details::*;
|
||||
|
||||
mod delete_chat;
|
||||
pub use delete_chat::*;
|
||||
|
||||
mod game_rule_values;
|
||||
pub use game_rule_values::*;
|
||||
|
||||
mod low_disk_space_warning;
|
||||
pub use low_disk_space_warning::*;
|
||||
|
||||
mod move_minecart_along_track;
|
||||
pub use move_minecart_along_track::*;
|
||||
|
||||
mod open_mount_screen;
|
||||
pub use open_mount_screen::*;
|
||||
|
||||
mod ping;
|
||||
pub use ping::*;
|
||||
|
||||
mod place_ghost_recipe;
|
||||
pub use place_ghost_recipe::*;
|
||||
|
||||
mod player_look_at;
|
||||
pub use player_look_at::*;
|
||||
|
||||
mod player_rotation;
|
||||
pub use player_rotation::*;
|
||||
|
||||
mod projectile_power;
|
||||
pub use projectile_power::*;
|
||||
|
||||
mod server_data;
|
||||
pub use server_data::*;
|
||||
|
||||
mod start_configuration;
|
||||
pub use start_configuration::*;
|
||||
|
||||
mod tag_query;
|
||||
pub use tag_query::*;
|
||||
|
||||
@ -0,0 +1,49 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_MOVE_MINECART_ALONG_TRACK;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::{math::vector3::Vector3, version::JavaMinecraftVersion};
|
||||
|
||||
pub struct MinecartStep {
|
||||
pub position: Vector3<f64>,
|
||||
pub movement: Vector3<f64>,
|
||||
pub yaw: f32,
|
||||
pub pitch: f32,
|
||||
pub weight: f32,
|
||||
}
|
||||
|
||||
#[java_packet(PLAY_MOVE_MINECART_ALONG_TRACK)]
|
||||
pub struct CMoveMinecartAlongTrack<'a> {
|
||||
pub entity_id: VarInt,
|
||||
pub steps: &'a [MinecartStep],
|
||||
}
|
||||
|
||||
impl<'a> CMoveMinecartAlongTrack<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(entity_id: VarInt, steps: &'a [MinecartStep]) -> Self {
|
||||
Self { entity_id, steps }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CMoveMinecartAlongTrack<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&self.entity_id)?;
|
||||
write.write_var_int(&VarInt(self.steps.len() as i32))?;
|
||||
for step in self.steps {
|
||||
write.write_f64_be(step.position.x)?;
|
||||
write.write_f64_be(step.position.y)?;
|
||||
write.write_f64_be(step.position.z)?;
|
||||
write.write_f64_be(step.movement.x)?;
|
||||
write.write_f64_be(step.movement.y)?;
|
||||
write.write_f64_be(step.movement.z)?;
|
||||
write.write_f32_be(step.yaw)?;
|
||||
write.write_f32_be(step.pitch)?;
|
||||
write.write_f32_be(step.weight)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_MOUNT_SCREEN_OPEN;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_MOUNT_SCREEN_OPEN)]
|
||||
pub struct COpenMountScreen {
|
||||
pub window_id: u8,
|
||||
pub slot_count: VarInt,
|
||||
pub entity_id: i32,
|
||||
}
|
||||
|
||||
impl COpenMountScreen {
|
||||
#[must_use]
|
||||
pub const fn new(window_id: u8, slot_count: VarInt, entity_id: i32) -> Self {
|
||||
Self {
|
||||
window_id,
|
||||
slot_count,
|
||||
entity_id,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for COpenMountScreen {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_u8(self.window_id)?;
|
||||
write.write_var_int(&self.slot_count)?;
|
||||
write.write_i32_be(self.entity_id)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
28
crates/pumpkin-protocol/src/java/client/play/ping.rs
Normal file
28
crates/pumpkin-protocol/src/java/client/play/ping.rs
Normal file
@ -0,0 +1,28 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_PING;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_PING)]
|
||||
pub struct CPlayPing {
|
||||
pub id: i32,
|
||||
}
|
||||
|
||||
impl CPlayPing {
|
||||
#[must_use]
|
||||
pub const fn new(id: i32) -> Self {
|
||||
Self { id }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CPlayPing {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_i32_be(self.id)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_PLACE_GHOST_RECIPE;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_PLACE_GHOST_RECIPE)]
|
||||
pub struct CPlaceGhostRecipe<'a> {
|
||||
pub window_id: u8,
|
||||
pub recipe_id: &'a str,
|
||||
}
|
||||
|
||||
impl<'a> CPlaceGhostRecipe<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(window_id: u8, recipe_id: &'a str) -> Self {
|
||||
Self {
|
||||
window_id,
|
||||
recipe_id,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CPlaceGhostRecipe<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_u8(self.window_id)?;
|
||||
write.write_string(self.recipe_id)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,71 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_PLAYER_LOOK_AT;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_PLAYER_LOOK_AT)]
|
||||
pub struct CPlayerLookAt {
|
||||
pub from_anchor: VarInt,
|
||||
pub target_x: f64,
|
||||
pub target_y: f64,
|
||||
pub target_z: f64,
|
||||
pub entity: Option<(VarInt, VarInt)>,
|
||||
}
|
||||
|
||||
impl CPlayerLookAt {
|
||||
#[must_use]
|
||||
pub const fn at_position(
|
||||
from_anchor: VarInt,
|
||||
target_x: f64,
|
||||
target_y: f64,
|
||||
target_z: f64,
|
||||
) -> Self {
|
||||
Self {
|
||||
from_anchor,
|
||||
target_x,
|
||||
target_y,
|
||||
target_z,
|
||||
entity: None,
|
||||
}
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub const fn at_entity(
|
||||
from_anchor: VarInt,
|
||||
target_x: f64,
|
||||
target_y: f64,
|
||||
target_z: f64,
|
||||
entity_id: VarInt,
|
||||
to_anchor: VarInt,
|
||||
) -> Self {
|
||||
Self {
|
||||
from_anchor,
|
||||
target_x,
|
||||
target_y,
|
||||
target_z,
|
||||
entity: Some((entity_id, to_anchor)),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CPlayerLookAt {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&self.from_anchor)?;
|
||||
write.write_f64_be(self.target_x)?;
|
||||
write.write_f64_be(self.target_y)?;
|
||||
write.write_f64_be(self.target_z)?;
|
||||
if let Some((entity_id, to_anchor)) = self.entity {
|
||||
write.write_bool(true)?;
|
||||
write.write_var_int(&entity_id)?;
|
||||
write.write_var_int(&to_anchor)?;
|
||||
} else {
|
||||
write.write_bool(false)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_PLAYER_ROTATION;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_PLAYER_ROTATION)]
|
||||
pub struct CPlayerRotation {
|
||||
pub yaw: f32,
|
||||
pub pitch: f32,
|
||||
}
|
||||
|
||||
impl CPlayerRotation {
|
||||
#[must_use]
|
||||
pub const fn new(yaw: f32, pitch: f32) -> Self {
|
||||
Self { yaw, pitch }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CPlayerRotation {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_f32_be(self.yaw)?;
|
||||
write.write_f32_be(self.pitch)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_PROJECTILE_POWER;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_PROJECTILE_POWER)]
|
||||
pub struct CProjectilePower {
|
||||
pub entity_id: VarInt,
|
||||
pub x_power: f64,
|
||||
pub y_power: f64,
|
||||
pub z_power: f64,
|
||||
}
|
||||
|
||||
impl CProjectilePower {
|
||||
#[must_use]
|
||||
pub const fn new(entity_id: VarInt, x_power: f64, y_power: f64, z_power: f64) -> Self {
|
||||
Self {
|
||||
entity_id,
|
||||
x_power,
|
||||
y_power,
|
||||
z_power,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CProjectilePower {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&self.entity_id)?;
|
||||
write.write_f64_be(self.x_power)?;
|
||||
write.write_f64_be(self.y_power)?;
|
||||
write.write_f64_be(self.z_power)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_RESOURCE_PACK_POP;
|
||||
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use crate::ser::NetworkWriteExt;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_RESOURCE_PACK_POP)]
|
||||
pub struct CRemoveResourcePack<'a> {
|
||||
pub uuid: Option<&'a uuid::Uuid>,
|
||||
}
|
||||
|
||||
impl<'a> CRemoveResourcePack<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(uuid: Option<&'a uuid::Uuid>) -> Self {
|
||||
Self { uuid }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CRemoveResourcePack<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
if let Some(uuid) = self.uuid {
|
||||
write.write_bool(true)?;
|
||||
write.write_uuid(uuid)?;
|
||||
} else {
|
||||
write.write_bool(false)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
36
crates/pumpkin-protocol/src/java/client/play/server_data.rs
Normal file
36
crates/pumpkin-protocol/src/java/client/play/server_data.rs
Normal file
@ -0,0 +1,36 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_SERVER_DATA;
|
||||
use pumpkin_macros::java_packet;
|
||||
use pumpkin_util::text::TextComponent;
|
||||
|
||||
use crate::{ClientPacket, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_SERVER_DATA)]
|
||||
pub struct CServerData<'a> {
|
||||
pub motd: &'a TextComponent,
|
||||
pub icon_base64: Option<&'a str>,
|
||||
}
|
||||
|
||||
impl<'a> CServerData<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(motd: &'a TextComponent, icon_base64: Option<&'a str>) -> Self {
|
||||
Self { motd, icon_base64 }
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CServerData<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_slice(&self.motd.encode())?;
|
||||
if let Some(icon) = self.icon_base64 {
|
||||
write.write_bool(true)?;
|
||||
write.write_string(icon)?;
|
||||
} else {
|
||||
write.write_bool(false)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -1,10 +1,10 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_SET_CAMERA;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use crate::ser::NetworkWriteExt;
|
||||
use crate::{VarInt, packet::MultiVersionJavaPacket};
|
||||
|
||||
#[java_packet(PLAY_SET_CAMERA)]
|
||||
pub struct CSetCamera {
|
||||
pub camera_id: VarInt,
|
||||
}
|
||||
@ -26,9 +26,3 @@ impl ClientPacket for CSetCamera {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
impl MultiVersionJavaPacket for CSetCamera {
|
||||
fn to_id(version: JavaMinecraftVersion) -> i32 {
|
||||
PLAY_SET_CAMERA.to_id(version)
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_START_CONFIGURATION;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::ClientPacket;
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_START_CONFIGURATION)]
|
||||
pub struct CStartConfiguration;
|
||||
|
||||
impl ClientPacket for CStartConfiguration {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
_write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
33
crates/pumpkin-protocol/src/java/client/play/tag_query.rs
Normal file
33
crates/pumpkin-protocol/src/java/client/play/tag_query.rs
Normal file
@ -0,0 +1,33 @@
|
||||
use pumpkin_data::packet::clientbound::PLAY_TAG_QUERY;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ClientPacket, codec::var_int::VarInt, ser::NetworkWriteExt};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_TAG_QUERY)]
|
||||
pub struct CTagQueryResponse<'a> {
|
||||
pub transaction_id: VarInt,
|
||||
pub nbt_bytes: &'a [u8],
|
||||
}
|
||||
|
||||
impl<'a> CTagQueryResponse<'a> {
|
||||
#[must_use]
|
||||
pub const fn new(transaction_id: VarInt, nbt_bytes: &'a [u8]) -> Self {
|
||||
Self {
|
||||
transaction_id,
|
||||
nbt_bytes,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ClientPacket for CTagQueryResponse<'_> {
|
||||
fn write_packet_data(
|
||||
&self,
|
||||
mut write: impl std::io::Write,
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<(), crate::ser::WritingError> {
|
||||
write.write_var_int(&self.transaction_id)?;
|
||||
write.write_slice(self.nbt_bytes)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
use pumpkin_data::packet::serverbound::CONFIG_ACCEPT_CODE_OF_CONDUCT;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ServerPacket, ser::ReadingError};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(CONFIG_ACCEPT_CODE_OF_CONDUCT)]
|
||||
pub struct SAcceptCodeOfConduct;
|
||||
|
||||
impl<'a> ServerPacket<'a> for SAcceptCodeOfConduct {
|
||||
fn read(
|
||||
_bytebuf: &mut &'a [u8],
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<Self, ReadingError> {
|
||||
Ok(Self)
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
mod accept_code_of_conduct;
|
||||
mod acknowledge_finish_config;
|
||||
mod client_information;
|
||||
mod cookie_response;
|
||||
@ -5,8 +6,10 @@ mod custom_click_action;
|
||||
mod keep_alive;
|
||||
mod known_packs;
|
||||
mod plugin_message;
|
||||
mod pong;
|
||||
mod resource_pack_response;
|
||||
|
||||
pub use accept_code_of_conduct::*;
|
||||
pub use acknowledge_finish_config::*;
|
||||
pub use client_information::*;
|
||||
pub use cookie_response::*;
|
||||
@ -14,4 +17,5 @@ pub use custom_click_action::*;
|
||||
pub use keep_alive::*;
|
||||
pub use known_packs::*;
|
||||
pub use plugin_message::*;
|
||||
pub use pong::*;
|
||||
pub use resource_pack_response::*;
|
||||
|
||||
18
crates/pumpkin-protocol/src/java/server/config/pong.rs
Normal file
18
crates/pumpkin-protocol/src/java/server/config/pong.rs
Normal file
@ -0,0 +1,18 @@
|
||||
use pumpkin_data::packet::serverbound::CONFIG_PONG;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ServerPacket, ser::NetworkReadExt, ser::ReadingError};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(CONFIG_PONG)]
|
||||
pub struct SConfigPong {
|
||||
pub id: i32,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SConfigPong {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
id: bytebuf.get_i32_be()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_BLOCK_ENTITY_TAG_QUERY;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
codec::var_int::VarInt,
|
||||
ser::{NetworkReadExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::{math::position::BlockPos, version::JavaMinecraftVersion};
|
||||
|
||||
#[java_packet(PLAY_BLOCK_ENTITY_TAG_QUERY)]
|
||||
pub struct SBlockEntityTagQuery {
|
||||
pub transaction_id: VarInt,
|
||||
pub location: BlockPos,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SBlockEntityTagQuery {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
transaction_id: bytebuf.get_var_int()?,
|
||||
location: BlockPos::from_i64(bytebuf.get_i64_be()?),
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_CONFIGURATION_ACKNOWLEDGED;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{ServerPacket, ser::ReadingError};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_CONFIGURATION_ACKNOWLEDGED)]
|
||||
pub struct SConfigurationAcknowledged;
|
||||
|
||||
impl<'a> ServerPacket<'a> for SConfigurationAcknowledged {
|
||||
fn read(
|
||||
_bytebuf: &mut &'a [u8],
|
||||
_version: &JavaMinecraftVersion,
|
||||
) -> Result<Self, ReadingError> {
|
||||
Ok(Self)
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_CONTAINER_SLOT_STATE_CHANGED;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
codec::var_int::VarInt,
|
||||
ser::{NetworkReadExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_CONTAINER_SLOT_STATE_CHANGED)]
|
||||
pub struct SContainerSlotStateChanged {
|
||||
pub slot_id: VarInt,
|
||||
pub container_id: VarInt,
|
||||
pub new_state: bool,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SContainerSlotStateChanged {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
slot_id: bytebuf.get_var_int()?,
|
||||
container_id: bytebuf.get_var_int()?,
|
||||
new_state: bytebuf.get_bool()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_ENTITY_TAG_QUERY;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
codec::var_int::VarInt,
|
||||
ser::{NetworkReadExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_ENTITY_TAG_QUERY)]
|
||||
pub struct SEntityTagQuery {
|
||||
pub transaction_id: VarInt,
|
||||
pub entity_id: VarInt,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SEntityTagQuery {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
transaction_id: bytebuf.get_var_int()?,
|
||||
entity_id: bytebuf.get_var_int()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_LOCK_DIFFICULTY;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
ser::{NetworkReadExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_LOCK_DIFFICULTY)]
|
||||
pub struct SLockDifficulty {
|
||||
pub locked: bool,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SLockDifficulty {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
locked: bytebuf.get_bool()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -113,3 +113,36 @@ pub use debug_subscription_request::*;
|
||||
|
||||
mod debug_sample_subscription;
|
||||
pub use debug_sample_subscription::*;
|
||||
|
||||
mod block_entity_tag_query;
|
||||
pub use block_entity_tag_query::*;
|
||||
|
||||
mod configuration_acknowledged;
|
||||
pub use configuration_acknowledged::*;
|
||||
|
||||
mod container_slot_state_changed;
|
||||
pub use container_slot_state_changed::*;
|
||||
|
||||
mod entity_tag_query;
|
||||
pub use entity_tag_query::*;
|
||||
|
||||
mod lock_difficulty;
|
||||
pub use lock_difficulty::*;
|
||||
|
||||
mod pong;
|
||||
pub use pong::*;
|
||||
|
||||
mod resource_pack_response;
|
||||
pub use resource_pack_response::*;
|
||||
|
||||
mod set_command_minecart;
|
||||
pub use set_command_minecart::*;
|
||||
|
||||
mod set_game_rule;
|
||||
pub use set_game_rule::*;
|
||||
|
||||
mod set_structure_block;
|
||||
pub use set_structure_block::*;
|
||||
|
||||
mod spectate_entity;
|
||||
pub use spectate_entity::*;
|
||||
|
||||
21
crates/pumpkin-protocol/src/java/server/play/pong.rs
Normal file
21
crates/pumpkin-protocol/src/java/server/play/pong.rs
Normal file
@ -0,0 +1,21 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_PONG;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
ser::{NetworkReadExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_PONG)]
|
||||
pub struct SPlayPong {
|
||||
pub id: i32,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SPlayPong {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
id: bytebuf.get_i32_be()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_RESOURCE_PACK;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
codec::var_int::VarInt,
|
||||
ser::{NetworkReadExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[derive(Debug, PartialEq, Eq)]
|
||||
pub enum PlayResourcePackResult {
|
||||
DownloadSuccess,
|
||||
Declined,
|
||||
DownloadFail,
|
||||
Accepted,
|
||||
Downloaded,
|
||||
InvalidUrl,
|
||||
ReloadFailed,
|
||||
Discarded,
|
||||
Unknown(i32),
|
||||
}
|
||||
|
||||
#[java_packet(PLAY_RESOURCE_PACK)]
|
||||
pub struct SPlayResourcePack {
|
||||
pub uuid: uuid::Uuid,
|
||||
pub result: VarInt,
|
||||
}
|
||||
|
||||
impl SPlayResourcePack {
|
||||
#[must_use]
|
||||
pub const fn response_result(&self) -> PlayResourcePackResult {
|
||||
match self.result.0 {
|
||||
0 => PlayResourcePackResult::DownloadSuccess,
|
||||
1 => PlayResourcePackResult::Declined,
|
||||
2 => PlayResourcePackResult::DownloadFail,
|
||||
3 => PlayResourcePackResult::Accepted,
|
||||
4 => PlayResourcePackResult::Downloaded,
|
||||
5 => PlayResourcePackResult::InvalidUrl,
|
||||
6 => PlayResourcePackResult::ReloadFailed,
|
||||
7 => PlayResourcePackResult::Discarded,
|
||||
v => PlayResourcePackResult::Unknown(v),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SPlayResourcePack {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
uuid: bytebuf.get_uuid()?,
|
||||
result: bytebuf.get_var_int()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_SET_COMMAND_MINECART;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
codec::var_int::VarInt,
|
||||
ser::{NetworkReadExt, NetworkReadSliceExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_SET_COMMAND_MINECART)]
|
||||
pub struct SSetCommandMinecart<'a> {
|
||||
pub entity_id: VarInt,
|
||||
pub command: &'a str,
|
||||
pub track_output: bool,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SSetCommandMinecart<'a> {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
entity_id: bytebuf.get_var_int()?,
|
||||
command: bytebuf.get_str_borrowed()?,
|
||||
track_output: bytebuf.get_bool()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_SET_GAME_RULE;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
ser::{NetworkReadSliceExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_SET_GAME_RULE)]
|
||||
pub struct SSetGameRule<'a> {
|
||||
pub rule: &'a str,
|
||||
pub value: &'a str,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SSetGameRule<'a> {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
rule: bytebuf.get_str_borrowed()?,
|
||||
value: bytebuf.get_str_borrowed()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_SET_STRUCTURE_BLOCK;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
codec::{var_int::VarInt, var_long::VarLong},
|
||||
ser::{NetworkReadExt, NetworkReadSliceExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::{math::position::BlockPos, version::JavaMinecraftVersion};
|
||||
|
||||
#[java_packet(PLAY_SET_STRUCTURE_BLOCK)]
|
||||
pub struct SSetStructureBlock<'a> {
|
||||
pub location: BlockPos,
|
||||
pub action: VarInt,
|
||||
pub mode: VarInt,
|
||||
pub name: &'a str,
|
||||
pub offset_x: i8,
|
||||
pub offset_y: i8,
|
||||
pub offset_z: i8,
|
||||
pub size_x: u8,
|
||||
pub size_y: u8,
|
||||
pub size_z: u8,
|
||||
pub mirror: VarInt,
|
||||
pub rotation: VarInt,
|
||||
pub metadata: &'a str,
|
||||
pub integrity: f32,
|
||||
pub seed: VarLong,
|
||||
pub flags: u8,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SSetStructureBlock<'a> {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
location: BlockPos::from_i64(bytebuf.get_i64_be()?),
|
||||
action: bytebuf.get_var_int()?,
|
||||
mode: bytebuf.get_var_int()?,
|
||||
name: bytebuf.get_str_borrowed()?,
|
||||
offset_x: bytebuf.get_i8()?,
|
||||
offset_y: bytebuf.get_i8()?,
|
||||
offset_z: bytebuf.get_i8()?,
|
||||
size_x: bytebuf.get_u8()?,
|
||||
size_y: bytebuf.get_u8()?,
|
||||
size_z: bytebuf.get_u8()?,
|
||||
mirror: bytebuf.get_var_int()?,
|
||||
rotation: bytebuf.get_var_int()?,
|
||||
metadata: bytebuf.get_str_borrowed()?,
|
||||
integrity: bytebuf.get_f32()?,
|
||||
seed: bytebuf.get_var_long()?,
|
||||
flags: bytebuf.get_u8()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
use pumpkin_data::packet::serverbound::PLAY_SPECTATE_ENTITY;
|
||||
use pumpkin_macros::java_packet;
|
||||
|
||||
use crate::{
|
||||
ServerPacket,
|
||||
ser::{NetworkReadExt, ReadingError},
|
||||
};
|
||||
use pumpkin_util::version::JavaMinecraftVersion;
|
||||
|
||||
#[java_packet(PLAY_SPECTATE_ENTITY)]
|
||||
pub struct SSpectateEntity {
|
||||
pub target: uuid::Uuid,
|
||||
}
|
||||
|
||||
impl<'a> ServerPacket<'a> for SSpectateEntity {
|
||||
fn read(bytebuf: &mut &'a [u8], _version: &JavaMinecraftVersion) -> Result<Self, ReadingError> {
|
||||
Ok(Self {
|
||||
target: bytebuf.get_uuid()?,
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -12,17 +12,19 @@ use crossbeam::atomic::AtomicCell;
|
||||
use pumpkin_data::packet::CURRENT_MC_VERSION;
|
||||
use pumpkin_data::translation;
|
||||
use pumpkin_protocol::java::server::play::{
|
||||
SAttack, SBundleItemSelected, SChangeGameMode, SChatCommand, SChatMessage, SChunkBatch,
|
||||
SClickSlot, SClientCommand, SClientInformationPlay, SClientTickEnd, SCloseContainer,
|
||||
SCommandSuggestion, SConfirmTeleport, SContainerButtonClick,
|
||||
SCookieResponse as SPCookieResponse, SCustomPayload, SDebugSampleSubscription,
|
||||
SDebugSubscriptionRequest, SEditBook, SInteract, SJigsawGenerate, SMoveVehicle, SPaddleBoat,
|
||||
SPickItemFromBlock, SPlaceRecipe, SPlayPingRequest, SPlayerAbilities, SPlayerAction,
|
||||
SPlayerCommand, SPlayerInput, SPlayerLoaded, SPlayerPosition, SPlayerPositionRotation,
|
||||
SPlayerRotation, SPlayerSession, SRecipeBookChangeSettings, SRecipeBookSeenRecipe, SRenameItem,
|
||||
SSeenAdvancement, SSelectTrade, SSetCommandBlock, SSetCreativeSlot, SSetHeldItem,
|
||||
SSetJigsawBlock, SSetPlayerGround, SSetTestBlock, SSwingArm, STeleportToEntity,
|
||||
STestInstanceBlockAction, SUpdateSign, SUseItem, SUseItemOn,
|
||||
SAttack, SBlockEntityTagQuery, SBundleItemSelected, SChangeGameMode, SChatCommand,
|
||||
SChatMessage, SChunkBatch, SClickSlot, SClientCommand, SClientInformationPlay, SClientTickEnd,
|
||||
SCloseContainer, SCommandSuggestion, SConfigurationAcknowledged, SConfirmTeleport,
|
||||
SContainerButtonClick, SContainerSlotStateChanged, SCookieResponse as SPCookieResponse,
|
||||
SCustomPayload, SDebugSampleSubscription, SDebugSubscriptionRequest, SEditBook,
|
||||
SEntityTagQuery, SInteract, SJigsawGenerate, SLockDifficulty, SMoveVehicle, SPaddleBoat,
|
||||
SPickItemFromBlock, SPlaceRecipe, SPlayPingRequest, SPlayPong, SPlayResourcePack,
|
||||
SPlayerAbilities, SPlayerAction, SPlayerCommand, SPlayerInput, SPlayerLoaded, SPlayerPosition,
|
||||
SPlayerPositionRotation, SPlayerRotation, SPlayerSession, SRecipeBookChangeSettings,
|
||||
SRecipeBookSeenRecipe, SRenameItem, SSeenAdvancement, SSelectTrade, SSetCommandBlock,
|
||||
SSetCommandMinecart, SSetCreativeSlot, SSetGameRule, SSetHeldItem, SSetJigsawBlock,
|
||||
SSetPlayerGround, SSetStructureBlock, SSetTestBlock, SSpectateEntity, SSwingArm,
|
||||
STeleportToEntity, STestInstanceBlockAction, SUpdateSign, SUseItem, SUseItemOn,
|
||||
};
|
||||
use pumpkin_protocol::packet::MultiVersionJavaPacket;
|
||||
use pumpkin_protocol::{
|
||||
@ -999,6 +1001,70 @@ impl JavaClient {
|
||||
)
|
||||
.await;
|
||||
}
|
||||
id if id == SPlayResourcePack::to_id(version) => {
|
||||
self.handle_play_resource_pack_response(
|
||||
server,
|
||||
player,
|
||||
SPlayResourcePack::read(&mut payload, &version)?,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
id if id == SPlayPong::to_id(version) => {
|
||||
self.handle_play_pong(player, &SPlayPong::read(&mut payload, &version)?);
|
||||
}
|
||||
id if id == SLockDifficulty::to_id(version) => {
|
||||
self.handle_lock_difficulty(
|
||||
server,
|
||||
player,
|
||||
&SLockDifficulty::read(&mut payload, &version)?,
|
||||
);
|
||||
}
|
||||
id if id == SContainerSlotStateChanged::to_id(version) => {
|
||||
self.handle_container_slot_state_changed(
|
||||
player,
|
||||
&SContainerSlotStateChanged::read(&mut payload, &version)?,
|
||||
);
|
||||
}
|
||||
id if id == SSpectateEntity::to_id(version) => {
|
||||
self.handle_spectate_entity(
|
||||
player,
|
||||
server,
|
||||
SSpectateEntity::read(&mut payload, &version)?,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
id if id == SSetCommandMinecart::to_id(version) => {
|
||||
self.handle_set_command_minecart(
|
||||
player,
|
||||
&SSetCommandMinecart::read(&mut payload, &version)?,
|
||||
);
|
||||
}
|
||||
id if id == SSetStructureBlock::to_id(version) => {
|
||||
self.handle_set_structure_block(
|
||||
player,
|
||||
&SSetStructureBlock::read(&mut payload, &version)?,
|
||||
);
|
||||
}
|
||||
id if id == SSetGameRule::to_id(version) => {
|
||||
self.handle_set_game_rule(player, &SSetGameRule::read(&mut payload, &version)?);
|
||||
}
|
||||
id if id == SBlockEntityTagQuery::to_id(version) => {
|
||||
self.handle_block_entity_tag_query(
|
||||
player,
|
||||
SBlockEntityTagQuery::read(&mut payload, &version)?,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
id if id == SEntityTagQuery::to_id(version) => {
|
||||
self.handle_entity_tag_query(
|
||||
player,
|
||||
SEntityTagQuery::read(&mut payload, &version)?,
|
||||
)
|
||||
.await;
|
||||
}
|
||||
id if id == SConfigurationAcknowledged::to_id(version) => {
|
||||
self.handle_configuration_acknowledged(player);
|
||||
}
|
||||
_ => {
|
||||
warn!("Failed to handle player packet id {}", event.packet_id);
|
||||
}
|
||||
|
||||
@ -13,8 +13,8 @@ use pumpkin_protocol::{
|
||||
packet_decoder::TCPNetworkDecoder,
|
||||
packet_encoder::TCPNetworkEncoder,
|
||||
server::config::{
|
||||
SAcknowledgeFinishConfig, SClientInformationConfig, SConfigCookieResponse,
|
||||
SConfigResourcePack, SKnownPacks, SPluginMessage,
|
||||
SAcceptCodeOfConduct, SAcknowledgeFinishConfig, SClientInformationConfig,
|
||||
SConfigCookieResponse, SConfigPong, SConfigResourcePack, SKnownPacks, SPluginMessage,
|
||||
},
|
||||
},
|
||||
packet::MultiVersionJavaPacket,
|
||||
@ -389,6 +389,14 @@ impl PendingConnection {
|
||||
)?);
|
||||
Ok(None)
|
||||
}
|
||||
id if id == SConfigPong::to_id(version) => {
|
||||
let _pong = SConfigPong::read(&mut payload, &version)?;
|
||||
Ok(None)
|
||||
}
|
||||
id if id == SAcceptCodeOfConduct::to_id(version) => {
|
||||
let _accept = SAcceptCodeOfConduct::read(&mut payload, &version)?;
|
||||
Ok(None)
|
||||
}
|
||||
_ => Err(ReadingError::Message(format!(
|
||||
"Failed to handle packet id {} in Config State",
|
||||
packet.id
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::ConnectionState;
|
||||
|
||||
impl JavaClient {
|
||||
pub fn handle_configuration_acknowledged(&self, player: &Player) {
|
||||
debug!(
|
||||
"Player {} acknowledged configuration switch",
|
||||
player.gameprofile.name
|
||||
);
|
||||
self.connection_state.store(ConnectionState::Config);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::java::server::play::SContainerSlotStateChanged;
|
||||
|
||||
impl JavaClient {
|
||||
pub fn handle_container_slot_state_changed(
|
||||
&self,
|
||||
player: &Player,
|
||||
packet: &SContainerSlotStateChanged,
|
||||
) {
|
||||
debug!(
|
||||
"Player {} container {} slot {} state changed to {}",
|
||||
player.gameprofile.name, packet.container_id.0, packet.slot_id.0, packet.new_state
|
||||
);
|
||||
let _ = player;
|
||||
}
|
||||
}
|
||||
20
crates/pumpkin/src/net/java/play/lock_difficulty.rs
Normal file
20
crates/pumpkin/src/net/java/play/lock_difficulty.rs
Normal file
@ -0,0 +1,20 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::java::server::play::SLockDifficulty;
|
||||
|
||||
impl JavaClient {
|
||||
pub fn handle_lock_difficulty(
|
||||
&self,
|
||||
server: &Server,
|
||||
player: &Player,
|
||||
packet: &SLockDifficulty,
|
||||
) {
|
||||
if player.permission_lvl.load() >= PermissionLvl::Two {
|
||||
info!(
|
||||
"Player {} requested difficulty lock: {}",
|
||||
player.gameprofile.name, packet.locked
|
||||
);
|
||||
let _ = server;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -227,7 +227,9 @@ pub mod client_command;
|
||||
pub mod client_information;
|
||||
pub mod close_container;
|
||||
pub mod command_suggestion;
|
||||
pub mod configuration_acknowledged;
|
||||
pub mod confirm_teleport;
|
||||
pub mod container_slot_state_changed;
|
||||
pub mod cookie_response;
|
||||
pub mod debug_sample_subscription;
|
||||
pub mod debug_subscription_request;
|
||||
@ -235,6 +237,7 @@ pub mod edit_book;
|
||||
pub mod interact;
|
||||
pub mod jigsaw_generate;
|
||||
pub mod keep_alive;
|
||||
pub mod lock_difficulty;
|
||||
pub mod move_vehicle;
|
||||
pub mod paddle_boat;
|
||||
pub mod pick_item;
|
||||
@ -248,16 +251,23 @@ pub mod player_input;
|
||||
pub mod player_loaded;
|
||||
pub mod player_position;
|
||||
pub mod player_rotation;
|
||||
pub mod pong;
|
||||
pub mod recipe_book_change_settings;
|
||||
pub mod recipe_book_seen_recipe;
|
||||
pub mod resource_pack_response;
|
||||
pub mod seen_advancement;
|
||||
pub mod select_trade;
|
||||
pub mod set_command_block;
|
||||
pub mod set_command_minecart;
|
||||
pub mod set_creative_slot;
|
||||
pub mod set_game_rule;
|
||||
pub mod set_held_item;
|
||||
pub mod set_jigsaw_block;
|
||||
pub mod set_structure_block;
|
||||
pub mod set_test_block;
|
||||
pub mod spectate_entity;
|
||||
pub mod swing_arm;
|
||||
pub mod tag_query;
|
||||
pub mod teleport_to_entity;
|
||||
pub mod test_instance_block_action;
|
||||
pub mod update_sign;
|
||||
|
||||
12
crates/pumpkin/src/net/java/play/pong.rs
Normal file
12
crates/pumpkin/src/net/java/play/pong.rs
Normal file
@ -0,0 +1,12 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::java::server::play::SPlayPong;
|
||||
|
||||
impl JavaClient {
|
||||
pub fn handle_play_pong(&self, player: &Player, packet: &SPlayPong) {
|
||||
debug!(
|
||||
"Received pong from player {} with id {}",
|
||||
player.gameprofile.name, packet.id
|
||||
);
|
||||
}
|
||||
}
|
||||
38
crates/pumpkin/src/net/java/play/resource_pack_response.rs
Normal file
38
crates/pumpkin/src/net/java/play/resource_pack_response.rs
Normal file
@ -0,0 +1,38 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::java::server::play::{PlayResourcePackResult, SPlayResourcePack};
|
||||
use pumpkin_util::text::TextComponent;
|
||||
|
||||
use crate::plugin::api::events::player::player_resource_pack_status::PlayerResourcePackStatusEvent;
|
||||
|
||||
impl JavaClient {
|
||||
pub async fn handle_play_resource_pack_response(
|
||||
&self,
|
||||
server: &Arc<Server>,
|
||||
player: &Arc<Player>,
|
||||
packet: SPlayResourcePack,
|
||||
) {
|
||||
let result = packet.response_result();
|
||||
debug!(
|
||||
"Player {} resource pack response for {}: {:?}",
|
||||
player.gameprofile.name, packet.uuid, result
|
||||
);
|
||||
|
||||
let mut event = PlayerResourcePackStatusEvent::new(
|
||||
player.clone(),
|
||||
packet.uuid.to_string(),
|
||||
format!("{result:?}"),
|
||||
);
|
||||
server.plugin_manager.fire(server, &mut event).await;
|
||||
|
||||
if server.advanced_config.resource_pack.java.force
|
||||
&& (result == PlayResourcePackResult::Declined
|
||||
|| result == PlayResourcePackResult::DownloadFail)
|
||||
{
|
||||
self.kick(TextComponent::text(
|
||||
"You must accept the resource pack to play on this server.",
|
||||
))
|
||||
.await;
|
||||
}
|
||||
}
|
||||
}
|
||||
21
crates/pumpkin/src/net/java/play/set_command_minecart.rs
Normal file
21
crates/pumpkin/src/net/java/play/set_command_minecart.rs
Normal file
@ -0,0 +1,21 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::java::server::play::SSetCommandMinecart;
|
||||
|
||||
impl JavaClient {
|
||||
pub fn handle_set_command_minecart(&self, player: &Player, packet: &SSetCommandMinecart<'_>) {
|
||||
if player.permission_lvl.load() < PermissionLvl::Two {
|
||||
return;
|
||||
}
|
||||
|
||||
let world = player.world();
|
||||
if let Some(entity) = world.get_entity_by_id(packet.entity_id.0) {
|
||||
debug!(
|
||||
"Player {} updated command minecart {} command to: {}",
|
||||
player.gameprofile.name,
|
||||
entity.get_entity().entity_id,
|
||||
packet.command
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
16
crates/pumpkin/src/net/java/play/set_game_rule.rs
Normal file
16
crates/pumpkin/src/net/java/play/set_game_rule.rs
Normal file
@ -0,0 +1,16 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::java::server::play::SSetGameRule;
|
||||
|
||||
impl JavaClient {
|
||||
pub fn handle_set_game_rule(&self, player: &Player, packet: &SSetGameRule<'_>) {
|
||||
if player.permission_lvl.load() < PermissionLvl::Two {
|
||||
return;
|
||||
}
|
||||
|
||||
info!(
|
||||
"Player {} set gamerule {} to {}",
|
||||
player.gameprofile.name, packet.rule, packet.value
|
||||
);
|
||||
}
|
||||
}
|
||||
16
crates/pumpkin/src/net/java/play/set_structure_block.rs
Normal file
16
crates/pumpkin/src/net/java/play/set_structure_block.rs
Normal file
@ -0,0 +1,16 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::java::server::play::SSetStructureBlock;
|
||||
|
||||
impl JavaClient {
|
||||
pub fn handle_set_structure_block(&self, player: &Player, packet: &SSetStructureBlock<'_>) {
|
||||
if player.permission_lvl.load() < PermissionLvl::Two {
|
||||
return;
|
||||
}
|
||||
|
||||
debug!(
|
||||
"Player {} set structure block at {:?}, name: {}, mode: {}",
|
||||
player.gameprofile.name, packet.location, packet.name, packet.mode.0
|
||||
);
|
||||
}
|
||||
}
|
||||
55
crates/pumpkin/src/net/java/play/spectate_entity.rs
Normal file
55
crates/pumpkin/src/net/java/play/spectate_entity.rs
Normal file
@ -0,0 +1,55 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::java::{client::play::CSetCamera, server::play::SSpectateEntity};
|
||||
use pumpkin_util::GameMode;
|
||||
|
||||
impl JavaClient {
|
||||
pub async fn handle_spectate_entity(
|
||||
&self,
|
||||
player: &Arc<Player>,
|
||||
server: &Server,
|
||||
packet: SSpectateEntity,
|
||||
) {
|
||||
if !player.has_client_loaded() {
|
||||
return;
|
||||
}
|
||||
player.update_last_action_time();
|
||||
|
||||
if player.gamemode.load() != GameMode::Spectator {
|
||||
return;
|
||||
}
|
||||
|
||||
let world = player.world();
|
||||
if let Some(target) = world.get_entity_by_uuid(packet.target) {
|
||||
let target_pos = target.get_entity().pos.load();
|
||||
let target_yaw = target.get_entity().yaw.load();
|
||||
let target_pitch = target.get_entity().pitch.load();
|
||||
let target_id = target.get_entity().entity_id;
|
||||
|
||||
player.camera_target_id.store(Some(target_id));
|
||||
player
|
||||
.client
|
||||
.send_packet_now(&CSetCamera::new(target_id.into()))
|
||||
.await;
|
||||
|
||||
player
|
||||
.request_teleport(target_pos, target_yaw, target_pitch)
|
||||
.await;
|
||||
} else if let Some(target_player) = server.get_player_by_uuid(packet.target) {
|
||||
let target_pos = target_player.living_entity.entity.pos.load();
|
||||
let target_yaw = target_player.living_entity.entity.yaw.load();
|
||||
let target_pitch = target_player.living_entity.entity.pitch.load();
|
||||
let target_id = target_player.living_entity.entity.entity_id;
|
||||
|
||||
player.camera_target_id.store(Some(target_id));
|
||||
player
|
||||
.client
|
||||
.send_packet_now(&CSetCamera::new(target_id.into()))
|
||||
.await;
|
||||
|
||||
player
|
||||
.request_teleport(target_pos, target_yaw, target_pitch)
|
||||
.await;
|
||||
}
|
||||
}
|
||||
}
|
||||
34
crates/pumpkin/src/net/java/play/tag_query.rs
Normal file
34
crates/pumpkin/src/net/java/play/tag_query.rs
Normal file
@ -0,0 +1,34 @@
|
||||
#[allow(clippy::wildcard_imports)]
|
||||
use super::*;
|
||||
use pumpkin_protocol::java::{
|
||||
client::play::CTagQueryResponse,
|
||||
server::play::{SBlockEntityTagQuery, SEntityTagQuery},
|
||||
};
|
||||
|
||||
impl JavaClient {
|
||||
pub async fn handle_block_entity_tag_query(
|
||||
&self,
|
||||
player: &Player,
|
||||
packet: SBlockEntityTagQuery,
|
||||
) {
|
||||
if player.permission_lvl.load() < PermissionLvl::Two {
|
||||
return;
|
||||
}
|
||||
|
||||
// Empty NBT compound (TAG_End = 0)
|
||||
let empty_nbt = [0u8];
|
||||
self.send_packet_now(&CTagQueryResponse::new(packet.transaction_id, &empty_nbt))
|
||||
.await;
|
||||
}
|
||||
|
||||
pub async fn handle_entity_tag_query(&self, player: &Player, packet: SEntityTagQuery) {
|
||||
if player.permission_lvl.load() < PermissionLvl::Two {
|
||||
return;
|
||||
}
|
||||
|
||||
// Empty NBT compound (TAG_End = 0)
|
||||
let empty_nbt = [0u8];
|
||||
self.send_packet_now(&CTagQueryResponse::new(packet.transaction_id, &empty_nbt))
|
||||
.await;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user