Commit Graph

118 Commits

Author SHA1 Message Date
Dylan K. Taylor
c863c737f4 Merge branch 'minor-next' into major-next 2025-09-26 15:55:55 +01:00
Dylan T.
31f4b496a1 Implement new OpenID authentication system (#6798)
Co-authored-by: Dries C <15795262+dries-c@users.noreply.github.com>
2025-09-20 22:40:38 +01:00
Dylan K. Taylor
a65722d0aa Merge branch 'minor-next' into major-next 2025-09-17 01:49:29 +01:00
Dylan K. Taylor
a056af1617 Update composer dev dependencies 2025-09-15 22:41:02 +01:00
Dylan K. Taylor
66b8f2f160 Scrub PHPStan baselines 2025-09-04 23:35:57 +01:00
Dylan K. Taylor
3411103e11 Remove dead PHPStan ignores 2025-09-04 23:29:55 +01:00
Dylan K. Taylor
6f6b23d4e4 Integrate dev-major-next version of pocketmine/math
this is a reduced version compared to the original, due to the difficulty of getting rid of Facing values internally.
2025-08-29 21:47:20 +01:00
Dylan T.
7c521b456e Unify block serializers (#6769)
This has several advantages:

    Easier to implement new blocks (one less file to modify)
    Easier to adjust serialization of existing blocks
    Guaranteed consistency between serializers and deserializers
    Potentially, exposes more metadata for programmatic analysis, instead of having everything baked inside opaque Closures

There are some exceptions which still use the old approach: big dripleaf, cauldrons, mushroom stems, and pitcher crops. These all have multiple PM block types for a single ID, with relatively complex logic to select which to use. These weren't worth the effort to unify due to their small number. I may revisit this in the future, but I already spent a lot of brainpower on it.
2025-08-24 14:12:18 +01:00
Dylan K. Taylor
d053e9e168 Merge branch 'stable' into minor-next 2025-06-08 18:43:31 +01:00
Dylan K. Taylor
a4ac28592c Updated dependencies 2025-06-02 15:17:00 +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
Dylan K. Taylor
95284bc9de change error identifier 2025-03-09 00:54:39 +00:00
Dylan K. Taylor
2291546610 phpstan: added rule to ban new $class
see #6635 for rationale on why we want to get rid of this

for now, this rule will prevent this anti-feature from being used in new code
2025-03-09 00:51:12 +00:00
Dylan K. Taylor
77be5f8e25 Update PHPStan 2025-02-17 17:51:39 +00:00
Dylan K. Taylor
9633b7d8a7 Update to PHPStan 2.x 2025-01-07 22:34:43 +00:00
Dylan K. Taylor
357dfb5c7e Fixed build 2025-01-06 23:01:14 +00:00
Dylan K. Taylor
bba525da02 Remove dead PHPStan ignored errors 2024-12-09 16:44:25 +00:00
Dylan K. Taylor
ad6d34f1a6 Remove legacy make-release script
we no longer use this release workflow, all releases should now be done via pull request
2024-12-09 16:44:07 +00:00
Dylan K. Taylor
12ae8dc03b Merge branch 'stable' into minor-next 2024-11-25 14:32:30 +00:00
Dylan K. Taylor
a9787f0d99 Fix PHPStan error 2024-11-25 14:32:17 +00:00
ShockedPlot7560
8338ebaffd Add generic types for TaskHandler (#6030) 2024-11-24 14:14:34 +00:00
Dylan K. Taylor
72fc138631 Regenerate PHPStan baselines 2024-11-03 14:43:34 +00:00
Dylan K. Taylor
c63d0ef1b6 Fix dodgy ignored PHPStan error 2024-11-03 14:43:34 +00:00
ipad54
2ffc38c835 Implement campfire & soul campfire (#4696) 2024-07-07 15:01:34 -05:00
Jason Wynn
90409b50d1 Allow offering different resource packs to different players (#6249)
closes #6248
2024-03-01 14:53:59 +00:00
Dylan K. Taylor
74cb0be868 Noise: give PHPStan some help understanding SplFixedArray 2023-12-20 14:43:36 +00:00
Dylan K. Taylor
06b2e61d3c Merge remote-tracking branch 'origin/stable' into minor-next 2023-12-14 14:02:15 +00:00
Dylan K. Taylor
2f1d6115a0 Merge branch 'legacy/pm4' into stable 2023-12-06 14:55:18 +00:00
Dylan K. Taylor
2a136c7804 Update composer dependencies 2023-12-06 14:37:27 +00:00
Dylan K. Taylor
67ad2bad17 World: fixed edge case that could lead to crash during block update sending 2023-11-17 13:24:06 +00:00
Dylan K. Taylor
d09af2e30d World: don't assume that random Vector3 are int vectors
we can safely assume this for blocks (though the type info doesn't reflect it) but this is not safe to assume for random APIs that might be used by plugins.
2023-11-06 17:15:17 +00:00
Dylan K. Taylor
8e17aed4f4 Fix build 2023-10-20 17:43:04 +01:00
Dylan K. Taylor
dbb5a32a96 Liquid: eliminate unnecessary Position allocations and getSide() calls 2023-10-19 17:09:13 +01:00
Dylan K. Taylor
ada37899aa Liquid: improve code legibility and fix a bunch of PHPStan errors 2023-10-19 17:02:22 +01:00
Dylan K. Taylor
f1440324a7 Update PHPStan baselines 2023-10-19 16:56:15 +01:00
Dylan K. Taylor
114f444ec3 Update PHPStan baseline 2023-10-19 13:28:40 +01:00
Dylan K. Taylor
d138a15a32 Merge branch 'legacy/pm4' into stable 2023-09-21 13:27:04 +01:00
Dylan K. Taylor
912fd3f5c6 PHPStan 1.10.35, plus workarounds 2023-09-21 13:22:14 +01:00
Dylan T
82a5ea9ed3 Allow thread errors and their traces to be properly recorded in crashdumps (#5910)
until now, any thread crash would show as a generic crash since we aren't able to get the trace from the crashed thread directly. This uses some dirty tricks to export a partially serialized stack trace to the main thread, where it can be written into a crashdump.
This enables us to see proper crash information for async tasks in the crash archive (finally!!!) as well as being able to capture RakLib errors properly.
2023-07-26 16:26:03 +01:00
Dylan K. Taylor
4af981d726 PHPStan 1.10.16
closes #5802
2023-06-05 17:07:19 +01:00
Dylan K. Taylor
06b0fa4d67 Fix PHPStan 2023-05-26 15:47:35 +01:00
Dylan K. Taylor
bdb0ed0701 Consistently use 'mob head' terminology in the API
previously, we were sometimes using 'mob head' and other times 'skull', sometimes even within the same file.
2023-05-26 15:08:00 +01:00
Dylan K. Taylor
9509d7e04d Scrub PHPStan baselines 2023-05-20 01:51:21 +01:00
Dylan K. Taylor
d0d263191d Fix build 2023-05-02 14:21:33 +01:00
Dylan K. Taylor
abd4ef01eb Merge branch 'minor-next' into major-next 2023-03-15 23:02:41 +00:00
Dylan K. Taylor
cc8660629b First look at shared EntityEventBroadcaster,
this improves performance in PvP servers and other areas where lots of players or entities exist in one space.

fixes #5622
2023-03-15 18:22:56 +00:00
Dylan K. Taylor
2f12bb9943 Merge branch 'next-minor' into next-major 2023-02-06 12:34:57 +00:00
Dylan K. Taylor
8d2a9ce67c Clean PHPStan baselines 2023-02-06 12:09:19 +00:00
Dylan K. Taylor
3dd1a14fb7 Merge branch 'next-minor' into stable 2023-01-30 21:52:41 +00:00
Dylan K. Taylor
63c3127248 Scrub PHPStan baselines 2023-01-30 21:52:31 +00:00