15822 Commits

Author SHA1 Message Date
Dylan K. Taylor
a9f06fc5f4
Replaced hardcoded record.nowPlaying with KnownTranslationKeys 2023-01-13 17:27:57 +00:00
Dylan K. Taylor
dff3f45d22
Constify more tick-related things 2023-01-13 16:29:09 +00:00
Dylan K. Taylor
1e17d86421
Constify server TPS and server tick time
this makes it significantly easier to perform experiments involving the server TPS.
2023-01-13 16:03:15 +00:00
Dylan K. Taylor
ba18a81e88
NetworkSession: fixed rate limit getting exhausted after 2.5 seconds during PvP 2023-01-13 15:28:03 +00:00
Dylan K. Taylor
329c2a6c0f
Merge branch 'stable' into next-minor 2023-01-12 22:17:00 +00:00
Dylan K. Taylor
39218017ca
Fixed walls and thin blocks not connecting to each other
closes #5498
2023-01-12 22:16:41 +00:00
Dylan K. Taylor
fc487b17be
DumpMemoryCommand: use localized description 2023-01-12 22:10:13 +00:00
Dylan K. Taylor
91ac47ecba
Merge branch 'stable' into next-minor 2023-01-12 21:47:37 +00:00
Dylan K. Taylor
f4a1d69075
Bell: fixed support requirements
this somehow got overlooked in the support types refactor.
2023-01-12 21:45:25 +00:00
Dylan K. Taylor
cbeae906e1
Torch: remove unused variable 2023-01-12 21:34:44 +00:00
Dylan K. Taylor
b25e8e26f0
BaseBanner: fixed incorrect support requirements 2023-01-12 21:31:50 +00:00
Dylan K. Taylor
a79be994de
World: fixed block placement when clicking on replaceable blocks
in vanilla, it appears to behave as if the player always clicked on the up face if a block was replaced.

In PM, we were still using the original face, which caused bugs when, for example, placing a button next to a wall by clicking on the side of tallgrass. The button would replace the tallgrass, but stick to the wall, instead of placing itself on the ground like vanilla expects.

This may appear unusual to anyone who also happens to implement canBePlacedAt(), since the facing behaviour will be different. However, this behaviour appears to match vanilla, and even slabs (which I feared might break because of this change) work perfectly.

In the future, it may be desirable to pass some other value here, such as null, to indicate that the clicked block is being replaced. However, that's a BC break and therefore outside of the scope of a stable bug fix.
2023-01-12 21:11:48 +00:00
Dylan K. Taylor
e26c8b9e9f
block: eliminate suspicious usages of $blockClicked in place() 2023-01-12 20:35:26 +00:00
Dylan K. Taylor
4e9c3e101d
Bell: fixed blocks not being able to be placed when not ringing the bell 2023-01-12 19:42:33 +00:00
Dylan K. Taylor
d295e1be54
PressurePlate: destroy self when no support is present 2023-01-12 19:36:47 +00:00
Dylan K. Taylor
2f3fcef97c
Fixed blocks incorrectly using blockClicked for support checks
this caused some interesting bugs, such as being able to place floating pressure plates by clicking on the side of a solid block halfway up a wall.
2023-01-12 19:36:23 +00:00
Dylan K. Taylor
4df1f7f502
Updated composer dependencies (next-minor) 2023-01-12 19:03:55 +00:00
Dylan K. Taylor
d74719704e
Merge branch 'stable' into next-minor 2023-01-12 19:02:07 +00:00
Dylan K. Taylor
c5056e0a43
phpstan 1.9.11 2023-01-12 19:01:57 +00:00
Dylan K. Taylor
a47aa50477
Update composer dependencies 2023-01-12 18:59:18 +00:00
Dylan K. Taylor
5021096bdd
Fixed walls and thin blocks not connecting to each other
closes #5498
2023-01-09 20:46:57 +00:00
Dylan K. Taylor
f7930a3a0b
4.12.9 is next 2023-01-09 00:04:40 +00:00
Dylan K. Taylor
bb7df60a4d
Release 4.12.8 4.12.8 2023-01-09 00:04:40 +00:00
Dylan K. Taylor
992cb06da6
NetworkSession: fixed rate limit not being increased correctly on Windows
due to the 15ms scheduler interval, the server will often sleep 45ms instead of 50ms, which causes the budget not to get updated.
2023-01-09 00:01:56 +00:00
Dylan K. Taylor
bb3f87f862
NetworkSession: allow 2 batches per tick
apparently InventoryTransactionPacket may arrive outside of the normal update cycle, since it's prioritized to reduce latency.
2023-01-09 00:00:39 +00:00
Dylan K. Taylor
d2eddf9d33
relocate comments 2023-01-08 20:56:51 +00:00
Dylan K. Taylor
81ca0c8fbf
Language: do not parse translations if the text was a plain key
this unintentionally allowed translations to reference other translations 1 level deep, which is not desired behaviour.
This also improves performance for the cases where formatting isn't used.
2023-01-08 20:56:12 +00:00
Dylan K. Taylor
fc77b14760
4.12.8 is next 2023-01-08 20:23:18 +00:00
Dylan K. Taylor
52b6f1a492
Release 4.12.7 4.12.7 2023-01-08 20:23:15 +00:00
Dylan K. Taylor
0233e74f4f
NetworkSession: micro optimisation - do not check if a debugger is active unless the packet limit is exceeded 2023-01-08 19:45:14 +00:00
Dylan K. Taylor
dd355c58d8
NetworkSession: fix CS 2023-01-08 19:35:43 +00:00
Dylan K. Taylor
267032cff9
NetworkSession: do not rate limit packets if a debugging session is active 2023-01-08 19:31:39 +00:00
Dylan K. Taylor
d4b8c47a65
Language: document poorly-named function parseTranslation() 2023-01-08 16:46:25 +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
6cecd690b2
CS 2023-01-07 21:33:53 +00:00
Dylan K. Taylor
91e38d1f97
NetworkSession: compensate for server lag in batch budgeting 2023-01-07 21:33:34 +00:00
Dylan K. Taylor
653178c1fd
4.12.7 is next 2023-01-07 16:22:01 +00:00
Dylan K. Taylor
eb06535ed1
Release 4.12.6 4.12.6 2023-01-07 16:22:01 +00:00
Dylan K. Taylor
f9bcc8e862
NetworkSession: added a rate-limit for incoming batches 2023-01-07 16:19:02 +00:00
Dylan K. Taylor
faaec12aaf
Update BedrockProtocol 2023-01-06 22:16:29 +00:00
Dylan K. Taylor
1123a5aa23
InventoryManager: Track predictions using ItemStack directly, instead of internal Item
this removes the need for deserializing network itemstacks to core items, thereby eliminating a whole bunch of potential security issues.
2023-01-06 20:45:08 +00:00
Dylan K. Taylor
8633804f15
InventoryManager: disentangle slot tracking from slot syncing 2023-01-06 20:26:19 +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
Dylan K. Taylor
5d6dba96af
Merge branch 'stable' into item-stack-request 2023-01-06 01:47:27 +00:00
Dylan K. Taylor
f43ca405d4
4.12.6 is next 2023-01-06 00:44:58 +00:00
Dylan K. Taylor
d146175d27
Release 4.12.5 4.12.5 2023-01-06 00:44:58 +00:00
Dylan K. Taylor
3baa5ab712
InGamePacketHandler: removed obsolete workaround 2023-01-06 00:41:57 +00:00
Dylan K. Taylor
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