441b06f6c7
Merge branch 'stable' into next-minor
2022-09-15 12:44:53 +01:00
6866c86d39
BaseInventory: fix CS
2022-09-02 19:36:45 +01:00
a735a69870
BaseInventory: improve type info available to setContents() and internalSetContents()
2022-09-02 19:36:08 +01:00
a0ea74c08f
Inventory: Improve quality of type info of arrays
2022-09-02 19:34:12 +01:00
d4c4ae3d7a
Merge branch 'next-minor' into next-major
2022-08-25 19:27:29 +01:00
c16893cbac
Merge branch 'stable' into next-minor
2022-08-25 19:25:19 +01:00
5426b41447
InventoryTransaction: prevent client-authoritative item overstacking
...
this cheat is often used to carry more items in the inventory, wear multiple pieces of armour in one slot, and more.
2022-08-21 20:35:23 +01:00
1ecb10acba
Merge branch 'next-minor' into next-major
2022-08-21 19:19:07 +01:00
792c1b62b7
Introduce and use TransactionBuilder for inventory evacuations
2022-08-18 17:04:12 +01:00
9f0b32e748
Updated creative and crafting data to 1.19
2022-07-04 20:28:07 +01:00
8858b16a25
Fucking CS again
2022-06-30 20:18:25 +01:00
a64adbfffe
Fix PHPStan errors
2022-06-30 20:16:55 +01:00
db2b523762
Item is no longer JsonSerializable
...
before anyone starts screaming:
1) it's easy to create your own wrapper that converts items to arrays
2) there is no longer a single standard way to encode items.
3) the way that item serialization now works requires an ItemSerializer, which, barring singleton use, must be dependency-injected. Since there's no way to inject dependencies into jsonSerialize(), this means that its behaviour cannot be customized.
2022-06-30 19:16:49 +01:00
ff96f1b93c
CreativeInventory: do not disable meta comparison for durable items
...
this check no longer applies, and it's usually undesirable to avoid comparing meta in every other case.
2022-06-29 16:58:52 +01:00
541a624d48
ItemFactory::get() now consistently throws SavedDataLoadingException on any error, including unknown items
2022-06-27 17:14:43 +01:00
55cb68e5b5
Burn meta wildcards from Item, allow more dynamic recipe inputs
...
this was an obstacle for getting rid of legacy item IDs.
2022-06-27 13:33:26 +01:00
aa9f8781ff
Merge branch 'next-minor' into next-major
2022-06-07 19:56:26 +01:00
b57f0a2b7e
Fixed uninitialized typed properties
2022-06-06 17:23:43 +01:00
f2dc9187f0
Use covariant types for InventoryHolder and Container implementors
2022-06-05 18:49:48 +01:00
083a35f970
Modernize property type declarations
2022-06-04 18:16:32 +01:00
38d6284671
Use PHP-CS-Fixer to enforce file header presence
2022-06-04 17:34:49 +01:00
179cac45f5
Merge branch 'stable' into next-minor
2022-05-22 16:21:05 +01:00
5d92eddc82
InventoryTransaction: provide object ID of failed action for debugging identification
...
closes #3235
2022-05-21 17:35:21 +01:00
d4b7f66e15
Promote some constructors
2022-05-17 22:34:58 +01:00
fb4d332d1a
Modernize private property declarations in src/inventory/transaction
2022-05-17 20:51:22 +01:00
a06b9294df
Modernize private property declarations in src/inventory
2022-05-17 20:49:12 +01:00
bf71eb448a
Reduce chaos in inventory classes
2022-03-22 17:19:55 +00:00
2c29d272ad
BaseInventory: move setMaxStackSize() to a more sensible place
2022-03-22 17:11:48 +00:00
98aa2b9ff9
Inventory: move removeItem() next to remove()
...
this should hopefully be more attention grabbing and a bit less misleading, since people will wonder why there are 'remove' and 'removeItem' both.
we really need to rename one of these...
2022-03-22 17:08:30 +00:00
51a3043dfd
PlayerInventory: fixed isHotbarSlot() returning bogus result for 9
2022-02-20 20:29:51 +00:00
d16b6fe61e
Merge branch 'stable' into staging/4.1
2022-01-28 20:40:07 +00:00
6673289c33
Fixed spectator players being able to drop items ( #4775 )
...
closes #4765
2022-01-27 00:03:19 +00:00
e986a0a4f2
Replace disallowed operators in src/inventory/
2022-01-20 19:20:32 +00:00
a0bb7059c1
Merge remote-tracking branch 'origin/stable' into next-minor
2022-01-19 19:48:51 +00:00
858024afb7
Remove useless docs noticed by php-cs-fixer 3.5
2022-01-18 00:24:12 +00:00
75fc7a2d1f
Merge branch 'stable' into next-minor
2022-01-07 20:16:35 +00:00
6d249026cc
Merge branch 'legacy/pm3' into stable
2022-01-07 20:15:15 +00:00
e04dfe96af
Merge branch 'stable' into next-minor
2022-01-01 17:55:17 +00:00
72f2c794ab
SimpleInventory: improved performance of setContents()
...
avoid the overhead incurred by clear() and setItem(), because in internalSetContents(), we already have no listeners or viewers to talk to anyway, so this is just spamming shit into /dev/null.
2021-12-31 18:32:19 +00:00
ed4978c31b
Added VanillaItems::AIR()
...
we don't usually add VanillaItems entries for blocks since they already exist in VanillaBlocks, but air has a special use case specifically as an itemstack, so we make an exception for this case.
2021-12-07 00:41:07 +00:00
fed59d3ebe
added missing file
2021-11-09 00:11:39 +00:00
ab002ca06d
Improved handling of temporary inventory windows
...
evacuation behaviour is now consistent regardless of who is doing it
2021-11-08 23:36:58 +00:00
45edb94607
Crafting tables now work the same way as anvils and enchanting tables
...
Removing almost all special-case logic for crafting tables.
2021-11-07 16:20:07 +00:00
275f145418
BedrockData is now a Composer dependency
...
this should put a stop to people nagging me about incorrect blocks (we have a check to make sure composer dependencies are up to date).
2021-11-02 16:45:45 +00:00
a5833327f0
Inventory: added getAddableItemQuantity()
...
this mostly reuses the code from canAddItem().
2021-10-11 21:46:27 +01:00
5d4f14b388
Added TransactionBuilderInventory for server-side inventory transaction generation
2021-09-09 17:10:04 +01:00
00984c1b9f
BaseInventory: Move contents of InventoryHelpersTrait back inline
...
I moved these to a trait in anticipation of having multiple full Inventory implementations. That's no longer necessary because of the abstraction of SimpleInventory.
2021-08-04 20:57:20 +01:00
7ba573db77
Added API method Item::canStackWith()
2021-06-29 19:52:52 +01:00
32d7b1e6af
Start using webmozart/pathutil for joining paths ( #4287 )
2021-06-29 19:40:43 +01:00
9b30c2feda
Extract a DelegateInventory from EnderChestInventory
2021-06-26 21:01:40 +01:00