43 lines
1.1 KiB
C
43 lines
1.1 KiB
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "Minecart.h"
|
||
|
|
|
||
|
|
class MinecartTNT : public Minecart
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
eINSTANCEOF GetType() { return eTYPE_MINECART_TNT; };
|
||
|
|
static Entity *create(Level *level) { return new MinecartTNT(level); }
|
||
|
|
|
||
|
|
private:
|
||
|
|
static const byte EVENT_PRIME = 10;
|
||
|
|
|
||
|
|
int fuse;
|
||
|
|
|
||
|
|
void _init();
|
||
|
|
|
||
|
|
public:
|
||
|
|
MinecartTNT(Level *level);
|
||
|
|
MinecartTNT(Level *level, double x, double y, double z);
|
||
|
|
|
||
|
|
virtual int getType();
|
||
|
|
virtual Tile *getDefaultDisplayTile();
|
||
|
|
virtual void tick();
|
||
|
|
virtual void destroy(DamageSource *source);
|
||
|
|
|
||
|
|
protected:
|
||
|
|
virtual void explode(double speedSqr);
|
||
|
|
virtual void causeFallDamage(float distance);
|
||
|
|
|
||
|
|
public:
|
||
|
|
virtual void activateMinecart(int xt, int yt, int zt, bool state);
|
||
|
|
virtual void handleEntityEvent(byte eventId);
|
||
|
|
virtual void primeFuse();
|
||
|
|
virtual int getFuse();
|
||
|
|
virtual bool isPrimed();
|
||
|
|
virtual float getTileExplosionResistance(Explosion *explosion, Level *level, int x, int y, int z, Tile *tile);
|
||
|
|
virtual bool shouldTileExplode(Explosion *explosion, Level *level, int x, int y, int z, int id, float power);
|
||
|
|
|
||
|
|
protected:
|
||
|
|
virtual void readAdditionalSaveData(CompoundTag *tag);
|
||
|
|
virtual void addAdditonalSaveData(CompoundTag *tag);
|
||
|
|
};
|