aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/MobSpawnerTileEntity.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/MobSpawnerTileEntity.h')
-rw-r--r--Minecraft.World/MobSpawnerTileEntity.h50
1 files changed, 20 insertions, 30 deletions
diff --git a/Minecraft.World/MobSpawnerTileEntity.h b/Minecraft.World/MobSpawnerTileEntity.h
index 9cfb9f2f..b649702b 100644
--- a/Minecraft.World/MobSpawnerTileEntity.h
+++ b/Minecraft.World/MobSpawnerTileEntity.h
@@ -2,6 +2,7 @@
using namespace std;
#include "TileEntity.h"
+#include "BaseMobSpawner.h"
class Packet;
class Entity;
@@ -12,48 +13,37 @@ public:
eINSTANCEOF GetType() { return eTYPE_MOBSPAWNERTILEENTITY; }
static TileEntity *create() { return new MobSpawnerTileEntity(); }
-using TileEntity::setChanged;
-
private:
- static const int MAX_DIST;
+ class TileEntityMobSpawner : public BaseMobSpawner
+ {
+ private:
+ MobSpawnerTileEntity *m_parent;
-public:
- int spawnDelay;
+ public:
+ TileEntityMobSpawner(MobSpawnerTileEntity *parent);
-private:
- wstring entityId;
- CompoundTag *spawnData;
+ void broadcastEvent(int id);
+ Level *getLevel();
+ int getX();
+ int getY();
+ int getZ();
+ void setNextSpawnData(BaseMobSpawner::SpawnData *nextSpawnData);
+ };
- bool m_bEntityIdUpdated; // 4J Added
+ BaseMobSpawner *spawner;
public:
- double spin, oSpin;
-
-private:
- int minSpawnDelay;
- int maxSpawnDelay;
- int spawnCount;
- shared_ptr<Entity> displayEntity;
-
-public:
MobSpawnerTileEntity();
+ ~MobSpawnerTileEntity();
- wstring getEntityId();
- void setEntityId(const wstring& entityId);
- bool isNearPlayer();
- virtual void tick();
- void fillExtraData(shared_ptr<Entity> entity);
-
-private:
- void delay();
-
-public:
virtual void load(CompoundTag *tag);
virtual void save(CompoundTag *tag);
-
- shared_ptr<Entity> getDisplayEntity();
+ virtual void tick();
virtual shared_ptr<Packet> getUpdatePacket();
+ virtual bool triggerEvent(int b0, int b1);
+ virtual BaseMobSpawner *getSpawner();
// 4J Added
virtual shared_ptr<TileEntity> clone();
+ void setEntityId(const wstring &id);
};