From 34bf5c0d9db195edf8b576d1273876966cf650b2 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Tue, 4 May 2021 16:11:56 +0100 Subject: Rename files to match code --- src/StatisticsManager.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/StatisticsManager.h (limited to 'src/StatisticsManager.h') diff --git a/src/StatisticsManager.h b/src/StatisticsManager.h new file mode 100644 index 000000000..288f4aabc --- /dev/null +++ b/src/StatisticsManager.h @@ -0,0 +1,47 @@ + +// Statistics.h + +/* Hello fellow developer ! +In case you are trying to add new statistics to Cuberite you need to do a few things: +--------------------------------------------------------------------------- +1. add a new entry to the enum class Statistic in Registries\Statistics.h file +2. add this to serialization functions in WorldStorage\NamespaceSerializer.cpp + The String in the above is used for saving on disk! + so use the same string! + +In case you want to add a mapping of network IDs to the used stats +you will find a lua script in ../Tools/BlockTypePaletteGenerator/ExportStatMapping.lua +it will provide you with information how to use it. you need a registries.json +exported from the server https://wiki.vg/Data_Generators + + Greetings 12xx12 */ + + + + + +#pragma once + +#include "Registries/CustomStatistics.h" + + + + + +/** Class that manages the statistics and achievements of a single player. */ +struct StatisticsManager +{ + typedef unsigned StatValue; + + // TODO: Block tallies, entities killed, all the others + + std::unordered_map Custom; + + /** Returns whether the prerequisite for awarding an achievement are satisfied. */ + bool SatisfiesPrerequisite(CustomStatistic a_Stat) const; + +private: + + /** Returns if a statistic is both present and has nonzero value. */ + bool IsStatisticPresent(CustomStatistic a_Stat) const; +}; -- cgit v1.2.3