14162 Commits

Author SHA1 Message Date
Dylan K. Taylor
a8edb92565
Merge branch 'next-major' of github.com:pmmp/PocketMine-MP into next-major 2022-12-24 17:42:09 +00:00
Dylan K. Taylor
133884da72
Remove deprecated permissions 2022-12-24 17:41:59 +00:00
zSALLAZAR
b4c7d33388
Implement Medicine (from Education Edition) (#5450) 2022-12-24 17:38:12 +00:00
Dylan K. Taylor
d37841c214
Merge branch 'next-minor' into next-major 2022-12-24 17:34:37 +00:00
Dylan K. Taylor
2a81a421f3
Merge branch 'next-minor' into next-major 2022-12-24 17:23:30 +00:00
Dylan T
567bd8abb5
Add .self and .other permissions for gameplay-altering commands (#5470)
I'm not quite sure this is the best way to enable such functionality, but it's already used for some other stuff, so I'm not too worried for now.

This allows the following commands to have their usage limited to self or others:
- /effect
- /enchant
- /gamemode
- /give
- /spawnpoint
- /teleport
- /title

I envision this being useful for creative mode servers, and test servers such as test.pmmp.io.
2022-12-24 17:22:18 +00:00
Dylan K. Taylor
3d038b28ff
SplashPotion: const-ify missed NBT key 2022-12-24 15:19:56 +00:00
Dylan K. Taylor
0c9b6a6797
DatFilePlayerDataProvider: added documentation 2022-12-23 19:00:45 +00:00
Dylan K. Taylor
639f089c55
.. 2022-12-23 18:59:36 +00:00
Dylan K. Taylor
9010b2743c
Move player data storage handling behind an interface 2022-12-23 18:58:49 +00:00
Dylan K. Taylor
4c91c4aaf1
ÂMemoryManager: replace switch with match 2022-12-23 17:36:08 +00:00
Dylan K. Taylor
f8cc015c51
Merge branch 'next-minor' into next-major 2022-12-23 16:58:59 +00:00
Dylan K. Taylor
17125ce0e3
Merge branch 'stable' into next-minor 2022-12-23 16:56:54 +00:00
Dylan K. Taylor
3987ee6cb2
PluginDescription: const-ify plugin.yml parsing keys 2022-12-23 16:11:03 +00:00
Dylan K. Taylor
51a684c0ea
PermissionParser: remove hardcoded default strings in defaultFromString() 2022-12-23 16:03:01 +00:00
Dylan K. Taylor
43e69041fc
PermissionParser: use constants for keys 2022-12-23 16:00:38 +00:00
Dylan K. Taylor
5d2b0acfc8
GamemodeCommand: report failure if the target's game mode is already the desired game mode
this has irritated me for years.
2022-12-22 18:38:10 +00:00
Dylan K. Taylor
b03733442b
Move translation flattening logic from Player to NetworkSession
this is network-specific stuff, so it doesn't belong in Player.
2022-12-22 16:51:09 +00:00
Dylan K. Taylor
9c9929ff39
Player: break cycle between sendMessage() and sendTranslation() 2022-12-22 16:37:36 +00:00
Dylan K. Taylor
566a8a261f
Player: deprecate sendTranslation() in favour of sendMessage() 2022-12-22 16:32:54 +00:00
IvanCraft623
a9e5f92958
Show death message on death screen (#5386) 2022-12-22 15:36:31 +00:00
ipad54
b3473960b4
Implemented chain (#5454) 2022-12-22 15:22:04 +00:00
Dylan K. Taylor
044d35956e
5.0.0-ALPHA7 is next 2022-12-19 22:21:14 +00:00
Dylan K. Taylor
da4315df05
Release 5.0.0-ALPHA6 2022-12-19 22:21:13 +00:00
Dylan K. Taylor
ee7d4728d8
World: added cache for isChunkTickable()
this considerably reduces the amount of work done by the function, since it's usually checking the same chunks over and over again.
2022-12-19 21:20:21 +00:00
Dylan K. Taylor
923dcec4e7
Revert "World: do not refresh ticked chunks list every tick"
This reverts commit aebcfc516ff97492c58ee478a3944915a777a75e.

this has edge cases in the handling of adjacent chunk locks which I
didn't consider at the time. Once accounting for those edge cases, it
became significantly more complex to the point that I realized this
needed more planning.
2022-12-19 20:57:51 +00:00
Dylan K. Taylor
1e5597f0d5
World: account for null chunk edge case in tickChunk()
the target chunk may no longer be loaded if it was unloaded during a previous chunk's tick (e.g. during BlockGrowEvent).
Since the parent function iterates over a pre-selected array of chunks, the chunk will still be present in the list even if it's no longer loaded by the time it's reached.
2022-12-19 20:20:52 +00:00
Dylan K. Taylor
aebcfc516f
World: do not refresh ticked chunks list every tick
this is just wasting CPU time, since the effects aren't noticeable on such a small timescale anyway.
This reduces the CPU impact of chunk selection by 95%. However, this is the lesser part of chunk ticking, and the lion's share of the performance impact still comes from actually ticking the chunks.
2022-12-19 20:17:29 +00:00
Dylan K. Taylor
97ef209c5f
HandlerList: added missing class-string type for constructor 2022-12-19 16:26:36 +00:00
Dylan K. Taylor
16f90f4120
EntityFactory: remove legacy save IDs
this can be more cleanly handled using BedrockData.
2022-12-19 16:04:32 +00:00
Dylan K. Taylor
ec59dc1c80
SuspiciousStewTypeIdMap: fixed uninitialized fields 2022-12-19 15:58:26 +00:00
Dylan K. Taylor
973b8130db
Merge remote-tracking branch 'origin/next-minor' into next-major 2022-12-19 15:57:06 +00:00
Dylan K. Taylor
99faeb8d05
Merge remote-tracking branch 'origin/stable' into next-minor 2022-12-19 15:55:59 +00:00
Dylan K. Taylor
529700bb8b
PotionTypeIdMap: fixed uninitialized fields
I have no idea why this didn't ever cause a problem before... probably an edge-case in the typed properties implementation
2022-12-19 15:33:15 +00:00
Dylan K. Taylor
f38b15cf83
Added tag for fire blocks 2022-12-19 15:22:09 +00:00
Dylan K. Taylor
0efd928db6
Apply a prefix to block type tags 2022-12-19 15:11:06 +00:00
Dylan K. Taylor
9809909072
BedrockWorldData: remove unused custom fields 2022-12-19 15:06:06 +00:00
Dylan K. Taylor
de3af9e660
Fix CS 2022-12-19 15:02:59 +00:00
Dylan K. Taylor
a30c649607
BedrockWorldData: enable commands by default 2022-12-19 14:59:55 +00:00
Dylan K. Taylor
d7ebabd771
Fixed the client asking to upgrade PM-generated worlds 2022-12-19 14:56:04 +00:00
Dylan K. Taylor
be1087c071
Accept worlds from 1.19.40 and up 2022-12-19 14:55:24 +00:00
Dylan K. Taylor
b27c47335c
JavaWorldData: remove Bedrock-compatible hacks
we don't need these, since we don't write to Java world formats anymore anyway.
2022-12-19 13:43:28 +00:00
Dylan K. Taylor
58eec637c1
Constify NBT keys in world data handling
this code is one giant mess that needs to be cleaned up though...
2022-12-19 13:39:41 +00:00
Dylan K. Taylor
4f86ea9933
Merge branch 'next-major' of github.com:pmmp/PocketMine-MP into next-major 2022-12-18 22:25:44 +00:00
Dylan K. Taylor
6e2685cbbb
Merge branch 'next-minor' into next-major 2022-12-18 22:25:32 +00:00
Dylan K. Taylor
b2017c8462
and more 2022-12-18 22:14:31 +00:00
Dylan K. Taylor
bf44edd179
Constify a bunch of NBT keys, pass 1 2022-12-18 22:12:15 +00:00
IvanCraft623
44e288554a
Implement new records (#5433) 2022-12-18 21:15:27 +00:00
Dylan K. Taylor
ffa88aff67
Merge branch 'next-minor' into next-major 2022-12-18 21:05:26 +00:00
IvanCraft623
1785cbb6b5
Implement FallingBlock missing sounds (#5348) 2022-12-18 19:33:50 +00:00