6537 Commits

Author SHA1 Message Date
Dylan K. Taylor
716c1f29b4 Fixed slabs again 1.7dev-318 api/3.0.0-ALPHA9 2017-10-24 10:23:07 +01:00
Dylan K. Taylor
0df3b00de4 Fixed incompatible protocol message showing an empty pair of brackets when protocol is null
this happens if an exception occurs while or before trying to read the protocol version
2017-10-23 19:44:19 +01:00
Matt
13e5718463 Using BlockFactory instead of Block 2017-10-23 18:50:37 +01:00
Matt
270e0c076c Fixed items not removed when put in the lava 2017-10-23 18:50:37 +01:00
Dylan K. Taylor
3765511317 rename WritableBook->swapPage() to swapPages() 2017-10-23 17:55:01 +01:00
Dylan K. Taylor
8daa8deae9 Added Living->lookAt() 2017-10-23 17:29:20 +01:00
Frago9876543210
e055ce9526 Use translation for flight kick message (#1489) 2017-10-23 13:18:57 +01:00
Dylan K. Taylor
3ed8855894 fix drop chance of rotten flesh 2017-10-23 12:35:57 +01:00
Dylan K. Taylor
f25255e46c fix zombie drops 2017-10-23 12:24:34 +01:00
Dylan K. Taylor
7db8345424 Added rough support for reading entity saves with multiple save IDs (for PC 1.11 compatibility)
this will still always save using the legacy format to remain compatible with PC < 1.11.

TODO: entirely separate entity NBT format from entity implementation for proper multi-format compatibility
2017-10-22 10:16:24 +01:00
Dylan K. Taylor
bc7ba3b3c1 Found field of ShowProfilePacket 2017-10-21 14:53:49 +01:00
Dylan K. Taylor
1dd2203ee5 Fixed burning mobs not getting onfire data flag set when read from disk
they'd just flash red and take damage for no apparent reason
2017-10-21 12:36:30 +01:00
Dylan K. Taylor
554096953b Abuse property visibility to micro optimize CompoundTags
this produced a little less than 10% performance improvement under xdebug, and while the real-time benefit is negligible, it's harmless to have.
2017-10-20 20:07:54 +01:00
Dylan K. Taylor
55a1731da3 Remove redundant asserting function in Binary
If this was an inline assert, it would be harmless. Since it's in a function, it contributes to a 20% performance loss when using these functions on a large scale regardless of whether assertions are enabled or not.
Additionally, there's no need to assert that we have enough bytes since unpack() will raise warnings if there isn't, which will trigger exceptions, and for readByte(), an undefined offset notice will be raised, which will also trigger an exception.

TL;DR: This is simply wasting CPU time for no good reason.
2017-10-20 19:23:04 +01:00
Dylan K. Taylor
ba3fe20227 Fixed missing variant bitmask for Leaves, close #1478 2017-10-20 18:37:46 +01:00
Dylan K. Taylor
7b04049bb7 Throw exceptions when trying to add closed entities or tiles to levels 2017-10-20 18:22:28 +01:00
Dylan K. Taylor
30211bee82 Fixed excessive idle CPU usage for chunk ticking
"excessive" = 5%, after changes = 1.6% - YMMV, but that's my machine.
2017-10-20 15:54:22 +01:00
Dylan K. Taylor
e318dc12a5 missed target 2017-10-20 15:36:59 +01:00
Dylan K. Taylor
967ce99b03 Made incompatible PHP version messages more useful 2017-10-20 15:35:43 +01:00
Dylan K. Taylor
9bdda54aec Fixed PocketMine.php compatibility with < PHP7 2017-10-20 15:34:03 +01:00
Dylan K. Taylor
18e4e5364f Fixed getBlock() performance degradation caused by 781de3efabcd526281fd1adc8ce881d408471563, added Level->getBlockAt() to avoid creating vectors everywhere 2017-10-20 13:22:49 +01:00
Dylan K. Taylor
98cfd0b398 fix entity rotation changes not getting broadcast until the entity moves 2017-10-20 10:13:19 +01:00
Dylan K. Taylor
a245615531 fixed non-living entities lingering for a second after being kill()ed
only living entities should have death animation time
2017-10-19 20:51:50 +01:00
Dylan K. Taylor
0a19a2611a Re-organise some Entity methods 2017-10-19 19:03:11 +01:00
Dylan K. Taylor
50be26958a Added a helper function Entity->createBaseNBT() to cut down on boilerplate code 2017-10-19 17:36:51 +01:00
Dylan K. Taylor
67c6fca0ed Relocate a couple of Entity API methods and add some documentation 2017-10-19 17:05:27 +01:00
Dylan K. Taylor
d99e9513b0 Remove some redundant constructor overrides 2017-10-19 16:42:14 +01:00
Dylan K. Taylor
5a353012de Clean up some unused imports 2017-10-19 16:39:34 +01:00
Dylan K. Taylor
087badcb48 Remove deprecated effects methods from Entity 2017-10-19 16:35:44 +01:00
Dylan K. Taylor
d9769360fe Remove redundant code from Entity->entityBaseTick()
this will never be called because onUpdate() checks this and returns.
2017-10-19 16:32:45 +01:00
Dylan K. Taylor
9fb93985d6 Cleaned up Entity->spawnTo() 2017-10-19 16:13:09 +01:00
Dylan K. Taylor
2b22d5d8cc Added EntityIds interface with constants 2017-10-19 15:43:55 +01:00
Dylan K. Taylor
2db13bd114 added throwable eggs and refactor some projectile logic
close #1473
2017-10-19 14:12:50 +01:00
Dylan K. Taylor
11cc20972f extended death animation time 2017-10-19 13:39:51 +01:00
Dylan K. Taylor
4821e7386d fixed entities despawning too soon when killed 2017-10-19 13:39:10 +01:00
Dylan K. Taylor
584810780a Moved projectile-related classes to their own namespace 2017-10-19 12:27:44 +01:00
Dylan K. Taylor
55de75b914 Let blast resistance be computed from hardness for flowable blocks
fixes several flowable blocks apparently not having any resistance to explosions
2017-10-19 11:50:21 +01:00
Dylan K. Taylor
2a1a17aa7a Refactored button code, fix placement rotation 2017-10-19 11:36:30 +01:00
Dylan K. Taylor
90165cf99d Implemented farmland hydration
TODO: make crops take notice of this
2017-10-19 11:23:54 +01:00
Dylan K. Taylor
a4ca3f1d1c Updated PocketMine-Language submodule 2017-10-18 21:08:39 +01:00
Dylan K. Taylor
f783789e5a fixed escape code unescaping in language files, close #1474 2017-10-18 20:43:35 +01:00
Dylan K. Taylor
43be64baed Register some more items
the item-blocks will allow their blocks to be placed, but they still won't work until the blocks themselves are added.
2017-10-18 19:52:19 +01:00
Dylan K. Taylor
5c92c8a9d3 added red sandstone and red sandstone stairs 2017-10-18 19:42:12 +01:00
Dylan K. Taylor
d2dc49cd9c Refactor Slab logic away from WoodenSlab, added StoneSlab2 and its double 2017-10-18 19:27:54 +01:00
Dylan K. Taylor
f148c366f9 Use Block->getVariant() more, get rid of hardcoded bitmasks 2017-10-18 17:46:24 +01:00
Dylan K. Taylor
91d84aaff4 Fixed a direct Block construction that PhpStorm somehow couldn't see 2017-10-18 17:03:55 +01:00
Dylan K. Taylor
6b78ba8c25 replace some hardcoded values with Vec3 constants 2017-10-18 17:03:18 +01:00
Dylan K. Taylor
b9de2e8b4b Use bit operations for rotations instead of hardcoded values 2017-10-18 16:47:37 +01:00
Dylan K. Taylor
15764543b4 Use PillarRotationHelper for hay bales 2017-10-18 16:41:43 +01:00
Dylan K. Taylor
2c34648c3d fixed second half of double chest items getting deleted, close #1477 2017-10-18 12:29:57 +01:00