This code was not tested and breaks in Release builds, reverting to restore
functionality of the nightly. All in-game menus do not work and generating
a world crashes.
This reverts commit a9be52c41a.
64 lines
1.3 KiB
C++
64 lines
1.3 KiB
C++
#include "stdafx.h"
|
|
#include "net.minecraft.world.item.trading.h"
|
|
#include "net.minecraft.world.inventory.h"
|
|
#include "ClientSideMerchant.h"
|
|
|
|
ClientSideMerchant::ClientSideMerchant(shared_ptr<Player> source, const wstring &name)
|
|
{
|
|
this->source = source;
|
|
// 4J Stu - Need to do this after creating as a shared_ptr
|
|
container = NULL; //new MerchantContainer(source, this);
|
|
currentOffers = NULL;
|
|
m_name = name;
|
|
}
|
|
|
|
ClientSideMerchant::~ClientSideMerchant()
|
|
{
|
|
delete container;
|
|
delete currentOffers;
|
|
}
|
|
|
|
void ClientSideMerchant::createContainer()
|
|
{
|
|
container = new MerchantContainer(source, shared_from_this());
|
|
}
|
|
|
|
Container *ClientSideMerchant::getContainer()
|
|
{
|
|
return container;
|
|
}
|
|
|
|
shared_ptr<Player> ClientSideMerchant::getTradingPlayer()
|
|
{
|
|
return source;
|
|
}
|
|
|
|
void ClientSideMerchant::setTradingPlayer(shared_ptr<Player> player)
|
|
{
|
|
|
|
}
|
|
|
|
MerchantRecipeList *ClientSideMerchant::getOffers(shared_ptr<Player> forPlayer)
|
|
{
|
|
return currentOffers;
|
|
}
|
|
|
|
void ClientSideMerchant::overrideOffers(MerchantRecipeList *recipeList)
|
|
{
|
|
delete currentOffers;
|
|
currentOffers = recipeList;
|
|
}
|
|
|
|
void ClientSideMerchant::notifyTrade(MerchantRecipe *activeRecipe)
|
|
{
|
|
activeRecipe->increaseUses();
|
|
}
|
|
|
|
void ClientSideMerchant::notifyTradeUpdated(shared_ptr<ItemInstance> item)
|
|
{
|
|
}
|
|
|
|
wstring ClientSideMerchant::getDisplayName()
|
|
{
|
|
return m_name;
|
|
} |