1
0
Commit Graph

52 Commits

Author SHA1 Message Date
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