12791 Commits

Author SHA1 Message Date
Dylan K. Taylor
4a3e42f82e
PlayerTransferEvent: add documentation 2022-05-21 21:21:51 +01:00
Dylan K. Taylor
8ecf9717d6
PlayerItemHeldEvent: add documentation
since some nuances of the intended behaviour were previously unclear...
2022-05-21 21:21:13 +01:00
Dylan K. Taylor
3ca80b353b
InventoryTransactionEvent: rewrite documentation 2022-05-21 21:20:11 +01:00
Dylan K. Taylor
7d172e2211
PlayerCommandPreprocessEvent: updated documentation 2022-05-21 21:07:29 +01:00
Dylan K. Taylor
e934e2bd26
PlayerDropItemEvent: updated documentation
this can be triggered by dropping an item outside of the inventory menu while the inventory window is open.
2022-05-21 21:05:27 +01:00
Dylan K. Taylor
3177d19730
PlayerKickEvent: improved woefully inadequate documentation 2022-05-21 21:03:56 +01:00
Dylan K. Taylor
82104a8251
UpdateNotifyEvent: updated documentation 2022-05-21 20:32:30 +01:00
Dylan K. Taylor
e9a17374d1
Rewrite documentation of CommandEvent
no wonder people get the idea to use this shit for banning commands ...
2022-05-21 20:29:25 +01:00
Dylan K. Taylor
c82dfef9b0
Player: fix weird behaviour when teleporting sleeping players
closes #4672
2022-05-21 20:08:12 +01:00
Dylan K. Taylor
688be0a404
Server: apply server.properties difficulty to newly generated worlds
see #5057

jury is out on whether or not this should override difficulty on preexisting worlds, but it's non-controversial that it should apply at least to newly generated worlds.
2022-05-21 18:46:38 +01:00
Dylan K. Taylor
33e6b63fe5
Explosion: remove unused local variable in explodeB() 2022-05-21 17:39:11 +01:00
Dylan K. Taylor
5d92eddc82
InventoryTransaction: provide object ID of failed action for debugging identification
closes #3235
2022-05-21 17:35:21 +01:00
Dylan K. Taylor
01b0742bd4
LightUpdate: account for virtual nodes in prepareNodes()
fixes #3959
2022-05-21 17:07:49 +01:00
Dylan K. Taylor
fcb2ccab99
NetworkSession: Sync all attributes on respawn 2022-05-21 16:22:35 +01:00
Dylan K. Taylor
a45a96b3ee
ShulkerBoxInventory: fixed inappropriate usage of BlockLegacyIds when comparing item IDS 2022-05-21 15:40:25 +01:00
ipad54
26df37e6ef
Minecart: fixed max stack size to match vanilla (#5051) 2022-05-20 16:57:48 +01:00
Dylan K. Taylor
554f96bc24
InventoryManager: Defer opening new windows to the client until the window close handshake has been completed
fixes #5021 and probably a bunch of other inventory related glitches

When the server initiates a window close, it does so by sending a ContainerClose to the client, which causes the
client to behave as if it initiated the close itself. It responds by sending a ContainerClose back to the server,
which the server is then expected to respond to.

Sending the client a new window before sending this final response creates buggy behaviour on the client, which
is problematic when switching windows. Therefore, we defer sending any new windows until after the client
responds to our window close instruction, so that we can complete the window handshake correctly.

This is a pile of complicated garbage that only exists because Mojang overengineered the process of opening and
closing inventory windows.
2022-05-20 16:54:15 +01:00
Dylan K. Taylor
0ea3861d43
Fixed paintings not working in newly generated worlds
Paintings would not work unless at least one entity was loaded from disk
(or saved).
2022-05-20 11:13:14 +01:00
Dylan K. Taylor
5abc7f866a
4.3.4 is next 2022-05-16 17:50:41 +01:00
Dylan K. Taylor
9dc2a01c2e
Release 4.3.3 2022-05-16 17:50:29 +01:00
Dylan K. Taylor
7c3b78b0a0
ItemFactory: fix missing registration for dead coral fans
closes #5032

this is evidently not an ideal solution, and something more dynamic would be preferred so that we don't have to manually register an item for every permutation.
2022-05-13 13:53:28 +01:00
Dylan K. Taylor
a913736235
fix CS 2022-05-10 14:13:01 +01:00
Dylan K. Taylor
124edeacaf
fix build 2022-05-10 14:11:46 +01:00
Dylan K. Taylor
a216f4d089
Utils: improve representation of int, float and null in stack trace parameters 2022-05-10 14:07:07 +01:00
Dylan K. Taylor
17b0e0be84
Utils: use match to clean up stringifyValueForTrace() 2022-05-10 14:04:52 +01:00
Dylan K. Taylor
81d8aed2e2
Utils: account for named variadic arguments in printableTrace() 2022-05-10 13:59:42 +01:00
Nick
69418084bc
Boat: fixed max stack size to match vanilla (#5018) 2022-05-10 13:16:04 +01:00
Dylan K. Taylor
593a4b65ea
World: fixed crash when using unloadChunk() during ChunkPopulateEvent, ChunkLoadEvent or when using ChunkListeners
I sure hope there isn't any other cases where this edge case can appear ...

closes #5022
2022-05-10 13:09:26 +01:00
Dylan K. Taylor
e1c4150dff
4.3.3 is next 2022-05-10 00:57:50 +01:00
Dylan K. Taylor
755ca1af9b
Release 4.3.2 2022-05-10 00:57:50 +01:00
Dylan K. Taylor
6e372d9e36
Entity: fixed setNameTagVisible not having immediately visible effect 2022-05-01 14:54:41 +01:00
Dylan K. Taylor
cf15a0913d
World: fixed a corner case assertion failure in generation system
This required the following:
- A generation task (taskA) to already be running for any chunk (chunkA)
- A chunk (chunkB) is requested for generation, and the task (taskB) to do the generation
  is commenced immediately
- chunkB generation promise is aborted (e.g. due to chunk unload) and
  taskB is orphaned
- chunkB is subsequently re-requested, but ends up in the generation
  queue because taskB is still running
- taskA completes and drains the generation queue
- chunkB attempts to be populated a second time, but taskB has not yet
  been collected, resulting in an assertion failure.

This bug has been appearing intermittently ever since PM 4.0 release.
For most users there is no obvious effect since production servers don't
have assertions enabled; however, it's unclear what kind of weird side
effects this bug may have had.
2022-04-28 20:23:23 +01:00
Dylan K. Taylor
33cf085692
PHPStan 1.6.3 2022-04-28 16:06:20 +01:00
Dylan K. Taylor
223893fd5c
PlayerChangeSkinEvent: remove obsolete doc comment 2022-04-24 21:56:49 +01:00
Dylan K. Taylor
a58551af5b
4.3.2 is next 2022-04-23 16:03:15 +01:00
Dylan K. Taylor
f7dce4af88
Release 4.3.1 2022-04-23 16:03:14 +01:00
ねらひかだ
27056b6c37
Player: creative players should not be damaged by the void (#4978) 2022-04-21 16:39:36 +01:00
Dylan K. Taylor
cd021f49cd
4.3.1 is next 2022-04-20 14:15:12 +01:00
Dylan K. Taylor
e4ce467c0b
Release 4.3.0 2022-04-20 14:15:06 +01:00
Dylan K. Taylor
6b4687a36b
RuntimeBlockMapping: unseal constructor to facilitate easier testing of new versions 2022-04-20 14:00:20 +01:00
Dylan K. Taylor
c085bf0db4
Changes for 1.18.30 2022-04-20 13:59:50 +01:00
Dylan K. Taylor
e0d4bd985e
4.2.11 is next 2022-04-20 13:03:25 +01:00
Dylan K. Taylor
3339225fe8
Release 4.2.10 2022-04-20 13:03:25 +01:00
Dylan K. Taylor
df33e179e5
Player: fixed chat newlines denial-of-service vulnerability
irresponsibly reported in #4974

closes #4974
2022-04-20 13:01:05 +01:00
Dylan K. Taylor
624a7dff16
4.2.10 is next 2022-04-19 16:53:12 +01:00
Dylan K. Taylor
1d314ad4ce
Release 4.2.9 2022-04-19 16:53:11 +01:00
Dylan K. Taylor
5a98b08ee8
Fixed several crashes on bad data due to inadequate TAG_List type checks 2022-04-19 16:48:18 +01:00
Dylan K. Taylor
f272986903
4.2.9 is next 2022-04-17 20:45:32 +01:00
Dylan K. Taylor
988da8eaab
Release 4.2.8 2022-04-17 20:45:32 +01:00
Dylan K. Taylor
52e3f1e269
ZippedResourcePack: ensure non-empty file
ZipArchive raises deprecation errors on empty files for some reason
2022-04-17 20:32:23 +01:00