Dylan K. Taylor
f17b3b2a3b
LevelProvider: Refactor providers to drop lots of duplicated code
2017-12-31 18:35:23 +00:00
Dylan K. Taylor
a0a2ea01bc
LevelDB: Check for LEVELDB_ZLIB_RAW_COMPRESSION when checking for the extension's presence
...
We always want to validate that the leveldb provided supports the world format.
2017-12-31 17:49:02 +00:00
Dylan K. Taylor
5132ab6cd9
LevelDB: Remove redundant folder creation in generate()
...
This is pointless because the call below - which is _also_ recursively creating directories - will create this directory anyway.
2017-12-31 17:46:07 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
8bc733514b
LevelDB: Fixed nonsensical array access in iterator loop
2017-11-27 17:21:26 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
a9df383346
generalized conditions for saving entities with chunks
2017-11-19 18:06:38 +00:00
Dylan K. Taylor
2fd61163bf
cleanup some chunks leftovers from 1.0
2017-11-19 17:52:36 +00:00
Dylan K. Taylor
5640bcb0b8
add some new leveldb keys
2017-11-19 17:43:54 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
aa399a1109
migrate to new CompoundTag API ( #1515 )
2017-11-10 15:38:21 +00:00
Dylan K. Taylor
5a353012de
Clean up some unused imports
2017-10-19 16:39:34 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
b9c4a65307
Don't save players with chunks!
...
I can't believe I didn't notice this
2017-08-30 16:55:17 +01:00
Dylan K. Taylor
23752548fe
Address several LevelDB related crashdumps in the crash archive
2017-08-30 15:42:31 +01:00
Dylan K. Taylor
b4c4005009
Some condition simplifications suggested by static analysis
2017-08-16 20:06:48 +01:00
Dylan K. Taylor
c3b8be3f60
and more typehints
2017-07-14 10:56:51 +01:00
Dylan K. Taylor
2a7b736f18
Heap of bugfixes, cleanup and PHP 7 upgrades
2017-07-13 19:18:56 +01:00
Dylan K. Taylor
b4a149cce8
Fix some issues with entities in leveldb worlds
2017-07-02 13:37:30 +01:00
Dylan K. Taylor
70bd9afd37
Updated leveldb implementation to support MCPE 1.1 worlds
2017-06-30 09:11:26 +01:00
Dylan K. Taylor
a4b8dd43e6
Removed useless confusing array indices in CompoundTag constructors ( #1116 )
2017-06-20 12:11:24 +01:00
Dylan K. Taylor
e11f1e94e9
Cleaned up SubChunk implementation
2017-06-19 15:40:31 +01:00
Dylan K. Taylor
a302b4988f
Fixed bad values assigned to LongTags
...
PhpStorm you bitch... why didn't you tell me these were a problem?!
2017-06-08 19:28:29 +01:00
Dylan K. Taylor
890f72dbf2
Type-hinted NBT tag constructors, made getValue() and setValue() more strict, fix dozens of assorted related bugs
2017-06-08 19:17:52 +01:00
Dylan K. Taylor
cf07af8b55
Fix some strict type violations reported by PhpStorm (strict types <3)
2017-06-07 12:54:12 +01:00
Dylan K. Taylor
51b0673b4b
Bite the bullet and enable strict types on everything
2017-06-07 12:53:16 +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
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