mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-03-22 12:38:12 +05:00
Port over RCE Patches from LCEMP (#1023)
* LCEMP RCE Fixes WIP
Based on d017bfc30a
* Update to LCEMP's ByteArrayIO version
Fixes compilation since ours was missing some revisions from LCEMP
* Add additional safety checks missed in first pass
* Remove duplicate recipe count check
This commit is contained in:
@@ -157,6 +157,9 @@ shared_ptr<ItemInstance> AbstractContainerMenu::clicked(int slotIndex, int butto
|
||||
shared_ptr<ItemInstance> clickedEntity = nullptr;
|
||||
shared_ptr<Inventory> inventory = player->inventory;
|
||||
|
||||
if (slotIndex < 0 || slotIndex >= (int)slots.size())
|
||||
return nullptr;
|
||||
|
||||
if (clickType == CLICK_QUICK_CRAFT)
|
||||
{
|
||||
int expectedStatus = quickcraftStatus;
|
||||
@@ -558,12 +561,13 @@ bool AbstractContainerMenu::isPauseScreen()
|
||||
|
||||
void AbstractContainerMenu::setItem(unsigned int slot, shared_ptr<ItemInstance> item)
|
||||
{
|
||||
if (slot >= slots.size()) return;
|
||||
getSlot(slot)->set(item);
|
||||
}
|
||||
|
||||
void AbstractContainerMenu::setAll(ItemInstanceArray *items)
|
||||
{
|
||||
for (unsigned int i = 0; i < items->length; i++)
|
||||
for (unsigned int i = 0; i < items->length && i < slots.size(); i++)
|
||||
{
|
||||
getSlot(i)->set( (*items)[i] );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user