14691 Commits

Author SHA1 Message Date
Dylan K. Taylor
f03afba10e
Merge branch 'minor-next' into major-next 2023-03-11 22:13:31 +00:00
Dylan K. Taylor
fa7c38276c
Fixing gigantic clusterfuck with protocol contexts and broadcasting
fixes #5623
2023-03-11 21:54:14 +00:00
Dylan K. Taylor
b13e97de3d
Timings: fixed receivePacket timer showing 2x the actual number of received packets 2023-03-11 19:13:10 +00:00
Dylan K. Taylor
9b1ec261c4
... 2023-03-08 22:20:12 +00:00
Dylan K. Taylor
6151576baa
Added model for smithing recipe 2023-03-08 21:50:03 +00:00
Dylan K. Taylor
fff8f0f815
Use Item->canStackWith() instead of Item->equals() wherever possible 2023-03-07 17:08:35 +00:00
Dylan K. Taylor
867b8945e4
5.0.0-BETA2 is next 2023-03-07 16:51:57 +00:00
Dylan K. Taylor
9e329d55a8
Release 5.0.0-BETA1 2023-03-07 16:51:53 +00:00
Dylan K. Taylor
3aec0fa3df
4.16.1 is next 2023-03-07 16:19:51 +00:00
Dylan K. Taylor
fa131dab12
Release 4.16.0 2023-03-07 16:19:50 +00:00
Dylan K. Taylor
8933064cd5
Fixed missing blockstate upgrader 2023-03-06 17:02:33 +00:00
Dylan K. Taylor
6db2b022fb
Merge branch 'next-minor' into next-major 2023-03-04 16:58:03 +00:00
Dylan K. Taylor
e227e6d8bf
Merge branch 'stable' into next-minor 2023-03-04 16:55:56 +00:00
Dylan K. Taylor
035d4b7263
MemoryManager: stringify floats, fixes #5598 2023-03-04 16:47:58 +00:00
Dylan K. Taylor
3db1492c18
Fix CS again 2023-03-04 16:43:29 +00:00
Dylan K. Taylor
a523189149
Added separate timings for broadcast and session buffer compression 2023-03-04 16:41:41 +00:00
Dylan K. Taylor
f8893efb94
Don't bother with global batch compression if there is only 1 recipient
this allows the session to achieve better ratios, and also reduces worker pool spam.
2023-03-04 16:34:00 +00:00
Dylan K. Taylor
eb2f0ed3d0
4.16.0-BETA3 is next 2023-03-04 16:19:34 +00:00
Dylan K. Taylor
14e7d3e143
Release 4.16.0-BETA2 2023-03-04 16:19:34 +00:00
Dylan K. Taylor
6d636fc2c7
4.16.0-BETA2 is next 2023-03-04 16:18:04 +00:00
Dylan K. Taylor
a39f61a33d
Release 4.16.0-BETA1 2023-03-04 16:18:01 +00:00
Dylan K. Taylor
5eeb63f64b
always the CS ... 2023-03-04 15:52:57 +00:00
Dylan K. Taylor
b9d62de29d
Pack wall connections into 7 bits for runtime data encoding 2023-03-04 15:47:34 +00:00
Dylan K. Taylor
aaec21f544
Compressor: Use minCompressionThreshold exclusively
closes #5589
2023-03-04 15:07:50 +00:00
Dylan K. Taylor
95c18ef99a
Block: change confusing naming of decode/computeStateData
these actually accept a combination of type and state data, so it's a bit inconsistent with other references to 'state data'.
2023-03-02 17:42:44 +00:00
Dylan K. Taylor
972f107972
Block: added documentation for describeType() and describeState() 2023-03-02 17:31:52 +00:00
Dylan K. Taylor
e15e53859f
tidy 2023-03-02 17:25:48 +00:00
Dylan K. Taylor
4692552fdc
Block: improve documentation of type ID and state ID 2023-03-02 16:32:33 +00:00
Dylan K. Taylor
cbb58d3e0d
Block: reduce method placement chaos 2023-03-02 16:23:40 +00:00
Dylan K. Taylor
7c974a12e1
Revert "ItemBlock: drop the charade about overriding built-in block types"
This reverts commit f64dc01bd1c14ff3f79bd6c18d0c337dbc0e87e0.

I forgot that the ItemBlock constructor implicitly strips off any states
of the origin block, which is something that we unfortunately can't do
any other way right now, since the blocks don't remember their default
states.
2023-03-02 15:51:55 +00:00
Dylan K. Taylor
f64dc01bd1
ItemBlock: drop the charade about overriding built-in block types
this allows cleaning up a whole lot of abusable mess from the API, and we never properly supported overriding built-in block types anyway.
2023-03-02 15:50:18 +00:00
Dylan K. Taylor
33140482bb
ItemTypeIds: added fromBlockTypeId() and toBlockTypeId()
this allows checking the type of a blockitem without being required to create a block to do it.
2023-03-02 15:28:50 +00:00
Dylan K. Taylor
77fe0a69ba
ItemIdentifier: remove dead TODO comment 2023-03-02 15:10:46 +00:00
Dylan K. Taylor
948aa059c3
ÂCommand: fixed inconsistent API method name 2023-03-02 15:09:52 +00:00
Dylan K. Taylor
407b78de3b
Merge branch 'next-minor' into next-major 2023-02-28 19:25:05 +00:00
Dylan K. Taylor
0fcd2e7894
Merge branch 'stable' into next-minor 2023-02-28 19:23:25 +00:00
Dylan K. Taylor
e7209679fb
... 2023-02-24 22:23:00 +00:00
Dylan K. Taylor
d92173cded
4.15.3 is next 2023-02-24 22:18:34 +00:00
Dylan K. Taylor
308cdb6863
Release 4.15.2 2023-02-24 22:18:34 +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
7608d5f04e
Use BedrockDataFiles in more places 2023-02-23 22:03:35 +00:00
Dylan K. Taylor
c82b43a586
Merge branch 'next-minor' into next-major 2023-02-23 22:00:14 +00:00
Dylan K. Taylor
f704bfb63a
Use BedrockData 2.0.0 2023-02-23 21:52:17 +00:00
Dylan K. Taylor
9acb4d64db
Added generated constants for available BedrockData files
this makes it easier to detect unused files, detect removed files, and also avoid typos in usages.
2023-02-23 21:45:12 +00:00
Dylan K. Taylor
5854b1c8c2
Merge branch 'next-minor' into next-major 2023-02-22 22:51:51 +00:00
Dylan K. Taylor
8234360c8d
Avoid creating batch buffers just to determine whether a batch should be globally compressed
Instead, sum together the lengths of encoded packet buffers and use that to decide whether to build the buffer or not.
2023-02-22 22:43:10 +00:00
Dylan K. Taylor
6a64486f55
StandardPacketBroadcaster: Improve performance when broadcasting small packets
In refactors during PM4, I stripped out packet buffer caching, as it was problematic when events alter packets in undetectable ways.
However, I never cleaned this part of the code up properly after enabling DataPacketSendEvent to include multiple packets and multiple targets, so we were still individually encoding the packet(s) for every single session if the sum total of the sizes was below 256 bytes.

This change encodes packets once in the StandardPacketBroadcaster and retains their buffers to post to the session's send buffer directly if the resulting batch is below compression threshold.
This code is still not optimal (see ##5589), but fixing this brings broadcasting performance back to PM3 levels, without any of PM3's problems.
2023-02-22 21:52:12 +00:00
Dylan K. Taylor
737a63b0a3
Merge branch 'next-minor' into next-major 2023-02-21 18:33:03 +00:00
Dylan K. Taylor
75bb4f8da6
Merge branch 'stable' into next-minor 2023-02-21 18:32:58 +00:00
Dylan K. Taylor
efdd7a186d
World: fixed population timer sometimes not being stopped 2023-02-21 18:31:33 +00:00