Dylan K. Taylor
f5b4d64668
Player: increase max distance between movements to allow high levels of speed to work correctly
...
speed 255 may allow the player to move as much as 14.8 blocks per tick when sprinting.
2023-04-07 21:35:58 +01:00
Dylan K. Taylor
9037d5f16b
4.18.4 is next
2023-04-05 20:07:38 +01:00
Dylan K. Taylor
8b64ea9e65
Release 4.18.3
2023-04-05 20:07:23 +01:00
Dylan K. Taylor
2936726bf8
Fixed packets sent by EntityEventBroadcaster not firing DataPacketSendEvent
...
closes #5670
I'm not super happy with this fix, since it can still be broken if StandardPacketBroadcaster is replaced by something else. However, fixing that problem is probably going to require internal BC breaks, which are not suitable for a patch release.
2023-04-03 22:46:14 +01:00
Dylan K. Taylor
9cd07f6721
NetworkBroadcastUtils: remove dead code
...
we don't allow changing the target list anymore, since it increases internal complexity, so this code is redundant.
2023-04-03 22:37:22 +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
6e8eda4ac1
Fixed creative inventory items getting modified by ItemStackRequests
2023-04-03 22:22:21 +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
5ac0d7ae11
TimingsRecord: fixed incorrect violations calculation
...
closes #5665
2023-03-31 17:08:59 +01:00
Dylan K. Taylor
0c47455b24
Timings: ensure that Average Players count is shown properly when custom player classes are used
2023-03-30 18:12:06 +01:00
Dylan K. Taylor
a78ae73119
4.18.3 is next
2023-03-29 23:52:31 +01:00
Dylan K. Taylor
17a1266056
Release 4.18.2
2023-03-29 23:52:31 +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
beb0713a40
4.18.2 is next
2023-03-27 18:03:17 +01:00
Dylan K. Taylor
cd603e8266
Release 4.18.1
2023-03-27 18:03:16 +01:00
Dylan K. Taylor
af385668c2
InventoryManager: give more detailed information on failure to get info for held item
2023-03-27 17:55:39 +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
006cdaf6ea
RakLibInterface: log the name of the session which triggered an unhandled exception
...
this makes it easier to identify what sequence of events led up to the crash.
2023-03-26 18:56:24 +01:00
Dylan K. Taylor
acc8ae87fb
4.18.1 is next
2023-03-25 20:51:38 +00:00
Dylan K. Taylor
0e8b28716a
Release 4.18.0
2023-03-25 20:51:34 +00:00
Dylan K. Taylor
58d5126ada
InventoryManager: fixed crashes when setting contents or slots of inventories during InventoryCloseEvent (and other similar logic)
2023-03-24 13:31:30 +00:00
Dylan K. Taylor
f978c1e9a0
Merge remote-tracking branch 'origin/stable' into minor-next
2023-03-22 22:45:41 +00:00
Dylan K. Taylor
0b8193aeb3
4.17.2 is next
2023-03-22 22:35:25 +00:00
Dylan K. Taylor
00286e761c
Release 4.17.1
2023-03-22 22:35:24 +00:00
Dylan K. Taylor
b11457d605
Fixed uncaught exception when retrieving a packet from the pool
2023-03-22 22:24:25 +00:00
Dylan K. Taylor
ea386c42d3
InGamePacketHandler: fixed dropping items from unselected hotbar slots
2023-03-21 14:45:18 +00:00
Dylan K. Taylor
043e81e737
4.18.0-ALPHA3 is next
2023-03-21 00:26:19 +00:00
Dylan K. Taylor
66a4c4c88b
Release 4.18.0-ALPHA2
2023-03-21 00:26:19 +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
e7771d76f2
Cover buffered inventory sync in timings
2023-03-20 23:29:02 +00:00
Dylan K. Taylor
ecc830a689
InventoryManager: avoid calling TypeConverter::getInstance() in a loop
2023-03-20 23:24:52 +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
1992d3b6db
InventoryManager: avoid useless work in trackItemStack()
...
this attempts to accommodate slots being set to themselves, which is a rare enough occurrence (only plugins will cause it) that it doesn't make sense to penalize every inventory update this way.
attempting to avoid changing the itemstackID in this way is detrimental to performance, and it doesn't actually matter if we set a new itemstackID anyway.
2023-03-20 23:08:17 +00:00
Dylan K. Taylor
035a0a4e9d
InventoryManager: specialize trackItemStack() to avoid useless lookups
2023-03-20 22:57:58 +00:00
Dylan K. Taylor
23ea721164
Reduce packets-per-batch limit to 100
...
this should be well in excess of requirements with the ItemStackRequest system in use.
2023-03-20 22:15:02 +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
c9601ae67d
Fixed crash when opening crafting table and other 'UI' inventories
2023-03-20 22:00:38 +00:00
Dylan K. Taylor
758b5ee500
InventoryManager: fixed armor slots hack
...
the correct condition for this should be an unsynced armor slot changed during a transaction, but conveying this information to syncSlot() is a bit of a hassle, so this will do for now.
2023-03-20 21:27:56 +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
e8085e22a0
Fixed crash when opening main inventory
...
the InventoryManagerEntry was getting overwritten, since we don't expect to open the same inventory with two different window IDs.
2023-03-20 18:40:18 +00:00