diff --git a/build/block.rs b/build/block.rs index 44b6cad..fb2dbb4 100644 --- a/build/block.rs +++ b/build/block.rs @@ -14,14 +14,14 @@ pub fn build() -> anyhow::Result<()> { let max_block_state = blocks.iter().map(|b| b.max_state_id).max().unwrap(); - let state_to_type = blocks + let state_to_kind = blocks .iter() .map(|b| { let min = b.min_state_id; let max = b.max_state_id; let name = ident(b.name.to_pascal_case()); quote! { - #min..=#max => BlockType::#name, + #min..=#max => BlockKind::#name, } }) .collect::<TokenStream>(); @@ -65,7 +65,7 @@ pub fn build() -> anyhow::Result<()> { .collect::<TokenStream>(); quote! { - BlockType::#block_type_name => match name { + BlockKind::#block_type_name => match name { #arms _ => None, }, @@ -119,7 +119,7 @@ pub fn build() -> anyhow::Result<()> { .collect::<TokenStream>(); quote! { - BlockType::#block_type_name => match name { + BlockKind::#block_type_name => match name { #arms _ => self, }, @@ -140,7 +140,7 @@ pub fn build() -> anyhow::Result<()> { let filter_light = b.filter_light as u8; quote! { - BlockType::#type_name => #filter_light, + BlockKind::#type_name => #filter_light, } }) .collect::<TokenStream>(); @@ -158,45 +158,45 @@ pub fn build() -> anyhow::Result<()> { }) .collect::<TokenStream>(); - let type_to_state = blocks + let kind_to_state = blocks .iter() .map(|b| { - let typ = ident(b.name.to_pascal_case()); + let kind = ident(b.name.to_pascal_case()); let state = ident(b.name.to_shouty_snake_case()); quote! { - BlockType::#typ => BlockState::#state, + BlockKind::#kind => BlockState::#state, } }) .collect::<TokenStream>(); - let block_type_variants = blocks + let block_kind_variants = blocks .iter() .map(|b| ident(b.name.to_pascal_case())) .collect::<Vec<_>>(); - let block_type_from_str_arms = blocks + let block_kind_from_str_arms = blocks .iter() .map(|b| { let name = &b.name; let name_ident = ident(name.to_pascal_case()); quote! { - #name => Some(BlockType::#name_ident), + #name => Some(BlockKind::#name_ident), } }) .collect::<TokenStream>(); - let block_type_to_str_arms = blocks + let block_kind_to_str_arms = blocks .iter() .map(|b| { let name = &b.name; let name_ident = ident(name.to_pascal_case()); quote! { - BlockType::#name_ident => #name, + BlockKind::#name_ident => #name, } }) .collect::<TokenStream>(); - let block_type_props_arms = blocks + let block_kind_props_arms = blocks .iter() .filter(|&b| !b.props.is_empty()) .map(|b| { @@ -209,7 +209,7 @@ pub fn build() -> anyhow::Result<()> { }) .collect::<TokenStream>(); - let block_type_count = blocks.len(); + let block_kind_count = blocks.len(); let prop_names = blocks .iter() @@ -305,16 +305,16 @@ pub fn build() -> anyhow::Result<()> { impl BlockState { /// Returns the default block state for a given block type. - pub const fn from_type(typ: BlockType) -> Self { - match typ { - #type_to_state + pub const fn from_kind(kind: BlockKind) -> Self { + match kind { + #kind_to_state } } - /// Returns the [`BlockType`] of this block state. - pub const fn to_type(self) -> BlockType { + /// Returns the [`BlockKind`] of this block state. + pub const fn to_kind(self) -> BlockKind { match self.0 { - #state_to_type + #state_to_kind _ => unreachable!(), } } @@ -351,7 +351,7 @@ pub fn build() -> anyhow::Result<()> { /// /// If this block does not have the property, then `None` is returned. pub const fn get(self, name: PropName) -> Option<PropValue> { - match self.to_type() { + match self.to_kind() { #get_arms _ => None } @@ -363,7 +363,7 @@ pub fn build() -> anyhow::Result<()> { /// then the orginal block is returned unchanged. #[must_use] pub const fn set(self, name: PropName, val: PropValue) -> Self { - match self.to_type() { + match self.to_kind() { #set_arms _ => self, } @@ -372,27 +372,27 @@ pub fn build() -> anyhow::Result<()> { /// If this block is `air`, `cave_air` or `void_air`. pub const fn is_air(self) -> bool { matches!( - self.to_type(), - BlockType::Air | BlockType::CaveAir | BlockType::VoidAir + self.to_kind(), + BlockKind::Air | BlockKind::CaveAir | BlockKind::VoidAir ) } /// Is the block visually transparent? pub const fn is_transparent(self) -> bool { - matches!(self.to_type(), #(BlockType::#is_transparent_types)|*) + matches!(self.to_kind(), #(BlockKind::#is_transparent_types)|*) } // TODO: is_solid /// If this block is water or lava. pub const fn is_liquid(self) -> bool { - matches!(self.to_type(), BlockType::Water | BlockType::Lava) + matches!(self.to_kind(), BlockKind::Water | BlockKind::Lava) } /// Returns the amount of light that is normally filtered by this block. /// The returned value is in `0..=15`. pub const fn filter_light(self) -> u8 { - match self.to_type() { + match self.to_kind() { #filter_light_arms } } @@ -402,17 +402,17 @@ pub fn build() -> anyhow::Result<()> { /// An enumeration of all block types. #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] - pub enum BlockType { - #(#block_type_variants,)* + pub enum BlockKind { + #(#block_kind_variants,)* } - impl BlockType { + impl BlockKind { /// Construct a block type from its snake_case name. /// /// Returns `None` if the given name is not valid. - pub fn from_str(name: &str) -> Option<BlockType> { + pub fn from_str(name: &str) -> Option<BlockKind> { match name { - #block_type_from_str_arms + #block_kind_from_str_arms _ => None } } @@ -420,29 +420,29 @@ pub fn build() -> anyhow::Result<()> { /// Get the snake_case name of this block type. pub const fn to_str(self) -> &'static str { match self { - #block_type_to_str_arms + #block_kind_to_str_arms } } /// Returns the default block state for a given block type. pub const fn to_state(self) -> BlockState { - BlockState::from_type(self) + BlockState::from_kind(self) } /// Returns a slice of all properties this block type has. pub const fn props(self) -> &'static [PropName] { match self { - #block_type_props_arms + #block_kind_props_arms _ => &[], } } /// An array of all block types. - pub const ALL: [Self; #block_type_count] = [#(Self::#block_type_variants,)*]; + pub const ALL: [Self; #block_kind_count] = [#(Self::#block_kind_variants,)*]; } /// The default block type is `air`. - impl Default for BlockType { + impl Default for BlockKind { fn default() -> Self { Self::Air } @@ -626,7 +626,7 @@ fn parse_blocks_json() -> anyhow::Result<Vec<Block>> { vals: match &s { State::Enum { values, .. } => values.clone(), State::Int { values, .. } => values.clone(), - State::Bool { .. } => vec!["true".to_string(), "false".to_string()], + State::Bool { .. } => vec!["true".to_owned(), "false".to_owned()], }, }) .collect(), diff --git a/build/entity.rs b/build/entity.rs index 35940e0..1c0d2e6 100644 --- a/build/entity.rs +++ b/build/entity.rs @@ -158,12 +158,12 @@ enum Type { /// Also known as OptVarInt OptEntityId, Pose, - CatVariant, - FrogVariant, + CatKind, + FrogKind, OptGlobalPosition, - PaintingVariant, + PaintingKind, // ==== Specialized ==== // - BoatVariant, + BoatKind, MainHand, } @@ -204,11 +204,11 @@ impl Type { Type::VillagerData => quote! { VillagerData::default() }, Type::OptEntityId => quote! { None }, Type::Pose => quote! { Pose::default() }, - Type::CatVariant => quote! { CatVariant::default() }, - Type::FrogVariant => quote! { FrogVariant::default() }, + Type::CatKind => quote! { CatKind::default() }, + Type::FrogKind => quote! { FrogKind::default() }, Type::OptGlobalPosition => quote! { () }, // TODO - Type::PaintingVariant => quote! { PaintingVariant::default() }, - Type::BoatVariant => quote! { BoatVariant::default() }, + Type::PaintingKind => quote! { PaintingKind::default() }, + Type::BoatKind => quote! { BoatKind::default() }, Type::MainHand => quote! { MainHand::default() }, } } @@ -235,11 +235,11 @@ impl Type { Type::VillagerData => 16, Type::OptEntityId => 17, Type::Pose => 18, - Type::CatVariant => 19, - Type::FrogVariant => 20, + Type::CatKind => 19, + Type::FrogKind => 20, Type::OptGlobalPosition => 21, - Type::PaintingVariant => 22, - Type::BoatVariant => 1, + Type::PaintingKind => 22, + Type::BoatKind => 1, Type::MainHand => 0, } } @@ -387,8 +387,8 @@ const BOAT: Class = Class { typ: Type::Float(0.0), }, Field { - name: "typ", - typ: Type::BoatVariant, + name: "kind", + typ: Type::BoatKind, }, Field { name: "left_paddle_turning", @@ -1040,7 +1040,7 @@ const ENTITIES: &[Class] = &[ inherit: Some(&BASE_ENTITY), fields: &[Field { name: "variant", - typ: Type::PaintingVariant, + typ: Type::PaintingKind, }], events: &[], }, @@ -1427,7 +1427,7 @@ const ENTITIES: &[Class] = &[ fields: &[ Field { name: "variant", - typ: Type::FrogVariant, + typ: Type::FrogKind, }, Field { name: "tongue_target", @@ -1639,7 +1639,7 @@ const ENTITIES: &[Class] = &[ fields: &[ Field { name: "variant", - typ: Type::CatVariant, + typ: Type::CatKind, }, Field { name: "lying", @@ -2168,7 +2168,7 @@ pub fn build() -> anyhow::Result<()> { } } - let entity_type_variants = entities + let entity_kind_variants = entities .iter() .map(|c| ident(c.name.to_pascal_case())) .collect::<Vec<_>>(); @@ -2201,11 +2201,11 @@ pub fn build() -> anyhow::Result<()> { Type::VillagerData => quote! { VillagerData }, Type::OptEntityId => quote! { Option<EntityId> }, Type::Pose => quote! { Pose }, - Type::CatVariant => quote! { CatVariant }, - Type::FrogVariant => quote! { FrogVariant }, + Type::CatKind => quote! { CatKind }, + Type::FrogKind => quote! { FrogKind }, Type::OptGlobalPosition => quote! { () }, // TODO - Type::PaintingVariant => quote! { PaintingVariant }, - Type::BoatVariant => quote! { BoatVariant }, + Type::PaintingKind => quote! { PaintingKind }, + Type::BoatKind => quote! { BoatKind }, Type::MainHand => quote! { MainHand }, }; quote! { @@ -2358,11 +2358,11 @@ pub fn build() -> anyhow::Result<()> { Type::VillagerData => standard_getter_setter(quote!(VillagerData)), Type::OptEntityId => standard_getter_setter(quote!(Option<EntityId>)), Type::Pose => standard_getter_setter(quote!(Pose)), - Type::CatVariant => standard_getter_setter(quote!(CatVariant)), - Type::FrogVariant => standard_getter_setter(quote!(FrogVariant)), + Type::CatKind => standard_getter_setter(quote!(CatKind)), + Type::FrogKind => standard_getter_setter(quote!(FrogKind)), Type::OptGlobalPosition => quote! {}, // TODO - Type::PaintingVariant => standard_getter_setter(quote!(PaintingVariant)), - Type::BoatVariant => standard_getter_setter(quote!(BoatVariant)), + Type::PaintingKind => standard_getter_setter(quote!(PaintingKind)), + Type::BoatKind => standard_getter_setter(quote!(BoatKind)), Type::MainHand => standard_getter_setter(quote!(MainHand)), } }) @@ -2457,11 +2457,11 @@ pub fn build() -> anyhow::Result<()> { let finished = quote! { /// Identifies a type of entity, such as `chicken`, `zombie` or `item`. #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] - pub enum EntityType { - #(#entity_type_variants,)* + pub enum EntityKind { + #(#entity_kind_variants,)* } - impl Default for EntityType { + impl Default for EntityKind { fn default() -> Self { Self::Marker } @@ -2471,19 +2471,19 @@ pub fn build() -> anyhow::Result<()> { /// An enum encoding the type of an entity along with any data specific to that entity type. pub enum EntityData { - #(#entity_type_variants(#entity_type_variants),)* + #(#entity_kind_variants(#entity_kind_variants),)* } impl EntityData { - pub(super) fn new(typ: EntityType) -> Self { - match typ { - #(EntityType::#entity_type_variants => Self::#entity_type_variants(#entity_type_variants::new()),)* + pub(super) fn new(kind: EntityKind) -> Self { + match kind { + #(EntityKind::#entity_kind_variants => Self::#entity_kind_variants(#entity_kind_variants::new()),)* } } - pub(super) fn typ(&self) -> EntityType { + pub(super) fn kind(&self) -> EntityKind { match self { - #(Self::#entity_type_variants(_) => EntityType::#entity_type_variants,)* + #(Self::#entity_kind_variants(_) => EntityKind::#entity_kind_variants,)* } } @@ -2491,7 +2491,7 @@ pub fn build() -> anyhow::Result<()> { let mut data = Vec::new(); match self { - #(Self::#entity_type_variants(e) => e.initial_metadata(&mut data),)* + #(Self::#entity_kind_variants(e) => e.initial_metadata(&mut data),)* } if data.is_empty() { @@ -2506,7 +2506,7 @@ pub fn build() -> anyhow::Result<()> { let mut data = Vec::new(); match self { - #(Self::#entity_type_variants(e) => e.updated_metadata(&mut data),)* + #(Self::#entity_kind_variants(e) => e.updated_metadata(&mut data),)* } if data.is_empty() { @@ -2519,13 +2519,13 @@ pub fn build() -> anyhow::Result<()> { pub(crate) fn event_codes(&self) -> &[u8] { match self { - #(Self::#entity_type_variants(e) => e.event_codes(),)* + #(Self::#entity_kind_variants(e) => e.event_codes(),)* } } pub(super) fn clear_modifications(&mut self) { match self { - #(Self::#entity_type_variants(e) => e.clear_modifications(),)* + #(Self::#entity_kind_variants(e) => e.clear_modifications(),)* } } } diff --git a/examples/conway.rs b/examples/conway.rs index 29b4d66..3a1475d 100644 --- a/examples/conway.rs +++ b/examples/conway.rs @@ -13,7 +13,7 @@ use valence::entity::meta::Pose; use valence::entity::EntityData; use valence::text::Color; use valence::{ - async_trait, ident, Biome, BlockState, Dimension, DimensionId, EntityId, EntityType, Server, + async_trait, ident, Biome, BlockState, Dimension, DimensionId, EntityId, EntityKind, Server, SharedServer, ShutdownResult, TextFormat, }; @@ -135,7 +135,7 @@ impl Config for Game { world.meta.player_list_mut().insert( client.uuid(), - client.username().to_string(), + client.username().to_owned(), client.textures().cloned(), client.game_mode(), 0, @@ -146,7 +146,7 @@ impl Config for Game { client_id, server .entities - .create_with_uuid(EntityType::Player, client.uuid()) + .create_with_uuid(EntityKind::Player, client.uuid()) .unwrap() .0, ); diff --git a/examples/cow_sphere.rs b/examples/cow_sphere.rs index 6ca80c8..a4ec57e 100644 --- a/examples/cow_sphere.rs +++ b/examples/cow_sphere.rs @@ -9,7 +9,7 @@ use valence::config::{Config, ServerListPing}; use valence::text::Color; use valence::util::to_yaw_and_pitch; use valence::{ - async_trait, DimensionId, EntityId, EntityType, Server, SharedServer, ShutdownResult, + async_trait, DimensionId, EntityId, EntityKind, Server, SharedServer, ShutdownResult, TextFormat, }; use vek::{Mat3, Vec3}; @@ -70,7 +70,7 @@ impl Config for Game { } self.cows.lock().unwrap().extend((0..200).map(|_| { - let (id, e) = server.entities.create(EntityType::Cow); + let (id, e) = server.entities.create(EntityKind::Cow); e.set_world(world_id); id })); @@ -98,7 +98,7 @@ impl Config for Game { world.meta.player_list_mut().insert( client.uuid(), - client.username().to_string(), + client.username().to_owned(), client.textures().cloned(), client.game_mode(), 0, diff --git a/examples/terrain.rs b/examples/terrain.rs index 2d9bbb4..b825434 100644 --- a/examples/terrain.rs +++ b/examples/terrain.rs @@ -99,7 +99,7 @@ impl Config for Game { world.meta.player_list_mut().insert( client.uuid(), - client.username().to_string(), + client.username().to_owned(), client.textures().cloned(), client.game_mode(), 0, diff --git a/src/biome.rs b/src/biome.rs index 63dcd82..e75d18f 100644 --- a/src/biome.rs +++ b/src/biome.rs @@ -105,5 +105,5 @@ pub struct BiomeMoodSound { #[derive(Clone, Debug)] pub struct BiomeParticle { pub probability: f32, - pub typ: Ident, + pub kind: Ident, } diff --git a/src/block.rs b/src/block.rs index 7a872ff..318982f 100644 --- a/src/block.rs +++ b/src/block.rs @@ -11,15 +11,15 @@ include!(concat!(env!("OUT_DIR"), "/block.rs")); impl fmt::Debug for BlockState { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let typ = self.to_type(); + let kind = self.to_kind(); - write!(f, "{}", typ.to_str())?; + write!(f, "{}", kind.to_str())?; - let props = typ.props(); + let props = kind.props(); if !props.is_empty() { let mut list = f.debug_list(); - for &p in typ.props() { + for &p in kind.props() { struct KeyVal<'a>(&'a str, &'a str); impl<'a> fmt::Debug for KeyVal<'a> { @@ -58,10 +58,10 @@ mod tests { #[test] fn get_set_consistency() { - for typ in BlockType::ALL { - let block = typ.to_state(); + for kind in BlockKind::ALL { + let block = kind.to_state(); - for &prop in typ.props() { + for &prop in kind.props() { let new_block = block.set(prop, block.get(prop).unwrap()); assert_eq!(new_block, block); } diff --git a/src/client.rs b/src/client.rs index 3d6b26c..fccec33 100644 --- a/src/client.rs +++ b/src/client.rs @@ -14,10 +14,10 @@ use vek::Vec3; use crate::biome::{Biome, BiomeGrassColorModifier, BiomePrecipitation}; use crate::dimension::{Dimension, DimensionEffects}; use crate::entity::data::Player; -use crate::entity::{velocity_to_packet_units, EntityType}; +use crate::entity::{velocity_to_packet_units, EntityKind}; use crate::player_textures::SignedPlayerTextures; use crate::protocol::packets::play::c2s::{ - C2sPlayPacket, DiggingStatus, InteractType, PlayerCommandId, + C2sPlayPacket, DiggingStatus, InteractKind, PlayerCommandId, }; use crate::protocol::packets::play::s2c::{ Animate, Biome as BiomeRegistryBiome, BiomeAdditionsSound, BiomeEffects, BiomeMoodSound, @@ -470,10 +470,10 @@ impl Client { self.events.push_back(ClientEvent::InteractWithEntity { id, sneaking: p.sneaking, - typ: match p.typ { - InteractType::Interact(hand) => InteractWithEntity::Interact(hand), - InteractType::Attack => InteractWithEntity::Attack, - InteractType::InteractAt((target, hand)) => { + kind: match p.kind { + InteractKind::Interact(hand) => InteractWithEntity::Interact(hand), + InteractKind::Attack => InteractWithEntity::Attack, + InteractKind::InteractAt((target, hand)) => { InteractWithEntity::InteractAt { target, hand } } }, @@ -871,7 +871,7 @@ impl Client { &mut self.send, SystemChat { chat: msg, - typ: VarInt(0), + kind: VarInt(0), }, ); } @@ -882,7 +882,7 @@ impl Client { // longer visible. self.loaded_entities.retain(|&id| { if let Some(entity) = entities.get(id) { - debug_assert!(entity.typ() != EntityType::Marker); + debug_assert!(entity.kind() != EntityKind::Marker); if self.new_position.distance(entity.position()) <= view_dist as f64 * 16.0 { if let Some(meta) = entity.updated_metadata_packet(id) { send_packet(&mut self.send, meta); @@ -1002,7 +1002,7 @@ impl Client { let entity = entities .get(id) .expect("entities in spatial index should be valid"); - if entity.typ() != EntityType::Marker + if entity.kind() != EntityKind::Marker && entity.uuid() != self.uuid && self.loaded_entities.insert(id) { @@ -1108,22 +1108,22 @@ fn make_dimension_codec(shared: &SharedServer) -> RegistryCodec { RegistryCodec { dimension_type_registry: DimensionTypeRegistry { - typ: ident!("dimension_type"), + kind: ident!("dimension_type"), value: dims, }, biome_registry: BiomeRegistry { - typ: ident!("worldgen/biome"), + kind: ident!("worldgen/biome"), value: biomes, }, chat_type_registry: ChatTypeRegistry { - typ: ident!("chat_type"), + kind: ident!("chat_type"), value: vec![ChatTypeRegistryEntry { name: ident!("system"), id: 0, element: ChatType { chat: ChatTypeChat {}, narration: ChatTypeNarration { - priority: "system".to_string(), + priority: "system".to_owned(), }, }, }], @@ -1207,7 +1207,7 @@ fn to_biome_registry_item(biome: &Biome, id: i32) -> BiomeRegistryBiome { }, particle: biome.particle.as_ref().map(|p| BiomeParticle { probability: p.probability, - options: BiomeParticleOptions { typ: p.typ.clone() }, + options: BiomeParticleOptions { kind: p.kind.clone() }, }), }, } diff --git a/src/client/event.rs b/src/client/event.rs index a632897..95c7720 100644 --- a/src/client/event.rs +++ b/src/client/event.rs @@ -40,7 +40,7 @@ pub enum ClientEvent { /// If the client was sneaking during the interaction. sneaking: bool, /// The type of interaction that occurred. - typ: InteractWithEntity, + kind: InteractWithEntity, }, SteerBoat { left_paddle_turning: bool, diff --git a/src/entity.rs b/src/entity.rs index de4a6cb..2f71e7e 100644 --- a/src/entity.rs +++ b/src/entity.rs @@ -7,7 +7,7 @@ use std::iter::FusedIterator; use std::num::NonZeroU32; use bitfield_struct::bitfield; -pub use data::{EntityData, EntityType}; +pub use data::{EntityData, EntityKind}; use rayon::iter::ParallelIterator; use uuid::Uuid; use vek::{Aabb, Vec3}; @@ -37,8 +37,8 @@ impl Entities { /// Spawns a new entity with the default data. The new entity's [`EntityId`] /// is returned. - pub fn create(&mut self, typ: EntityType) -> (EntityId, &mut Entity) { - self.create_with_uuid(typ, Uuid::from_bytes(rand::random())) + pub fn create(&mut self, kind: EntityKind) -> (EntityId, &mut Entity) { + self.create_with_uuid(kind, Uuid::from_bytes(rand::random())) .expect("UUID collision") } @@ -49,7 +49,7 @@ impl Entities { /// world. If it does, `None` is returned and the entity is not spawned. pub fn create_with_uuid( &mut self, - typ: EntityType, + kind: EntityKind, uuid: Uuid, ) -> Option<(EntityId, &mut Entity)> { match self.uuid_to_entity.entry(uuid) { @@ -57,7 +57,7 @@ impl Entities { Entry::Vacant(ve) => { let (k, e) = self.sm.insert(Entity { flags: EntityFlags(0), - data: EntityData::new(typ), + data: EntityData::new(kind), world: None, new_position: Vec3::default(), old_position: Vec3::default(), @@ -219,9 +219,9 @@ impl Entity { &mut self.data } - /// Returns the [`EntityType`] of this entity. - pub fn typ(&self) -> EntityType { - self.data.typ() + /// Returns the [`EntityKind`] of this entity. + pub fn kind(&self) -> EntityKind { + self.data.kind() } pub fn world(&self) -> Option<WorldId> { @@ -497,7 +497,7 @@ impl Entity { _ => Some(EntitySpawnPacket::SpawnEntity(AddEntity { entity_id: VarInt(this_id.to_network_id()), object_uuid: self.uuid, - typ: VarInt(self.typ() as i32), + kind: VarInt(self.kind() as i32), position: self.new_position, pitch: ByteAngle::from_degrees(self.pitch), yaw: ByteAngle::from_degrees(self.yaw), diff --git a/src/entity/meta.rs b/src/entity/meta.rs index 40f8220..026ec01 100644 --- a/src/entity/meta.rs +++ b/src/entity/meta.rs @@ -46,15 +46,15 @@ impl Encode for Direction { #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)] pub struct VillagerData { - pub typ: VillagerType, + pub kind: VillagerKind, pub profession: VillagerProfession, pub level: i32, } impl VillagerData { - pub const fn new(typ: VillagerType, profession: VillagerProfession, level: i32) -> Self { + pub const fn new(kind: VillagerKind, profession: VillagerProfession, level: i32) -> Self { Self { - typ, + kind, profession, level, } @@ -64,7 +64,7 @@ impl VillagerData { impl Default for VillagerData { fn default() -> Self { Self { - typ: Default::default(), + kind: Default::default(), profession: Default::default(), level: 1, } @@ -73,14 +73,14 @@ impl Default for VillagerData { impl Encode for VillagerData { fn encode(&self, w: &mut impl Write) -> anyhow::Result<()> { - VarInt(self.typ as i32).encode(w)?; + VarInt(self.kind as i32).encode(w)?; VarInt(self.profession as i32).encode(w)?; VarInt(self.level).encode(w) } } #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Debug)] -pub enum VillagerType { +pub enum VillagerKind { Desert, Jungle, #[default] @@ -151,7 +151,7 @@ impl Encode for MainHand { } #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Debug)] -pub enum BoatVariant { +pub enum BoatKind { #[default] Oak, Spruce, @@ -161,14 +161,14 @@ pub enum BoatVariant { DarkOak, } -impl Encode for BoatVariant { +impl Encode for BoatKind { fn encode(&self, w: &mut impl Write) -> anyhow::Result<()> { VarInt(*self as i32).encode(w) } } #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Debug)] -pub enum CatVariant { +pub enum CatKind { Tabby, #[default] Black, @@ -183,33 +183,33 @@ pub enum CatVariant { AllBlack, } -impl Encode for CatVariant { +impl Encode for CatKind { fn encode(&self, w: &mut impl Write) -> anyhow::Result<()> { VarInt(*self as i32).encode(w) } } #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Debug)] -pub enum FrogVariant { +pub enum FrogKind { #[default] Temperate, Warm, Cold, } -impl Encode for FrogVariant { +impl Encode for FrogKind { fn encode(&self, w: &mut impl Write) -> anyhow::Result<()> { VarInt(*self as i32).encode(w) } } #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default, Debug)] -pub enum PaintingVariant { +pub enum PaintingKind { #[default] Default, // TODO } -impl Encode for PaintingVariant { +impl Encode for PaintingKind { fn encode(&self, w: &mut impl Write) -> anyhow::Result<()> { VarInt(*self as i32).encode(w) } diff --git a/src/ident.rs b/src/ident.rs index 9612679..19dce5c 100644 --- a/src/ident.rs +++ b/src/ident.rs @@ -135,7 +135,7 @@ impl FromStr for Ident { type Err = ParseError; fn from_str(s: &str) -> Result<Self, Self::Err> { - Ident::new(s.to_string()) + Ident::new(s.to_owned()) } } diff --git a/src/lib.rs b/src/lib.rs index 8d49407..4e05323 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -41,7 +41,7 @@ pub use chunk_pos::ChunkPos; pub use client::{Client, Clients}; pub use config::Config; pub use dimension::{Dimension, DimensionId}; -pub use entity::{Entities, Entity, EntityId, EntityType}; +pub use entity::{Entities, Entity, EntityId, EntityKind}; pub use ident::Ident; pub use server::{start_server, NewClientData, Server, SharedServer, ShutdownResult}; pub use spatial_index::SpatialIndex; diff --git a/src/protocol/packets.rs b/src/protocol/packets.rs index 2688ef3..1fad2e7 100644 --- a/src/protocol/packets.rs +++ b/src/protocol/packets.rs @@ -588,7 +588,7 @@ pub mod play { AddEntity 0x00 { entity_id: VarInt, object_uuid: Uuid, - typ: VarInt, + kind: VarInt, position: Vec3<f64>, pitch: ByteAngle, yaw: ByteAngle, @@ -640,7 +640,7 @@ pub mod play { def_struct! { BlockEntityData 0x07 { location: BlockPos, - typ: VarInt, // TODO: use enum here + kind: VarInt, // TODO: use enum here data: nbt::Blob, } } @@ -816,7 +816,7 @@ pub mod play { LevelChunkBlockEntity { packed_xz: i8, y: i16, - typ: VarInt, + kind: VarInt, data: nbt::Blob, } } @@ -865,7 +865,7 @@ pub mod play { #[derive(Clone, Debug, Serialize, Deserialize)] pub struct DimensionTypeRegistry { #[serde(rename = "type")] - pub typ: Ident, + pub kind: Ident, pub value: Vec<DimensionTypeRegistryEntry>, } @@ -901,7 +901,7 @@ pub mod play { #[derive(Clone, Debug, Serialize, Deserialize)] pub struct BiomeRegistry { #[serde(rename = "type")] - pub typ: Ident, + pub kind: Ident, pub value: Vec<Biome>, } @@ -971,13 +971,13 @@ pub mod play { #[derive(Clone, Debug, Serialize, Deserialize)] pub struct BiomeParticleOptions { #[serde(rename = "type")] - pub typ: Ident, + pub kind: Ident, } #[derive(Clone, Debug, Serialize, Deserialize)] pub struct ChatTypeRegistry { #[serde(rename = "type")] - pub typ: Ident, + pub kind: Ident, pub value: Vec<ChatTypeRegistryEntry>, } @@ -1044,7 +1044,7 @@ pub mod play { PlayerChat 0x30 { message: Text, /// Index into the chat type registry - typ: VarInt, + kind: VarInt, sender: Uuid, // TODO more fields } @@ -1183,7 +1183,7 @@ pub mod play { SystemChat 0x5f { chat: Text, /// Index into the chat type registry. - typ: VarInt, + kind: VarInt, } } @@ -1398,13 +1398,13 @@ pub mod play { def_struct! { Interact 0x0f { entity_id: VarInt, - typ: InteractType, + kind: InteractKind, sneaking: bool, } } def_enum! { - InteractType: VarInt { + InteractKind: VarInt { Interact: Hand = 0, Attack = 1, InteractAt: (Vec3<f32>, Hand) = 2 diff --git a/src/server.rs b/src/server.rs index f66794d..f57caf5 100644 --- a/src/server.rs +++ b/src/server.rs @@ -532,11 +532,11 @@ async fn handle_status( }); if let Some(data) = favicon_png { - let mut buf = "data:image/png;base64,".to_string(); + let mut buf = "data:image/png;base64,".to_owned(); base64::encode_config_buf(data, base64::STANDARD, &mut buf); json.as_object_mut() .unwrap() - .insert("favicon".to_string(), Value::String(buf)); + .insert("favicon".to_owned(), Value::String(buf)); } c.enc diff --git a/src/text.rs b/src/text.rs index 786b33a..d6ef017 100644 --- a/src/text.rs +++ b/src/text.rs @@ -320,7 +320,7 @@ enum HoverEvent { ShowEntity { name: Box<Text>, #[serde(rename = "type")] - typ: Ident, + kind: Ident, // TODO: id (hyphenated entity UUID as a string) }, }