From d6266d19b64939d74c6f8b0198c0d20cf3e1f0ef Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Wed, 23 Aug 2017 18:38:09 +0100 Subject: [PATCH 1/3] Added correct friction factor for ice & packed-ice --- src/pocketmine/block/Ice.php | 4 ++++ src/pocketmine/block/PackedIce.php | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/pocketmine/block/Ice.php b/src/pocketmine/block/Ice.php index 3829fa4a6b..85b7be2665 100644 --- a/src/pocketmine/block/Ice.php +++ b/src/pocketmine/block/Ice.php @@ -48,6 +48,10 @@ class Ice extends Transparent{ return 2; } + public function getFrictionFactor() : float{ + return 0.98; + } + public function getToolType() : int{ return Tool::TYPE_PICKAXE; } diff --git a/src/pocketmine/block/PackedIce.php b/src/pocketmine/block/PackedIce.php index b1a77bc57c..38b68f5d06 100644 --- a/src/pocketmine/block/PackedIce.php +++ b/src/pocketmine/block/PackedIce.php @@ -41,6 +41,10 @@ class PackedIce extends Solid{ return 0.5; } + public function getFrictionFactor() : float{ + return 0.98; + } + public function getToolType() : int{ return Tool::TYPE_PICKAXE; } From 55e32424a09fa699379c53bc0c573ec93c5b8e2f Mon Sep 17 00:00:00 2001 From: xFlare Date: Wed, 23 Aug 2017 14:26:24 -0400 Subject: [PATCH 2/3] Ability to get a player's quit reason from PlayerQuitEvent (#1308) --- src/pocketmine/Player.php | 2 +- src/pocketmine/event/player/PlayerQuitEvent.php | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 2443471e76..0c62c12db3 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -3446,7 +3446,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{ $this->server->getLogger()->logException($e); } - $this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message)); + $this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message, $reason)); if($ev->getQuitMessage() != ""){ $this->server->broadcastMessage($ev->getQuitMessage()); } diff --git a/src/pocketmine/event/player/PlayerQuitEvent.php b/src/pocketmine/event/player/PlayerQuitEvent.php index 6397f42b6c..5167ac6407 100644 --- a/src/pocketmine/event/player/PlayerQuitEvent.php +++ b/src/pocketmine/event/player/PlayerQuitEvent.php @@ -34,14 +34,18 @@ class PlayerQuitEvent extends PlayerEvent{ /** @var TranslationContainer|string */ protected $quitMessage; + /** @var string */ + protected $quitReason; /** * @param Player $player * @param TranslationContainer|string $quitMessage + * @param string $quitReason */ - public function __construct(Player $player, $quitMessage){ + public function __construct(Player $player, $quitMessage, string $quitReason){ $this->player = $player; $this->quitMessage = $quitMessage; + $this->quitReason = $quitReason; } /** @@ -57,4 +61,11 @@ class PlayerQuitEvent extends PlayerEvent{ public function getQuitMessage(){ return $this->quitMessage; } + + /** + * @return string + */ + public function getQuitReason() : string{ + return $this->quitReason; + } } From 90edb8ebe746582a50514c63a7162fa39d19661f Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 24 Aug 2017 10:45:16 +0100 Subject: [PATCH 3/3] Make decoding accessible --- .../network/mcpe/protocol/CraftingDataPacket.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/network/mcpe/protocol/CraftingDataPacket.php b/src/pocketmine/network/mcpe/protocol/CraftingDataPacket.php index eb8a38d711..53cebac5cf 100644 --- a/src/pocketmine/network/mcpe/protocol/CraftingDataPacket.php +++ b/src/pocketmine/network/mcpe/protocol/CraftingDataPacket.php @@ -47,13 +47,16 @@ class CraftingDataPacket extends DataPacket{ public $entries = []; public $cleanRecipes = false; + public $decodedEntries = []; + public function clean(){ $this->entries = []; + $this->decodedEntries = []; return parent::clean(); } public function decodePayload(){ - $entries = []; + $this->decodedEntries = []; $recipeCount = $this->getUnsignedVarInt(); for($i = 0; $i < $recipeCount; ++$i){ $entry = []; @@ -105,7 +108,7 @@ class CraftingDataPacket extends DataPacket{ default: throw new \UnexpectedValueException("Unhandled recipe type $recipeType!"); //do not continue attempting to decode } - $entries[] = $entry; + $this->decodedEntries[] = $entry; } $this->getBool(); //cleanRecipes }