Tiger Wang
868cd94ee9
Prepare ChunkData for BlockState storage ( #5105 )
...
* Rename ChunkData Creatable test
* Add missing Y-check in RedstoneWireHandler
* Remove ChunkDef.h dependency in Scoreboard
* Prepare ChunkData for BlockState storage
+ Split chunk block, meta, block & sky light storage
+ Load the height map from disk
- Reduce duplicated code in ChunkData
- Remove saving MCSBiomes, there aren't any
- Remove the allocation pool, ref #4315 , #3864
* fixed build
* fixed test
* fixed the debug compile
Co-authored-by: 12xx12 <44411062+12xx12@users.noreply.github.com>
2021-03-05 14:03:55 +01:00
Tiger Wang
68cced73af
BlockHandler initialisation is a constant expression ( #4891 )
...
* BlockHandler initialisation is a constant expression
If we can't make it all namespaces, this is the next best I guess.
+ Tag handlers constexpr, const as needed
+ Inherit constructors
* Privatise handler functions
* More constexpr
Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-20 13:50:52 +00:00
peterbell10
aac592f985
Manage block entity lifetime with unique_ptr ( #4080 )
2020-04-03 23:23:38 +02:00
Mattes D
01b8ed5295
Pulled the BlockID and BlockInfo headers from Globals.h. ( #4591 )
...
The BlockID.h file was removed from Globals.h and renamed to BlockType.h (main change)
The BlockInfo.h file was removed from Globals.h (main change)
The ENUM_BLOCK_ID and ENUM_ITEM_ID enum names were replaced with ENUM_BLOCK_TYPE and ENUM_ITEM_TYPE (cosmetics)
The various enums, such as eDimension, eDamageType and eExplosionSource were moved from BlockType.h to Defines.h, together with the helper functions for converting between them and strings (StringToDimension et al.) (minor)
Many inline functions were moved from headers to their respective cpp files, so that BlockType.h could be included only into the cpp file, rather than the header.
That broke our tests a bit, since they pick bits and pieces out of the main code and provide stubs for the rest; they had to be re-stubbed and re-verified.
eMonsterType values are no longer tied to E_ITEM_SPAWN_EGG_META_* values
2020-04-03 08:57:01 +02:00
Mattes D
221cc4ec5c
Refactored block-to-pickup conversion. ( #4417 )
2019-10-16 10:06:34 +02:00
Mattes D
365cbc6e1c
Refactored more of Entities and BlockEntities to use Vector3. ( #4403 )
2019-09-29 14:59:24 +02:00
peterbell10
211cec621e
cBlockArea: Write all present data types by default ( #4252 )
...
cBlockArea::Write now defaults to use GetDataTypes() instead of assuming all data types are present.
Fixes cuberite/WorldEdit#130
2018-07-19 22:36:46 +01:00
peterbell10
e225b7f826
Replace ItemCallbacks with lambdas ( #3993 )
2017-09-11 23:20:49 +02:00
peterbell10
115bc5609a
cBlockArea: change MakeIndex to return size_t
2017-09-11 23:20:12 +02:00
peterbell10
4a0355f065
cBlockArea: use unique_ptr
2017-09-11 23:20:12 +02:00
LogicParrot
49c443896d
Revert "Replace ItemCallbacks with lambdas ( #3948 )"
...
This reverts commit 496c337cdf
.
2017-09-02 08:50:23 +01:00
peterbell10
496c337cdf
Replace ItemCallbacks with lambdas ( #3948 )
2017-09-01 13:04:50 +02:00
peterbell10
759618b035
Remove double includes part 2 ( #3890 )
2017-08-03 15:34:19 +02:00
Mattes D
64561175ab
BlockArea: Added the GetBounds function.
2017-07-22 19:57:25 +02:00
Mattes D
fe42538349
cBlockArea supports block entities. ( #3795 )
2017-06-24 11:58:06 +02:00
Mattes D
cbff1378fd
Fixed bindings for cBlockArea:Read and Write. ( #3568 )
...
The original bindings accepted nil as the World param, causing a crash.
2017-02-05 16:00:38 +01:00
LogicParrot
ca6ef58b1e
Bulk clearing of whitespace
2016-02-05 23:50:18 +02:00
Mattes D
db863422b8
cBlockArea: Added CountSpecificBlocks() API function.
2015-06-08 21:52:13 +02:00
tycho
dae9e5792a
Made -Weverything an error.
2015-05-24 12:56:56 +01:00
Mattes D
a3c4b7580b
Added cBlockArea:CountNonAirBlocks API function.
2015-04-30 23:16:33 +02:00
Mattes D
ca90f6d280
Added cBlockArea::msSimpleCompare merge strategy.
2015-04-29 15:45:48 +02:00
Mattes D
fc95501f68
Added cBlockArea:GetNonAirCropRelCoords() API function.
...
Fixes #1915 .
2015-04-29 15:14:22 +02:00
Tiger Wang
a26541a7c3
En masse NULL -> nullptr replace
2014-10-22 20:12:49 -07:00
Steven Riehl
856764dee8
convert old style casts to fix warnings
2014-10-11 20:39:55 -06:00
Mattes D
271c8c0d32
More template keyword fixes.
2014-08-28 16:58:48 +03:00
madmaxoft
993fd14ddf
Fixed basic whitespace problems.
...
Indenting by spaces and alignment by spaces, as well as trailing whitespace on non-empty lines.
2014-07-17 16:33:09 +02:00
Tycho
024027db89
Renamed cChunkBuffer to cChunkData
2014-05-21 19:58:48 +01:00
Tycho
cdd3d11496
Fixed minor style issues
2014-05-21 18:33:54 +01:00
Tycho
8a0d3f7921
Fixed issue with types not being defined for an unused parameter
2014-05-18 15:37:17 +01:00
Tycho
ec407dd27d
Merge branch 'master' into chunksparsing/structs
...
Conflicts:
src/Chunk.cpp
2014-05-03 06:07:56 -07:00
madmaxoft
e175ae551c
Fixed warning in cBlockArea.
2014-05-01 22:41:18 +02:00
Tycho
8780b324ff
Merge branch 'master' into chunksparsing/structs
2014-05-01 11:50:40 -07:00
Tycho
a42480cf82
Template Magic
...
Removed need to allocate a fake meta block by using templates to provide a version
of the code that does not use metas. Also changed the function to a template
argument to make sure that the compilier is able to inline it.
2014-04-28 10:31:07 -07:00
Tycho
e40f9d6e5b
Implemented Chunk Sparsing with segments
2014-04-26 10:50:23 -07:00
madmaxoft
e7e65b5005
Merged branch 'msDifference'.
2014-04-01 21:21:11 +02:00
madmaxoft
1229795ff0
cBlockArea: Added the msMask merge strategy.
2014-04-01 20:50:10 +02:00
STRWarrior
c4e07631c8
Added new merge strategy "msDifference"
2014-03-31 19:47:18 +02:00
madmaxoft
8557549cfa
Implemented the msSpongePrint merge strategy.
...
Similar to msImprint, but allows prefabs to carve out air pockets, too. The sponge block is used as the NOP block.
2014-03-28 18:03:37 +01:00
madmaxoft
87de596078
BlockArea: Create() can take the size as Vector3i, too.
2014-03-25 22:05:45 +01:00
madmaxoft
87e0bd54b4
BlockArea: Switched internal coords to Vector3i.
2014-03-25 21:59:41 +01:00
madmaxoft
f2df33f746
Merge remote-tracking branch 'xdot/master'
2014-03-12 14:42:04 +01:00
andrew
b4bf13aa4f
Unified Vector classes
2014-03-11 16:02:25 +02:00
madmaxoft
950614da7e
Renamed cBlockArea Offset to WEOffset.
...
Even in getters / setters.
2014-03-12 07:46:14 +01:00
STRWarrior
e213e5f9fc
Renamed m_Offset to m_WEOffset
2014-03-11 18:23:21 +01:00
STRWarrior
541175d8a0
Using ``const Vector3i &
``
2014-03-11 14:44:21 +01:00
STRWarrior
0cce0478d8
This allows a blockarea to have an Offset.
2014-03-10 17:07:46 +01:00
madmaxoft
9ab766189d
Added useful parameter overloads to cBlockArea Lua API.
2014-02-24 23:17:12 +01:00
madmaxoft
ea84f8cf89
Added cBlockArea::GetVolume, exported to Lua API.
2014-02-23 14:08:05 +01:00
madmaxoft
a3fa52ec73
Fixed bindings for cBlockArea:Get(Rel)BlockTypeMeta().
...
They no longer require the ghost output params.
2014-02-20 11:06:14 +01:00
Tycho
4f09e8df6e
Moved Schematic file methods to seperate class
2014-01-20 09:59:12 -08:00