4jcraft/Minecraft.World/Entities/MinecartSpawner.h
2026-03-21 16:29:02 -05:00

43 lines
1.1 KiB
C++

#pragma once
#include "Mobs/Minecart.h"
#include "../Level/BaseMobSpawner.h"
class MinecartSpawner : public Minecart {
public:
eINSTANCEOF GetType() { return eTYPE_MINECART_SPAWNER; };
static Entity* create(Level* level) { return new MinecartSpawner(level); }
private:
BaseMobSpawner* spawner;
class MinecartMobSpawner : public BaseMobSpawner {
private:
MinecartSpawner* m_parent;
public:
MinecartMobSpawner(MinecartSpawner* parent);
void broadcastEvent(int id);
Level* getLevel();
int getX();
int getY();
int getZ();
};
public:
MinecartSpawner(Level* level);
MinecartSpawner(Level* level, double x, double y, double z);
virtual ~MinecartSpawner();
virtual int getType();
virtual Tile* getDefaultDisplayTile();
protected:
virtual void readAdditionalSaveData(CompoundTag* tag);
virtual void addAdditonalSaveData(CompoundTag* tag);
public:
virtual void handleEntityEvent(uint8_t eventId);
virtual void tick();
virtual BaseMobSpawner* getSpawner();
};