BlockArea: Added the GetBounds function.
This commit is contained in:
parent
51c6606fd4
commit
64561175ab
@ -638,17 +638,30 @@ return
|
|||||||
Returns =
|
Returns =
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
Name = "BLOCKTYPE",
|
Name = "BlockType",
|
||||||
Type = "number",
|
Type = "number",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Name = "NIBBLETYPE",
|
Name = "BlockMeta",
|
||||||
Type = "number",
|
Type = "number",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Notes = "Returns the block type and meta at the specified absolute coords",
|
Notes = "Returns the block type and meta at the specified absolute coords",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
GetBounds =
|
||||||
|
{
|
||||||
|
Params = {},
|
||||||
|
Returns =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
Name = "Bounds",
|
||||||
|
Type = "cCuboid",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
Notes = "Returns the {{cCuboid|cuboid}} that specifies the original coords of the world from which the area was read. Basically constructs a {{cCuboid}} out of GetOrigin() and GetOrigin() + GetCoordRange().",
|
||||||
|
},
|
||||||
|
|
||||||
GetCoordRange =
|
GetCoordRange =
|
||||||
{
|
{
|
||||||
Returns =
|
Returns =
|
||||||
|
@ -1952,6 +1952,18 @@ void cBlockArea::GetRelBlockTypeMeta(int a_RelX, int a_RelY, int a_RelZ, BLOCKTY
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
cCuboid cBlockArea::GetBounds(void) const
|
||||||
|
{
|
||||||
|
return cCuboid(
|
||||||
|
m_Origin.x, m_Origin.y, m_Origin.z,
|
||||||
|
m_Origin.x + m_Size.x - 1, m_Origin.y + m_Size.y - 1, m_Origin.z + m_Size.z - 1
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
size_t cBlockArea::CountNonAirBlocks(void) const
|
size_t cBlockArea::CountNonAirBlocks(void) const
|
||||||
{
|
{
|
||||||
// Check if blocktypes are valid:
|
// Check if blocktypes are valid:
|
||||||
|
@ -119,10 +119,12 @@ public:
|
|||||||
// TODO: Write() is not too good an interface: if it fails, there's no way to repeat only for the parts that didn't write
|
// TODO: Write() is not too good an interface: if it fails, there's no way to repeat only for the parts that didn't write
|
||||||
// A better way may be to return a list of cBlockAreas for each part that didn't succeed writing, so that the caller may try again
|
// A better way may be to return a list of cBlockAreas for each part that didn't succeed writing, so that the caller may try again
|
||||||
|
|
||||||
/** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if only partially / not at all. */
|
/** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if only partially / not at all.
|
||||||
|
Doesn't wake up the simulators. */
|
||||||
bool Write(cForEachChunkProvider & a_ForEachChunkProvider, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes = baTypes | baMetas | baBlockEntities);
|
bool Write(cForEachChunkProvider & a_ForEachChunkProvider, int a_MinBlockX, int a_MinBlockY, int a_MinBlockZ, int a_DataTypes = baTypes | baMetas | baBlockEntities);
|
||||||
|
|
||||||
/** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if only partially / not at all. */
|
/** Writes the area back into cWorld at the coords specified. Returns true if successful in all chunks, false if only partially / not at all.
|
||||||
|
Doesn't wake up the simulators. */
|
||||||
bool Write(cForEachChunkProvider & a_ForEachChunkProvider, const Vector3i & a_MinCoords, int a_DataTypes = baTypes | baMetas | baBlockEntities);
|
bool Write(cForEachChunkProvider & a_ForEachChunkProvider, const Vector3i & a_MinCoords, int a_DataTypes = baTypes | baMetas | baBlockEntities);
|
||||||
|
|
||||||
// tolua_begin
|
// tolua_begin
|
||||||
@ -321,6 +323,8 @@ public:
|
|||||||
|
|
||||||
// tolua_begin
|
// tolua_begin
|
||||||
|
|
||||||
|
cCuboid GetBounds(void) const;
|
||||||
|
|
||||||
int GetSizeX(void) const { return m_Size.x; }
|
int GetSizeX(void) const { return m_Size.x; }
|
||||||
int GetSizeY(void) const { return m_Size.y; }
|
int GetSizeY(void) const { return m_Size.y; }
|
||||||
int GetSizeZ(void) const { return m_Size.z; }
|
int GetSizeZ(void) const { return m_Size.z; }
|
||||||
|
Loading…
Reference in New Issue
Block a user