aboutsummaryrefslogtreecommitdiff
path: root/azalea-entity/src/data.rs
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2024-04-23 10:34:50 -0500
committerGitHub <noreply@github.com>2024-04-23 10:34:50 -0500
commit1d80f531b74bc3b31023753acb81b35efcdadd73 (patch)
tree675635c7c41fbb456e3e0dd7b9f09c7211d356f0 /azalea-entity/src/data.rs
parent0ddad8bd9c7c0e8846aec8bc90c95416418c9a63 (diff)
downloadazalea-drasl-1d80f531b74bc3b31023753acb81b35efcdadd73.tar.xz
1.20.5 (#127)
* 23w51b * make recalculate_near_end_of_path public so other plugins can do .after(recalculate_near_end_of_path) * update to 24w03a i think * start implementing 24w13a * registries work (but a lot of packets are still broken) * fix recipes and commands packets * i love codecs :D i am not going insane :D mojang's java is very readable :D * item components are "implemented" meowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeowmeow * update to 1.20.5-pre3 * fix all the broken packets and clippy (mojang please don't do an update like this again or i will murder someone) * 1.20.5-rc1 * fix failing tests * 1.20.5
Diffstat (limited to 'azalea-entity/src/data.rs')
-rwxr-xr-xazalea-entity/src/data.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/azalea-entity/src/data.rs b/azalea-entity/src/data.rs
index b0a05e74..45c761e7 100755
--- a/azalea-entity/src/data.rs
+++ b/azalea-entity/src/data.rs
@@ -6,7 +6,6 @@ use azalea_buf::{
use azalea_chat::FormattedText;
use azalea_core::{
direction::Direction,
- particle::Particle,
position::{BlockPos, GlobalPos, Vec3},
};
use azalea_inventory::ItemSlot;
@@ -17,6 +16,8 @@ use nohash_hasher::IntSet;
use std::io::{Cursor, Write};
use uuid::Uuid;
+use crate::particle::Particle;
+
#[derive(Clone, Debug, Deref)]
pub struct EntityMetadataItems(Vec<EntityDataItem>);
@@ -83,15 +84,18 @@ pub enum EntityDataValue {
OptionalBlockState(azalea_block::BlockState),
CompoundTag(simdnbt::owned::NbtCompound),
Particle(Particle),
+ Particles(Vec<Particle>),
VillagerData(VillagerData),
// 0 for absent; 1 + actual value otherwise. Used for entity IDs.
OptionalUnsignedInt(OptionalUnsignedInt),
Pose(Pose),
CatVariant(azalea_registry::CatVariant),
+ WolfVariant(azalea_registry::WolfVariant),
FrogVariant(azalea_registry::FrogVariant),
OptionalGlobalPos(Option<GlobalPos>),
PaintingVariant(azalea_registry::PaintingVariant),
SnifferState(SnifferState),
+ ArmadilloState(ArmadilloStateKind),
Vector3(Vec3),
Quaternion(Quaternion),
}
@@ -107,6 +111,16 @@ pub struct Quaternion {
pub w: f32,
}
+// mojang just calls this ArmadilloState but i added "Kind" since otherwise it
+// collides with a name in metadata.rs
+#[derive(Clone, Debug, Copy, Default, McBuf)]
+pub enum ArmadilloStateKind {
+ #[default]
+ Idle,
+ Rolling,
+ Scared,
+}
+
impl McBufReadable for OptionalUnsignedInt {
fn read_from(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError> {
let val = u32::var_read_from(buf)?;