Dylan K. Taylor
4b9a142a5d
Import global functions and constants for enhanced performance
...
This is better for performance because these then don't need to be reevaluated every time they are called.
When encountering an unqualified function or constant reference, PHP will first try to locate a symbol in the current namespace by that name, and then fall back to the global namespace.
This short-circuits the check, which has substantial performance effects in some cases - in particular, ord(), chr() and strlen() show ~1500x faster calls when they are fully qualified.
However, this doesn't mean that PM is getting a massive amount faster. In real world terms, this translates to about 10-15% performance improvement.
But before anyone gets excited, you should know that the CodeOptimizer in the PreProcessor repo has been applying fully-qualified symbol optimizations to Jenkins builds for years, which is one of the reasons why Jenkins builds have better performance than home-built or source installations.
We're choosing to do this for the sake of future SafePHP integration and also to be able to get rid of the buggy CodeOptimizer, so that phar and source are more consistent.
2019-01-04 20:43:15 +00:00
Dylan K. Taylor
b39bbffdc5
Entity: Moved and renamed entity\Item to entity\object\ItemEntity
2018-03-10 12:36:46 +00:00
Dylan K. Taylor
0410df77aa
Drop experience on death
2018-01-04 19:33:37 +00:00
Dylan K. Taylor
8a90d159fe
Cleanup unused imports
2017-12-10 12:09:46 +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
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
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
95752ef542
Merge branch 'master' into mcpe-1.2
2017-08-23 13:20:35 +01:00
Muqsit
a52fa93998
Remove Entity->length
2017-08-23 02:21:33 -04:00
Dylan K. Taylor
445a67954d
Merge changes from master
2017-08-22 14:13:31 +01:00
Dylan K. Taylor
876659cc73
Item factory refactor and added capability to register custom items
2017-08-21 17:49:26 +01:00
Dylan K. Taylor
4f1302adf2
Merge branch 'master' into mcpe-1.2
2017-08-17 17:14:16 +01:00
Dylan K. Taylor
741394dab1
Typehinted up entity API
...
Did you guys think ALPHA7 changes were done?!
Sone stuff still needs some work, most notably data-properties can't be typed yet because they are just mushed into a couple of methods.
2017-08-16 19:04:30 +01:00
Dylan K. Taylor
9be1b929a5
Added PhpDoc for packet field types and changed float x,y,z to Vector3
2017-08-13 20:02:07 +01:00
Dylan K. Taylor
c3b8be3f60
and more typehints
2017-07-14 10:56:51 +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
0a4d62b405
Added encode and decode methods for more packets
2017-05-15 15:56:59 +01:00
Dylan K. Taylor
56990eb28b
MCPE protocol gets its own namespace
2017-03-08 20:28:39 +00:00
Dylan K. Taylor
9004417456
Fixed file headers ( #255 )
2017-01-13 16:57:05 +00:00
SOF3
6fc435da0e
Imports rearrangement
2016-10-03 00:43:46 +08:00
Shoghi Cervantes
31ef7721b1
Removed network channels, bumped protocol
2015-08-12 14:59:48 +02:00
Shoghi Cervantes
0b176b3fe0
Implemented Channeled packet sending
2015-04-14 18:24:40 +02:00
Shoghi Cervantes
f2e2cec024
Removed entity mask
2015-04-09 14:23:37 +02:00
Shoghi Cervantes
69f841a00c
Added Squids with basic AI
2015-04-09 00:12:50 +02:00
Shoghi Cervantes
141c0a297e
Skins, protocol changes, handle split packets
2015-04-08 13:00:15 +02:00
Shoghi Cervantes
b31604a536
Fixed data sending, more particles
2015-03-18 12:11:44 +01:00
Shoghi Cervantes
2ae80031f0
New implementation of sending/setting/getting entity data, added effect saving
2015-03-17 00:01:54 +01:00
Shoghi Cervantes
a98da3bab1
Renamed old getID() calls to getId()
2014-12-07 15:21:32 +01:00
Shoghi Cervantes
38089af098
Improved global entity motion encoding using per-player queues
2014-11-27 14:26:36 +01:00
Shoghi Cervantes
32dae93ef9
Removed unused imports
2014-11-04 12:08:24 +01:00
Shoghi Cervantes
8fd6582e74
Automatically set Entity / Tile entity save identifiers
2014-11-04 12:04:08 +01:00
Shoghi Cervantes
8601405a88
Fixed CPU leak
2014-10-31 21:07:00 +01:00
Shoghi Cervantes
72c09045d5
Fixed Zombie drops crash
2014-10-29 13:21:54 +01:00
Shoghi Cervantes
b6f7ee20fc
Added Error -> Exception handling
2014-10-28 20:43:36 +01:00
Shoghi Cervantes
db82f76c11
Improved network packets allocation
2014-10-27 20:30:33 +01:00
Shoghi Cervantes
eab86f5f90
Replaced array() with []
2014-08-28 17:04:22 +02:00
Shoghi Cervantes
90fa40de34
Added entity id names
2014-08-27 17:42:38 +02:00
Shoghi Cervantes
db7222976e
Code cleanup
2014-08-21 17:26:41 +02:00
Shoghi Cervantes
5eee4f9771
Fixed AddEntityPacket, added base Arrow
2014-08-16 16:37:57 +02:00
Shoghi Cervantes
52d28795fa
Added Villager spawn egg
2014-08-16 14:25:58 +02:00
Shoghi Cervantes
c675605014
Added item activation, zombie spawn egg
2014-08-16 14:01:07 +02:00
Shoghi Cervantes
dd17652aca
Fixed wrong paths
2014-04-01 05:06:12 +02:00