From 7fa5725f3b2fcdd043c6c6eff932131a320c9f00 Mon Sep 17 00:00:00 2001 From: mathiascode Date: Wed, 14 Jun 2017 22:01:09 +0300 Subject: [PATCH] Added missing 1.12 packet changes --- README.md | 2 +- Server/README.txt | 2 +- src/Protocol/Protocol_1_12.cpp | 28 ++++++++++++++++++++++++++++ src/Protocol/Protocol_1_12.h | 2 ++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8124b4441..463dd5284 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Cuberite is a Minecraft-compatible multiplayer game server that is written in C+ Cuberite can run on Windows, *nix and Android operating systems. This includes Android phones and tablets as well as Raspberry Pis. -We currently support Release 1.8 - 1.11 Minecraft protocol versions. +We currently support Release 1.8 - 1.12 Minecraft protocol versions. Subscribe to [the newsletter](https://cuberite.org/news/#subscribe) for important updates and project news. diff --git a/Server/README.txt b/Server/README.txt index 8cca1315c..411272001 100644 --- a/Server/README.txt +++ b/Server/README.txt @@ -1,5 +1,5 @@ -------------------------------------------------------------------------------- - Welcome to your new Cuberite server, compatible with Minecraft 1.8 - 1.11! + Welcome to your new Cuberite server, compatible with Minecraft 1.8 - 1.12! -------------------------------------------------------------------------------- - To get started with your server, read the user's manual at diff --git a/src/Protocol/Protocol_1_12.cpp b/src/Protocol/Protocol_1_12.cpp index 8d56a95bd..a0f2b9aa7 100644 --- a/src/Protocol/Protocol_1_12.cpp +++ b/src/Protocol/Protocol_1_12.cpp @@ -1287,6 +1287,34 @@ void cProtocol_1_12::SendTimeUpdate(Int64 a_WorldAge, Int64 a_TimeOfDay, bool a_ +void cProtocol_1_12::SendSetRawTitle(const AString & a_Title) +{ + ASSERT(m_State == 3); // In game mode? + + cPacketizer Pkt(*this, 0x47); // Title packet + Pkt.WriteVarInt32(0); // Set title + + Pkt.WriteString(a_Title); +} + + + + + +void cProtocol_1_12::SendSetRawSubTitle(const AString & a_SubTitle) +{ + ASSERT(m_State == 3); // In game mode? + + cPacketizer Pkt(*this, 0x47); // Title packet + Pkt.WriteVarInt32(1); // Set subtitle + + Pkt.WriteString(a_SubTitle); +} + + + + + void cProtocol_1_12::SendTitleTimes(int a_FadeInTicks, int a_DisplayTicks, int a_FadeOutTicks) { ASSERT(m_State == 3); // In game mode? diff --git a/src/Protocol/Protocol_1_12.h b/src/Protocol/Protocol_1_12.h index 00f9d160e..f61b713ae 100644 --- a/src/Protocol/Protocol_1_12.h +++ b/src/Protocol/Protocol_1_12.h @@ -53,6 +53,8 @@ public: virtual void SendRespawn(eDimension a_Dimension) override; virtual void SendScoreUpdate(const AString & a_Objective, const AString & a_Player, cObjective::Score a_Score, Byte a_Mode) override; virtual void SendScoreboardObjective(const AString & a_Name, const AString & a_DisplayName, Byte a_Mode) override; + virtual void SendSetRawSubTitle(const AString & a_SubTitle) override; + virtual void SendSetRawTitle(const AString & a_Title) override; virtual void SendSpawnMob(const cMonster & a_Mob) override; virtual void SendTeleportEntity(const cEntity & a_Entity) override; virtual void SendTimeUpdate(Int64 a_WorldAge, Int64 a_TimeOfDay, bool a_DoDaylightCycle) override;