From b63bb2f694af8a0d6ef698534b1cf02a62514940 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Thu, 2 Jan 2020 15:11:49 +0100 Subject: Root: Load the UpgradeBlockTypePalette on startup. --- src/Root.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/Root.cpp') diff --git a/src/Root.cpp b/src/Root.cpp index 1df7cfff4..0869192b8 100644 --- a/src/Root.cpp +++ b/src/Root.cpp @@ -39,6 +39,7 @@ #include "OverridesSettingsRepository.h" #include "Logger.h" #include "ClientHandle.h" +#include "BlockTypePalette.h" @@ -192,6 +193,24 @@ void cRoot::Start(std::unique_ptr a_OverridesRepo) // cClientHandle::FASTBREAK_PERCENTAGE = settingsRepo->GetValueSetI("AntiCheat", "FastBreakPercentage", 97) / 100.0f; cClientHandle::FASTBREAK_PERCENTAGE = 0; // AntiCheat disabled due to bugs. We will enabled it once they are fixed. See #3506. + // Load the UpgradeBlockTypePalette: + LOG("Loading UpgradeBlockTypePalette..."); + try + { + auto paletteStr = cFile::ReadWholeFile("Protocol/UpgradeBlockTypePalette.txt"); + if (paletteStr.empty()) + { + throw std::runtime_error("File is empty"); + } + m_UpgradeBlockTypePalette.reset(new BlockTypePalette); + m_UpgradeBlockTypePalette->loadFromString(paletteStr); + } + catch (const std::exception & exc) + { + LOGERROR("Failed to load the Upgrade block type palette from Protocol/UpgradeBlockTypePalette.txt: %s\nAborting", exc.what()); + throw; + } + m_MojangAPI = new cMojangAPI; bool ShouldAuthenticate = settingsRepo->GetValueSetB("Authentication", "Authenticate", true); m_MojangAPI->Start(*settingsRepo, ShouldAuthenticate); // Mojang API needs to be started before plugins, so that plugins may use it for DB upgrades on server init -- cgit v1.2.3