This is one of the first commits in a plan to remove all `using namespace std;` lines in the entire codebase as it is considered anti-pattern today.
60 lines
1.0 KiB
C++
60 lines
1.0 KiB
C++
#pragma once
|
|
using namespace std;
|
|
|
|
#include "TileEntity.h"
|
|
|
|
class Packet;
|
|
class Entity;
|
|
|
|
class MobSpawnerTileEntity : public TileEntity
|
|
{
|
|
public:
|
|
eINSTANCEOF GetType() { return eTYPE_MOBSPAWNERTILEENTITY; }
|
|
static TileEntity *create() { return new MobSpawnerTileEntity(); }
|
|
|
|
using TileEntity::setChanged;
|
|
|
|
private:
|
|
static const int MAX_DIST;
|
|
|
|
public:
|
|
int spawnDelay;
|
|
|
|
private:
|
|
wstring entityId;
|
|
CompoundTag *spawnData;
|
|
|
|
bool m_bEntityIdUpdated; // 4J Added
|
|
|
|
public:
|
|
double spin, oSpin;
|
|
|
|
private:
|
|
int minSpawnDelay;
|
|
int maxSpawnDelay;
|
|
int spawnCount;
|
|
std::shared_ptr<Entity> displayEntity;
|
|
|
|
public:
|
|
MobSpawnerTileEntity();
|
|
|
|
wstring getEntityId();
|
|
void setEntityId(const wstring& entityId);
|
|
bool isNearPlayer();
|
|
virtual void tick();
|
|
void fillExtraData(std::shared_ptr<Entity> entity);
|
|
|
|
private:
|
|
void delay();
|
|
|
|
public:
|
|
virtual void load(CompoundTag *tag);
|
|
virtual void save(CompoundTag *tag);
|
|
|
|
std::shared_ptr<Entity> getDisplayEntity();
|
|
virtual std::shared_ptr<Packet> getUpdatePacket();
|
|
|
|
// 4J Added
|
|
virtual std::shared_ptr<TileEntity> clone();
|
|
};
|