Commit Graph

18520 Commits

Author SHA1 Message Date
Dylan K. Taylor
50976c20aa Firebombing of commands for the first time in 10 years 2025-10-12 03:30:30 +01:00
Dylan K. Taylor
01092fd8a9 Merge branch 'minor-next' into major-next 2025-10-10 23:37:31 +01:00
Dylan K. Taylor
21e0ca5529 Update Composer dependencies (major-next) 2025-10-10 23:36:59 +01:00
Dylan K. Taylor
dbeea83287 Merge branch 'stable' into minor-next 2025-10-10 23:36:23 +01:00
Dylan K. Taylor
d241807752 Update composer dependencies 2025-10-10 23:36:05 +01:00
Dylan T.
9f9bc5fb1a Rework command alias handling, step 1 (#6685)
This PR started out as an effort to decouple Command and CommandMap, but it's turned into a bit more than that.

A summary of changes:

## UX
- Added `cmdalias create`, `cmdalias delete` and `cmdalias list` commands
- `/help` now shows prefixed names such as `pocketmine:help`
- Prefixed command name (e.g. `pocketmine:help`) are now visible to Minecraft clients
- Permission denied messages are now able to show more useful context when e.g. checking subcommand permissions
- Multiple commands claiming an alias make the alias unusable (an error will be shown when used telling the user to pick from the namespaced names), instead of whichever plugin loaded last getting lucky

## API
- Added `CommandAliasMap`, which handles mapping of aliases to namespaced command IDs
- Added `CommandSender->getCommandAliasMap()` for user-specific aliases
- Added `CommandMap->getAliasMap()` for global fallback aliases
- `Command` no longer tracks its own registered aliases (now the job of `CommandMap`), breaking circular dependency
- Aliases must now be provided to `CommandMap->register()`
- Aliases can now be individually registered and unregistered without re-registering/unregistering the whole command using `CommandAliasMap` APIs
- Aliases are no longer namespaced, only the main command name (e.g. `pocketmine:?` is now gone while `pocketmine:help` still exists)
- `Command` now requires a `$namespace` parameter, which replaces the old `$fallbackPrefix` parameter of `register()`. It should be set to the name of the plugin.

Relevant issues
- #6508 
- #3371 - this PR doesn't implement storage, but allows configuration of per-user aliases during server runtime
2025-10-10 23:34:57 +01:00
Dylan K. Taylor
f1c5c7b699 Update CallbackValidator 2025-10-10 23:00:35 +01:00
pmmp-admin-bot[bot]
a12592ab8c Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18418408959
2025-10-10 21:06:11 +00:00
pmmp-admin-bot[bot]
541b730237 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18418408959
2025-10-10 21:06:10 +00:00
Dylan T.
96a10c8ca7 contributing: remove unnecessary stuff
[ci skip]
2025-10-10 18:05:34 +01:00
Dylan T.
b365522702 Denoise contribution requirements & guidelines
Most of this stuff is just adding more visual noise and making people less likely to read it.

[ci skip]
2025-10-10 17:59:18 +01:00
Dylan T.
203494e005 CONTRIBUTING: consider AI code as the same as copy-pasta
too much of this crap going around these days...

[ci skip]
2025-10-10 17:36:42 +01:00
Dylan K. Taylor
5553c2ab8a Merge remote-tracking branch 'origin/minor-next' into major-next 2025-10-08 22:13:01 +01:00
pmmp-admin-bot[bot]
7cce33a800 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18326199588
2025-10-07 21:06:02 +00:00
Dylan K. Taylor
6da3935abc Splash some URLs on the console at the end of startup
Maybe this will be useful for people whose first encounter with PM is on a server host.
2025-10-07 18:34:20 +01:00
Dylan K. Taylor
335fcc8ed1 Trident: do not allow using if damage is too high
fixes #6828
2025-10-07 17:50:05 +01:00
pmmp-admin-bot[bot]
e5dc706473 Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18294417780
2025-10-06 21:06:05 +00:00
pmmp-admin-bot[bot]
689cc3e4dd Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18294417780
2025-10-06 21:06:03 +00:00
Wraith
3ce1b2fdb1 Implement exposure calculation for explosions (#6826)
Co-authored-by: Dylan T. <dktapps@pmmp.io>
2025-10-06 17:05:52 +01:00
dependabot[bot]
5a4d820058 Bump build/php from 8fe1873 to 2714034 (#6825) 2025-10-06 13:14:50 +00:00
dependabot[bot]
5dd669e233 Bump pocketmine/locale-data in the production-patch-updates group (#6827) 2025-10-06 12:15:56 +00:00
pmmp-admin-bot[bot]
e32e836dad Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18249531120
2025-10-04 21:05:42 +00:00
pmmp-admin-bot[bot]
76dbe83b03 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18249531120
2025-10-04 21:05:41 +00:00
Dylan K. Taylor
05a71d8cc5 PrepareEncryptionTask: verify client key before entering task
this ensures that whoever's giving invalid keys to the task gets properly blamed
2025-10-04 12:48:29 +01:00
Dylan T.
24567dac54 CONTRIBUTING: maybe this makes this huge doc slightly less scary? lol
This thing should probably be restructured. It's way too long
2025-10-03 23:32:51 +01:00
Dylan K. Taylor
6963e9cf60 Merge branch 'minor-next' into major-next 2025-10-03 19:25:45 +01:00
Dylan K. Taylor
1c483288ca Merge branch 'minor-next' of github.com:pmmp/PocketMine-MP into minor-next 2025-10-03 19:25:36 +01:00
Dylan K. Taylor
3a262fafc3 Merge branch 'minor-next' into major-next 2025-10-03 19:25:00 +01:00
Dylan K. Taylor
c09e07c44a Merge branch 'stable' of github.com:pmmp/PocketMine-MP into minor-next 2025-10-03 19:22:14 +01:00
pmmp-admin-bot[bot]
5a331f8a8f Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18230424375
2025-10-03 18:21:53 +00:00
pmmp-admin-bot[bot]
d057077084 5.35.1 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/18226149740
2025-10-03 15:10:28 +00:00
Dylan T.
bc17ee7489 Bedrock 1.21.111 (#6824)
Co-authored-by: Dries C <15795262+dries-c@users.noreply.github.com>
5.35.0
2025-10-03 16:09:26 +01:00
pmmp-admin-bot[bot]
bc70229db5 Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18205640560
2025-10-02 21:05:59 +00:00
pmmp-admin-bot[bot]
b6705bb419 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18205640560
2025-10-02 21:05:58 +00:00
dependabot[bot]
a83182329e Bump the github-actions group with 4 updates (#6822) 2025-10-02 00:38:48 +00:00
pmmp-admin-bot[bot]
d1b48cbb9d Merge 'minor-next' into 'major-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18079789743
2025-09-28 21:05:34 +00:00
Dylan K. Taylor
37cdaa281a Deal with a bunch of easy BC breaks 2025-09-28 15:00:55 +01:00
Dylan T.
1c5fef63d2 Fix merge error (again) 2025-09-28 02:24:53 +01:00
Dylan K. Taylor
8d4da4a3c8 Merge branch 'minor-next' into major-next 2025-09-28 00:27:40 +01:00
pmmp-admin-bot[bot]
b21891cbd7 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18064897730
2025-09-27 21:05:31 +00:00
Dylan T.
7ec548774c Limit SubChunk to 2 layers, avoid arrays (#6747)
Initially proposed in #6575

This shows about a 10% performance improvement to both SubChunk->getBlockStateId() and SubChunk->setBlockStateId(), so definitely worth doing. It does result in increased complexity, but for a double digits performance gain, I think it's worth it.

Closes #6575
2025-09-27 18:51:15 +01:00
Sunch
b8b7580153 Fixed timezone error caused by WMIC deprecation in new Windows (#6721)
Timezone information is now fetched from the registry instead of using WMIC
2025-09-27 17:10:19 +01:00
Dylan K. Taylor
d11cf1e592 ResourcePacksPacketHandler: load all version-layered chemistry packs
this fixes rendering of underwater TNT and possibly other chemistry blocks.

There doesn't seem to be a shortcut for this, and BDS also appears not to account for
this requirement, which is why underwater TNT also doesn't have the right texture in BDS.

fixes #6494
2025-09-27 14:43:48 +01:00
IvanCraft623
93653a64f3 Implement Lingering potion & Area Effect Cloud (#5276)
Co-authored-by: Dylan T. <dktapps@pmmp.io>
2025-09-27 02:23:45 +01:00
pmmp-admin-bot[bot]
50a7859c27 5.34.2 is next
Commit created by: https://github.com/pmmp/RestrictedActions/actions/runs/18050570054
2025-09-26 22:15:02 +00:00
Dylan T.
ff093f0565 R5.34.1 (#6817) 5.34.1 2025-09-26 23:14:07 +01:00
Dylan K. Taylor
001330e42e shut up bruv 2025-09-26 23:09:59 +01:00
Dylan K. Taylor
0abf1383ac Private internal function 2025-09-26 23:05:22 +01:00
Dylan K. Taylor
1c92d66ca4 LoginPacketHandler: stop bailing on unexpected JSON properties
the intent of this was noble (to make sure nothing was missed), but in practice throwing
errors on this stuff is just a pain in the ass. We don't actually need to care if the
properties are not used, since it doesn't affect the decoding (like it would for
a missing packet field), so the only reasons to complain are for BedrockProtocol to
have a complete picture of the protocol, and to make sure we're not discarding useful
information.

Log a warning in these cases instead, which should be noticed by developers without
being an unnecessary problem for users.

closes #6816
2025-09-26 23:04:23 +01:00
pmmp-admin-bot[bot]
7aaf94cd89 Merge 'stable' into 'minor-next'
Automatic merge performed by: https://github.com/pmmp/RestrictedActions/actions/runs/18049331901
2025-09-26 21:05:49 +00:00