the whole game

This commit is contained in:
Kolyah35
2026-03-02 22:04:18 +03:00
parent 816e9060b4
commit f0617a5d22
2069 changed files with 581500 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
#include "FurnaceMenu.h"
#include "../entity/player/Player.h"
#include "../item/ItemInstance.h"
#include "../level/tile/entity/FurnaceTileEntity.h"
FurnaceMenu::FurnaceMenu( FurnaceTileEntity* furnace )
: super(ContainerType::FURNACE),
furnace(furnace),
lastTickCount(0),
lastLitTime(0),
lastLitDuration(0)
{
furnaceTileEntityId = furnace->runningId;
}
void FurnaceMenu::setSlot( int slot, ItemInstance* item )
{
furnace->setItem(slot, item);
}
void FurnaceMenu::setData( int id, int value )
{
if (id == 0) furnace->tickCount = value;
if (id == 1) furnace->litTime = value;
if (id == 2) furnace->litDuration = value;
}
std::vector<ItemInstance> FurnaceMenu::getItems()
{
std::vector<ItemInstance> out;
for (int i = 0; i < furnace->getContainerSize(); ++i)
out.push_back(*furnace->getItem(i));
return out;
}
void FurnaceMenu::broadcastChanges()
{
super::broadcastChanges();
if (!listener)
return;
//LOGI("broadcast: Derived: data: %d, %d : %d, %d\n", furnace->tickCount, lastTickCount, furnace->litTime, lastLitTime);
if (furnace->tickCount != lastTickCount) {
listener->setContainerData(this, 0, furnace->tickCount);
lastTickCount = furnace->tickCount;
}
if (furnace->litTime != lastLitTime) {
listener->setContainerData(this, 1, furnace->litTime);
lastLitTime = furnace->litTime;
}
if (furnace->litDuration != lastLitDuration) {
listener->setContainerData(this, 2, furnace->litDuration);
lastLitDuration = furnace->litDuration;
}
}
void FurnaceMenu::setListener( IContainerListener* listener )
{
super::setListener(listener);
if (listener) {
listener->setContainerData(this, 0, furnace->tickCount);
listener->setContainerData(this, 1, furnace->litTime);
listener->setContainerData(this, 2, furnace->litDuration);
}
}
bool FurnaceMenu::tileEntityDestroyedIsInvalid( int tileEntityId )
{
return (tileEntityId == furnaceTileEntityId);
}