8a3f8b4706
LevelProvider: Remove redundant method requestChunkTask()
...
This removes one more dependency that LevelProvider has on Level.
2017-12-31 16:05:58 +00:00
7264ce43ae
McRegion: Added method pathToRegion()
2017-12-31 14:25:17 +00:00
66e475cbb8
Region: Remove RegionLoader/McRegion cyclic dependency
2017-12-30 19:59:35 +00:00
1e896efff9
McRegion: Added an assert
2017-12-30 19:49:44 +00:00
4db7a7e57f
Region: Change chunk offset calculation in regions to use bitmasks
...
I don't know why it wasn't done like this to start with. However this has not been tested yet, so this goes on a different branch for now to test.
2017-12-30 19:41:58 +00:00
54b23968e7
McRegion: Refactor some ambiguous variable names
2017-12-30 18:59:01 +00:00
965c19375f
NBT: Split up concerns of endianness and varint NBT into their own classes, separate stream handling from NBT class
...
The remaining methods, constants and fields in the NBT class now pertain to generic NBT functionality (except for the matchList()/matchTree() methods, but that's a job for another time). All NBT I/O specific logic has now been moved to NBTStream and its descendents.
2017-12-30 14:55:45 +00:00
4f8e4f0522
Add EOF newlines where missing (bulk) ( #1836 )
...
This should solve issues with people making GitHub PRs and having the web editor messing things up. GitHub Web Editor sucks :(
2017-12-20 11:56:36 +00:00
256527c953
Chunk: Fixed possible bug with Chunk->setBlockData()
...
to be honest this would probably never affect anything, but let's be consistent.
2017-11-27 19:26:20 +00:00
b93691a177
Chunk: Remove redundant assignment
2017-11-27 18:58:08 +00:00
48c5db4296
Chunk: Add some PhpDoc
2017-11-27 17:51:42 +00:00
c564655f9b
Chunk: Remove unnecessary default values
...
these are assigned in the constructor anyway.
2017-11-27 17:49:08 +00:00
49301b0d74
Chunk: Use an SplFixedArray for subchunks
2017-11-27 17:46:48 +00:00
8bc733514b
LevelDB: Fixed nonsensical array access in iterator loop
2017-11-27 17:21:26 +00:00
74b074753f
Bulk addition of constant visibilities
...
thanks PhpStorm inspections plugin for annoying the shit out of me until
I did this.
2017-11-21 14:44:10 +00:00
a9df383346
generalized conditions for saving entities with chunks
2017-11-19 18:06:38 +00:00
2fd61163bf
cleanup some chunks leftovers from 1.0
2017-11-19 17:52:36 +00:00
5640bcb0b8
add some new leveldb keys
2017-11-19 17:43:54 +00:00
ea3c7383fb
Added support for handling MCPE 1.2 leveldb worlds
...
requires php-leveldb version >=0.2.1 and the latest version of
pmmp/leveldb-mcpe
2017-11-19 17:31:09 +00:00
7e496afdd1
Fixed issues with LevelDB worlds silently getting overwritten with the default format when LevelDB extension is not loaded
...
Always register the level provider (to allow detecting the world format) but throw exceptions if anything tries to use it without the extension being loaded.
2017-11-19 17:28:16 +00:00
665130561e
Further cleanup on NBT dynamic field access
...
not sure how I missed so many of these... there are probably lots more besides :(
2017-11-17 11:19:36 +00:00
aa399a1109
migrate to new CompoundTag API ( #1515 )
2017-11-10 15:38:21 +00:00
67af4d3b65
Cleaned up PMAnvil implementation
2017-10-29 19:13:58 +00:00
48fefae920
Added cache for tile spawn compounds
...
avoids expensive repetetive NBT writes on chunk sends when the tile hasn't been changed
2017-10-27 10:23:48 +01:00
5a353012de
Clean up some unused imports
2017-10-19 16:39:34 +01:00
be2d134994
Added API to allow flagging an entity not to be saved to disk when its chunk is saved ( #1452 )
2017-10-11 16:09:08 +01:00
8fafef2f7f
Added tagType parameter to ListTag constructor, remove some boilerplate code
2017-10-08 13:28:01 +01:00
d294d5a91b
Clarified location table doc for RegionLoader
2017-10-06 09:40:46 +01:00
7f5fe137d1
Added some type docs to RegionLoader
2017-10-05 18:47:32 +01:00
afa37bd2aa
check range of valid compression values
...
zero is not allowed because it's pointless, just raise your compression threshold if you want zero compression.
Chunks will always be compressed regardless of threshold because they are huge. It doesn't make sense to allow uncompressed chunks when even compression level 1 will reduce their size 50x. The point of the last two (reverted) commits was to prevent compression level zero being used on chunks. Probably obvious that I was up late and not thinking very clearly.
Revert "Reduced chunk compression level to 7"
This reverts commit 49ac2555ce
.
Revert "Always use best compression for chunks"
This reverts commit 42dd9d6abd
.
2017-10-01 11:06:14 +01:00
49ac2555ce
Reduced chunk compression level to 7
...
According to benchmarks 8 and 9 are simply orders of magnitude slower while not saving enough bytes to make it worth the performance loss. 7 is a good balance.
2017-10-01 09:20:14 +01:00
42dd9d6abd
Always use best compression for chunks
2017-09-30 20:30:24 +01:00
d0bf0ff083
Imports cleanup
2017-09-28 10:51:05 +01:00
38fad4b963
Implement difficulty per-world ( #878 )
...
* Moved Server::getDifficultyFromString() to Level
* Added ability to set difficulty in worlds section of pocketmine.yml for generation
2017-09-26 11:16:51 +01:00
5d75d3d5b6
Merge branch 'php/7.0' into mcpe-1.2
2017-09-01 23:10:58 +01:00
297cfcf168
Check for existence of ChunkUtils extension
2017-08-31 21:42:24 +01:00
b9c4a65307
Don't save players with chunks!
...
I can't believe I didn't notice this
2017-08-30 16:55:17 +01:00
23752548fe
Address several LevelDB related crashdumps in the crash archive
2017-08-30 15:42:31 +01:00
1f70a7830e
Branch merge
2017-08-20 21:07:19 +01:00
02f42eba48
Move block registration to its own class
2017-08-20 18:05:01 +01:00
2688228a6f
Don't dump subchunk raw data
2017-08-18 16:57:07 +01:00
4f1302adf2
Merge branch 'master' into mcpe-1.2
2017-08-17 17:14:16 +01:00
5b4035253b
Casting cleanup and removed some 32-bit string-int leftovers
2017-08-17 11:24:49 +01:00
b4c4005009
Some condition simplifications suggested by static analysis
2017-08-16 20:06:48 +01:00
eebc52e00b
Added API method Entity->isClosed() and made Entity->closed protected
2017-08-16 19:30:23 +01:00
77cd8e7799
More broken mess to spawn 1.2
2017-08-06 17:21:51 +01:00
24bdf330d5
Merge branch 'moar-typehints'
2017-07-15 09:43:43 +01:00
6de8415c79
Merge network refactors
2017-07-14 13:04:02 +01:00
c3b8be3f60
and more typehints
2017-07-14 10:56:51 +01:00
2a7b736f18
Heap of bugfixes, cleanup and PHP 7 upgrades
2017-07-13 19:18:56 +01:00