12772 Commits

Author SHA1 Message Date
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
Dylan K. Taylor
4c9d2a989e
cs again 2022-04-17 19:32:30 +01:00
Dylan K. Taylor
022db5cbe3
NetworkSession: compare usernames case-insensitively
the current data management system uses case-insensitive names, so we can't allow different players with the same name in different cases to join, or we will have duplication exploits.

This typically only applies to offline servers, since Xbox Live doesn't permit reuse of a username, same case or otherwise.

closes #4965
2022-04-17 19:28:10 +01:00
Dylan K. Taylor
3bbf558883
4.2.8 is next 2022-04-15 16:36:47 +01:00
Dylan K. Taylor
1d68d9f71a
Release 4.2.7 2022-04-15 16:36:42 +01:00
Dylan K. Taylor
f2e8824242
fix CS 2022-04-15 16:24:15 +01:00
Dylan K. Taylor
a0e47b5a64
phpstan 1.5.6 2022-04-15 16:21:05 +01:00
Rush2929
741182c55f
InGamePacketHandler: skip processing movement if the player's position
was changed during processing other properties (#4913)

fixes #4952
2022-04-10 21:02:45 +01:00
Dylan K. Taylor
2efce35331
PluginManager: fixed updating disabled scheduler when plugins cause other plugins to be disabled from within scheduled tasks 2022-04-10 21:00:16 +01:00
Dylan T
d1dfbd95e2
Entity: workaround teleport client bug #4394 by despawning and respawning the entity (#4870)
this is a sucky solution but it works well enough for this scenario.

From my research it appears that while the client-side MovementInterpolator is active on the client and hasn't yet reached its target, any teleport sent during the lerp will get overridden by the lerp.
This appears to last 3-4 ticks (about 150-200 ms) which explains why this can be reproduced by stopping movement just before the ender pearl lands (human reaction times would make the reproduction unreliable otherwise).

Things to note:
- All entities are affected by this bug.
- MovePlayerPacket appears not to have the problem, but we can't use it because it doesn't work for non-players.
- MoveActorAbsolute and MoveActorDelta are both handled by the same code and will have the same lerping bug.

This is the cleanest solution I could come up with.
2022-04-08 23:12:01 +01:00
Dylan K. Taylor
ea677154cb
InGamePacketHandler: rely exclusively on prediction mismatch checking to re-sync slots during bad transactions
fixes #4894
closes #4926
relying on the core code to guess which slots should be synced is unreliable at best.
2022-04-04 21:58:19 +01:00
Armen Deroian
f924208881
Update PlayerPreLoginEvent documentation (#4940)
Removed outdated documentation that was very misleading. Replaced with better documentation that accurately describes how to cancel the event.
2022-04-03 17:59:07 +01:00
Dylan K. Taylor
ac3a6033b9
PluginManager: account for possible abstract main classes
idk why anyone does this, but it shouldn't cause a core crash ...
2022-04-01 23:42:37 +01:00
Dylan K. Taylor
d7e6b01216
4.2.7 is next 2022-04-01 23:01:15 +01:00
Dylan K. Taylor
26aee7ff73
Release 4.2.6 2022-04-01 23:01:15 +01:00
Dylan K. Taylor
8cc7fb9dd9
fix CS 2022-03-28 17:16:35 +01:00
Dylan K. Taylor
194cb1fb84
phpstan 1.5.1 2022-03-28 17:12:00 +01:00
Dylan K. Taylor
8ea106c091
4.2.6 is next 2022-03-28 16:35:10 +01:00
Dylan K. Taylor
a6cb3313b0
Release 4.2.5 2022-03-28 16:34:57 +01:00
Dylan K. Taylor
c6374b79b0
Improve crashdump ergonomics
hopefully this will result in less people making useless pastes that don't contain backtraces ...
2022-03-24 19:46:11 +00:00