15085 Commits

Author SHA1 Message Date
Dylan K. Taylor
8ec304e66e
BlockStateUpgradeSchema: avoid unnecessary property access and calculation
this was costing a surprisingly large 5-10% of the processing time for blockstate data.
2024-03-12 11:45:08 +00:00
Dylan K. Taylor
ac8dbf8640
BlockStateUpgrader: extract state remap to its own function 2024-03-06 12:56:49 +00:00
Dylan K. Taylor
dbc7105e5b
Merge branch 'resource-pack-ack-receipts' into minor-next 2024-03-04 15:46:31 +00:00
Dylan K. Taylor
3b97d067a3
Merge remote-tracking branch 'origin/stable' into minor-next 2024-03-04 15:40:10 +00:00
Dylan K. Taylor
5cb69e00d0
NetworkSession: remove hardcoded limit
this is already covered by the dynamic Game Packets rate limit, which is much more effective at dealing with this anyway.
2024-03-04 14:36:40 +00:00
Dylan K. Taylor
781e3643dd
Clean up 2024-03-04 14:25:47 +00:00
Dylan K. Taylor
72f3c0b4b9
NetworkSession: fixed timings not being stopped when handling uncompressed packets 2024-03-01 17:36:40 +00:00
Dylan K. Taylor
b9a1ef1357
Throttle resource pack sending using ack receipts
this isn't the best solution, as it limits the download speed somewhat, but it's relatively simple and works quite well.
closes #3127
2024-03-01 17:07:19 +00:00
Dylan K. Taylor
4abc36275c
Remove newline 2024-03-01 17:02:44 +00:00
Dylan K. Taylor
4b5ac53276
Fixes 2024-03-01 17:01:32 +00:00
Jason Wynn
90409b50d1
Allow offering different resource packs to different players (#6249)
closes #6248
2024-03-01 14:53:59 +00:00
Dylan K. Taylor
bc2abf4b15
First shot at packet ack receipt support
this will be useful for preventing resource pack sending from overloading the network.
it's not the best solution for that (since it means the RTT will limit the pack download speed), but it's easier than implementing congestion control and will work fine in most cases.
2024-03-01 14:41:53 +00:00
Dylan K. Taylor
b2c97cf2f1
5.12.1 is next 2024-02-28 18:14:41 +00:00
Dylan K. Taylor
a35c3406a8
Release 5.12.0 2024-02-28 18:14:37 +00:00
Dylan K. Taylor
98042f844f
Merge remote-tracking branch 'origin/stable' into minor-next 2024-02-28 17:36:21 +00:00
Dylan K. Taylor
a0cca53f52
Fixed mismatched predictions due to NBT key order differences
this is a pain :(
It appears the client always sorts the keys in alphabetical order due to use of std::map. However I'm not sure of the exact ordering behaviour, so it needs to be investigated.
2024-02-27 16:07:43 +00:00
Dylan K. Taylor
efd113bdc8
Integrate pmmp/BedrockProtocol@65b3d0b341 2024-02-26 17:09:09 +00:00
Dylan K. Taylor
34a5f91aa9
5.11.3 is next 2024-02-26 14:45:48 +00:00
Dylan K. Taylor
aee3656415
Release 5.11.2 2024-02-26 14:45:47 +00:00
Dylan K. Taylor
47f0119660
InGamePacketHandler: added an extra check 2024-02-26 14:35:21 +00:00
Dylan K. Taylor
b744e09352
5.11.2 is next 2024-02-23 14:19:02 +00:00
Dylan K. Taylor
7b89dda420
Release 5.11.1 2024-02-23 14:19:01 +00:00
Dylan K. Taylor
db665fefdb
Harden JsonMapper defaults in general 2024-02-23 14:10:24 +00:00
Dylan K. Taylor
6872661fd0
Harden JsonMapper on login JSON handling 2024-02-23 14:10:02 +00:00
IvanCraft623
920341668f
Implemented working Name tag (#5209) 2024-02-19 18:46:48 +00:00
Dylan K. Taylor
4fab518384
PluginManager: do not accept generator functions as event handlers
closes #4912

I didn't merge the original PR because this needs to be checked for explicitly registered handlers as well as auto-detected ones from listeners.
2024-02-19 16:53:53 +00:00
Dylan K. Taylor
2616d8c5ad
New biome IDs, courtesy of build/generate-biome-ids 2024-02-19 16:10:46 +00:00
Javier León
db894e3a4a
Fixed Utils::cloneObjectArray() template signature (#6255) 2024-02-16 16:52:10 +00:00
Dylan K. Taylor
644693ffee
Merge branch 'minor-next' into major-next 2024-02-12 11:55:36 +00:00
Dylan K. Taylor
d211392b67
Merge remote-tracking branch 'origin/stable' into minor-next 2024-02-12 11:46:48 +00:00
Dylan K. Taylor
eaab1a8784
ChunkSerializer: fixed count calculation for non-overworld chunks
plugins that implement dimensions can't change the number of subchunks used by Chunk, they can only choose to use a subset of them.
2024-02-07 18:58:41 +00:00
Dylan K. Taylor
169d3e0de8
5.11.1 is next 2024-02-07 13:01:30 +00:00
Dylan K. Taylor
ce8fecc6ec
Release 5.11.0 2024-02-07 13:01:30 +00:00
Dylan K. Taylor
4fcb644c51
Added missing imports 2024-02-07 12:51:39 +00:00
Dylan K. Taylor
fe06bfcda0
Import alias cleanup courtesy of newest php-cs-fixer 2024-02-07 12:50:37 +00:00
Dylan K. Taylor
8c7a4d720a
Fixed inconsistent global namespace reference 2024-02-07 12:46:11 +00:00
Dylan K. Taylor
6492e7f4a2
1.20.60 support 2024-02-07 12:33:44 +00:00
ShockedPlot7560
6bb84bc46c
Add Promise::all (#6152) 2024-02-06 12:42:24 +00:00
IvanCraft623
f207d1bbf2
Make CocoaBlock Flowable (#6218) 2024-02-05 12:36:09 +00:00
Dylan K. Taylor
c6a09e5ed8
Merge branch 'stable' into minor-next 2024-01-09 16:17:55 +00:00
Dylan K. Taylor
e77cd39316
ItemBlock: add a workaround for air items with a stack size bigger than 0
In the future we should look into making empty slots be represented by null or a different, special item type, instead of breaking the air block for this purpose.

closes #6185
closes #6016
2024-01-09 15:55:41 +00:00
Dylan K. Taylor
a459e3c1a9
Block: improve some documentation 2024-01-09 13:35:36 +00:00
Dylan K. Taylor
288bd4018b
Block: deprecate isSolid()
As discussed many years ago in #2551, no one actually knows what this property actually means. It definitely isn't the conventionally expected definition of 'solid' found in the real world, as signs are solid but flower pots are not.
2024-01-09 13:35:10 +00:00
Dylan K. Taylor
9b03b082ab
Added --version option 2024-01-09 13:04:14 +00:00
Ayesh Karunaratne
db3bb55a2b
Change PHP_DEBUG constant usage to ZEND_DEBUG_BUILD
In PHP 8.4, the type of `PHP_DEBUG` changes from `int` to `bool`.
See [PHP.Watch: PHP 8.4: `PHP_ZTS` and `PHP_DEBUG` constant value type changed from `int` to `bool`](https://php.watch/versions/8.4/PHP_ZTS-PHP_DEBUG-const-type-change).

This changes the constants to `ZEND_DEBUG_BUILD`, which contains the same value but as a `bool` across all PHP versions.

closes #6222
2024-01-09 12:30:24 +00:00
Dylan K. Taylor
8372c9efc2
Merge branch 'stable' into minor-next 2024-01-09 12:27:25 +00:00
GameParrot
5386e86079
ProcessLoginTask: remove old root key (#6211) 2024-01-03 12:50:05 +00:00
Dylan K. Taylor
1b0ef468f3
CommonThreadPartsTrait: remove outdated documentation
This is now automatically called by the final run(), and the user now only needs to implement onRun(), so they have no business calling this function.
2023-12-21 13:09:05 +00:00
Dylan K. Taylor
b69843a8bd
CommonThreadPartsTrait: add common implementation of quit()
there's no need for the worker specialization here (isShutdown and shutdown are aliased to isJoined and join respectively), and the unstacking is not really desirable either as we previously learned with AsyncPool.
2023-12-21 12:56:51 +00:00
Dylan K. Taylor
03619ebca9
Thread/Worker: Remove duplicated code
Despite the comments, there doesn't seem to be an obvious reason for these to be copy-pasted. Perhaps there was some legacy reason for this with legacy pthreads.
In fact, it looks likely that quit() will probably be able to be traitified too.
2023-12-21 12:44:03 +00:00