mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 05:13:37 +00:00
46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
#pragma once
|
|
class StructurePiece;
|
|
class BoundingBox;
|
|
|
|
#include "../StructureFeatureIO.h"
|
|
|
|
class StructureStart {
|
|
public:
|
|
std::list<StructurePiece*> pieces;
|
|
|
|
protected:
|
|
BoundingBox* boundingBox;
|
|
|
|
private:
|
|
int chunkX, chunkZ;
|
|
|
|
public:
|
|
StructureStart();
|
|
StructureStart(int x, int z);
|
|
virtual ~StructureStart();
|
|
BoundingBox* getBoundingBox();
|
|
std::list<StructurePiece*>* getPieces();
|
|
void postProcess(Level* level, Random* random, BoundingBox* chunkBB);
|
|
|
|
protected:
|
|
void calculateBoundingBox();
|
|
|
|
public:
|
|
virtual CompoundTag* createTag(int chunkX, int chunkZ);
|
|
virtual void addAdditonalSaveData(CompoundTag* tag);
|
|
virtual void load(Level* level, CompoundTag* tag);
|
|
virtual void readAdditonalSaveData(CompoundTag* tag);
|
|
|
|
protected:
|
|
void moveBelowSeaLevel(Level* level, Random* random, int offset);
|
|
void moveInsideHeights(Level* level, Random* random, int lowestAllowed,
|
|
int highestAllowed);
|
|
|
|
public:
|
|
bool isValid();
|
|
int getChunkX();
|
|
int getChunkZ();
|
|
|
|
virtual EStructureStart GetType() = 0;
|
|
};
|