diff options
Diffstat (limited to 'src/Resource/BlockType.hpp')
-rw-r--r-- | src/Resource/BlockType.hpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/Resource/BlockType.hpp b/src/Resource/BlockType.hpp index 755719d..e0946f6 100644 --- a/src/Resource/BlockType.hpp +++ b/src/Resource/BlockType.hpp @@ -27,17 +27,33 @@ #pragma once #include <cstdint> +#include <string> +#include <unordered_map> namespace MinedMap { namespace Resource { struct BlockType { +private: + static const std::unordered_map<std::string, BlockType> Types; + +public: + static const BlockType * lookup(const std::string &name); + bool opaque; bool green; - uint32_t color; + bool blue; + struct { + uint8_t r, g, b; + } color; +}; + + +struct LegacyPalette { + const BlockType *types[256][16]; }; -extern const BlockType BLOCK_TYPES[256][16]; +extern const LegacyPalette LEGACY_BLOCK_TYPES; } } |