first commit
This commit is contained in:
117
Minecraft.World/Painting.h
Normal file
117
Minecraft.World/Painting.h
Normal file
@@ -0,0 +1,117 @@
|
||||
#pragma once
|
||||
using namespace std;
|
||||
|
||||
#include "Entity.h"
|
||||
#include "HangingEntity.h"
|
||||
|
||||
class Level;
|
||||
class CompoundTag;
|
||||
class DamageSource;
|
||||
|
||||
class Painting : public HangingEntity
|
||||
{
|
||||
|
||||
public:
|
||||
eINSTANCEOF GetType() { return eTYPE_PAINTING; }
|
||||
static Entity *create(Level *level) { return new Painting(level); }
|
||||
|
||||
private:
|
||||
//int checkInterval;
|
||||
|
||||
public:
|
||||
enum MotiveEnum {
|
||||
Kebab = 0, //
|
||||
Aztec, //
|
||||
Alban, //
|
||||
Aztec2, //
|
||||
Bomb, //
|
||||
Plant, //
|
||||
Wasteland, //
|
||||
|
||||
Pool, //
|
||||
Courbet, //
|
||||
Sea, //
|
||||
Sunset, //
|
||||
Creebet, //
|
||||
|
||||
Wanderer, //
|
||||
Graham, //
|
||||
|
||||
Match, //
|
||||
Bust, //
|
||||
Stage, //
|
||||
Void, //
|
||||
SkullAndRoses, //
|
||||
Wither,
|
||||
Fighters, //
|
||||
|
||||
Pointer, //
|
||||
Pigscene, //
|
||||
BurningSkull, //
|
||||
|
||||
Skeleton, //
|
||||
DonkeyKong, //
|
||||
|
||||
LAST_VALUE
|
||||
};
|
||||
|
||||
// TODO 4J Replace the ENUM with static consts
|
||||
class Motive
|
||||
{
|
||||
public:
|
||||
static const Motive *values[];
|
||||
|
||||
static const int MAX_MOTIVE_NAME_LENGTH;
|
||||
|
||||
const wstring name;
|
||||
const int w, h;
|
||||
const int uo, vo;
|
||||
|
||||
//private:
|
||||
Motive(wstring name, int w, int h, int uo, int vo) : name( name ), w( w ), h( h ), uo( uo ), vo( vo ) {};
|
||||
};
|
||||
|
||||
public:
|
||||
// int dir;
|
||||
//
|
||||
// int xTile, yTile, zTile;
|
||||
|
||||
Motive *motive;
|
||||
|
||||
private:
|
||||
// 4J - added for common ctor code
|
||||
void _init( Level *level );
|
||||
|
||||
public:
|
||||
Painting(Level *level);
|
||||
Painting(Level *level, int xTile, int yTile, int zTile, int dir);
|
||||
Painting(Level *level, int x, int y, int z, int dir, wstring motiveName);
|
||||
|
||||
// 4J Stu - Added this so that we can use some shared_ptr functions that were needed in the ctor
|
||||
void PaintingPostConstructor(int dir);
|
||||
|
||||
protected:
|
||||
//void defineSynchedData();
|
||||
|
||||
public:
|
||||
//void setDir(int dir);
|
||||
|
||||
private:
|
||||
//float offs(int w);
|
||||
|
||||
public:
|
||||
//virtual void tick();
|
||||
//bool survives();
|
||||
//virtual bool isPickable();
|
||||
//virtual bool hurt(DamageSource *source, int damage);
|
||||
virtual void addAdditonalSaveData(CompoundTag *tag);
|
||||
virtual void readAdditionalSaveData(CompoundTag *tag);
|
||||
//static Motive *randomMotive();
|
||||
|
||||
//virtual void move(double xa, double ya, double za, bool noEntityCubes=false); // 4J - added noEntityCubes parameter
|
||||
//virtual void push(double xa, double ya, double za);
|
||||
|
||||
virtual int getWidth();
|
||||
virtual int getHeight();
|
||||
virtual void dropItem();
|
||||
};
|
||||
Reference in New Issue
Block a user