bb05cfb36c
Shears: fixed always-false hardness check
...
thanks PHPStan
2019-10-21 15:21:22 +01:00
ee60a7bc36
Item: add documentation for addCreativeItem(), removeCreativeItem() and clearCreativeItems()
...
[ci skip]
2019-10-07 09:37:59 +01:00
e93d034a4e
fix bucket empty sound position, close #3051
2019-07-22 17:17:15 +01:00
b788982d60
Item: fixed setCustomName() not removing display NBT tag with empty name ( #3049 )
2019-07-19 20:07:53 +01:00
eb161f8e1c
Use base64 instead of hex to display binary in some places
...
base64 takes less space than hex, which is beneficial for logging larger payloads.
2019-06-06 14:43:20 +01:00
cce99b07af
1.10.0 updates
2019-03-20 19:17:41 +00:00
30b49e0d22
Merge branch '3.5' into 3.6
2019-02-08 15:32:20 +00:00
769cc91543
ItemFactory: fix crash when getting negative item IDs
...
these are now treated the same as any unknown item, and are now not possible to place.
2019-02-08 13:51:41 +00:00
b8703d5dff
Protocol changes for 1.9.0
2019-02-07 21:56:42 +00:00
0f545c410a
Bow: Improve consistency with vanilla (JE at least), closes #2660
...
This change causes the existing test I did to now report ~55-60 blocks, which is much closer to parity with vanilla.
2019-01-15 14:42:41 +00:00
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
d71a543d10
Fixed a bunch of things PHPStan finds unpalatable
...
close #2614 , fix a bunch of docs bugs, fix sendCreativeContents() crash on Human holders, move some inline variable declarations
2019-01-04 00:23:09 +00:00
30f5a8fac6
Protocol changes for 1.8.0 release
2018-12-11 21:05:03 +00:00
05dba61a69
Merge branch 'release/3.3' into release/3.4
2018-11-29 19:47:28 +00:00
60dddcd12a
Painting: clean up guard checks, remove unnecessary checks
2018-11-29 19:29:10 +00:00
6dd2597934
Merge branch 'release/3.3' into release/3.4
2018-10-21 18:17:07 +01:00
45c9caa38c
Fixup some formatting issues
2018-10-21 18:15:25 +01:00
1dd6591ac1
Migrate a bunch of PluginManager->callEvent() usages to Event->call
...
This has the triple bonus effect of a) making a lot of code easier to read, b) reducing Server::getInstance() usages, and c) removing a whole bunch of Server dependencies.
The network and block namespaces are untouched by this commit due to potential for merge conflicts. These should be dealt with separately on master.
2018-10-05 17:30:06 +01:00
5b511f6d06
Merge branch 'release/3.1' into release/3.2
2018-09-29 15:39:27 +01:00
426dee04a6
Potion: remove unnecessary exception throw in getPotionEffectsById()
...
this is only used by Potion and SplashPotion, and simply causes errors when trying to use potions with unknown IDs.
2018-09-29 15:39:20 +01:00
f6a8ec83a1
Merge branch 'release/3.1' into release/3.2
2018-09-24 18:26:39 -04:00
28137efb53
Fixed server freezing when using chorus fruit from large Y coordinates
2018-09-24 18:26:20 -04:00
8db1ccc1ae
Merge branch 'release/3.1' into release/3.2
2018-09-20 19:02:09 +01:00
5d56030afa
Item: make nbtDeserialize() return AIR when reading an unknown PC item
...
This is scummy, but it's better than crashing the whole server just because a chest contained an unknown item.
2018-09-20 19:00:44 +01:00
d8e27e6081
Bow: fix wrong arithmetic for Flame fire ticks, closes #2420
2018-09-06 19:30:55 +01:00
14a2ffa51b
Merge branch 'release/3.1' into release/3.2
2018-09-06 18:43:28 +01:00
c447d51e3f
Bucket: use ItemFactory instead of self-clone
...
in the future Item->setDamage() will be removed.
2018-09-06 18:42:09 +01:00
d419d4308f
Add a couple of item constants, register Scute item
...
leaving out turtle helmet for now because of complications relating to the effect application - I REALLY don't want to tick armour if I can avoid it, due to the performance concerns.
2018-08-21 19:54:24 +01:00
b480c63060
Fixed ItemFactory::fromString() meta handling bug introduced by 71c3c34976
2018-07-17 14:46:08 +01:00
71c3c34976
ItemFactory: prepare for handling items with negative IDs
2018-07-16 13:24:12 +01:00
16c253d7a9
Item: allow negative IDs
...
this will be needed in the future for extended blocks support.
2018-07-16 12:46:16 +01:00
32574118ea
Implemented Mending enchantment ( #2257 )
2018-07-06 13:28:33 +01:00
8c672cb7c8
Implemented Sharpness, Fire Aspect and Knockback enchantments
2018-06-24 12:13:54 +01:00
97c267c70c
Implemented Punch enchantment
2018-06-23 17:40:01 +01:00
85a3c0e7dc
Implemented Flame enchantment
2018-06-23 17:11:20 +01:00
2f70a1eefb
Implemented Thorns enchantment ( #2258 )
...
This implementation is rough and can probably be improved to make it extendable, but this works for now and can be improved later.
2018-06-23 13:36:58 +01:00
7ba6e92b6c
Merge branch 'release/3.0' into release/3.1
2018-06-23 13:04:05 +01:00
1c0b49343c
Implemented Infinity enchantment ( #2259 )
2018-06-23 11:44:35 +01:00
814a949580
Implemented Power enchantment
2018-06-23 11:39:39 +01:00
056d24c67d
Add MUTTON as an ID constant
...
fixes crashdump #518862 - Unable to resolve "minecraft:mutton" to a valid item
PC refers to these as just mutton, but PE calls them muttonraw
2018-06-22 19:39:18 +01:00
9f7f62e9e5
Don't use Config for builtin JSON resources
...
it doesn't make sense to use a config in these cases, and also it just hides problems when the files are missing.
2018-06-16 16:35:47 +01:00
7b0ce16b12
Fixed buckets being able to delete any block
2018-06-13 17:05:51 +01:00
2e9e44ba05
Moved JSON blobs to submodule
2018-06-12 18:49:18 +01:00
3def3cd502
Item: use base64 instead of hex for json encoding NBT
2018-06-12 18:31:35 +01:00
05af87e1d4
Strip empty lines at the end of classes
2018-06-11 13:19:23 +01:00
e3d2fa10a5
Item: added count parameter to pop()
...
this allows popping an arbitrary number of items from the stack, instead of just 1.
2018-05-29 10:21:04 +01:00
509e8c5f6d
ItemFactory: register some easy items
...
these are items that do nothing and/or are only used for crafting. As such they are simple to add.
Others will be added later on, but others require extra work and/or reverse engineering which I don't have time for now.
2018-05-23 19:48:30 +01:00
263cd900a8
Enchantment: update item type flags
2018-05-23 17:39:52 +01:00
164ce76ff5
Enchantment: apply typehints to PHP 7.2 standards
2018-05-23 17:28:40 +01:00
fbf760bafe
Enchantment: implemented Vanishing
2018-05-23 17:23:56 +01:00