Merge branch 'release/3.3' into release/3.4

This commit is contained in:
Dylan K. Taylor 2018-10-21 18:17:07 +01:00
commit 6dd2597934
62 changed files with 120 additions and 49 deletions

View File

@ -473,7 +473,7 @@ class MemoryManager{
self::continueDump($value, $data[$key], $objects, $refCounts, $recursion + 1, $maxNesting, $maxStringSize);
}
}elseif(is_string($from)){
$data = "(string) len(". strlen($from) .") " . substr(Utils::printable($from), 0, $maxStringSize);
$data = "(string) len(" . strlen($from) . ") " . substr(Utils::printable($from), 0, $maxStringSize);
}elseif(is_resource($from)){
$data = "(resource) " . print_r($from, true);
}else{

View File

@ -173,6 +173,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
/**
* Checks a supplied username and checks it is valid.
*
* @param string $name
*
* @return bool
@ -1322,6 +1323,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
* TODO: remove this when Spectator Mode gets added properly to MCPE
*
* @param int $gamemode
*
* @return int
*/
public static function getClientFriendlyGamemode(int $gamemode) : int{
@ -2229,6 +2231,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
* Don't expect much from this handler. Most of it is roughly hacked and duct-taped together.
*
* @param InventoryTransactionPacket $packet
*
* @return bool
*/
public function handleInventoryTransaction(InventoryTransactionPacket $packet) : bool{
@ -2808,6 +2811,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
* Drops an item on the ground in front of the player. Returns if the item drop was successful.
*
* @param Item $item
*
* @return bool if the item was dropped or if the item was null
*/
public function dropItem(Item $item) : bool{

View File

@ -1003,6 +1003,7 @@ class Server{
/**
* @internal
*
* @param Level $level
*/
public function removeLevel(Level $level) : void{

View File

@ -411,6 +411,7 @@ class BlockFactory{
* Returns whether a specified block ID is already registered in the block factory.
*
* @param int $id
*
* @return bool
*/
public static function isRegistered(int $id) : bool{

View File

@ -95,6 +95,7 @@ class CommandReader extends Thread{
* Checks if the specified stream is a FIFO pipe.
*
* @param resource $stream
*
* @return bool
*/
private function isPipe($stream) : bool{

View File

@ -54,6 +54,7 @@ interface CommandSender extends Permissible{
/**
* Sets the line height used for command output pagination for this command sender. `null` will reset it to default.
*
* @param int|null $height
*/
public function setScreenLineHeight(int $height = null);

View File

@ -144,6 +144,7 @@ class DataPropertyManager{
public function getItem(int $key) : ?Item{
$value = $this->getPropertyValue($key, Entity::DATA_TYPE_SLOT);
assert($value instanceof Item or $value === null);
return $value;
}

View File

@ -81,6 +81,7 @@ class EffectInstance{
/**
* @param int $duration
*
* @throws \InvalidArgumentException
*
* @return $this

View File

@ -346,7 +346,7 @@ abstract class Entity extends Location implements Metadatable, EntityIds{
*
* @return CompoundTag
*/
public static function createBaseNBT(Vector3 $pos, ?Vector3 $motion = null , float $yaw = 0.0, float $pitch = 0.0) : CompoundTag{
public static function createBaseNBT(Vector3 $pos, ?Vector3 $motion = null, float $yaw = 0.0, float $pitch = 0.0) : CompoundTag{
return new CompoundTag("", [
new ListTag("Pos", [
new DoubleTag("", $pos->x),
@ -936,6 +936,7 @@ abstract class Entity extends Location implements Metadatable, EntityIds{
* Called to tick entities while dead. Returns whether the entity should be flagged for despawn yet.
*
* @param int $tickDiff
*
* @return bool
*/
protected function onDeathUpdate(int $tickDiff) : bool{
@ -1390,7 +1391,6 @@ abstract class Entity extends Location implements Metadatable, EntityIds{
Timings::$timerEntityBaseTick->stopTiming();
$this->timings->stopTiming();
//if($this->isStatic())
@ -2074,6 +2074,7 @@ abstract class Entity extends Location implements Metadatable, EntityIds{
* Wrapper around {@link Entity#getDataFlag} for generic data flag reading.
*
* @param int $flagId
*
* @return bool
*/
public function getGenericFlag(int $flagId) : bool{

View File

@ -889,6 +889,7 @@ class Human extends Creature implements ProjectileSource, InventoryHolder{
* Wrapper around {@link Entity#getDataFlag} for player-specific data flag reading.
*
* @param int $flagId
*
* @return bool
*/
public function getPlayerFlag(int $flagId) : bool{

View File

@ -330,6 +330,7 @@ abstract class Living extends Entity implements Damageable{
/**
* Sends the mob's potion effects to the specified player.
*
* @param Player $player
*/
public function sendPotionEffects(Player $player) : void{
@ -773,6 +774,7 @@ abstract class Living extends Entity implements Damageable{
/**
* Sets the number of air ticks left in the entity's air supply.
*
* @param int $ticks
*/
public function setAirSupplyTicks(int $ticks) : void{
@ -789,6 +791,7 @@ abstract class Living extends Entity implements Damageable{
/**
* Sets the maximum amount of air ticks the air supply can hold.
*
* @param int $ticks
*/
public function setMaxAirSupplyTicks(int $ticks) : void{

View File

@ -73,6 +73,7 @@ class PaintingMotive{
/**
* @param string $name
*
* @return PaintingMotive|null
*/
public static function getMotiveByName(string $name) : ?PaintingMotive{

View File

@ -27,8 +27,8 @@ use pocketmine\block\Block;
use pocketmine\block\BlockFactory;
use pocketmine\entity\EffectInstance;
use pocketmine\entity\Living;
use pocketmine\event\entity\ProjectileHitEntityEvent;
use pocketmine\event\entity\ProjectileHitBlockEvent;
use pocketmine\event\entity\ProjectileHitEntityEvent;
use pocketmine\event\entity\ProjectileHitEvent;
use pocketmine\item\Potion;
use pocketmine\network\mcpe\protocol\LevelEventPacket;
@ -151,6 +151,7 @@ class SplashPotion extends Throwable{
/**
* Sets whether this splash potion will create an area-effect-cloud when it lands.
*
* @param bool $value
*/
public function setLinger(bool $value = true) : void{

View File

@ -31,6 +31,7 @@ abstract class ExperienceUtils{
* Calculates and returns the amount of XP needed to get from level 0 to level $level
*
* @param int $level
*
* @return int
*/
public static function getXpToReachLevel(int $level) : int{

View File

@ -63,6 +63,7 @@ class PlayerChangeSkinEvent extends PlayerEvent implements Cancellable{
/**
* @param Skin $skin
*
* @throws \InvalidArgumentException if the specified skin is not valid
*/
public function setNewSkin(Skin $skin) : void{

View File

@ -384,6 +384,7 @@ abstract class BaseInventory implements Inventory{
/**
* Removes the inventory window from all players currently viewing it.
*
* @param bool $force Force removal of permanent windows such as the player's own inventory. Used internally.
*/
public function removeAllViewers(bool $force = false) : void{

View File

@ -244,6 +244,7 @@ interface Inventory{
* Returns whether the specified slot exists in the inventory.
*
* @param int $slot
*
* @return bool
*/
public function slotExists(int $slot) : bool;

View File

@ -88,6 +88,7 @@ class PlayerInventory extends BaseInventory{
/**
* @param int $slot
*
* @throws \InvalidArgumentException
*/
private function throwIfNotHotbarSlot(int $slot){
@ -100,6 +101,7 @@ class PlayerInventory extends BaseInventory{
* Returns the item in the specified hotbar slot.
*
* @param int $hotbarSlot
*
* @return Item
*
* @throws \InvalidArgumentException if the hotbar slot index is out of range
@ -160,6 +162,7 @@ class PlayerInventory extends BaseInventory{
/**
* Sends the currently-held item to specified targets.
*
* @param Player|Player[] $target
*/
public function sendHeldItem($target){

View File

@ -55,6 +55,7 @@ class DropItemAction extends InventoryAction{
* Drops the target item in front of the player.
*
* @param Player $source
*
* @return bool
*/
public function execute(Player $source) : bool{

View File

@ -53,6 +53,7 @@ abstract class Armor extends Durable{
/**
* Sets the dyed colour of this armour piece. This generally only applies to leather armour.
*
* @param Color $color
*/
public function setCustomColor(Color $color) : void{

View File

@ -38,6 +38,7 @@ abstract class Durable extends Item{
/**
* Sets whether the item will take damage when used.
*
* @param bool $value
*/
public function setUnbreakable(bool $value = true){
@ -46,6 +47,7 @@ abstract class Durable extends Item{
/**
* Applies damage to the item.
*
* @param int $amount
*
* @return bool if any damage was applied to the item

View File

@ -523,6 +523,7 @@ class Item implements ItemIds, \JsonSerializable{
/**
* @param string $name
*
* @return NamedTag|null
*/
public function getNamedTagEntry(string $name) : ?NamedTag{
@ -557,6 +558,7 @@ class Item implements ItemIds, \JsonSerializable{
/**
* Sets the Item's NBT from the supplied CompoundTag object.
*
* @param CompoundTag $tag
*
* @return Item
@ -589,6 +591,7 @@ class Item implements ItemIds, \JsonSerializable{
/**
* @param int $count
*
* @return Item
*/
public function setCount(int $count) : Item{
@ -669,6 +672,7 @@ class Item implements ItemIds, \JsonSerializable{
/**
* @param int $meta
*
* @return Item
*/
public function setDamage(int $meta) : Item{
@ -779,6 +783,7 @@ class Item implements ItemIds, \JsonSerializable{
* Returns whether the item was changed, for example count decrease or durability change.
*
* @param Player $player
*
* @return bool
*/
public function onReleaseUsing(Player $player) : bool{
@ -844,6 +849,7 @@ class Item implements ItemIds, \JsonSerializable{
/**
* Returns whether the specified item stack has the same ID, damage, NBT and count as this item stack.
*
* @param Item $other
*
* @return bool
@ -888,6 +894,7 @@ class Item implements ItemIds, \JsonSerializable{
* Returns an Item from properties created in an array by {@link Item#jsonSerialize}
*
* @param array $data
*
* @return Item
*/
final public static function jsonDeserialize(array $data) : Item{

View File

@ -71,6 +71,7 @@ class Potion extends Item implements Consumable{
* Returns a list of effects applied by potions with the specified ID.
*
* @param int $id
*
* @return EffectInstance[]
*/
public static function getPotionEffectsById(int $id) : array{

View File

@ -27,8 +27,8 @@ use pocketmine\entity\Entity;
use pocketmine\entity\projectile\Projectile;
use pocketmine\event\entity\ProjectileLaunchEvent;
use pocketmine\math\Vector3;
use pocketmine\network\mcpe\protocol\LevelSoundEventPacket;
use pocketmine\nbt\tag\CompoundTag;
use pocketmine\network\mcpe\protocol\LevelSoundEventPacket;
use pocketmine\Player;
abstract class ProjectileItem extends Item{

View File

@ -69,6 +69,7 @@ class EnchantmentInstance{
/**
* Sets the level of the enchantment.
*
* @param int $level
*
* @return $this

View File

@ -62,6 +62,7 @@ class ProtectionEnchantment extends Enchantment{
/**
* Returns the base EPF this enchantment type offers for the given enchantment level.
*
* @param int $level
*
* @return int
@ -72,6 +73,7 @@ class ProtectionEnchantment extends Enchantment{
/**
* Returns whether this enchantment type offers protection from the specified damage source's cause.
*
* @param EntityDamageEvent $event
*
* @return bool

View File

@ -292,6 +292,7 @@ class Level implements ChunkManager, Metadatable{
/**
* @param string $str
*
* @return int
*/
public static function getDifficultyFromString(string $str) : int{

View File

@ -51,7 +51,7 @@ class Chunk{
/** @var bool */
protected $isInit = false;
/** @var bool*/
/** @var bool */
protected $lightPopulated = false;
/** @var bool */
protected $terrainGenerated = false;
@ -366,6 +366,7 @@ class Chunk{
/**
* Returns the heightmap value at the specified X/Z chunk block coordinates
*
* @param int $x 0-15
* @param int $z 0-15
* @param int $value
@ -465,6 +466,7 @@ class Chunk{
/**
* Returns a column of block IDs from bottom to top at the specified X/Z chunk block coordinates.
*
* @param int $x 0-15
* @param int $z 0-15
*
@ -475,11 +477,13 @@ class Chunk{
foreach($this->subChunks as $subChunk){
$result .= $subChunk->getBlockIdColumn($x, $z);
}
return $result;
}
/**
* Returns a column of block meta values from bottom to top at the specified X/Z chunk block coordinates.
*
* @param int $x 0-15
* @param int $z 0-15
*
@ -495,6 +499,7 @@ class Chunk{
/**
* Returns a column of sky light values from bottom to top at the specified X/Z chunk block coordinates.
*
* @param int $x 0-15
* @param int $z 0-15
*
@ -510,6 +515,7 @@ class Chunk{
/**
* Returns a column of block light values from bottom to top at the specified X/Z chunk block coordinates.
*
* @param int $x 0-15
* @param int $z 0-15
*

View File

@ -27,6 +27,7 @@ interface SubChunkInterface{
/**
* @param bool $checkLight
*
* @return bool
*/
public function isEmpty(bool $checkLight = true) : bool;

View File

@ -148,6 +148,7 @@ interface LevelProvider{
/**
* Sets the world difficulty.
*
* @param int $difficulty
*/
public function setDifficulty(int $difficulty);

View File

@ -160,6 +160,7 @@ class PacketPool{
/**
* @param int $pid
*
* @return DataPacket
*/
public static function getPacketById(int $pid) : DataPacket{
@ -168,6 +169,7 @@ class PacketPool{
/**
* @param string $buffer
*
* @return DataPacket
*/
public static function getPacket(string $buffer) : DataPacket{

View File

@ -64,7 +64,7 @@ class StartGamePacket extends DataPacket{
public $difficulty;
/** @var int */
public $spawnX;
/** @var int*/
/** @var int */
public $spawnY;
/** @var int */
public $spawnZ;

View File

@ -92,6 +92,7 @@ class NetworkInventoryAction{
/**
* @param InventoryTransactionPacket $packet
*
* @return $this
*/
public function read(InventoryTransactionPacket $packet){

View File

@ -119,6 +119,7 @@ class BanEntry{
* @link https://bugs.php.net/bug.php?id=75992
*
* @param \DateTime $dateTime
*
* @throws \RuntimeException if the argument can't be parsed from a formatted date string
*/
private static function validateDate(\DateTime $dateTime) : void{

View File

@ -355,6 +355,7 @@ class PluginManager{
* Returns whether a specified API version string is considered compatible with the server's API version.
*
* @param string ...$versions
*
* @return bool
*/
public function isCompatibleApi(string ...$versions) : bool{

View File

@ -138,6 +138,7 @@ class ResourcePackManager{
* Returns the resource pack matching the specified UUID string, or null if the ID was not recognized.
*
* @param string $id
*
* @return ResourcePack|null
*/
public function getPackById(string $id){

View File

@ -32,6 +32,7 @@ class ZippedResourcePack implements ResourcePack{
* TODO: add more manifest validation
*
* @param \stdClass $manifest
*
* @return bool
*/
public static function verifyManifest(\stdClass $manifest) : bool{

View File

@ -129,6 +129,7 @@ abstract class AsyncTask extends Collectable{
* @see AsyncWorker::getFromThreadStore()
*
* @param string $identifier
*
* @return mixed
*/
public function getFromThreadStore(string $identifier){

View File

@ -102,6 +102,7 @@ class AsyncWorker extends Worker{
* Objects stored in this storage may ONLY be retrieved while the task is running.
*
* @param string $identifier
*
* @return mixed
*/
public function getFromThreadStore(string $identifier){

View File

@ -101,6 +101,7 @@ class AutoUpdater{
/**
* Shows a warning to a player to tell them there is an update available
*
* @param Player $player
*/
public function showPlayerUpdate(Player $player){

View File

@ -47,6 +47,7 @@ class Color{
/**
* Sets the alpha (opacity) value of this colour, lower = more transparent
*
* @param int $a
*/
public function setA(int $a){
@ -63,6 +64,7 @@ class Color{
/**
* Sets the red value of this colour.
*
* @param int $r
*/
public function setR(int $r){
@ -79,6 +81,7 @@ class Color{
/**
* Sets the green value of this colour.
*
* @param int $g
*/
public function setG(int $g){
@ -95,6 +98,7 @@ class Color{
/**
* Sets the blue value of this colour.
*
* @param int $b
*/
public function setB(int $b){
@ -105,6 +109,7 @@ class Color{
* Mixes the supplied list of colours together to produce a result colour.
*
* @param Color ...$colors
*
* @return Color
*/
public static function mix(Color ...$colors) : Color{
@ -127,6 +132,7 @@ class Color{
/**
* Returns a Color from the supplied RGB colour code (24-bit)
*
* @param int $code
*
* @return Color

View File

@ -232,6 +232,7 @@ class Config{
* Sets the options for the JSON encoding when saving
*
* @param int $options
*
* @return Config $this
* @throws \RuntimeException if the Config is not in JSON
* @see json_encode
@ -250,6 +251,7 @@ class Config{
* Enables the given option in addition to the currently set JSON options
*
* @param int $option
*
* @return Config $this
* @throws \RuntimeException if the Config is not in JSON
* @see json_encode
@ -268,6 +270,7 @@ class Config{
* Disables the given option for the JSON encoding when saving
*
* @param int $option
*
* @return Config $this
* @throws \RuntimeException if the Config is not in JSON
* @see json_encode

View File

@ -47,6 +47,7 @@ class UUID{
*
* @param string $uuid
* @param int $version
*
* @return UUID
*/
public static function fromString(string $uuid, int $version = null) : UUID{
@ -58,6 +59,7 @@ class UUID{
*
* @param string $uuid
* @param int $version
*
* @return UUID
*
* @throws \InvalidArgumentException
@ -74,6 +76,7 @@ class UUID{
* Creates an UUIDv3 from binary data or list of binary data
*
* @param string ...$data
*
* @return UUID
*/
public static function fromData(string ...$data) : UUID{

View File

@ -246,6 +246,7 @@ class Utils{
/**
* @param bool $recalculate
*
* @return int
*/
public static function getCoreCount(bool $recalculate = false) : int{