Last active
September 23, 2015 00:30
-
-
Save byteandahalf/ea0da91cb72a26edbd27 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#pragma once | |
#include <string> | |
#include <map> | |
#include "../../TilePos.h" | |
#include "../../../phys/AABB.h" | |
#include "../../../phys/Vec3.h" | |
#include "TileEntityType.h" | |
class TileSource; | |
class Tile; | |
class CompoundTag; | |
class TileEntity { | |
public: | |
static std::map<std::string, TileEntityType> idClassMap; | |
static std::map<TileEntityType, std::string> classIdMap; | |
static int _runningId; | |
TilePos pos; // 4 | |
AABB bb; // 16 | |
int data; // 44 | |
TileEntityType type; // 48 | |
int runningId; // 52 | |
bool clientSideOnly; // 56 | |
int rendererId; // 60 | |
Tile* tile; // 64 | |
bool removed; // 68 | |
float destroyTime; // 72 | |
Vec3 destroyDirection; // 76 | |
bool changed; // 88 | |
TileEntity(TileEntityType, const TilePos&, const std::string&); | |
virtual ~TileEntity(); | |
virtual void load(CompoundTag*); // loadFromNBT | |
virtual bool save(CompoundTag*); // writeToNBT | |
virtual void tick(TileSource*); // updateEntity | |
virtual bool isFinished(); // isInvalid | |
virtual void onChanged(TileSource*); // onInventoryChanged | |
virtual void* getUpdatePacket(TileSource&); // getDescriptionPacket | |
virtual void onUpdatePacket(CompoundTag*); | |
virtual void onRemoved(); | |
virtual void triggerEvent(int, int); // receiveClientEvent | |
virtual void clearCache(); // updateContainingBlockInfo | |
virtual void onNeighborChanged(TileSource&, int, int, int); | |
virtual float getShadowRadius(TileSource&) const; | |
virtual Entity* getCrackEntity(TileSource&, TilePos const&); | |
void setChanged(); | |
const Vec3& distanceToSqr(const Vec3&); // getDistanceFrom | |
static void initTileEntities(); // static {} | |
static void loadStatic(CompoundTag&); // createAndLoadEntity | |
static void setId(TileEntityType, const std::string&); // func_145826_a | |
}; | |
class TileEntityFactory { | |
public: | |
TileEntity* createTileEntity(TileEntityType, const TilePos&); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment