Properly implemented enderchests
This commit is contained in:
+2
-2
@@ -1342,7 +1342,7 @@ cSlotAreaEnderChest::cSlotAreaEnderChest(cEnderChestEntity * a_EnderChest, cWind
|
||||
const cItem * cSlotAreaEnderChest::GetSlot(int a_SlotNum, cPlayer & a_Player) const
|
||||
{
|
||||
// a_SlotNum ranges from 0 to 26, use that to index the chest entity's inventory directly:
|
||||
return &(m_EnderChest->GetSlot(a_SlotNum));
|
||||
return &(a_Player.GetEnderChestContents().GetSlot(a_SlotNum));
|
||||
}
|
||||
|
||||
|
||||
@@ -1351,7 +1351,7 @@ const cItem * cSlotAreaEnderChest::GetSlot(int a_SlotNum, cPlayer & a_Player) co
|
||||
|
||||
void cSlotAreaEnderChest::SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item)
|
||||
{
|
||||
m_EnderChest->SetSlot(a_SlotNum, a_Item);
|
||||
a_Player.GetEnderChestContents().SetSlot(a_SlotNum, a_Item);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -145,8 +145,7 @@ void cWindow::GetSlots(cPlayer & a_Player, cItems & a_Slots) const
|
||||
{
|
||||
int NumSlots = (*itr)->GetNumSlots();
|
||||
for (int i = 0; i < NumSlots; i++)
|
||||
{
|
||||
|
||||
{
|
||||
const cItem * Item = (*itr)->GetSlot(i, a_Player);
|
||||
if (Item == NULL)
|
||||
{
|
||||
@@ -1017,6 +1016,7 @@ cEnderChestWindow::~cEnderChestWindow()
|
||||
// Send out the chest-close packet:
|
||||
m_World->BroadcastBlockAction(m_BlockX, m_BlockY, m_BlockZ, 1, 0, E_BLOCK_ENDER_CHEST);
|
||||
|
||||
// Play the closing sound
|
||||
m_World->BroadcastSoundEffect("random.chestclosed", m_BlockX * 8, m_BlockY * 8, m_BlockZ * 8, 1, 1);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user