diff options
Diffstat (limited to 'src/Protocol/Protocol_1_12.cpp')
-rw-r--r-- | src/Protocol/Protocol_1_12.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/Protocol/Protocol_1_12.cpp b/src/Protocol/Protocol_1_12.cpp index 16651bdf6..ee2016ae2 100644 --- a/src/Protocol/Protocol_1_12.cpp +++ b/src/Protocol/Protocol_1_12.cpp @@ -13,6 +13,7 @@ Implements the 1.12 protocol classes: #include "Packetizer.h" #include "../Entities/Boat.h" +#include "../Entities/EnderCrystal.h" #include "../Entities/Minecart.h" #include "../Entities/Pickup.h" #include "../Entities/Player.h" @@ -518,6 +519,22 @@ void cProtocol_1_12::WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & a_ break; } // case etItemFrame + case cEntity::etEnderCrystal: + { + const auto & EnderCrystal = static_cast<const cEnderCrystal &>(a_Entity); + a_Pkt.WriteBEUInt8(7); + a_Pkt.WriteBEUInt8(METADATA_TYPE_OPTIONAL_POSITION); + a_Pkt.WriteBool(EnderCrystal.DisplaysBeam()); + if (EnderCrystal.DisplaysBeam()) + { + a_Pkt.WriteXYZPosition64(EnderCrystal.GetBeamTarget()); + } + a_Pkt.WriteBEUInt8(8); + a_Pkt.WriteBEUInt8(METADATA_TYPE_BOOL); + a_Pkt.WriteBool(EnderCrystal.ShowsBottom()); + break; + } // case etEnderCrystal + default: { break; |