Dylan K. Taylor
18b528f72d
ItemStackRequestExecutor: fixed borked taking of created items
...
closes #5695
2023-04-12 21:01:46 +01:00
Dylan K. Taylor
9e9b4db00f
Merge branch 'stable' into minor-next
2023-04-10 14:32:33 +01:00
Dylan K. Taylor
7b55c984bf
InGamePacketHandler: reduce debug noise on outdated movements
2023-04-07 21:40:46 +01:00
Dylan K. Taylor
61b0ad3e7f
PreSpawnPacketHandler: added dedicated timer for the humongous amount of crap that has to be sent pre-spawn
2023-04-05 20:58:49 +01:00
Dylan K. Taylor
4bb8daa1a5
ItemStackRequestExecutor: allow any action to take from the created output slot
...
fixes #5679
2023-04-03 22:24:40 +01:00
Dylan K. Taylor
a862cf5144
Workaround ItemStackRequest offhand incorrect slot bug
...
closes #5667
this appears to be a client bug specific to ItemStackRequest.
2023-03-31 17:27:11 +01:00
Dylan K. Taylor
c3a16d9b1f
ItemStackResponseBuilder: fixed durability appearing to reset when moving durables around the inventory
...
closes #5656
2023-03-29 23:31:46 +01:00
Dylan K. Taylor
3ee62d8440
InGamePacketHandler: increase max ItemStackRequest actions to 60
...
due to implementation quirks + some unforeseen ways these actions can behave, there can be as many as 53 actions in a single crafting request. This is an edge case, but it has to be catered for.
2023-03-27 15:44:42 +01:00
Dylan K. Taylor
811639f2cd
InGamePacketHandler: relax errors on normal transactions to fix book editing
...
for some reason book edits generate a transaction in addition to BookEditPacket. PM has never used the transaction, and it doesn't pass anyway because CreateItemAction can't be used in survival mode.
However, since the strict validation introduced since ItemStackRequest, this dud transaction now causes the player to get kicked without these changes.
2023-03-27 13:26:26 +01:00
Dylan K. Taylor
58974765a6
InGamePacketHandler: fixed crash when attempting to drop more of an item than is available
2023-03-27 13:26:26 +01:00
Dylan K. Taylor
ea386c42d3
InGamePacketHandler: fixed dropping items from unselected hotbar slots
2023-03-21 14:45:18 +00:00
Dylan K. Taylor
1a9322c00a
ItemStackRequestExecutor: added some missing @throws
2023-03-21 00:23:31 +00:00
Dylan K. Taylor
c8d9477da1
ItemStackRequestExecutor: make non-final, and make some stuff protected
...
this allows for plugin extension, for example to implement anvils.
2023-03-21 00:22:21 +00:00
Dylan K. Taylor
08e8ef275f
remove comment
2023-03-21 00:17:24 +00:00
Dylan K. Taylor
e57fbff28c
ItemStackRequestExecutor: added a sanity check for recipe repetitions
2023-03-21 00:16:03 +00:00
Dylan K. Taylor
f90315c4a2
ItemStackRequestExecutor: harden against invalid item counts
...
these cases should all be impossible, but that's assuming that the core code doesn't start using them for a different purpose in the future.
2023-03-21 00:13:21 +00:00
Dylan K. Taylor
955f7944bb
ItemStackRequestExecutor: fixed another possible crash condition
2023-03-21 00:06:33 +00:00
Dylan K. Taylor
ccd288d7fa
Avoid repeated calls to getItemInHand() in drop item handler
2023-03-21 00:04:29 +00:00
Dylan K. Taylor
097632902a
InGamePacketHandler: fixed crash condition in drop item handler
2023-03-21 00:02:32 +00:00
Dylan K. Taylor
ee72e80fbb
ItemStackResponseBuilder: removed incorrect code
...
the client expects that all itemstacks must be acked by ItemStackResponse, regardless of whether the server changed them to some other item.
We'll overwrite the item to the correct thing at the end of the tick anyway.
2023-03-20 23:21:24 +00:00
Dylan K. Taylor
63310cf764
Do not cache ItemStacks for every item
...
this is very memory inefficient, and only provides a performance advantage in cold code anyway.
2023-03-20 23:18:43 +00:00
Dylan K. Taylor
8408da8534
Merge branch 'item-stack-request' into minor-next
2023-03-20 22:05:50 +00:00
Dylan K. Taylor
ca6d51498f
Buffer slot and content syncing until the end of the tick
...
we may receive multiple requests in one tick (e.g. crafting in a batch)
2023-03-20 19:16:00 +00:00
Dylan K. Taylor
c91168db66
...
2023-03-20 01:35:15 +00:00
Dylan K. Taylor
4e55433ed8
Fixed request rejecting
2023-03-20 01:35:03 +00:00
Dylan K. Taylor
eece6c4433
InGamePacketHandler: remove dead code
2023-03-20 01:28:18 +00:00
Dylan K. Taylor
67b7b60d18
..............
2023-03-20 01:19:07 +00:00
Dylan K. Taylor
804feedb67
Added some dumb limits
2023-03-20 00:54:33 +00:00
Dylan K. Taylor
d57aca1367
CS
2023-03-20 00:53:00 +00:00
Dylan K. Taylor
7b0816e42f
Properly handle transaction building errors instead of kicking the player
2023-03-20 00:52:26 +00:00
Dylan K. Taylor
4864444440
Added CraftingManager::getCraftingRecipeFromIndex()
2023-03-19 22:14:23 +00:00
Dylan K. Taylor
cc8660629b
First look at shared EntityEventBroadcaster,
...
this improves performance in PvP servers and other areas where lots of players or entities exist in one space.
fixes #5622
2023-03-15 18:22:56 +00:00
Dylan K. Taylor
34ced382db
Eliminate final remaining usage of TypeConverter::netItemStackToCore()
...
instead, we can verify that the held items match by comparing the received ItemStack with the one cached in InventoryManager, which is more cost effective and closes off internal item deserializers to external attacks.
2023-03-14 22:56:11 +00:00
Dylan K. Taylor
a573a279fa
Merge branch 'minor-next' into item-stack-request
2023-03-14 22:25:49 +00:00
Dylan K. Taylor
3de7a8c27f
Updated for 1.19.70
2023-03-14 18:08:10 +00:00
Dylan K. Taylor
e7209679fb
...
2023-02-24 22:23:00 +00:00
Dylan K. Taylor
ae50b952f1
Accept 1.19.63 (same protocol, different protocol version)
2023-02-24 22:15:58 +00:00
Dylan K. Taylor
71aad310c6
stfu
2023-02-17 16:39:46 +00:00
Dylan K. Taylor
1e3b025916
1.19.62
2023-02-17 16:36:32 +00:00
Dylan K. Taylor
475888b031
InGamePacketHandler: do not process repeated skin change requests for the same full skin ID
...
this fixes a feedback loop with persona skins in 1.19.60.
2023-02-08 20:16:41 +00:00
Dylan K. Taylor
40b90bb722
InGamePacketHandler: log a debug when processing skin change requests
2023-02-08 19:47:12 +00:00
Dylan K. Taylor
7bbc04e6de
Silence PlayerSkinPacket debug messages during spawn response stage
...
the client sends its skin here in 1.19.60 for some reason, which makes no sense - I can only assume it's a bug
2023-02-08 18:55:38 +00:00
Dylan K. Taylor
ad6a423d12
Merge branch 'stable' into next-minor
2023-01-16 18:30:13 +00:00
Dylan K. Taylor
7e16f9be8f
InGamePacketHandler: handle block actions before use item transactions
...
the START_BREAK and transaction to break the block may arrive in the same packet, causing events to be fired in the wrong order.
fixes #5490
2023-01-16 17:50:11 +00:00
Dylan K. Taylor
d2eddf9d33
relocate comments
2023-01-08 20:56:51 +00:00
Dylan K. Taylor
4a3d9f8f83
Make client-aware translation handling more coherent
...
I have no clear idea why this was still using translateString(), since it's entirely unnecessary when we aren't selectively translating.
2023-01-08 16:45:57 +00:00
Dylan K. Taylor
1c96e7936c
Remove dead translation code
...
we don't translate raw string parameters anywhere else these days, so there's no reason to do so here either. The parameters array is already reduced to string[] by this point anyway.
2023-01-08 16:20:05 +00:00
Dylan K. Taylor
faaec12aaf
Update BedrockProtocol
2023-01-06 22:16:29 +00:00
Dylan K. Taylor
d3cea2ca7c
CS
2023-01-06 02:07:31 +00:00
Dylan K. Taylor
ece49f011c
Merge branch 'stable' into next-minor
2023-01-06 01:50:17 +00:00