summaryrefslogtreecommitdiffstats
path: root/src/Resource/BlockType.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Resource/BlockType.hpp')
-rw-r--r--src/Resource/BlockType.hpp20
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;
}
}