add explicit block fields total size limit - 240 bytes
This commit is contained in:
parent
221a34fa2e
commit
e0a4876f3f
@ -255,6 +255,13 @@ void ContentLoader::loadBlock(
|
||||
if (root.has("fields")) {
|
||||
def.dataStruct = std::make_unique<data::StructLayout>();
|
||||
def.dataStruct->deserialize(root["fields"]);
|
||||
if (def.dataStruct->size() > MAX_BLOCK_FIELDS_SIZE) {
|
||||
throw std::runtime_error(
|
||||
util::quote(def.name) +
|
||||
" fields total size exceeds limit (" +
|
||||
std::to_string(def.dataStruct->size()) + "/" +
|
||||
std::to_string(MAX_BLOCK_FIELDS_SIZE) + ")");
|
||||
}
|
||||
}
|
||||
|
||||
if (def.tickInterval == 0) {
|
||||
|
||||
@ -26,6 +26,8 @@ inline constexpr uint FACE_PZ = 5;
|
||||
/// complex hitboxes
|
||||
inline constexpr uint BLOCK_AABB_GRID = 16;
|
||||
|
||||
inline constexpr size_t MAX_BLOCK_FIELDS_SIZE = 240;
|
||||
|
||||
inline std::string DEFAULT_MATERIAL = "base:stone";
|
||||
|
||||
struct block_funcs_set {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user