feat: new chunk load toggle

also fixes item frames / paintings in dlc worlds
This commit is contained in:
Fireblade
2026-07-24 15:14:27 -04:00
parent 261700ea8b
commit 306d1c9fb7
10 changed files with 50 additions and 6 deletions
+5 -2
View File
@@ -577,12 +577,14 @@ void ClientConnection::handleAddEntity(shared_ptr<AddEntityPacket> packet)
{
int dir = packet->data & 0xFF;
bool placedByPlayer = (packet->data & 0x100) != 0;
bool placedByTutorial = (packet->data & 0x200) != 0;
e = std::make_shared<ItemFrame>(level, (int)x, (int)y, (int)z, dir);
shared_ptr<ItemFrame> frame = dynamic_pointer_cast<ItemFrame>(e);
if (frame != nullptr)
{
frame->placedByPlayer = placedByPlayer;
if (placedByPlayer)
frame->placedByTutorial = placedByTutorial;
if (placedByPlayer || placedByTutorial)
{
frame->setDir(dir);
}
@@ -842,7 +844,8 @@ void ClientConnection::handleAddPainting(shared_ptr<AddPaintingPacket> packet)
{
shared_ptr<Painting> painting = std::make_shared<Painting>(level, packet->x, packet->y, packet->z, packet->dir, packet->motive);
painting->placedByPlayer = packet->placedByPlayer;
if (packet->placedByPlayer)
painting->placedByTutorial = packet->placedByTutorial;
if (packet->placedByPlayer || packet->placedByTutorial)
{
painting->setDir(packet->dir);
}