42 Commits

Author SHA1 Message Date
Dylan K. Taylor
e1af2a4af1
Update language dependency 2025-05-24 16:19:48 +01:00
Dries C
91ac64783f
Bedrock 1.21.60 (#6627)
Co-authored-by: Dylan K. Taylor <dktapps@pmmp.io>
2025-02-16 20:51:53 +00:00
Dylan T.
61560ec375
Support for collecting timings from threads, and implement async task timings (#6333)
The following callbacks can now be registered in timings, to allow threads to be notified of these events:
- Turning on/off (`TimingsHandler::getToggleCallbacks()->add(...)`)
- Reset (`TimingsHandler::getReloadCallbacks()->add(...)`)
- Collect (`TimingsHandler::getCollectCallbacks()->add(...)`)

Collect callbacks must return `list<Promise>`. The promises must be `resolve()`d with `list<string>` of printed timings records, as returned by `TimingsHandler::printCurrentThreadRecords()`. It's recommended to use 1 promise per thread.

A timings report will be produced once all promises have been resolved.

This system is used internally to collect timings for async tasks (closes #6166).

For timings viewer developers:
Timings format version has been bumped to 3 to accommodate this change. Timings groups should now include a `ThreadId`  at the end of timings group names to ensure that their record IDs are segregated correctly, as they could otherwise conflict between threads. The main thread is not required to specify a thread ID. See pmmp/timings@13cefa6279 for implementation examples.

New PHPStan error is caused by phpstan/phpstan#10924
2024-12-01 14:49:27 +00:00
Dylan K. Taylor
2d9cee3d62
Update Language dependency 2024-11-14 23:14:23 +00:00
Dylan K. Taylor
52ea4feac0
Updated pocketmine/locale-data 2023-03-19 16:53:02 +00:00
Dylan K. Taylor
96c32d24ba
Update composer dependencies 2023-01-30 13:23:40 +00:00
Dylan K. Taylor
a9f06fc5f4
Replaced hardcoded record.nowPlaying with KnownTranslationKeys 2023-01-13 17:27:57 +00:00
Dylan K. Taylor
4df1f7f502
Updated composer dependencies (next-minor) 2023-01-12 19:03:55 +00:00
Dylan K. Taylor
641d35a30f
Updated pocketmine/locale-data to get new translations 2022-11-25 14:59:58 +00:00
Dylan K. Taylor
cca22046ab
Updated pocketmine/locale-data 2022-11-15 20:21:39 +00:00
Dylan K. Taylor
6da467b142
Updated composer dependencies 2022-10-31 15:27:56 +00:00
Dylan K. Taylor
38d6284671
Use PHP-CS-Fixer to enforce file header presence 2022-06-04 17:34:49 +01:00
Dylan K. Taylor
3b7e274c34
Server: localize 'forcing server shutdown' message 2022-05-11 14:54:29 +01:00
Dylan K. Taylor
212c94ce98
PluginManager: Log an error message when a plugin disables itself during enabling 2022-05-11 13:07:45 +01:00
Dylan K. Taylor
3353a00641
List command aliases in /help <commandName> 2022-04-10 21:32:46 +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
0d595e4324
Update Language dependency 2022-01-04 00:47:04 +00:00
Dylan K. Taylor
57e1509c3a
Updated translation APIs 2021-12-15 03:24:13 +00:00
Dylan K. Taylor
c334e6dec7
Updated locale-data dependency 2021-12-14 00:31:44 +00:00
Dylan K. Taylor
ede07c4314
Mark KnownTranslationKeys and KnownTranslationFactory as @internal 2021-12-11 21:24:18 +00:00
Dylan K. Taylor
6b316dc29a
PluginManager: Make declaration of duplicate permissions a load error 2021-11-06 17:05:37 +00:00
Dylan K. Taylor
7e4be29fc4
Gracefully force-shutdown on failure to start RakLib
this now won't generate a crashdump.
2021-11-02 13:51:01 +00:00
Dylan K. Taylor
aa408c9a97
Fixed 9646128d0176240c818dcefa57d39fb46af0de07 2021-10-20 21:54:57 +01:00
Dylan K. Taylor
34f54750c8
Added support for creation-time validation of generator options, closes #2717 2021-10-11 17:37:47 +01:00
Dylan K. Taylor
e1ee320c8d
PluginManager: Localize plugin loading error messages 2021-10-11 00:58:33 +01:00
Dylan K. Taylor
ccc881ee58
Switch to custom permission denied message
closes #4494
2021-10-09 00:57:15 +01:00
Dylan K. Taylor
a101d1cdf9
Drop pocketmine.plugin.fileError in favour of pocketmine.plugin.loadError
fileError was unnecessarily noisy, putting the directory path on the console twice. This conveys just as much information but with less wasted space.
2021-10-05 23:31:00 +01:00
Dylan K. Taylor
e25c03eec1
Gracefully handle errors loading plugin manifest
this isn't perfect, but it covers the common cases.
Now, the server won't spam crashdumps just because some plugin declared nested permissions.
2021-10-05 20:28:43 +01:00
Dylan K. Taylor
2db79cf58d
Fix build 2021-10-05 18:41:47 +01:00
Dylan K. Taylor
7d06b76aaf
PluginManager: account for possible invalid format of API version
we're seeing a lot of crashes because of this.
2021-10-05 18:36:00 +01:00
Dylan K. Taylor
fb570970a8
Localize gamemode command errors 2021-10-02 21:22:54 +01:00
Dylan K. Taylor
30e10c38b6
Localize /help 2021-10-02 20:59:36 +01:00
Dylan K. Taylor
05dc675d5b
Replace commands.generic.notFound with a custom PM version
this also fixes #4379.
2021-10-02 20:42:59 +01:00
Dylan K. Taylor
d63b9d1648
WorldManager: localize strings for world loading, generation and conversion 2021-10-02 20:33:32 +01:00
Dylan K. Taylor
273aa8ab42
Drop useless usage translation strings for commands with no parameters 2021-09-11 17:06:26 +01:00
Dylan K. Taylor
aa5a9f6d12
Enchantment: use Translatable instead of hardcoded translation keys 2021-09-03 20:52:05 +01:00
Dylan K. Taylor
e140614a63
Localize /gc 2021-08-26 15:06:43 +01:00
Dylan K. Taylor
47120022c2
Localize messages for /op and /deop 2021-08-26 13:31:19 +01:00
Dylan K. Taylor
60ac76a3bc
Remove more usages of hardcoded translation keys 2021-08-15 19:22:40 +01:00
Dylan K. Taylor
f42c9bb6d6
Removed unused translation 2021-08-10 19:48:30 +01:00
Dylan K. Taylor
2cdd6e634f
New /version format 2021-08-10 19:32:28 +01:00
Dylan K. Taylor
94e16f416d
Added KnownTranslationKeys (generated) and start using it 2021-06-29 22:46:04 +01:00