add Chunk.blocksMetadata

This commit is contained in:
MihailRis 2024-09-14 20:26:36 +03:00
parent 3d219b9a1c
commit 44753904dc
3 changed files with 13 additions and 1 deletions

View File

@ -3,6 +3,7 @@
#include <utility>
#include "core_defs.hpp"
#include "data/StructLayout.hpp"
#include "util/stringutil.hpp"
std::string to_string(BlockModel model) {
@ -102,6 +103,8 @@ Block::Block(const std::string& name)
} {
}
Block::~Block() {}
Block::Block(std::string name, const std::string& texture)
: name(std::move(name)),
textureFaces {texture, texture, texture, texture, texture, texture} {

View File

@ -9,6 +9,10 @@
#include "maths/aabb.hpp"
#include "typedefs.hpp"
namespace data {
class StructLayout;
}
inline std::string BLOCK_ITEM_SUFFIX = ".item";
inline constexpr uint FACE_MX = 0;
@ -184,6 +188,8 @@ public:
// @brief Block tick interval (1 - 20tps, 2 - 10tps)
uint tickInterval = 1;
std::unique_ptr<data::StructLayout> dataStruct;
/// @brief Runtime indices (content indexing results)
struct {
/// @brief block runtime integer id
@ -211,6 +217,7 @@ public:
Block(const std::string& name);
Block(std::string name, const std::string& texture);
Block(const Block&) = delete;
~Block();
void cloneTo(Block& dst);
};

View File

@ -7,11 +7,11 @@
#include "constants.hpp"
#include "lighting/Lightmap.hpp"
#include "util/SmallHeap.hpp"
#include "voxel.hpp"
inline constexpr int CHUNK_DATA_LEN = CHUNK_VOL * 4;
class Lightmap;
class ContentReport;
class Inventory;
@ -40,6 +40,8 @@ public:
/// @brief Block inventories map where key is index of block in voxels array
chunk_inventories_map inventories;
/// @brief Blocks metadata heap
util::SmallHeap<uint16_t, uint8_t> blocksMetadata;
Chunk(int x, int z);