diff options
author | Persson-dev <66266021+Persson-dev@users.noreply.github.com> | 2021-12-29 20:30:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-29 20:30:09 +0100 |
commit | 1edc6c8601f9d00751bf7c9f7fcc69d1e18bb46a (patch) | |
tree | 798914afc59b513341a86cbb5bd0918333104595 /src/Protocol/Protocol_1_13.cpp | |
parent | Improved farmer AI & Fixed entity loading functions (#5351) (diff) | |
download | cuberite-1edc6c8601f9d00751bf7c9f7fcc69d1e18bb46a.tar cuberite-1edc6c8601f9d00751bf7c9f7fcc69d1e18bb46a.tar.gz cuberite-1edc6c8601f9d00751bf7c9f7fcc69d1e18bb46a.tar.bz2 cuberite-1edc6c8601f9d00751bf7c9f7fcc69d1e18bb46a.tar.lz cuberite-1edc6c8601f9d00751bf7c9f7fcc69d1e18bb46a.tar.xz cuberite-1edc6c8601f9d00751bf7c9f7fcc69d1e18bb46a.tar.zst cuberite-1edc6c8601f9d00751bf7c9f7fcc69d1e18bb46a.zip |
Diffstat (limited to 'src/Protocol/Protocol_1_13.cpp')
-rw-r--r-- | src/Protocol/Protocol_1_13.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/Protocol/Protocol_1_13.cpp b/src/Protocol/Protocol_1_13.cpp index f6919388c..80a1e9df1 100644 --- a/src/Protocol/Protocol_1_13.cpp +++ b/src/Protocol/Protocol_1_13.cpp @@ -337,6 +337,7 @@ UInt8 cProtocol_1_13::GetEntityMetadataID(EntityMetadata a_Metadata) const case EntityMetadata::IllagerFlags: return Insentient; case EntityMetadata::SpeIlagerSpell: return Insentient + 1; case EntityMetadata::VexFlags: return Insentient; + case EntityMetadata::AbstractSkeletonArmsSwinging: return Insentient; case EntityMetadata::SpiderClimbing: return Insentient; case EntityMetadata::WitchAggresive: return Insentient; case EntityMetadata::WitherFirstHeadTarget: return Insentient; @@ -366,7 +367,6 @@ UInt8 cProtocol_1_13::GetEntityMetadataID(EntityMetadata a_Metadata) const case EntityMetadata::EntityPose: case EntityMetadata::AreaEffectCloudParticleParameter1: case EntityMetadata::AreaEffectCloudParticleParameter2: - case EntityMetadata::AbstractSkeletonArmsSwinging: case EntityMetadata::ZombieUnusedWasType: break; } UNREACHABLE("Retrieved invalid metadata for protocol"); @@ -1184,6 +1184,17 @@ void cProtocol_1_13::WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mo break; } // case mtSheep + case mtSkeleton: + { + auto & Skeleton = static_cast<const cSkeleton &>(a_Mob); + WriteEntityMetadata(a_Pkt, EntityMetadata::LivingActiveHand, EntityMetadataType::Byte); + a_Pkt.WriteBEUInt8(Skeleton.IsChargingBow() ? 0x01 : 0x00); + + WriteEntityMetadata(a_Pkt, EntityMetadata::AbstractSkeletonArmsSwinging, EntityMetadataType::Boolean); + a_Pkt.WriteBool(Skeleton.IsChargingBow()); + break; + } // case mtSkeleton + case mtSlime: { auto & Slime = static_cast<const cSlime &>(a_Mob); @@ -1354,7 +1365,6 @@ void cProtocol_1_13::WriteMobMetadata(cPacketizer & a_Pkt, const cMonster & a_Mo case mtGiant: case mtSilverfish: - case mtSkeleton: case mtSquid: case mtWitherSkeleton: { |