aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/CompoundContainer.cpp
diff options
context:
space:
mode:
authorLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
committerLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
commit42aec6dac53dffa6afe072560a7e1d4986112538 (patch)
tree0836426857391df1b6a83f6368a183f83ec9b104 /Minecraft.World/CompoundContainer.cpp
parentc9d58eeac7c72f0b3038e084667b4d89a6249fce (diff)
parentef9b6fd500dfabd9463267b0dd9e29577eea8a2b (diff)
Merge branch 'main' into pr/win64-world-saves
# Conflicts: # Minecraft.Client/MinecraftServer.cpp # README.md
Diffstat (limited to 'Minecraft.World/CompoundContainer.cpp')
-rw-r--r--Minecraft.World/CompoundContainer.cpp37
1 files changed, 33 insertions, 4 deletions
diff --git a/Minecraft.World/CompoundContainer.cpp b/Minecraft.World/CompoundContainer.cpp
index 29bf60dd..39da0e58 100644
--- a/Minecraft.World/CompoundContainer.cpp
+++ b/Minecraft.World/CompoundContainer.cpp
@@ -1,6 +1,6 @@
#include "stdafx.h"
#include "net.minecraft.world.entity.player.h"
-
+#include "ContainerOpenPacket.h"
#include "CompoundContainer.h"
CompoundContainer::CompoundContainer(int name, shared_ptr<Container> c1, shared_ptr<Container> c2)
@@ -12,14 +12,38 @@ CompoundContainer::CompoundContainer(int name, shared_ptr<Container> c1, shared_
this->c2 = c2;
}
+int CompoundContainer::getContainerType()
+{
+ return ContainerOpenPacket::LARGE_CHEST;
+}
+
unsigned int CompoundContainer::getContainerSize()
{
return c1->getContainerSize() + c2->getContainerSize();
}
-int CompoundContainer::getName()
+bool CompoundContainer::contains(shared_ptr<Container> c)
+{
+ return c1 == c || c2 == c;
+}
+
+wstring CompoundContainer::getName()
+{
+ if (c1->hasCustomName()) return c1->getName();
+ if (c2->hasCustomName()) return c2->getName();
+ return app.GetString(name);
+}
+
+wstring CompoundContainer::getCustomName()
+{
+ if (c1->hasCustomName()) return c1->getName();
+ if (c2->hasCustomName()) return c2->getName();
+ return L"";
+}
+
+bool CompoundContainer::hasCustomName()
{
- return name;
+ return c1->hasCustomName() || c2->hasCustomName();
}
shared_ptr<ItemInstance> CompoundContainer::getItem(unsigned int slot)
@@ -46,7 +70,7 @@ void CompoundContainer::setItem(unsigned int slot, shared_ptr<ItemInstance> item
else c1->setItem(slot, item);
}
-int CompoundContainer::getMaxStackSize()
+int CompoundContainer::getMaxStackSize() const
{
return c1->getMaxStackSize();
}
@@ -72,4 +96,9 @@ void CompoundContainer::stopOpen()
{
c1->stopOpen();
c2->stopOpen();
+}
+
+bool CompoundContainer::canPlaceItem(int slot, shared_ptr<ItemInstance> item)
+{
+ return true;
} \ No newline at end of file