42 lines
853 B
C
42 lines
853 B
C
|
|
#pragma once
|
||
|
|
|
||
|
|
#include "Entity.h"
|
||
|
|
|
||
|
|
class EnderCrystal : public Entity
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
eINSTANCEOF GetType() { return eTYPE_ENDER_CRYSTAL; };
|
||
|
|
static Entity *create(Level *level) { return new EnderCrystal(level); }
|
||
|
|
private:
|
||
|
|
static const int MAX_LIFE = 5;
|
||
|
|
|
||
|
|
public:
|
||
|
|
static const int serialVersionUID = 0;
|
||
|
|
int time;
|
||
|
|
int life;
|
||
|
|
|
||
|
|
private:
|
||
|
|
static const int DATA_REMAINING_LIFE = 8;
|
||
|
|
|
||
|
|
void _init(Level *level);
|
||
|
|
|
||
|
|
public:
|
||
|
|
EnderCrystal(Level *level);
|
||
|
|
EnderCrystal(Level *level, double x, double y, double z);
|
||
|
|
|
||
|
|
protected:
|
||
|
|
virtual bool makeStepSound();
|
||
|
|
virtual void defineSynchedData();
|
||
|
|
|
||
|
|
public:
|
||
|
|
void tick();
|
||
|
|
|
||
|
|
protected:
|
||
|
|
virtual void addAdditonalSaveData(CompoundTag *tag);
|
||
|
|
virtual void readAdditionalSaveData(CompoundTag *tag);
|
||
|
|
|
||
|
|
public:
|
||
|
|
virtual float getShadowHeightOffs();
|
||
|
|
virtual bool isPickable();
|
||
|
|
virtual bool hurt(DamageSource *source, int damage);
|
||
|
|
};
|