Dylan T
a788954551
Fixed dependency handling across plugin loaders ( #3971 )
2021-10-20 20:22:00 +01:00
Dylan T
127b57048c
Allow plugins to use PSR-4 namespace mapping ( #4188 )
...
* Allow plugins to use PSR-4 namespace mapping
this is a reduced implementation which serves the 99% use case without being horribly breakable.
Plugins may now specify a `src-namespace-prefix`, which should be set to the namespace of the classes in `src`.
If the old system is used, `src-namespace-prefix` can be omitted, or set to an empty string.
Examples:
- If `src-namespace-prefix` is `dktapps\test`, `dktapps\test\Main` will be searched for in `src/Main.php`, instead of `src/dktapps/test/Main.php`.
* Migrate TesterPlugin to PSR-4
2021-04-23 19:34:46 +01:00
Dylan K. Taylor
73f913e279
Modernize TesterPlugin
2021-04-19 14:16:05 +01:00
Dylan K. Taylor
d9de775c27
Updated DevTools submodule to pmmp/DevTools@888d021260
2020-12-05 22:56:27 +00:00
Dylan K. Taylor
05c52fef46
Updated DevTools submodule to pmmp/DevTools@7c2d05cafc
2020-12-02 14:41:28 +00:00
Dylan K. Taylor
de40ad80a6
Updated DevTools submodule to pmmp/DevTools@0c46527bee
2020-11-16 18:33:28 +00:00
Dylan K. Taylor
6c02bac437
Updated DevTools submodule to 66b8f7dfd77f78478a180e40137e17606301233e
2020-11-09 20:30:22 +00:00
Dylan K. Taylor
73a8c90bee
Merge remote-tracking branch 'origin/stable'
...
# Conflicts:
# resources/vanilla
# src/world/Explosion.php
# tests/phpunit/item/ItemTest.php
# tests/phpunit/world/format/io/region/RegionLoaderTest.php
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskMainLoggerTest.php
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskMemoryLeakTest.php
2020-11-01 14:21:47 +00:00
Dylan K. Taylor
340881d590
remove superfluous newline
2020-10-26 15:59:57 +00:00
Dylan K. Taylor
e2e960e43d
tests: add missing function imports
2020-10-26 15:59:42 +00:00
Dylan K. Taylor
7b02cc3efd
Implemented #3836 : Replace setCancelled() in events with cancel() and uncancel()
...
The motivation for this is to prevent passing a dynamic argument to cancellation, which in almost all cases is a bug in user code. This same mistake also appears in a few places in the PM core (as seen in this commit), but in those cases the mistakes were mostly harmless since they were taking place before the event was actually called.
closes #3836
2020-09-26 14:31:56 +01:00
Dylan K. Taylor
0aee39027e
Merge branch 'stable' into master
...
# Conflicts:
# composer.lock
# resources/vanilla
# src/entity/Living.php
# src/pocketmine/Player.php
# src/pocketmine/VersionInfo.php
# src/pocketmine/block/Potato.php
# src/pocketmine/block/Sugarcane.php
# src/pocketmine/entity/Entity.php
# src/pocketmine/item/Item.php
# src/pocketmine/level/format/Chunk.php
# src/pocketmine/level/format/io/leveldb/LevelDB.php
# src/world/generator/GeneratorRegisterTask.php
# tests/phpstan/configs/check-explicit-mixed-baseline.neon
# tests/phpstan/configs/l7-baseline.neon
# tests/phpstan/configs/l8-baseline.neon
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskMainLoggerTest.php
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskMemoryLeakTest.php
# tests/plugins/TesterPlugin/src/pmmp/TesterPlugin/tests/AsyncTaskPublishProgressRaceTest.php
2020-09-04 01:43:52 +01:00
Dylan K. Taylor
b7578fef9c
Fixup TesterPlugin to PHPStan standards
2020-08-28 21:17:21 +01:00
Dylan K. Taylor
4ed59ea43f
updated DevTools submodule to pmmp/DevTools@75c2774cc7
2020-08-21 21:46:28 +01:00
Dylan K. Taylor
1f9d672cfc
Updated DevTools submodule to release 1.14.1
2020-08-20 16:49:49 +01:00
Dylan K. Taylor
98db4c5200
Merge branch 'stable' into master
...
# Conflicts:
# .gitmodules
# composer.lock
# resources/vanilla
# src/network/mcpe/protocol/PlayerAuthInputPacket.php
# src/pocketmine/Player.php
# src/pocketmine/network/mcpe/protocol/LoginPacket.php
2020-08-10 17:55:49 +01:00
Dylan K. Taylor
691d92a959
moved tests/plugins/PocketMine-DevTools -> tests/plugins/DevTools
2020-08-10 17:29:44 +01:00
Dylan K. Taylor
da798817b5
Merge branch 'stable'
...
# Conflicts:
# changelogs/3.14.md
# resources/vanilla
# src/VersionInfo.php
# src/entity/Attribute.php
2020-07-08 11:46:02 +01:00
Dylan K. Taylor
303344783a
CheckTestCompletionTask: use TaskHandler->cancel()
2020-07-08 10:57:20 +01:00
Dylan K. Taylor
65f82f5cdf
Task::onRun() and Task::onCancel() now require :void return typehints
2020-05-17 13:58:01 +01:00
Dylan T
67666db827
Task: Remove currentTick parameter ( #3498 )
...
This parameter is not used for the vast majority of task use cases and just serves as extra useless boilerplate code, especially for closure-based tasks.
This use case can be replaced using Server->getTick() in the cases where it matters.
2020-05-16 15:28:45 +01:00
Dylan K. Taylor
24b63d71ab
updated DevTools submodule
2020-05-11 19:30:52 +01:00
Dylan K. Taylor
3238b4ff33
Remove PluginIdentifiableCommand in favour of a more generic PluginOwned interface
2020-05-11 19:25:52 +01:00
Dylan K. Taylor
e3dec95b75
Convert AsyncPool tests into PHPUnit tests
2020-05-11 11:34:50 +01:00
Dylan K. Taylor
afeb9838e4
Merge branch 'stable'
2020-02-02 16:47:19 +00:00
Dylan K. Taylor
1f2fb73297
updated DevTools submodule to 1.14.0
2020-02-02 10:21:32 +00:00
Dylan K. Taylor
c16337a80f
Merge branch 'stable' with changes
2019-11-09 18:01:04 +00:00
Dylan K. Taylor
35fabc7765
updated DevTools submodule to 1.13.5
2019-10-28 16:03:26 +00:00
Dylan K. Taylor
acaa0e33b0
update DevTools submodule to pmmp/PocketMine-DevTools@3fadb2c3f4
2019-10-22 10:16:44 +01:00
Dylan K. Taylor
c4376d13ae
update to latest SPL
2019-08-25 19:32:20 +01:00
Dylan K. Taylor
5499ac620c
Removed pocketmine subdirectory, map PSR-4 style
2019-07-30 19:14:57 +01:00
Dylan K. Taylor
c5707f6174
update DevTools submodule
2019-06-18 18:58:53 +01:00
Dylan K. Taylor
741d2a7380
devtools rollback
2019-06-07 10:49:58 +01:00
Dylan K. Taylor
d176f6f1ca
update DevTools submodule
2019-06-06 18:35:05 +01:00
Dylan K. Taylor
0bf7fd2c0d
Partially revert "Separate block break-info to a separate dynamic unit"
...
This reverts commit 9e72bc91a2987aa43fb1d25715b5aff789b27b63.
2019-05-11 09:46:20 +01:00
Dylan K. Taylor
9e72bc91a2
Separate block break-info to a separate dynamic unit
2019-05-10 16:24:59 +01:00
Dylan K. Taylor
752e398970
AsyncTask: TLS now supports storing multiple values (now requires a key/value pair)
2019-04-18 18:58:31 +01:00
Dylan K. Taylor
3de08bf452
Convert PluginLoadOrder into enum
2019-03-27 18:28:40 +00:00
Dylan K. Taylor
1a8a04eab8
Merge branch '3.5'
2019-02-07 17:12:49 +00:00
Dylan K. Taylor
2822465f33
Updated submodules
2019-02-07 16:20:45 +00:00
Dylan K. Taylor
7f0667a1f0
Merge branch 'release/3.4'
2018-12-09 15:36:23 +00:00
Dylan K. Taylor
23dc6e09d8
Sync DevTools submodule
2018-12-09 15:34:06 +00:00
Dylan K. Taylor
67a5f3f557
Register MainLogger as SPL global, remove hard MainLogger dependency from many areas, break a bunch of cyclic dependencies
2018-11-05 19:01:59 +00:00
Dylan K. Taylor
ce7718f0d1
Move resources/ directory out of src/
...
this isn't source code and as such doesn't belong in here.
2018-11-05 09:46:43 +00:00
Dylan K. Taylor
d583dc25c3
Merge branch 'release/3.3'
2018-10-10 13:45:31 +01:00
Dylan K. Taylor
2858db430e
Fixed AsyncTask publishProgress() race condition on task exit
...
It's possible for a progress update to be lost due to the task finishing before the main thread found the progress update.
2018-10-10 13:41:15 +01:00
Dylan K. Taylor
6ac0c517f5
Improve and simplify AsyncTask thread-local storage
...
This is now self-maintaining and doesn't rely on the async pool to wipe its ass on task completion. Instead, the garbage collector will cause thread-local data to be automatically released when the async task is garbage-collected on the main thread.
2018-10-08 12:48:44 +01:00
Dylan K. Taylor
37190c9a65
Apply typehints to all AsyncTask methods
...
Since we're breaking API here anyway, no point in holding back on this.
2018-09-10 15:54:01 +01:00
Dylan K. Taylor
d62e00cc74
AsyncPool: Remove Server dependency (API breaks included)
...
This brings two plugin-breaking changes: AsyncTask->onCompletion() and AsyncTask->onProgressUpdate() no longer accept Server parameters.
This now allows for the functionality of AsyncPool and AsyncTask to be tested outside of a Server.
2018-09-10 15:48:59 +01:00
Dylan K. Taylor
b629738312
Merge branch 'release/3.2'
2018-08-19 14:06:34 +01:00