Dylan K. Taylor
202bac28fc
Merge master into api3/network
2017-04-01 19:37:15 +01:00
Dylan K. Taylor
1c3d89cfef
Fixed lighting issues with subchunks containing no blocks
...
A subchunk with no blocks is not necessarily empty.
2017-03-29 11:34:43 +01:00
Dylan K. Taylor
56990eb28b
MCPE protocol gets its own namespace
2017-03-08 20:28:39 +00:00
Dylan K. Taylor
282095513a
Throw exception when attempting to save a non-generated chunk ( #367 )
2017-02-21 19:24:16 +00:00
Dylan K. Taylor
c21197ef17
Removed entanglement between chunks and providers. WARNING: BREAKING API CHANGES.
...
- All entity and tile constructors now require a \pocketmine\level\Level instead of a \pocketmine\level\format\Chunk.
- Chunk->getProvider() and Chunk->setProvider() have been removed.
- Chunk::__construct() has had the $provider parameter removed.
- Chunk->unload() has had the unused $save parameter removed.
- ChunkEvents now take a Level parameter instead of going through the Chunk
API bump to 3.0.0-ALPHA4
2017-02-21 17:08:45 +00:00
Dylan K. Taylor
2ff565afe5
Fix heightmap crashes at the corner of chunks
...
Stupid unpack() return array indices start at 1, not 0 >_<
2017-02-20 10:28:50 +00:00
Dylan K. Taylor
8f9c52507a
Some PhpStorm cleanup
2017-02-12 12:36:02 +00:00
Dylan K. Taylor
5a12f40074
Only Region file formats are allowed as parameters for RegionLoaders
2017-02-12 12:18:25 +00:00
Dylan K. Taylor
06de85fd33
Revert "Fix entities missing in imported leveldb worlds", fixed entities missing after restart in anything OTHER than LevelDB
...
🤦 I should test this stuff more
This reverts commit ffadc34691aa827a3640fd0908b9fce585d68bbe.
2017-02-11 19:22:59 +00:00
Dylan K. Taylor
ffadc34691
Fix entities missing in imported leveldb worlds
2017-02-11 11:15:15 +00:00
Dylan K. Taylor
e4c889ae16
Check if the array contents are already the same, massive performance improvement for Anvil in a lot of cases
2017-01-18 20:04:19 +00:00
Dylan K. Taylor
7de7593b89
Improved nibble array re-ordering in most cases by checking for common values
2017-01-18 19:51:43 +00:00
Dylan K. Taylor
bcf049a660
Remove obsolete methods from Chunk
2017-01-15 18:03:40 +00:00
Dylan K. Taylor
0114cb8399
Better vanilla layers support (no meta, MCPE doesn't support it)
2017-01-15 17:26:21 +00:00
Dylan K. Taylor
b72218ac5b
Fixed flat world terrain generation by MCPE
2017-01-15 17:26:21 +00:00
Dylan K. Taylor
6b9c2b961b
Fix invalid timestamp causing W10 Edition to crash, fixes one bug in #254
2017-01-15 17:26:20 +00:00
Dylan K. Taylor
8ba0b49022
Initial working R/W of 0.16 + 1.0 worlds, highly unstable
2017-01-15 17:26:20 +00:00
Dylan K. Taylor
b28e38ab26
Move some exceptions out of utils into their relevant namespaces, move some Chunk methods to ChunkUtils for I/O, refactor "colour" -> "color"
2017-01-15 11:31:12 +00:00
Dylan K. Taylor
946d301bc7
Fix lighting population, fix lighting issues when read by vanilla Minecraft
2017-01-13 11:33:55 +00:00
Dylan K. Taylor
3bbf2c245a
Shut PhpStorm up
2017-01-11 10:11:13 +00:00
Dylan K. Taylor
8902992473
Fix McRegion read corruption errors, close #232
...
According to the wiki, McRegion heightmap should be ByteArray, not
IntArray. This caused issues with converted worlds with pretty much
every conversion tool. Blame @shoghicp.
IntArray McRegion heightmaps will now be converted to
ByteArray on save.
2017-01-08 21:16:57 +00:00
Dylan K. Taylor
3c9db45cf8
Fix tiles with async chunk sending, TODO: remove this
2017-01-07 10:52:39 +00:00
Dylan K. Taylor
aaf549a469
Docs for Chunk
2017-01-06 17:57:00 +00:00
Dylan K. Taylor
ad0553fbf8
Bump to API 3.0.0-ALPHA2 - READ DESCRIPTION!
...
Refactored level\format\generic\GenericChunk -> level\format\Chunk.
Re-added support for async chunk sending
Refactored most Level IO into new namespaces for more organisation
Removed LevelDB loader completely (will be re-added at a later date)
2017-01-06 17:13:45 +00:00
Dylan K. Taylor
d8908676ac
Refactor GenericChunk::fastSerialize() to be non-static, fix some unbelievable bugs, clean up some leftovers
2017-01-05 17:04:02 +00:00
Dylan K. Taylor
598e7aac8f
More PhpStorm inspections, import cleanup
2017-01-04 14:55:11 +00:00
Dylan K. Taylor
1cb96d24ce
Some fixes, thanks PhpStorm
2017-01-04 11:29:24 +00:00
Dylan K. Taylor
e2dc1a3bc6
Some consistency would be nice... fixed inconsistency between block light and sky light, always use Mojang order
2017-01-03 22:24:40 +00:00
Dylan K. Taylor
8a29e77f5e
Add missing byte, fix network sending issues, partly fixes #227
2017-01-03 22:24:40 +00:00
Dylan K. Taylor
88e36eda59
Stop wasting CPU calling functions
2017-01-01 15:50:13 +00:00
Dylan K. Taylor
40d1394e3c
Reuse empty chunk objects, stop creating new ones
2017-01-01 14:13:06 +00:00
Dylan K. Taylor
69061ba4ad
Removed the need for subchunks to know their Y coordinates
2017-01-01 14:12:58 +00:00
Dylan K. Taylor
0e10a149ef
Refactor Level::chunkBlockHash() (makes no sense to put it here)
2017-01-01 01:10:10 +00:00
Dylan K. Taylor
b263d81baf
Explicit checks for missing tags, fix issues with converted worlds, close #212
2016-12-30 11:18:38 +00:00
Tim (robske_110)
0c3780de40
Re-added basic chunk skylight population for GenericChunk ( #183 )
2016-12-29 11:45:23 +00:00
Dylan K. Taylor
747aae94ec
Refactor PMCustomAnvil -> PMAnvil
2016-12-23 20:38:31 +00:00
Dylan K. Taylor
a63020d6e5
Small performance improvement to nibble array re-ordering
...
thanks @Intyre
2016-12-23 20:07:55 +00:00
Dylan K. Taylor
e2bbb76900
Use PMCustomAnvil as the default format for new worlds
...
mcregion is now "deprecated" due to its lack of suitability (fullchunk style, and no support for 256-high worlds)
2016-12-23 18:15:10 +00:00
Dylan K. Taylor
f180167955
Add PMCustomAnvil format
...
Exactly the same as Anvil, but with XZY data ordering. Significantly more performant than Anvil due to no re-ordering necessary.
2016-12-23 18:15:09 +00:00
Dylan K. Taylor
1eaf7c5431
Workaround for glob() fail, fix worlds not loading properly on some systems, close #197
2016-12-23 18:14:56 +00:00
Dylan K. Taylor
3672d60bf4
More foolproof region file extension check
2016-12-23 12:40:04 +00:00
Dylan K. Taylor
3848f6f39c
Remove Anvil/McRegion circular dependency, more scalable region validity checks
2016-12-23 12:13:32 +00:00
Dylan K. Taylor
00158d4805
Refactor namespace of Anvil/McRegion
2016-12-23 11:52:55 +00:00
Dylan K. Taylor
3dcfa7b3ce
Fix 32-bit crash and incorrect use of IntTag for Time
2016-12-22 21:03:18 +00:00
Dylan K. Taylor
acd141e5aa
Enable strict types on SubChunk and EmptySubChunk
2016-12-22 18:48:43 +00:00
Dylan K. Taylor
8ee3723588
Removed Anvil RegionLoader, made mcregion RegionLoader usable for anything
2016-12-22 18:25:18 +00:00
Dylan K. Taylor
29c27993ad
Some mcregion/anvil improvements, add type-hints and enable strict-types
2016-12-22 16:57:03 +00:00
Dylan K. Taylor
f4065dd411
Type-hints, strict-types, doc comments and rearrangement for LevelProviders
2016-12-22 13:16:25 +00:00
Dylan K. Taylor
a99d7f93d9
Remove redundant return values
...
why am I still up at 6AM
2016-12-22 06:24:38 +00:00
Dylan K. Taylor
363b24c663
Fix height limits on subchunks, fixed #196
...
facepalm
2016-12-22 04:46:28 +00:00