diff --git a/src/content/ContentBuilder.cpp b/src/content/ContentBuilder.cpp index 97498b497..83836dfe3 100644 --- a/src/content/ContentBuilder.cpp +++ b/src/content/ContentBuilder.cpp @@ -39,16 +39,18 @@ std::unique_ptr ContentBuilder::build() { } else { def.defaults.rt.solid = isSolid(def.defaults) || def.explictlySolid; } - if (def.material.empty()) { - defaults.at("block-material").get(def.material); - } + def.rt.solid = def.defaults.rt.solid; const float EPSILON = 0.01f; - def.rt.solid = + def.rt.solid = def.rt.solid && def.obstacle && (glm::i8vec3(def.hitboxes[0].size() + EPSILON) == def.size); def.rt.extended = def.size.x > 1 || def.size.y > 1 || def.size.z > 1; + if (def.material.empty()) { + defaults.at("block-material").get(def.material); + } + if (def.rotatable) { for (uint i = 0; i < BlockRotProfile::MAX_COUNT; i++) { def.rt.hitboxes[i].reserve(def.hitboxes.size());