aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/ZonedChunkStorage.cpp
diff options
context:
space:
mode:
authorqwasdrizzel <145519042+qwasdrizzel@users.noreply.github.com>2026-03-16 21:44:26 -0500
committerGitHub <noreply@github.com>2026-03-16 21:44:26 -0500
commitce739f6045ec72127491286ea3f3f21e537c1b55 (patch)
treef33bd42a47c1b4a7b2153a7fb77127ee3b407db9 /Minecraft.World/ZonedChunkStorage.cpp
parent255a18fe8e9b57377975f82e2b227afe2a12eda0 (diff)
parent5a59f5d146b43811dde6a5a0245ee9875d7b5cd1 (diff)
Merge branch 'smartcmd:main' into main
Diffstat (limited to 'Minecraft.World/ZonedChunkStorage.cpp')
-rw-r--r--Minecraft.World/ZonedChunkStorage.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/Minecraft.World/ZonedChunkStorage.cpp b/Minecraft.World/ZonedChunkStorage.cpp
index 5c6bf192..75df6a0c 100644
--- a/Minecraft.World/ZonedChunkStorage.cpp
+++ b/Minecraft.World/ZonedChunkStorage.cpp
@@ -50,7 +50,7 @@ ZoneFile *ZonedChunkStorage::getZoneFile(int x, int z, bool create)
int xZone = x >> CHUNKS_PER_ZONE_BITS;
int zZone = z >> CHUNKS_PER_ZONE_BITS;
- __int64 key = xZone + (zZone << 20l);
+ int64_t key = xZone + (zZone << 20l);
// 4J - was !zoneFiles.containsKey(key)
if (zoneFiles.find(key) == zoneFiles.end())
{
@@ -62,8 +62,8 @@ ZoneFile *ZonedChunkStorage::getZoneFile(int x, int z, bool create)
if ( !file.exists() )
{
- if (!create) return NULL;
- HANDLE ch = CreateFile(wstringtofilename(file.getPath()), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (!create) return nullptr;
+ HANDLE ch = CreateFile(wstringtofilename(file.getPath()), GENERIC_READ | GENERIC_WRITE, 0, nullptr, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr);
CloseHandle(ch);
}
@@ -76,7 +76,7 @@ ZoneFile *ZonedChunkStorage::getZoneFile(int x, int z, bool create)
zoneFile->lastUse = tickCount;
if (!zoneFile->containsSlot(slot))
{
- if (!create) return NULL;
+ if (!create) return nullptr;
}
return zoneFile;
@@ -85,14 +85,14 @@ ZoneFile *ZonedChunkStorage::getZoneFile(int x, int z, bool create)
ZoneIo *ZonedChunkStorage::getBuffer(int x, int z, bool create)
{
ZoneFile *zoneFile = getZoneFile(x, z, create);
- if (zoneFile == NULL) return NULL;
+ if (zoneFile == nullptr) return nullptr;
return zoneFile->getZoneIo(getSlot(x, z));
}
LevelChunk *ZonedChunkStorage::load(Level *level, int x, int z)
{
ZoneIo *zoneIo = getBuffer(x, z, false);
- if (zoneIo == NULL) return NULL;
+ if (zoneIo == nullptr) return nullptr;
LevelChunk *lc = new LevelChunk(level, x, z);
lc->unsaved = false;
@@ -107,8 +107,8 @@ LevelChunk *ZonedChunkStorage::load(Level *level, int x, int z)
header->flip();
int xOrg = header->getInt();
int zOrg = header->getInt();
- __int64 time = header->getLong();
- __int64 flags = header->getLong();
+ int64_t time = header->getLong();
+ int64_t flags = header->getLong();
lc->terrainPopulated = (flags & BIT_TERRAIN_POPULATED) != 0;
@@ -121,7 +121,7 @@ LevelChunk *ZonedChunkStorage::load(Level *level, int x, int z)
void ZonedChunkStorage::save(Level *level, LevelChunk *lc)
{
- __int64 flags = 0;
+ int64_t flags = 0;
if (lc->terrainPopulated) flags |= BIT_TERRAIN_POPULATED;
ByteBuffer *header = ByteBuffer::allocate(CHUNK_HEADER_SIZE);
@@ -176,7 +176,7 @@ void ZonedChunkStorage::flush()
for ( auto& it : zoneFiles )
{
ZoneFile *zoneFile = it.second;
- if ( zoneFile )
+ if ( zoneFile )
zoneFile->close();
}
zoneFiles.clear();
@@ -194,7 +194,11 @@ void ZonedChunkStorage::loadEntities(Level *level, LevelChunk *lc)
if (type == 0)
{
shared_ptr<Entity> e = EntityIO::loadStatic(tag, level);
- if (e != nullptr) lc->addEntity(e);
+ if (e != nullptr)
+ {
+ lc->addEntity(e);
+ lc->addRidingEntities(e, tag);
+ }
}
else if (type == 1)
{