39 Commits

Author SHA1 Message Date
Stephen
7dec912d15 Fixed FloatingTextParticles 2019-11-06 23:22:41 -05:00
Dylan K. Taylor
c58a1bf9b7 Protocol changes for 1.12.0.28 2019-07-12 19:00:15 +01:00
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
5e68858ebf Merge branch 'release/3.2' into release/3.3 2018-10-21 18:16:59 +01:00
Dylan K. Taylor
45c9caa38c Fixup some formatting issues 2018-10-21 18:15:25 +01:00
Dylan K. Taylor
839d5eab7b Protocol changes for 1.7
there's also some new cases in stats, but we don't care about those anyway.
2018-10-16 17:13:52 +01:00
Dylan K. Taylor
4a5ff32d2e hacks for NPC and floating text
I didn't think mojang could break this fucking game any worse
2018-07-11 19:45:48 +01:00
Dylan K. Taylor
d80c471ae1 Typehints on missed sound and particle APIs 2018-05-02 11:44:18 +01:00
Dylan K. Taylor
3134fa2744 Fixed FloatingTextParticle YET AGAIN
how many fucking ways can you break nametags Mojang???
2018-04-04 16:59:39 +01:00
Dylan K. Taylor
b3b3ee7c56 Use transparent skin on FloatingTextParticle 2017-10-01 14:10:47 +01:00
Dylan K. Taylor
53ef9b653a Added some getters to FloatingTextParticle 2017-09-21 19:10:30 +01:00
Dylan K. Taylor
030cc4afb0 FloatingTextParticle: import cleanup & typehints 2017-09-21 19:09:33 +01:00
Dylan K. Taylor
9bd7f771d3 "Fixed" FloatingTextParticle yet again
- nametag visibility flags don't work properly, only players show them all the time
- invisibility overrides nametag visibility
- scale 0 triggers asserts on debug builds

..... how hard is it to NOT break these simple things each update Mojang?

closes #1205
2017-09-21 19:04:45 +01:00
Dylan K. Taylor
10f6a0eef0 FloatingTextParticle: fixed incorrect parameter type doc 2017-09-21 18:31:12 +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
dbb92096e4 More typehints, documentation fixes and static analysis cleanup 2017-07-15 12:12:06 +01:00
Dylan K. Taylor
7c14ffbcfa More type fixes 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
54453d0b0a Refactored entity IDs in packets for consistency and to clarify on types 2017-06-05 15:41:27 +01:00
Dylan K. Taylor
4ba3a3af3d fix FloatingTextParticle 2017-06-03 20:51:48 +01:00
Dylan K. Taylor
8cc1003956 Fixed FloatingTextParticle 2017-05-24 07:37:11 +01:00
Dylan K. Taylor
a9afad10bc BinaryStream no longer extends stdClass, fixed a couple of minor bugs
Seems :shoghi: used stdClass to silence IDEs, which before ALPHA5 would complain about myriad undefined fields due to lack of type checking (switch based on packet id 🤦)
2017-05-15 19:28:39 +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
0ce25f8b29 Fix #59 (FloatingTextParticle undefined ) 2016-10-29 09:59:34 +01:00
Dylan K. Taylor
ce72f634b0 Update some old code 2016-10-27 10:55:04 +01:00
SOFe
58ff381557 PhpStorm automated formatting (#11)
* PhpStorm reformatting

* Tuned PhpStorm reformatting

* Improved ItemIds and BlockIds formatting

* Tuned more PhpStorm reformatting

* Improved string concatenation
2016-10-03 19:05:48 +08:00
SOF3
4133f98b23
Updated a few tabs, updated SPL submodule 2016-10-03 01:59:06 +08:00
SOF3
e913b16804
Fixed some lines indented with 4 spaces rather than tabs 2016-10-03 00:58:34 +08:00
Shoghi Cervantes
75b7b03857 Added support for more NBT data, renaming inventories, fixed tags not being saved, added support for tags in /give 2015-08-07 16:28:27 +02:00
Shoghi Cervantes
2e0ef645fa Fixed several issues with spawning/despawning Players/Humans, close #3345, close #3342 2015-08-05 13:40:11 +02:00
Shoghi Cervantes
32722856ea
Updated FloatingTextParticle to use less heavy method 2015-05-19 21:59:23 +02:00
Shoghi Cervantes
5ca4f5416c More protocol updates 2015-04-15 15:53:11 +02:00
Shoghi Cervantes
1ddd58fd3b Fixed a few issues 2015-04-09 18:50:34 +02:00
Shoghi Cervantes
141c0a297e Skins, protocol changes, handle split packets 2015-04-08 13:00:15 +02:00
Shoghi Cervantes
4e934654ef More awesomeness, No AI flag! 2015-03-23 14:44:04 +01:00
Shoghi Cervantes
add380c7ed
A few fixes! 2015-03-21 00:45:29 +01:00
Shoghi Cervantes
58253be0a0 Implemented swiftness, added invisible status to FloatingTextParticle 2015-03-20 17:19:06 +01:00
Shoghi Cervantes
c00370cfbf
Added experimental particles 2015-03-18 08:51:38 +01:00