mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/4jcraft.git
synced 2026-07-17 18:38:13 +00:00
refactor: unglob std::shared_ptr
This commit is contained in:
@@ -30,18 +30,18 @@ unsigned int DispenserTileEntity::getContainerSize()
|
||||
return 9;
|
||||
}
|
||||
|
||||
shared_ptr<ItemInstance> DispenserTileEntity::getItem(unsigned int slot)
|
||||
std::shared_ptr<ItemInstance> DispenserTileEntity::getItem(unsigned int slot)
|
||||
{
|
||||
return items->data[slot];
|
||||
}
|
||||
|
||||
shared_ptr<ItemInstance> DispenserTileEntity::removeItem(unsigned int slot, int count)
|
||||
std::shared_ptr<ItemInstance> DispenserTileEntity::removeItem(unsigned int slot, int count)
|
||||
{
|
||||
if (items->data[slot] != NULL)
|
||||
{
|
||||
if (items->data[slot]->count <= count)
|
||||
{
|
||||
shared_ptr<ItemInstance> item = items->data[slot];
|
||||
std::shared_ptr<ItemInstance> item = items->data[slot];
|
||||
items->data[slot] = nullptr;
|
||||
this->setChanged();
|
||||
// 4J Stu - Fix for duplication glitch
|
||||
@@ -50,7 +50,7 @@ shared_ptr<ItemInstance> DispenserTileEntity::removeItem(unsigned int slot, int
|
||||
}
|
||||
else
|
||||
{
|
||||
shared_ptr<ItemInstance> i = items->data[slot]->remove(count);
|
||||
std::shared_ptr<ItemInstance> i = items->data[slot]->remove(count);
|
||||
if (items->data[slot]->count == 0) items->data[slot] = nullptr;
|
||||
this->setChanged();
|
||||
// 4J Stu - Fix for duplication glitch
|
||||
@@ -61,11 +61,11 @@ shared_ptr<ItemInstance> DispenserTileEntity::removeItem(unsigned int slot, int
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
shared_ptr<ItemInstance> DispenserTileEntity::removeItemNoUpdate(int slot)
|
||||
std::shared_ptr<ItemInstance> DispenserTileEntity::removeItemNoUpdate(int slot)
|
||||
{
|
||||
if (items->data[slot] != NULL)
|
||||
{
|
||||
shared_ptr<ItemInstance> item = items->data[slot];
|
||||
std::shared_ptr<ItemInstance> item = items->data[slot];
|
||||
items->data[slot] = nullptr;
|
||||
return item;
|
||||
}
|
||||
@@ -73,7 +73,7 @@ shared_ptr<ItemInstance> DispenserTileEntity::removeItemNoUpdate(int slot)
|
||||
}
|
||||
|
||||
// 4J-PB added for spawn eggs not being useable due to limits, so add them in again
|
||||
void DispenserTileEntity::AddItemBack(shared_ptr<ItemInstance>item, unsigned int slot)
|
||||
void DispenserTileEntity::AddItemBack(std::shared_ptr<ItemInstance>item, unsigned int slot)
|
||||
{
|
||||
if (items->data[slot] != NULL)
|
||||
{
|
||||
@@ -103,7 +103,7 @@ bool DispenserTileEntity::removeProjectile(int itemId)
|
||||
{
|
||||
if (items->data[i] != NULL && items->data[i]->id == itemId)
|
||||
{
|
||||
shared_ptr<ItemInstance> removedItem = removeItem(i, 1);
|
||||
std::shared_ptr<ItemInstance> removedItem = removeItem(i, 1);
|
||||
return removedItem != NULL;
|
||||
}
|
||||
}
|
||||
@@ -125,14 +125,14 @@ int DispenserTileEntity::getRandomSlot()
|
||||
return replaceSlot;
|
||||
}
|
||||
|
||||
void DispenserTileEntity::setItem(unsigned int slot, shared_ptr<ItemInstance> item)
|
||||
void DispenserTileEntity::setItem(unsigned int slot, std::shared_ptr<ItemInstance> item)
|
||||
{
|
||||
items->data[slot] = item;
|
||||
if (item != NULL && item->count > getMaxStackSize()) item->count = getMaxStackSize();
|
||||
this->setChanged();
|
||||
}
|
||||
|
||||
int DispenserTileEntity::addItem(shared_ptr<ItemInstance> item)
|
||||
int DispenserTileEntity::addItem(std::shared_ptr<ItemInstance> item)
|
||||
{
|
||||
for (int i = 0; i < items->length; i++)
|
||||
{
|
||||
@@ -187,7 +187,7 @@ int DispenserTileEntity::getMaxStackSize()
|
||||
return Container::LARGE_MAX_STACK_SIZE;
|
||||
}
|
||||
|
||||
bool DispenserTileEntity::stillValid(shared_ptr<Player> player)
|
||||
bool DispenserTileEntity::stillValid(std::shared_ptr<Player> player)
|
||||
{
|
||||
if (level->getTileEntity(x, y, z) != shared_from_this() ) return false;
|
||||
if (player->distanceToSqr(x + 0.5, y + 0.5, z + 0.5) > 8 * 8) return false;
|
||||
@@ -208,9 +208,9 @@ void DispenserTileEntity::stopOpen()
|
||||
}
|
||||
|
||||
// 4J Added
|
||||
shared_ptr<TileEntity> DispenserTileEntity::clone()
|
||||
std::shared_ptr<TileEntity> DispenserTileEntity::clone()
|
||||
{
|
||||
shared_ptr<DispenserTileEntity> result = shared_ptr<DispenserTileEntity>( new DispenserTileEntity() );
|
||||
std::shared_ptr<DispenserTileEntity> result = std::shared_ptr<DispenserTileEntity>( new DispenserTileEntity() );
|
||||
TileEntity::clone(result);
|
||||
|
||||
for (unsigned int i = 0; i < items->length; i++)
|
||||
|
||||
Reference in New Issue
Block a user