15314 Commits

Author SHA1 Message Date
Dylan K. Taylor
c3ea6edc22
Bump minimum PHP version to 8.3 2025-06-08 18:49:27 +01:00
Dylan K. Taylor
0330b25768
Merge branch 'minor-next' into major-next 2025-06-08 18:44:54 +01:00
Dylan K. Taylor
d053e9e168
Merge branch 'stable' into minor-next 2025-06-08 18:43:31 +01:00
Dylan T.
5ebbcd5d33
Move to newer systems for movement and block break handling (#6718)
MS is due to remove the non-server-auth versions of all of this stuff.

Fortunately v3 server auth movement works just fine without any changes,
although we will need to start sending player tick in some packets if
someone wants to actually use the rewind stuff.
2025-06-02 15:24:25 +01:00
Dylan K. Taylor
b4b6bbe29f
BaseInventory: fixed internalAddItem() setting air slots to air
this bug was introduced in #4237, but it was unnoticed due to having no adverse
effects other than noisy debugs and network traffic.
2025-05-29 17:18:45 +01:00
Dylan K. Taylor
0910a219d4
Fixed improper pre-checking of PlayerAuthInputPacket flags 2025-05-28 23:29:37 +01:00
Dylan K. Taylor
56da492e48
World: make less noise about deleted tile entities
no need to repeat the same message 100 times
2025-05-28 22:10:20 +01:00
Dylan K. Taylor
035d2dec23
LevelDB: make unknown block errors way less annoying
these would previously generate a new line for every error.
since errors are often repeated for different offsets (e.g. different states of the same block),
we can save a lot of spam by deduplicating them and telling which offsets the errors occurred in.
2025-05-28 22:03:29 +01:00
Dylan K. Taylor
b40b99fe72
Player: fixed crash on action item return
this can happen if the old item had a lower max damage than the new one, and the new
one has a damage higher than the old one's max damage.

it can also happen if the damage was overridden to some illegal value by a custom item
as seen in https://crash.pmmp.io/view/12754811
2025-05-28 21:32:48 +01:00
Dylan K. Taylor
baafaed362
Stem drops seeds according to binomial distribution
fixes #6709

we really need a better way to reverse-engineer the chance parameter for these
as the wiki just gives a probability table, which is quite tiresome to extract
patterns from.
2025-05-28 21:00:40 +01:00
pmmp-admin-bot[bot]
d5a1007c80 Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15288247521
2025-05-28 00:03:15 +00:00
Adam
bf33a625c9
Implemented Respawn Anchor (#6646)
PlayerRespawnAnchorUseEvent is also added with options SET_SPAWN and EXPLODE, which allows plugins to customise the outcome of using the anchor in PM, which currently doesn't support dimensions. The event is also cancellable.
2025-05-27 21:57:28 +01:00
Dylan T.
059f4ee7bf
Extract GeneratorExecutor system from World, v2 (#6682)
- `AsyncGeneratorExecutor` class added that encapsulates the logic of generating chunks using async tasks as previously
- `GeneratorExecutor` interface added that can be implemented to provide chunks in other ways
- `SyncGeneratorExecutor` which invokes the generator directly on the main thread, useful for simple generators like `Flat` where async tasks are not needed
- Some redundant APIs were removed from `World` (these will probably come back as deprecated stubs for the remainder of 5.x, but I was having too much fun deleting code)
- Removed internal `World->registerGeneratorToWorker()` (no longer useful)
- `World` now invokes generator executor instead of posting AsyncTasks directly
- Some internal classes moved to `pocketmine\world\generator\executor` (PopulationTask excluded because plugins use it in lieu of being able to regenerate chunks
- Generators can opt into main-thread execution by setting the `$fast` parameter to `true` in `GeneratorManager::register()`
2025-05-27 21:51:10 +01:00
pmmp-admin-bot[bot]
dca2665e17 Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15243296100
2025-05-26 00:02:56 +00:00
Dylan K. Taylor
dd17adeaaf
Reintroduce step height additions for minor-next
Revert "Revert change that can't go on stable"

This reverts commit a554d2acf5db00f577493517e36bb3ad07a6bdd0.
2025-05-25 11:33:47 +01:00
Dylan K. Taylor
a554d2acf5
Revert change that can't go on stable
API additions need to wait for the next minor release

Revert "Entity: make stepHeight accessable (#6702)"

This reverts commit 5527a0c6bf4343b39cd6ed4526f75539ac6ddf19.
2025-05-25 11:32:40 +01:00
João
05eda887b1
Item: make setter methods fluent (#6678)
- `Item::clearCustomBlockData` previously, the instance was returned, but the return type has been changed
- `Item::setCanPlaceOn`, `Item::setCanDestroy` and `Item::setKeepOnDeath` now return `$this`
2025-05-25 10:35:26 +02:00
ItzxDwi
5527a0c6bf
Entity: make stepHeight accessable (#6702) 2025-05-25 10:07:41 +02:00
zSALLAZAR
18b6b1742c
Rename PlayerExhaustEvent to EntityExhaustEvent (#6674)
Removed the `getPlayer` function
2025-05-25 10:04:33 +02:00
zSALLAZAR
eee2e62d81
Add EntityFrostWalkerEvent (#6673) 2025-05-25 10:01:46 +02:00
pmmp-admin-bot[bot]
b20d1b84b5 Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15232190072
2025-05-25 00:03:31 +00:00
ipad54
4d5c27a734
Unit test block hardness & blast resistance values (#6629) 2025-05-24 21:01:36 +01:00
Dylan K. Taylor
e1af2a4af1
Update language dependency 2025-05-24 16:19:48 +01:00
pmmp-admin-bot[bot]
d907d72e9b Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15090310700
2025-05-18 00:03:34 +00:00
pmmp-admin-bot[bot]
55123b36e1 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15090310700
2025-05-18 00:03:33 +00:00
Dylan K. Taylor
94fb5d95b9
CommonThreadPartsTrait: fixed thread crashes sometimes missing cause info
closes #6669

this happens because isTerminated returns true before the thread's shutdown handler runs,
so we join with the thread to make sure that shutdown handlers are done before returning.

... hopefully we don't get servers randomly deadlocking in shutdown handlers ???
2025-05-17 19:09:54 +01:00
pmmp-admin-bot[bot]
9d532b6e95 Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15087062558
2025-05-17 16:31:33 +00:00
pmmp-admin-bot[bot]
7169f8e553 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/15087062558
2025-05-17 16:31:32 +00:00
pmmp-admin-bot[bot]
647c2587a8 5.28.3 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/15086729525
2025-05-17 15:45:22 +00:00
Dylan T.
81d3017ad5
Murphy's Law (#6698) 2025-05-17 16:44:19 +01:00
pmmp-admin-bot[bot]
280911ec59 5.28.2 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/15085916916
2025-05-17 14:01:49 +00:00
Dylan T.
abb004fbc5
Ready 5.28.1 (#6696) 2025-05-17 15:00:53 +01:00
Dylan K. Taylor
67f3bb9c52
Update composer dependencies
and fix an error found by new PHPStan update
2025-05-17 13:46:33 +01:00
Dylan K. Taylor
acf4341d71
always the CS... 2025-05-17 13:35:55 +01:00
Dylan K. Taylor
84bb9d2ab4
Consolidate Bedrock data version info
this ensures we don't have to go into a bunch of randomly scattered files to update version numbers.
2025-05-17 13:33:42 +01:00
zSALLAZAR
bb7bfee0cd
Remove ServerEvent class (#6695) 2025-05-14 08:06:22 +02:00
pmmp-admin-bot[bot]
1c70cee72e Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/14931383427
2025-05-09 14:38:29 +00:00
pmmp-admin-bot[bot]
e2e16a4ec5 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/14931383427
2025-05-09 14:38:28 +00:00
pmmp-admin-bot[bot]
134c7309c5 5.28.1 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/14931216524
2025-05-09 14:30:04 +00:00
Dries C
5e830c7320
Protocol changes for 1.21.80 (#6687)
* Bedrock 1.21.80 support

* Update bedrock-data

* Add required tags to models

* Fixed biome data loading

* Support newest world format
apparently I messed up the blockstate data version last time around... it hasn't changed since 1.21.60

* always CS has to complain...

* Sync with release versions

* Ready 5.28.0 release

* this might help...

---------

Co-authored-by: Dylan T. <dktapps@pmmp.io>
2025-05-09 15:29:05 +01:00
Dylan K. Taylor
1d26b21fe0
Merge branch 'minor-next' into major-next 2025-05-04 17:21:24 +01:00
Dylan K. Taylor
6196b9c995
Merge branch 'stable' into minor-next 2025-05-04 17:20:27 +01:00
Dylan K. Taylor
f2e7473629
Update PHP-CS-Fixer 2025-05-04 17:19:15 +01:00
Dylan K. Taylor
eb3922fc7e
shut 2025-05-04 17:10:01 +01:00
Dylan K. Taylor
912a5d6ad0
Remove TODO 2025-05-04 16:45:25 +01:00
Dylan K. Taylor
2a42e2c75d
Drop PluginLoader from Plugin, expose path instead
we already had this anyway, and it's already being reflected into.
Instead of DevTools checking for FolderPluginLoader instances, it
could just check if the file is a directory instead.
2025-05-04 16:44:28 +01:00
pmmp-admin-bot[bot]
5bfa40618d Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/14768020274
2025-05-01 01:50:54 +00:00
Dylan K. Taylor
efaf9311b3
Extract population business logic from PopulationTask 2025-04-30 17:38:16 +01:00
pmmp-admin-bot[bot]
8e1426e25e Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/14687149888
2025-04-27 01:46:41 +00:00
Dylan K. Taylor
fe70b31881
Fix crash when a player is added to the world 2025-04-26 22:11:03 +01:00