Commit Graph

18524 Commits

Author SHA1 Message Date
Dylan K. Taylor
4a3f528c4b Add basic client-side hint support
this doesn't support enum or player name auto complete for now since the API has no way to expose that information.
however, we can get some of the benefits with basic types

xp <level>L is not supported because the stupid fucking client crashes when it's used and I wasted all day trying
to debug it. Someone else can fix that if they care.
2025-10-12 18:49:37 +01:00
Dylan K. Taylor
1ef5e048b2 Don't scan the entire command string looking for literals
we only care if it's in the exact position defined by $offset.
2025-10-12 14:50:01 +01:00
Dylan K. Taylor
d0fca5e5d0 Fixed bad assumption about literals and subsequent whitespace
Since it only compares the exact literal bytes, it's possible to have trailing characters that don't match.
For example, /timings ons would crash because the 'on' overload would match, but leave a trailing 's' behind.
2025-10-12 14:48:04 +01:00
Dylan K. Taylor
a314d2dbb1 Fixed trailing literals not being required
this was a problem with cmdalias, where just writing cmdalias alone would invoke cmdalias list.
In itself this wasn't particularly harmful, but it could've been a problem for other commands like timings.
2025-10-12 14:37:49 +01:00
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