diff options
author | Howaner <franzi.moos@googlemail.com> | 2014-12-17 19:14:01 +0100 |
---|---|---|
committer | Howaner <franzi.moos@googlemail.com> | 2014-12-17 19:14:01 +0100 |
commit | 8277e1ec4e3e761527bc850ac371f3b899d023bf (patch) | |
tree | 5a5cb6bb1609e24bdd32ddbfb9354e158b51f161 /src/UI/MinecartWithChestWindow.h | |
parent | Merge branch 'master' into Inventory (diff) | |
download | cuberite-8277e1ec4e3e761527bc850ac371f3b899d023bf.tar cuberite-8277e1ec4e3e761527bc850ac371f3b899d023bf.tar.gz cuberite-8277e1ec4e3e761527bc850ac371f3b899d023bf.tar.bz2 cuberite-8277e1ec4e3e761527bc850ac371f3b899d023bf.tar.lz cuberite-8277e1ec4e3e761527bc850ac371f3b899d023bf.tar.xz cuberite-8277e1ec4e3e761527bc850ac371f3b899d023bf.tar.zst cuberite-8277e1ec4e3e761527bc850ac371f3b899d023bf.zip |
Diffstat (limited to 'src/UI/MinecartWithChestWindow.h')
-rw-r--r-- | src/UI/MinecartWithChestWindow.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/UI/MinecartWithChestWindow.h b/src/UI/MinecartWithChestWindow.h index 57e9beedf..a2b5283a6 100644 --- a/src/UI/MinecartWithChestWindow.h +++ b/src/UI/MinecartWithChestWindow.h @@ -33,6 +33,26 @@ public: a_ChestCart->GetWorld()->BroadcastSoundEffect("random.chestopen", a_ChestCart->GetPosX(), a_ChestCart->GetPosY(), a_ChestCart->GetPosZ(), 1, 1); } + virtual void DistributeStack(cItem & a_ItemStack, int a_Slot, cPlayer & a_Player, cSlotArea* a_ClickedArea, bool a_ShouldApply) override + { + cSlotAreas AreasInOrder; + + if (a_ClickedArea == m_SlotAreas[0]) + { + // Chest Area + AreasInOrder.push_back(m_SlotAreas[2]); /* Hotbar */ + AreasInOrder.push_back(m_SlotAreas[1]); /* Inventory */ + super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, true); + } + else + { + // Hotbar or Inventory + AreasInOrder.push_back(m_SlotAreas[0]); /* Chest */ + super::DistributeStackToAreas(a_ItemStack, a_Player, AreasInOrder, a_ShouldApply, false); + } + } + + ~cMinecartWithChestWindow() { m_ChestCart->GetWorld()->BroadcastSoundEffect("random.chestclosed", m_ChestCart->GetPosX(), m_ChestCart->GetPosY(), m_ChestCart->GetPosZ(), 1, 1); |