ccd288d7fa
Avoid repeated calls to getItemInHand() in drop item handler
2023-03-21 00:04:29 +00:00
097632902a
InGamePacketHandler: fixed crash condition in drop item handler
2023-03-21 00:02:32 +00:00
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
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
c91168db66
...
2023-03-20 01:35:15 +00:00
4e55433ed8
Fixed request rejecting
2023-03-20 01:35:03 +00:00
eece6c4433
InGamePacketHandler: remove dead code
2023-03-20 01:28:18 +00:00
804feedb67
Added some dumb limits
2023-03-20 00:54:33 +00:00
7b0816e42f
Properly handle transaction building errors instead of kicking the player
2023-03-20 00:52:26 +00:00
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
a573a279fa
Merge branch 'minor-next' into item-stack-request
2023-03-14 22:25:49 +00:00
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
40b90bb722
InGamePacketHandler: log a debug when processing skin change requests
2023-02-08 19:47:12 +00:00
ad6a423d12
Merge branch 'stable' into next-minor
2023-01-16 18:30:13 +00:00
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
ece49f011c
Merge branch 'stable' into next-minor
2023-01-06 01:50:17 +00:00
5d6dba96af
Merge branch 'stable' into item-stack-request
2023-01-06 01:47:27 +00:00
3baa5ab712
InGamePacketHandler: removed obsolete workaround
2023-01-06 00:41:57 +00:00
b24eb153f9
Constrain inventory transaction predictions
...
these are now only used for actions done with a closed inventory window. This means that they can only predict the slots of inventory, offhand and armor (total 41 slots) and perhaps include some DropItem actions.
2023-01-05 21:18:30 +00:00
eedc943766
Confine legacy transaction handling to dropping items only
2023-01-05 17:23:50 +00:00
5fdbb19852
Fixed a whole bunch of issues with legacy transactions
2023-01-04 00:13:51 +00:00
d8d236842f
Fixed merge error
2023-01-03 19:54:41 +00:00
f51717323b
Merge branch 'stable' into item-stack-request
2023-01-03 19:53:25 +00:00
0e4b79ea77
InGamePacketHandler: fixed client-side predictions not getting rolled back for block placementÂ
2023-01-03 19:43:21 +00:00
b312e93176
Limit list max size in transactions
...
this duct tape is to limit the impact of a security vulnerability being actively exploited.
2023-01-02 22:59:48 +00:00
0d31b25fba
Use str_starts_with and str_contains instead of strpos ( #5482 )
2022-12-30 21:41:30 +00:00
bf44edd179
Constify a bunch of NBT keys, pass 1
2022-12-18 22:12:15 +00:00
1cefe24414
InGamePacketHandler: fixed transaction predictions not getting rolled back for failed use/release/interact transactions
...
this was caused by b5cfab497d
.
2022-12-10 21:16:08 +00:00
b5cfab497d
Clean up inventory content syncing, fixes #5441
...
these remnants should have been cleaned up in 4.11, but I somehow managed to skip over them.
2022-12-04 23:05:30 +00:00
0039af984d
Merge branch 'next-minor' into item-stack-request
2022-10-16 16:56:26 +01:00
89e29448ee
Merge branch 'stable' into next-minor
2022-09-20 20:18:06 +01:00
d459afaa54
fix CS
2022-09-20 20:00:40 +01:00
db586233da
Changes for 1.19.30 support
2022-09-20 19:50:27 +01:00
3235d128e5
Fixed handling of fake requests during block placement and other actions
2022-08-18 18:25:49 +01:00
2b7510945a
First look at ItemStackRequest usage (very unstable)
2022-08-18 17:38:57 +01:00
f7ab0a3b92
Merge branch 'stable' into next-minor
2022-08-14 18:37:56 +01:00
df7a1fcba6
Changes for 1.19.20
2022-08-09 19:06:05 +01:00
16ed16722a
Merge branch 'stable' into next-minor
2022-07-24 21:21:37 +01:00
5d9f783037
InGamePacketHandler: do not update player rotation if it didn't change
...
setRotation() does an alarmingly large amount of work...
2022-07-24 21:07:35 +01:00
01ca14c314
InGamePacketHandler: avoid processing movement if position is unchanged since last tick
2022-07-24 21:00:12 +01:00
c26631d06d
InGamePacketHandler: avoid useless object allocations when forceMoveSync=false (99.9% of the time)
2022-07-24 20:44:27 +01:00
b75bc61a64
InGamePacketHandler: don't bother checking for flag changes if the flag fields are identical
...
we don't need to check this on a bit by bit level if the integers are the same.
this saves 2-3 microseconds per packet on my machine, which doesn't sound like much, but it adds up when there are lots of players.
2022-07-24 20:35:49 +01:00
3724479be3
InGamePacketHandler: improve performance of input flag resolving
2022-07-24 20:33:35 +01:00
e00f8e3a32
Merge branch 'stable' into next-minor
2022-07-14 20:59:06 +01:00
e2855aadff
Simplify handling of broken transactions for crafting and friends
...
this allows stuff like smithing tables to work without needing any extra hacks.
Implementing enchanting or anvils would require some extra work, but I don't plan to implement those under the legacy transaction system anyway.
2022-07-14 20:50:06 +01:00
c7133bc2e6
InGamePacketHandler: don't kick the player out of inventory windows on actor events
...
this is sent when the player crafts something using an anvil.
2022-07-14 20:36:11 +01:00
06655bee78
Updated to 1.19.10
2022-07-13 00:59:49 +01:00
4ec97d0f7a
InGamePacketHandler: added missing break
...
I'm getting sloppy ...
2022-06-07 17:52:59 +01:00
016a80bb70
1.19.0 changes
2022-06-07 17:47:13 +01:00
38d6284671
Use PHP-CS-Fixer to enforce file header presence
2022-06-04 17:34:49 +01:00