Dylan K. Taylor
c9b83d7276
Protocol changes for 1.16.220
2021-04-07 18:59:01 +01:00
Dylan K. Taylor
fbb6f1f81c
Workaround for cursor sync in 1.13+, closes #4059
2021-03-07 21:17:52 +00:00
Dylan K. Taylor
1a24afc6d1
InventoryTransaction: Fixed indexes persisting from balance calculation in crafting input/outputs
...
fixes #4019
the order of the actual items may not be the same across runs, but index 0 will at least be sure to exist.
2021-02-02 00:13:58 +00:00
Dylan K. Taylor
98cdc80d37
Protocol changes for 1.16.100
2020-11-21 01:07:25 +00:00
Dylan K. Taylor
c368ebb5e7
InventoryTransaction: beware of conflicting slot change actions with the same origin/target
...
these types of chains would never normally occur, but they've been seen in the wild. Attempting to resolve such chains has exponentially increasing complexity.
2020-11-10 16:45:20 +00:00
Nick
deb0cee8a0
BaseInventory::canAddItem(): consider item max stack size ( #3881 )
...
this fixes addItem() failing when canAddItem() reported that an item can be added.
2020-11-01 13:49:13 +00:00
Dylan K. Taylor
11b74868ee
CraftingTransaction: remove impossible condition
...
this is never hit thanks to the logic flow above - recipeItems is never empty.
2020-10-24 11:22:02 +01:00
Dylan K. Taylor
3c001b310f
fix phpstan analyze failure
2020-08-03 19:54:14 +01:00
Dylan K. Taylor
1f5e0bc96d
Updated BedrockData submodule, new recipes.json format
2020-08-03 19:36:32 +01:00
Dylan K. Taylor
756840f11d
Fixed matchItems corrupting CraftingTransaction internal state on repeated validation
...
This bug became apparent while developing a more robust fix for 1.16 crafting.
2020-08-02 23:07:47 +01:00
Dylan K. Taylor
e990c5a0a5
Protocol changes for 1.16.0
2020-06-26 14:06:41 +01:00
Dylan K. Taylor
c5ad127854
BaseInventory: mark eventProcessor as nullable, fixes a phpstan level 8 error
2020-06-23 12:55:06 +01:00
Dylan K. Taylor
3d50aafcc4
ShapedRecipe: remove a curly-brace array-access that nothing noticed
2020-06-06 11:12:45 +01:00
Dylan K. Taylor
3be83e09f2
Revert BC-breaking backport from b38c81c96
...
this can't be applied to a minor version because it places additional requirements on the Inventory contract.
2020-06-01 13:51:36 +01:00
Dylan K. Taylor
f24be2b055
Merge branch 'stable' into next-minor
...
# Conflicts:
# src/pocketmine/Player.php
# src/pocketmine/block/SnowLayer.php
2020-06-01 13:42:59 +01:00
Dylan K. Taylor
2dc3cf8162
InventoryTransaction: sync inventories before throwing validation exception to caller
...
fixes #3226
really the transaction shouldn't be handling inventory sync at all, but that's a job for another commit.
2020-05-31 20:10:29 +01:00
Dylan K. Taylor
a2543ff80d
Position: add getLevelNonNull()
...
this allows assuming that a position has a valid world in places where it's never expected to not be valid. Since this is the vast majority of usages, it eliminates a lot of possible null-pointer warnings given by static analysers.
TODO: Consider whether we can make Position->getLevel/World use this behaviour out of the box in the next major version.
2020-04-14 11:08:37 +01:00
Dylan K. Taylor
b8caf34e62
Merge branch 'stable' into next-minor
2020-03-10 12:45:00 +00:00
Dylan K. Taylor
456d9a722a
reduce some doc comments to single line
2020-03-10 12:36:19 +00:00
Dylan K. Taylor
dbaf851be7
Merge branch 'stable' into next-minor
2020-02-27 16:51:06 +00:00
Dylan K. Taylor
53067c26d7
BaseInventory: stop mutating item for no reason in canAddItem()
2020-02-25 20:30:37 +00:00
Dylan K. Taylor
15b76a24b7
scrub useless phpdoc
2020-02-10 12:21:07 +00:00
Dylan K. Taylor
f08e411cad
Merge branch 'stable' into next-minor
2020-02-10 11:40:08 +00:00
Dylan K. Taylor
4e693e91e6
ChestInventory: document that getHolder() may return Position
...
there is a variance issue with EnderChestInventory that was detected by phpstan-strict-rules which can't be addressed without a BC break. This fix will at least allow static analysers to be aware that code using this function might catch fire when it sees an EnderChestInventory without realizing it.
2020-02-06 19:33:34 +00:00
Dylan K. Taylor
70eb41470c
ContainerInventory: remove redundant check
2020-02-06 14:19:33 +00:00
Dylan K. Taylor
e5a2cfb65f
avoid type juggling in conditions, always use explicit boolean conditions
2020-02-05 15:44:06 +00:00
Dylan K. Taylor
3f7e7352fb
added SplFixedArray generics for phpstan 0.12.9
2020-02-05 11:57:37 +00:00
Dylan K. Taylor
4c36ca58e2
populate missing array value types in inventory namespace
2020-01-30 20:53:41 +00:00
Dylan K. Taylor
640df1003c
add some Generator generics for PHPStan
2020-01-29 16:38:50 +00:00
Dylan K. Taylor
f624871b3f
strip extra blank lines (php-cs-fixer)
2020-01-22 14:50:29 +00:00
Dylan K. Taylor
9f44adf04a
pass 2, manual removal of incorrect non-nullable @param for nullable native types
2020-01-21 15:44:34 +00:00
Dylan K. Taylor
c4793241f5
Mass removal of useless @param/@return PHPDoc annotations, pass 1
2020-01-21 15:10:18 +00:00
Dylan K. Taylor
36cde9f352
inventory: populate missing return type information
2020-01-19 17:05:31 +00:00
Dylan K. Taylor
1eedac87b2
added missing @var property types (reported by phpstan)
2020-01-09 14:13:54 +00:00
Dylan K. Taylor
494660102e
Replace empty() usages with count()
2019-12-18 11:23:24 +00:00
Dylan K. Taylor
870c66d1fe
Merge branch 'stable' into next-minor
2019-12-12 18:29:04 +00:00
Dylan K. Taylor
9a4b72add5
PlayerInventory: fix type violation when calling equipItem() for non-Player holder
2019-12-12 16:31:22 +00:00
Dylan K. Taylor
1a467420e3
Merge branch 'stable' into next-minor
2019-12-12 13:07:02 +00:00
Dylan K. Taylor
73c5fe5cf9
BaseInventory: correctly annotate content type of slots field
...
fixes warnings on phpstan level 4
2019-12-12 11:58:11 +00:00
Dylan K. Taylor
9a67192f74
Merge branch 'stable' into next-minor
2019-12-03 10:45:51 +00:00
Dylan K. Taylor
fee3c17148
CraftingManager: fixed type doc of craftingDataCache field
2019-12-01 21:06:34 +00:00
Dylan K. Taylor
1a1e3ff63b
BaseInventory: fixed incorrect & redundant default value for slots field
2019-12-01 19:45:16 +00:00
Dylan K. Taylor
0591458ef6
Merge branch 'stable' into next-minor
2019-10-22 18:49:22 +01:00
Dylan K. Taylor
20af789963
backport 3e58708130
: Add some missing @throws annotations
2019-10-20 20:23:51 +01:00
Dylan K. Taylor
bb048fb361
Merge branch 'stable' into next-minor
2019-07-26 19:50:17 +01:00
Dylan K. Taylor
622f93df45
remove usages of deprecated {} string access, closes #3035
2019-07-22 16:39:33 +01:00
Dylan K. Taylor
b38c81c96f
backport f84a1729c
: Inventory: added swap() function
2019-06-16 16:35:34 +01:00
Dylan K. Taylor
4e5a80c481
Recipe: deprecate interface
2019-06-16 14:12:49 +01:00
Dylan K. Taylor
4d54dc30c1
crafting: deprecate some stuff that's been removed on bleeding edge
2019-06-16 14:11:08 +01:00
Dylan K. Taylor
6161155660
CraftingManager: micro optimization: reuse closure for item deserialize & reduce indirection
2019-06-16 14:05:37 +01:00