28 Commits

Author SHA1 Message Date
Dylan K. Taylor
ae6a7b7cc9 imports cleanup 2020-05-16 18:42:08 +01:00
Dylan K. Taylor
88715c7055 extracted a HeightArray type from Chunk 2020-05-16 18:41:27 +01:00
Dylan K. Taylor
82d361d75f extract a BiomeArray unit from Chunk
this now also properly validates data read from disk.
2020-05-16 17:36:22 +01:00
Dylan K. Taylor
ac5cf2443e convert TileFactory to singleton 2020-04-26 01:11:30 +01:00
Dylan K. Taylor
7d9df6af6f Convert EntityFactory to singleton 2020-04-24 22:43:02 +01:00
Dylan K. Taylor
accc0da0cb Chunk no longer depends on BlockFactory
really this light population crap shouldn't be in the chunk to begin with, but that's a bit more complicated.
2020-04-23 21:31:28 +01:00
Dylan K. Taylor
ca909ebc1d Merge branch 'next-minor' 2020-03-10 13:05:37 +00:00
Dylan K. Taylor
995309424e updated pocketmine/nbt dependency
this is going to need work on exception handling, but right now it's so inconsistent that it doesn't matter anyway.
2020-03-04 17:53:37 +00:00
Dylan K. Taylor
9b6fa8c25b Merge branch 'stable' 2020-02-11 19:12:39 +00:00
Dylan K. Taylor
aac7da6c96 eliminate remaining empty() usages 2020-02-07 21:51:50 +00:00
Dylan K. Taylor
fb1126797a Merge branch 'stable' 2020-02-07 18:13:55 +00:00
Dylan K. Taylor
9492325eef Merge branch 'stable' 2020-01-29 20:01:30 +00:00
Dylan K. Taylor
67bcc1c0fb phpdoc armageddon for master, pass 1 2020-01-22 11:55:03 +00:00
Dylan K. Taylor
705228f427 Chunk: remove useless field defaults 2019-12-08 11:08:07 +00:00
Dylan K. Taylor
6b21f160bd Chunk: fix type docs for NBTentities and NBTtiles 2019-12-08 11:07:14 +00:00
Dylan K. Taylor
af6cb605c5 Chunk: fix data loss caused by d3d7709ead3203c189f2ac3b79224b3e5e2bf902 2019-12-08 11:02:40 +00:00
Dylan K. Taylor
d3d7709ead Merge branch 'next-minor' 2019-12-03 11:55:45 +00:00
Dylan K. Taylor
eedc9eaee1 Chunk: move protocol-specific getSubChunkSendCount() to network chunk serializer 2019-10-23 18:34:47 +01:00
Dylan K. Taylor
23e2e7c320 Chunk: remove useless instanceof check from collectGarbage() 2019-10-23 18:29:01 +01:00
Dylan K. Taylor
f71eecfe56 Chunk: clean up internals that were designed for variable subchunk stack size
this exposed a few bugs in lighting updates too.
2019-10-23 18:27:30 +01:00
Dylan K. Taylor
02ff8d671b Mostly phase out EmptySubChunk
copy-on-write and zero-layer SubChunk objects are much easier to manage and have less cognitive overhead.

obviously, the goal is to get rid of EmptySubChunk completely, but right now it does still serve a purpose (filling in dummy values for reading out-of-bounds on chunks), and that's a problem that takes a little more work to fix.
2019-10-22 23:00:49 +01:00
Dylan K. Taylor
b7d1d11eb4 Chunk: remove useless field "height" 2019-10-22 23:00:49 +01:00
Dylan K. Taylor
295d14e0d9 Chunk: make setSubChunk() throw exception on invalid Y instead of returning false 2019-10-22 23:00:49 +01:00
Dylan K. Taylor
9d3637c999 Chunk: remove useless proxy field emptySubChunk 2019-10-22 23:00:49 +01:00
Dylan K. Taylor
e1352668d1 LightPopulationTask: Don't overwrite the whole chunk on completion
this is more efficient (less data copied for ITC), fixes #2873, and also fixes terrain changes during task run getting overwritten.

This still leaves the problem that the light information provided may be out of date by the time the task completes, but this is nonetheless a step forward.
2019-10-22 23:00:21 +01:00
Dylan T
c533f6a0bd
Implemented partial chunk saving on LevelDB (#3078) 2019-08-07 17:39:36 +01:00
Dylan K. Taylor
4e5b296c8c Tiles now encapsulate positions instead of extending them 2019-08-05 19:33:34 +01:00
Dylan K. Taylor
5499ac620c Removed pocketmine subdirectory, map PSR-4 style 2019-07-30 19:14:57 +01:00