mirror of
				https://github.com/pmmp/PocketMine-MP.git
				synced 2025-10-31 14:29:19 +00:00 
			
		
		
		
	
		
			
				
	
	
	
		
			5.6 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			5.6 KiB
		
	
	
	
	
	
	
	
5.36.0
Released 22nd October 2025.
This is a minor feature release containing performance improvements, new gameplay features, new API additions and network changes.
Plugin compatibility: Plugins for previous 5.x versions will run unchanged on this release, unless they use internal APIs, reflection, or packages like the pocketmine\network\mcpe or pocketmine\data namespace.
Do not update plugin minimum API versions unless you need new features added in this release.
WARNING: If your plugin uses the pocketmine\network\mcpe namespace, you're not shielded by API change constraints.
Consider using the mcpe-protocol directive in plugin.yml as a constraint if you're using packets directly.
General
- Added some useful URLs to the console log on server startup. (@dktapps, @Wraith0x10)
- Block containers like Campfire no longer get completely deleted when one invalid item is encountered. (@dktapps)
- Block containers now log more useful errors when encountering item data loading errors when loaded from disk. (@dktapps)
- Improved handling of invalid items in stored player inventories, reducing crashes. (@dktapps)
UI
- The /particlecommand now supportssonicexplosionparticles. (@Pupggerss)
Gameplay
- Improved Cactus growth logic. (@DavyCraft648)
- Short grass and small ferns can now be grown into double tallgrass and large ferns using bone meal. (@remminiscent)
- Implemented exposure calculation for explosions. Obstructions such as walls will now protect entities from explosion damage (if they don't get destroyed). (@Wraith0x10)
- Added the following blocks:
- Cactus Flower (@DavyCraft648)
- Copper Bars
- Copper Chain
- Copper Lantern
- Copper Torch
 
- Added the following items:
- Lingering Potion (@IvanCraft623)
 
- Added the following entities:
- Area Effect Cloud (@IvanCraft623)
 
API
pocketmine\block
- The following constants have been added:
- Cactus::MAX_HEIGHT
 
- LightningRodnow implements- CopperMaterial, allowing it to have oxidation and waxed properties.
pocketmine\entity
- The following new classes have been added:
- effect\EffectCollection- manages a set of effects, but doesn't consume them. Used by- AreaEffectCloud.
- object\AreaEffectCloud
 
pocketmine\event
- The following new classes have been added:
- AreaEffectCloudApplyEvent- called when an area effect cloud tries to update the effects on entities it's touching
 
pocketmine\item
- The following new methods have been added:
- Item::safeNbtDeserialize()- works like- Item::nbtDeserialize()but logs any- SavedDataLoadingExceptionthrown instead of bailing out
- SplashPotion->willLinger()- returns whether this splash potion is a lingering potion
- VanillaItems::LINGERING_POTION()
 
- The following methods have signature changes:
- SplashPotion->__construct()now has an extra- bool $linger = falseparameter (to be made mandatory in a future major version)
 
pocketmine\world
- The following classes have been added:
- particle\SonicExplosionParticle
 
pocketmine
- The following constants have been added:
- VersionInfo::GITHUB_URL
 
Internals
- pmmp/Languagewas merged as a subtree in the- resources/translationsfolder. (@dktapps)- This will reduce friction when adding new strings, and also shorten the timeline for merging new Crowdin translations.
- Unfortunately this does make the commit log for this version very noisy.
- Note that only eng.inishould be modified manually. All other translations are updated by Crowdin via automated pull requests.
 
- Various old, unused translation strings have been removed, along with their KnownTranslationFactoryandKnownTranslationKeysentries. (@dktapps)
- NetworkSessionnow supports throwing- FilterNoisyPacketExceptionfrom packet handlers to drop consecutive repeated packets. (@dktapps)- This solves high FPS packet spam issues (InventoryTransactionPacketon right-click,AnimatePacketon left-click) causing players to get kicked.
- Server workload when dealing with these players should also be significantly reduced.
- This system may need improvement in the future if multiple packets get spammed at once (interleaved), but current cases don't require that level of complexity.
 
- This solves high FPS packet spam issues (
- New version of BedrockProtocolintegrated. (@dktapps)- Significant changes to the construction of AvailableCommandsPacket:- AvailableCommandsPacketnow works with raw, unlinked data only. It will not attempt to resolve string or enum dictionary references. This vastly improves the ability to debug the packet, as well as simplifying its code and making it possible to do symmetric binary encoding tests.
- New AvailableCommandsPacketAssemblerandAvailableCommandsPacketDisassemblerclasses are now provided to allow transforming unlinkedAvailableCommandsPacketdata into linked high-level structures that are easier to work with. The usage of these should be almost identical to before.
- See this pull request for more information.
 
- Removed legacy backwards-compatible aliases for LevelSoundEventandEntityMetadataFlagsenums.
 
- Significant changes to the construction of 
- Removed unnecessary logic repetition in Living->lookAt(). (@armorshard1)
- EffectManagernow inherits most of its functionality from- EffectCollection. (@IvanCraft623)
- Fixed a crash in PHP 8.5 in the Normalgenerator's biome noise calculation when the calculated hash overflows into afloat. (@dktapps)- This is almost certainly not working as intended, but unfortunately we can't change it without causing cliff edges in existing worlds. The issue has been worked around instead.