17777 Commits

Author SHA1 Message Date
Dylan K. Taylor
68c6b87678
5.8.1 is next 2023-11-01 17:49:56 +00:00
Dylan K. Taylor
e20c031aa1
Release 5.8.0 2023-11-01 17:49:53 +00:00
Dylan K. Taylor
9832fe899f
Merge branch 'stable' into minor-next 2023-11-01 16:39:44 +00:00
Dylan K. Taylor
55f3477ed9
5.7.2 is next 2023-11-01 16:37:46 +00:00
Dylan K. Taylor
2c17f82eb8
Release 5.7.1 5.7.1 2023-11-01 16:37:46 +00:00
Dylan K. Taylor
e6e2c54ec9
Fixed various reentrant-unsafe 2D array element unsets (similar to previous commit)
this pattern was used in various places
2023-11-01 16:28:59 +00:00
Dylan K. Taylor
abce512860
Merge branch 'stable' of github.com:pmmp/PocketMine-MP into stable 2023-11-01 16:13:44 +00:00
Dylan K. Taylor
0093732d49
PermissionManager: fixed non-reentrant-safe permission unsubscribing
during unset(), the destructors for other objects with cyclic references can get triggered, resulting in the functions being reentered before the count() call. This leads to a crash because the offset no longer exists.
Instead, we check if only the given PermissibleInternal is present, and clean everything up with a single unset instead of two.
This could also have been solved by adding extra isset() checks before checking the counts, but this way seemed more elegant.

This is similar to an issue with AsyncTask thread-local storage a few months ago, which was also caused by GC reentrancy.

closes #6119
2023-11-01 16:13:28 +00:00
Dylan K. Taylor
9eb2a46942
World: remove useless isChunkLoaded checks
getChunkEntities() will return an empty array if the chunk isn't loaded anyway, so this is just wasting CPU cycles.
2023-11-01 15:53:37 +00:00
dependabot[bot]
1402571055
Bump phpstan/phpstan from 1.10.39 to 1.10.40 (#6126)
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan) from 1.10.39 to 1.10.40.
- [Release notes](https://github.com/phpstan/phpstan/releases)
- [Changelog](https://github.com/phpstan/phpstan/blob/1.11.x/CHANGELOG.md)
- [Commits](https://github.com/phpstan/phpstan/compare/1.10.39...1.10.40)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 15:26:46 +00:00
dependabot[bot]
34bb86d2bf
Bump phpstan/phpstan-strict-rules from 1.5.1 to 1.5.2 (#6125)
Bumps [phpstan/phpstan-strict-rules](https://github.com/phpstan/phpstan-strict-rules) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/phpstan/phpstan-strict-rules/releases)
- [Commits](https://github.com/phpstan/phpstan-strict-rules/compare/1.5.1...1.5.2)

---
updated-dependencies:
- dependency-name: phpstan/phpstan-strict-rules
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 15:26:30 +00:00
ShockedPlot7560
aaa37baf2e
handlerListe: reduce code complexity 2023-10-27 22:28:04 +02:00
ShockedPlot7560
243a3035ba
follow up of #6110 2023-10-27 22:14:21 +02:00
ShockedPlot7560
823d4ead6a
inconsistency correction 2023-10-27 22:12:03 +02:00
ShockedPlot7560
ca95b2f28d
fix PHPStan 2023-10-27 22:08:49 +02:00
ShockedPlot7560
cc6e8ef232
move the asynchronous registration of handlers to a dedicated PluginManager function 2023-10-27 21:58:43 +02:00
ShockedPlot7560
5beaa3ce4e
correction of various problems 2023-10-27 21:45:22 +02:00
ShockedPlot7560
7e87fbbb7a
clarifying the exception message 2023-10-27 21:39:18 +02:00
ShockedPlot7560
ed739cff4f
cannot call async event in sync context + remove Event dependency for AsyncEventDelegate 2023-10-27 21:37:56 +02:00
ShockedPlot7560
dc85bba995
merge remote tracking 2023-10-27 21:28:09 +02:00
Dylan K. Taylor
b41960dfec
Merge branch 'stable' into minor-next 2023-10-26 12:55:47 +01:00
Dylan K. Taylor
0b2fc84827
5.7.1 is next 2023-10-26 12:51:45 +01:00
Dylan K. Taylor
22b9e70372
Release 5.7.0 5.7.0 2023-10-26 12:51:45 +01:00
Dylan K. Taylor
a222636476
Merge branch 'legacy/pm4' into stable 2023-10-26 12:47:19 +01:00
Dylan K. Taylor
fb586cc562
4.25.1 is next 2023-10-26 12:43:16 +01:00
Dylan K. Taylor
f3f22ba48b
Release 4.25.0 4.25.0 2023-10-26 12:43:16 +01:00
Dylan K. Taylor
a2e6e2e5b9
Update PHPStan 2023-10-26 12:39:45 +01:00
Dylan K. Taylor
1aaaadb909
1.20.40 changes (PM4) 2023-10-26 12:36:12 +01:00
Dylan K. Taylor
53a740433f
Changes for 1.20.40 2023-10-26 12:32:59 +01:00
Dylan K. Taylor
8491d3c6c0
Merge branch 'stable' into minor-next 2023-10-24 11:56:51 +01:00
Dylan K. Taylor
d637370b83
Wipe internal block AABB cache only for specific blocks that need it
the vast majority of blocks don't need this cache erasing, so it's costing performance for no good reason.
2023-10-23 17:38:04 +01:00
Dylan T
1176b7090c
Update src/player/Player.php
Co-authored-by: Javier León <58715544+JavierLeon9966@users.noreply.github.com>
2023-10-23 17:31:53 +01:00
Dylan K. Taylor
f655eda3b3
Player: bypass slow function call
for some reason the isSpectator() call here can take upwards of 2 microseconds, for no obvious reason. Subsequent calls are much faster, so I think there's some weird cache thing going on here.
2023-10-23 16:05:13 +01:00
Dylan K. Taylor
af432c1a7f
Give neighbour block updates its own timer
this way we aren't conflating them with scheduled updates, which are usually caused by e.g. water
2023-10-23 12:33:36 +01:00
Dylan K. Taylor
9fcc9f4338
StringToItemParser: added missing blocks
closes #6108
2023-10-23 12:24:02 +01:00
Dylan K. Taylor
41c5f63565
World: remove dead code 2023-10-23 12:17:41 +01:00
Dylan K. Taylor
73b1fba53c
Fixed Promise<null> calling rejection handler given after being successfully resolved
closes #6110

this is a weird use case, but it should work nonetheless.
2023-10-23 11:46:08 +01:00
ShockedPlot7560
2b2fa9ddf1
phpstan: populate baseline 2023-10-22 15:45:05 +02:00
ShockedPlot7560
58155a77fb
fix PHPstan 2023-10-22 15:18:39 +02:00
ShockedPlot7560
c250bb0da7
undo Promise covariant + improve array types 2023-10-22 15:08:50 +02:00
ShockedPlot7560
b78ff00418
fix style 2023-10-22 15:06:17 +02:00
ShockedPlot7560
9b2b92ac1f
oops, remove test code 2023-10-22 15:05:06 +02:00
ShockedPlot7560
7a4b9a0367
events: asynchandler is defined by their return type and event type
If the event is async and the handler return Promise, it will be handle as an async event.
However, if the event is async and the handler return smth different than Promise, it will be handle synchronously.
An async handler can specify if it wishes to be called with no concurrent handlers with the tag @noConcurrentCall
2023-10-22 15:01:11 +02:00
Dylan K. Taylor
8e17aed4f4
Fix build 2023-10-20 17:43:04 +01:00
Dylan K. Taylor
1f461977d4
Block: Avoid useless Vector3 allocations in getHorizontalSides and getAllSides 2023-10-20 17:28:19 +01:00
Dylan K. Taylor
e4888d7102
ÂCONTRIBUTING.md: restructure, reword and reorganize
[ci skip]
2023-10-20 12:12:14 +01:00
Dylan K. Taylor
450ad42202
Added some new recommendations to CONTRIBUTING.md 2023-10-20 11:37:58 +01:00
Dylan K. Taylor
eb935ca80f
ÂLeaves: use a constant for max distance from wood 2023-10-20 11:20:30 +01:00
Dylan K. Taylor
1c5d3b43be
5.6.2 is next 2023-10-20 10:30:50 +01:00
Dylan K. Taylor
decc188302
Release 5.6.1 5.6.1 2023-10-20 10:30:50 +01:00