14439 Commits

Author SHA1 Message Date
Dylan K. Taylor
e6de9a70a2
Release 5.2.0 2023-07-04 15:58:09 +01:00
Dylan K. Taylor
a34514c6a1
RuntimeDataDescriber: document that this is a sealed interface 2023-07-04 15:56:03 +01:00
Dylan K. Taylor
3abd592b1f
Update to pmmp/BedrockBlockUpgradeSchema@3.0.0 2023-07-03 18:07:51 +01:00
Dylan K. Taylor
644b417d2c
BlockStateData: added auxiliary toVanillaNbt() helper method
toNbt() adds PM version metadata, which might not always be desired.
2023-07-03 14:05:17 +01:00
Dylan K. Taylor
a2a7006878
Merge branch 'stable' into minor-next 2023-07-01 12:25:11 +01:00
Dylan K. Taylor
41281db6a5
5.1.4 is next 2023-07-01 12:18:13 +01:00
Dylan K. Taylor
2278275505
Release 5.1.3 2023-07-01 12:18:10 +01:00
Dylan K. Taylor
24b74a96eb
Merge branch 'legacy/pm4' into stable 2023-07-01 11:52:42 +01:00
Dylan K. Taylor
249ef9c534
ProcessLoginTask: remove old key expiry
since we don't have a hard date for this, and I've already made one wrong educated guess, I'd rather not have another massive outage.
A security update will have to be made to remove the old key as soon as the new one is rolled. This is not ideal, but it's the least disruptive option.
2023-07-01 11:41:04 +01:00
Dylan K. Taylor
f4dab17a1b
Added deprecation notices 2023-07-01 10:29:14 +01:00
Dylan K. Taylor
c165670e0a
Added support for using and generating blockstate upgrade schemas using newFlattenedName rules
see pmmp/BedrockBlockUpgradeSchema@f426fccbee
2023-06-26 16:20:01 +01:00
Dylan K. Taylor
2654fb294b
Merge branch 'stable' into minor-next 2023-06-26 16:08:22 +01:00
Dylan K. Taylor
ad67fb7291
BlockStateUpgradeSchemaModelBlockRemap: added missing @required tag 2023-06-24 16:22:29 +01:00
Dylan K. Taylor
c06763c59b
Fixed crash in CakeWithCandle when block-picking 2023-06-23 12:55:47 +01:00
Dylan K. Taylor
36f52f1ade
AsyncTask: remove ArrayObject hack
this is no longer a concern with pmmpthread + PHP 8.1 and up. The behaviour that caused statics to be inherited was caused by bugs in PHP 8.0 and below, which have now been fixed.
2023-06-22 13:58:48 +01:00
Dylan K. Taylor
0240d35c05
AsyncTask and AsyncPool no longer tolerate uncaught errors in tasks
Since task execution depends on tasks executing sequentially on a particular worker in some cases (e.g. PopulationTask must be preceded by GeneratorRegisterTask), it doesn't make sense to continue task execution if an error occurs.
Moreover, a task crashing may render the whole server unstable, as it leaves the server in an undefined state. This is the same kind of problem we fixed with scheduled tasks in PM3.

In versions past, pthreads was unreliable enough that random tasks would crash without an obvious reason, forcing us to accommodate this. I still don't know the origin or frequency of said issues, but I think it's time to rip the band-aid off and solve these problems for real.
2023-06-22 13:29:36 +01:00
Dylan K. Taylor
8dedbb7471
World: clamp clickVector components from 0-1
this ensures that #5827 won't randomly start crashing if clients give bad values.
2023-06-21 16:59:14 +01:00
Dylan K. Taylor
6f82942c64
Block: document onInteract() clickVector 2023-06-21 16:57:39 +01:00
Dylan K. Taylor
9d0d60afd1
BlockPlaceEvent: ensure that getPosition() is always correct
since BlockTransaction was designed to be World-agnostic, it can't position() any blocks, since Position requires a World.

This workaround is the best we can do for now; however, it would probably be wise to deprecate getTransaction() in favour of a dedicated getBlocks() method which takes care of this, as BlockPlaceEvent is currently quite obnoxious to use.
2023-06-21 15:36:48 +01:00
Artem Vasyagin
391732f00c
Fix Player->setGamemode() doc comment (#5848)
this has been outdated likely since the 1.3 alpha days.
2023-06-21 09:29:48 +01:00
Dylan K. Taylor
ad3f854701
Register aliases for new cherry wood blocks 2023-06-20 12:59:16 +01:00
ShockedPlot7560
64e09525f3
Added timings for AsyncTask completion handlers, progress updates and error handlers (#5798)
closes #5749
2023-06-20 12:38:45 +01:00
Dylan K. Taylor
774f92435a
StringToItemParser: added underwater_tnt alias 2023-06-20 12:34:16 +01:00
Dylan K. Taylor
eb9f804781
ÂBedrockWorldData: throw less confusing errors on missing version tags 2023-06-19 12:22:50 +01:00
ace
bccda4fe44
Implement Piglin Head (#5839) 2023-06-19 12:07:49 +01:00
Dylan K. Taylor
8f48f8a596
Added missing cherry door item, closes #5817 2023-06-13 18:18:13 +01:00
Dylan K. Taylor
288ebfa08a
Fixed a bunch of item IDs being missing
these items were all pretending to be blockitems when I dumped data, and I wasn't aware that they'd been omitted.
2023-06-13 18:15:47 +01:00
Dylan K. Taylor
a3046eb6fa
Merge branch 'stable' into minor-next 2023-06-13 18:06:06 +01:00
Dylan K. Taylor
ff0199cdf8
Fixed blue candle being missing from the creative inventory
this coincidentally fixes mangrove doors being tagged with unwanted blockstate runtime IDs. Their items client-side are not actually blockitems, so the client doesn't expect them to have blockstate IDs attached.
This reduces the chaos in the creative inventory slightly (for some reason the client responds to this stuff by putting random creative items in the wrong places), but the mess is still substantial and I don't know what caused the rest of it.

closes #5818

technically we shouldn't be breaking BC of internals signatures in a patch release, but it's internals, and that's an unwritten rule anyway. In any case, no one is likely to be affected.
2023-06-13 18:03:10 +01:00
Dylan T
df4a8d4788
AsyncTask: lazy-init progressUpdates (#5806)
this is only possible since pthreads 5.1 and pmmpthread

the performance cost of this one ThreadSafeArray allocation is 30% of the total cost of allocating an AsyncTask object on Windows, which is enormous.

In past versions we couldn't lazily initialize it, because the object might get destroyed before the main thread had a chance to dereference it, leading to a crash when collecting completed tasks. This is no longer an issue thanks to object rescue behaviour implemented in pthreads 5.1.
I think this is probably OK in terms of thread-safety, as only one thread writes the property.
2023-06-11 14:45:44 +01:00
ItsZodiaX
1b35c352cc
StandardEntityEventBroadcaster: Accepting PacketBroadcaster interface instead of StandardPacketBroadcaster (#5813) 2023-06-11 13:48:58 +01:00
Dylan K. Taylor
1533dc4e56
Added cherry leaves 2023-06-10 13:21:21 +01:00
Dylan K. Taylor
3800c0480f
Group leaves (de)serializers together 2023-06-09 19:19:29 +01:00
Dylan K. Taylor
0f8e61eda4
Implemented new cherry-wood blocks 2023-06-09 18:04:52 +01:00
Dylan K. Taylor
0eb5f9b684
Fixed missing ItemTypeNames (forgot to regenerate from 1.20) 2023-06-09 17:59:11 +01:00
Dylan K. Taylor
0f9283fda1
Reduce chaos in blockstate (de)serializers wrt. wooden blocks
these started to get flattened in 1.19, and rather than dump them in random places in the main function I made a new method, creating placement inconsistencies.
2023-06-09 17:47:06 +01:00
Dylan K. Taylor
64c1776910
Merge branch 'stable' into minor-next 2023-06-09 13:57:47 +01:00
Dylan K. Taylor
92bd88c77c
5.1.3 is next 2023-06-09 01:37:46 +01:00
Dylan K. Taylor
7cd317bf39
Release 5.1.2 2023-06-09 01:37:45 +01:00
Dylan K. Taylor
35fc9abacf
Merge branch 'legacy/pm4' into stable 2023-06-09 01:34:33 +01:00
Dylan K. Taylor
dfd70615ad
4.22.2 is next 2023-06-09 01:33:35 +01:00
Dylan K. Taylor
ee903cad1f
Release 4.22.1 2023-06-09 01:33:35 +01:00
Dylan K. Taylor
9a04481bec
Entity: broadcast teleports as regular movements
fixes #5810

probably fixes #4986

#5810 was caused by the workaround for #4394, which broke in 1.20 for reasons I'm still unclear on.

As FLAG_TELEPORT does not work at all for non-player entities, and causes bugs with player entities, sending the teleport movement without the flag is the least buggy way to solve all of these issues. Having the client interpolate teleport movements is not ideal, but there doesn't seem to be a way to reliably prevent it without causing even more bugs, so this will have to do.
2023-06-09 01:24:57 +01:00
Dylan K. Taylor
833f9401f9
Merge branch 'stable' into minor-next 2023-06-07 22:03:34 +01:00
Dylan K. Taylor
a46dfaf677
5.1.2 is next 2023-06-07 21:59:28 +01:00
Dylan K. Taylor
4a3b175468
Release 5.1.1 2023-06-07 21:59:28 +01:00
Dylan K. Taylor
73ee94b62c
Fixed BlockStateData::CURRENT_VERSION 2023-06-07 21:58:21 +01:00
Dylan K. Taylor
ab83210aa0
5.1.1 is next 2023-06-07 21:35:11 +01:00
Dylan K. Taylor
3f2d51c58a
Release 5.1.0 2023-06-07 21:35:10 +01:00
Dylan K. Taylor
2220dc557e
4.22.1 is next 2023-06-07 21:23:57 +01:00