Merge branch 'staging/4.1' into next-minor

This commit is contained in:
Dylan K. Taylor 2022-02-06 23:56:47 +00:00
commit 95bc013e97
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
9 changed files with 40 additions and 15 deletions

View File

@ -6,3 +6,8 @@ updates:
interval: daily
time: "10:00"
open-pull-requests-limit: 10
- package-ecosystem: gitsubmodule
directory: "/"
schedule:
interval: daily

@ -1 +1 @@
Subproject commit bd329dba08242b6ecb99ef7fbf9a0031dcbbb3ff
Subproject commit 30eed13faaa8995814b1ada426b7e947f891ee3c

View File

@ -1627,3 +1627,21 @@ Released 25th January 2022.
## Fixes
- Fixed ender chest not dropping itself when mined with a Silk Touch pickaxe.
- The correct amount of fall damage is now taken when falling from a height onto hay bales.
# 4.0.9
Released 5th February 2022.
## Fixes
### Core
- The spawn chunk of the default world is no longer loaded during shutdown. Previously, it would attempt to find a safe spawn to teleport players to, only to unload the target world of that safe spawn and not use it.
- The spawn chunk of the default world is no longer loaded when unloading a non-default world containing zero players.
- Fixed chunk version `8` in Bedrock worlds being treated as corrupted. These appeared in worlds between 1.2.13 and 1.8.0.
### API
- Added missing bounds check to `Liquid->setDecay()`.
- Fixed `StringToItemParser` returning concrete instead of concrete powder when given `<color>_concrete_powder`.
### Gameplay
- Cobwebs now drop themselves when broken using shears.
- Fixed spectator players being able to drop items.
- Fixed collision shapes of Bell in different orientations.

View File

@ -49,7 +49,7 @@ final class StringToItemParser extends StringToTParser{
$result->registerBlock($prefix("bed"), fn() => VanillaBlocks::BED()->setColor($color));
$result->registerBlock($prefix("carpet"), fn() => VanillaBlocks::CARPET()->setColor($color));
$result->registerBlock($prefix("concrete"), fn() => VanillaBlocks::CONCRETE()->setColor($color));
$result->registerBlock($prefix("concrete_powder"), fn() => VanillaBlocks::CONCRETE()->setColor($color));
$result->registerBlock($prefix("concrete_powder"), fn() => VanillaBlocks::CONCRETE_POWDER()->setColor($color));
$result->registerBlock($prefix("stained_clay"), fn() => VanillaBlocks::STAINED_CLAY()->setColor($color));
$result->registerBlock($prefix("stained_glass"), fn() => VanillaBlocks::STAINED_GLASS()->setColor($color));
$result->registerBlock($prefix("stained_glass_pane"), fn() => VanillaBlocks::STAINED_GLASS_PANE()->setColor($color));

View File

@ -61,7 +61,7 @@ class EncryptionContext{
}
/**
* Returns an EncryptionContext suitable for decrypting Minecraft packets from 1.16.200 and up.
* Returns an EncryptionContext suitable for decrypting Minecraft packets from 1.16.220.50 (protocol version 429) and up.
*
* MCPE uses GCM, but without the auth tag, which defeats the whole purpose of using GCM.
* GCM is just a wrapper around CTR which adds the auth tag, so CTR can replace GCM for this case.

View File

@ -106,7 +106,6 @@ class ZippedResourcePack implements ResourcePack{
}
$mapper = new \JsonMapper();
$mapper->bExceptionOnUndefinedProperty = true;
$mapper->bExceptionOnMissingData = true;
try{

View File

@ -153,16 +153,18 @@ class WorldManager{
}
$this->server->getLogger()->info($this->server->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_unloading($world->getDisplayName())));
try{
$safeSpawn = $this->defaultWorld !== null ? $this->defaultWorld->getSafeSpawn() : null;
}catch(WorldException $e){
$safeSpawn = null;
}
foreach($world->getPlayers() as $player){
if($world === $this->defaultWorld || $safeSpawn === null){
$player->disconnect("Forced default world unload");
}else{
$player->teleport($safeSpawn);
if(count($world->getPlayers()) !== 0){
try{
$safeSpawn = $this->defaultWorld !== null && $this->defaultWorld !== $world ? $this->defaultWorld->getSafeSpawn() : null;
}catch(WorldException $e){
$safeSpawn = null;
}
foreach($world->getPlayers() as $player){
if($safeSpawn === null){
$player->disconnect("Forced default world unload");
}else{
$player->teleport($safeSpawn);
}
}
}

View File

@ -263,6 +263,7 @@ class LevelDB extends BaseWorldProvider implements WritableWorldProvider{
case 11: //MCPE 1.11.0.1 beta (???)
case 10: //MCPE 1.9 (???)
case 9: //MCPE 1.8 (???)
case 8: //MCPE 1.2.13 (paletted subchunks)
case 7: //MCPE 1.2 (???)
case 6: //MCPE 1.2.0.2 beta (???)
case 4: //MCPE 1.1

@ -1 +1 @@
Subproject commit 39510af5bcf19eef3b3157c8c51d88a736811591
Subproject commit e884a4c234629126203e769df7c4dbbbc0dc2d49