13415 Commits

Author SHA1 Message Date
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
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
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
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
Dylan K. Taylor
8c0d3943d8
Added length validation for resource pack encryption keys 2022-12-15 22:36:06 +00:00
Dylan K. Taylor
d02c6668b2
ResourcePackManager: added setPackEncryptionKey()
this allows plugins to install their own encrypted resource packs
2022-12-15 22:29:34 +00:00
Dylan K. Taylor
880d01daea
ResourcePackManager: added setResourceStack()
this enables plugins to modify the resource pack stack however they see fit.

Modifying the existing stack can be done by doing array modifications on the result of getResourceStack() and then setting it back again using this method.
2022-12-15 22:10:53 +00:00
Dylan K. Taylor
50b70708fb
ResourcePackManager: extracted loadPackFromPath() private method from constructor body 2022-12-15 21:59:54 +00:00
Dylan K. Taylor
437fa615b8
4.12.3 is next 2022-12-15 21:08:28 +00:00
Dylan K. Taylor
0ee6cdb058
Release 4.12.2 2022-12-15 21:08:23 +00:00
Javier León
c5d716dc9d
Added keep on death methods for items (#5395) 2022-12-15 20:10:20 +00:00
Dylan K. Taylor
95d0a3bf41
Merge branch 'stable' into next-minor 2022-12-15 19:38:22 +00:00
Dylan K. Taylor
cf707e15c2
fix 2022-12-15 19:36:16 +00:00
! Bryan
1308cda5c2
Implemented hook method Item::onInteractEntity() (#5432)
this is called when the player right-clicks on an entity to do some action, such as shearing, naming etc.
2022-12-15 19:30:52 +00:00
Rush2929
31465525e3
Fixed PHP-CS-Fixer not import global constants. (#5449) 2022-12-12 17:12:33 +00:00
Dylan K. Taylor
1cefe24414
InGamePacketHandler: fixed transaction predictions not getting rolled back for failed use/release/interact transactions
this was caused by b5cfab497dc75ff884b5d91831d5a2f7a5016d99.
2022-12-10 21:16:08 +00:00
Armen Deroian
4357c110c8
Add the event: WorldParticleEvent (#5428) 2022-12-06 14:19:14 +00:00
Dylan K. Taylor
8bf85d4a18
bootstrap: avoid using is_writable() to check for data directory access permissions
closes #5440
2022-12-06 14:13:37 +00:00
Dylan K. Taylor
b5e6dec0c6
Filesystem: capture error information from attempted lock file creation 2022-12-06 14:06:08 +00:00
Dylan K. Taylor
a3306914cc
bootstrap: do not require the plugins dir to be writable
on a modern installation, the plugins folder does not need to be writable by the server. Perhaps DevTools should be checking this for /genplugin, but it's not required otherwise.
2022-12-06 13:58:50 +00:00
Dylan K. Taylor
99996b62d6
Align PhpDoc @param tags according to PHP-CS-Fixer 2022-12-06 13:21:20 +00:00
Armen Deroian
fed2a6d917
Add the event: WorldSoundEvent (#5322) 2022-12-06 13:06:40 +00:00
Rush2929
1d4b6dc66e
Only reduce durability when armor reduced damage. (#5444)
https://minecraft.fandom.com/wiki/Durability#Armor_durability
2022-12-05 21:10:36 +00:00
Dylan K. Taylor
174c9a48f5
Merge branch 'next-minor' of github.com:pmmp/PocketMine-MP into next-minor 2022-12-05 14:12:45 +00:00
Dylan K. Taylor
0a9b52618d
4.12.2 is next 2022-12-04 23:11:48 +00:00
Dylan K. Taylor
7ae6425d05
Release 4.12.1 2022-12-04 23:11:48 +00:00
Dylan K. Taylor
b5cfab497d
Clean up inventory content syncing, fixes #5441
these remnants should have been cleaned up in 4.11, but I somehow managed to skip over them.
2022-12-04 23:05:30 +00:00
Javier León
3984d220bb
Implemented the swift sneak enchantment (#5404)
Co-authored-by: Dylan T <dktapps@pmmp.io>

closes #5301
2022-12-01 20:38:41 +00:00
Dylan K. Taylor
eb62dc3294
Added documentation for RegistryTrait, EnumTrait and CloningRegistryTrait 2022-11-30 21:04:17 +00:00
Dylan K. Taylor
0b497654f2
Merge remote-tracking branch 'origin/stable' into next-minor 2022-11-30 19:51:24 +00:00
Dylan K. Taylor
279056fe2f
4.12.1 is next 2022-11-30 16:35:58 +00:00
Dylan K. Taylor
cd233b123b
Release 4.12.0 2022-11-30 16:35:58 +00:00
IvanCraft623
d476a4c1aa
Implement a Living::getDisplayName() (#5384) 2022-11-27 19:48:55 +00:00
SlimyBoy2
95263795a8
Durable: fix misbehaviour of isBroken() since fe982c697bec3265c4222b73fe5ed17c9ef3b1ce (#5436)
this broke tool and armour break sounds.
2022-11-27 00:13:41 +00:00
Dylan K. Taylor
ec9f9a469f
4.11.1 is next 2022-11-25 20:29:49 +00:00
Dylan K. Taylor
d450264e1c
Release 4.11.0 2022-11-25 20:29:46 +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
d79e6354a0
Merge branch 'stable' into next-minor 2022-11-25 14:41:05 +00:00
zSALLAZAR
5c1e9a35a9
Fix missing sounds when interacting with item frames (#5383)
closes #5168
2022-11-25 14:28:41 +00:00
Dylan K. Taylor
aad9f5fb45
Terminal: use fallback escape codes if TERM env var is not set
tput requires a value for TERM, so it will generate errors if the var is
not set, as it appears not to be in PhpStorm on macOS.
2022-11-24 22:52:33 +00:00
zSALLAZAR
e5f5fe80f9
BlockGrowEvent: Remove unnecessary Cancellable implementation (#5359)
this is already implemented by BaseBlockChangeEvent
2022-11-23 13:29:23 +00:00
zSALLAZAR
36ab34df29
Implement BlockDeathEvent (#5420)
closes #4711
2022-11-23 12:57:26 +00:00