From 961d5eb420182add0b6cb4d92f260b885563389c Mon Sep 17 00:00:00 2001 From: 12xx12 <44411062+12xx12@users.noreply.github.com> Date: Thu, 29 Oct 2020 21:47:20 +0100 Subject: Add beam target, configurable base visibility to Ender Crystals (#5010) * Fixes #4990 Co-authored-by: 12xx12 <12xx12100@gmail.com> --- src/Protocol/Protocol_1_11.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/Protocol/Protocol_1_11.cpp') diff --git a/src/Protocol/Protocol_1_11.cpp b/src/Protocol/Protocol_1_11.cpp index 1e07419ec..9ea6332b8 100644 --- a/src/Protocol/Protocol_1_11.cpp +++ b/src/Protocol/Protocol_1_11.cpp @@ -16,6 +16,7 @@ Implements the 1.11 protocol classes: #include "../WorldStorage/FastNBT.h" #include "../Entities/Boat.h" +#include "../Entities/EnderCrystal.h" #include "../Entities/ExpOrb.h" #include "../Entities/Minecart.h" #include "../Entities/FallingBlock.h" @@ -805,6 +806,22 @@ void cProtocol_1_11_0::WriteEntityMetadata(cPacketizer & a_Pkt, const cEntity & break; } // case etItemFrame + case cEntity::etEnderCrystal: + { + const auto & EnderCrystal = static_cast(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; -- cgit v1.2.3