mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-06 17:41:04 +00:00
Make sure monoblocks account for all node params
This commit is contained in:
parent
9c8a9783e6
commit
de90495eda
2 changed files with 9 additions and 2 deletions
|
@ -232,6 +232,13 @@ void MapBlock::copyFrom(const VoxelManipulator &src)
|
|||
src.copyTo(data, data_area, v3s16(0,0,0),
|
||||
getPosRelative(), data_size);
|
||||
|
||||
checkForMonoblock();
|
||||
}
|
||||
|
||||
void MapBlock::checkForMonoblock() {
|
||||
if (m_is_mono_block)
|
||||
return;
|
||||
|
||||
MapNode n = data[0];
|
||||
bool is_mono_block = true;
|
||||
for (u32 i=1; i<nodecount; i++) {
|
||||
|
@ -628,8 +635,7 @@ void MapBlock::deSerialize(std::istream &in_compressed, u8 version, bool disk)
|
|||
}
|
||||
|
||||
if (nimap.size() == 1) {
|
||||
m_is_mono_block = true;
|
||||
reallocate(1, data[0]);
|
||||
checkForMonoblock();
|
||||
u16 dummy;
|
||||
if (nimap.getId("air", dummy)) {
|
||||
m_is_air = true;
|
||||
|
|
|
@ -449,6 +449,7 @@ private:
|
|||
*/
|
||||
|
||||
void deSerialize_pre22(std::istream &is, u8 version, bool disk);
|
||||
void checkForMonoblock();
|
||||
|
||||
void reallocate(u32 c, MapNode n)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue