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); self::continueDump($value, $data[$key], $objects, $refCounts, $recursion + 1, $maxNesting, $maxStringSize);
} }
}elseif(is_string($from)){ }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)){ }elseif(is_resource($from)){
$data = "(resource) " . print_r($from, true); $data = "(resource) " . print_r($from, true);
}else{ }else{

View File

@ -173,6 +173,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
/** /**
* Checks a supplied username and checks it is valid. * Checks a supplied username and checks it is valid.
*
* @param string $name * @param string $name
* *
* @return bool * @return bool
@ -620,7 +621,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
/** /**
* @param Plugin $plugin * @param Plugin $plugin
* @param string $name * @param string $name
* @param bool $value * @param bool $value
* *
* @return PermissionAttachment * @return PermissionAttachment
*/ */
@ -1322,6 +1323,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
* TODO: remove this when Spectator Mode gets added properly to MCPE * TODO: remove this when Spectator Mode gets added properly to MCPE
* *
* @param int $gamemode * @param int $gamemode
*
* @return int * @return int
*/ */
public static function getClientFriendlyGamemode(int $gamemode) : 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. * Don't expect much from this handler. Most of it is roughly hacked and duct-taped together.
* *
* @param InventoryTransactionPacket $packet * @param InventoryTransactionPacket $packet
*
* @return bool * @return bool
*/ */
public function handleInventoryTransaction(InventoryTransactionPacket $packet) : 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. * Drops an item on the ground in front of the player. Returns if the item drop was successful.
* *
* @param Item $item * @param Item $item
*
* @return bool if the item was dropped or if the item was null * @return bool if the item was dropped or if the item was null
*/ */
public function dropItem(Item $item) : bool{ public function dropItem(Item $item) : bool{
@ -3111,7 +3115,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
* Transfers a player to another server. * Transfers a player to another server.
* *
* @param string $address The IP address or hostname of the destination server * @param string $address The IP address or hostname of the destination server
* @param int $port The destination port, defaults to 19132 * @param int $port The destination port, defaults to 19132
* @param string $message Message to show in the console when closing the player * @param string $message Message to show in the console when closing the player
* *
* @return bool if transfer was successful. * @return bool if transfer was successful.
@ -3135,8 +3139,8 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
/** /**
* Kicks a player from the server * Kicks a player from the server
* *
* @param string $reason * @param string $reason
* @param bool $isAdmin * @param bool $isAdmin
* @param TextContainer|string $quitMessage * @param TextContainer|string $quitMessage
* *
* @return bool * @return bool
@ -3239,7 +3243,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
* Internal function used for sending titles. * Internal function used for sending titles.
* *
* @param string $title * @param string $title
* @param int $type * @param int $type
*/ */
protected function sendTitleText(string $title, int $type){ protected function sendTitleText(string $title, int $type){
$pk = new SetTitlePacket(); $pk = new SetTitlePacket();

View File

@ -1003,6 +1003,7 @@ class Server{
/** /**
* @internal * @internal
*
* @param Level $level * @param Level $level
*/ */
public function removeLevel(Level $level) : void{ 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. * Returns whether a specified block ID is already registered in the block factory.
* *
* @param int $id * @param int $id
*
* @return bool * @return bool
*/ */
public static function isRegistered(int $id) : bool{ public static function isRegistered(int $id) : bool{

View File

@ -27,7 +27,7 @@ namespace pocketmine\command;
interface CommandMap{ interface CommandMap{
/** /**
* @param string $fallbackPrefix * @param string $fallbackPrefix
* @param Command[] $commands * @param Command[] $commands
*/ */
public function registerAll(string $fallbackPrefix, array $commands); public function registerAll(string $fallbackPrefix, array $commands);

View File

@ -95,6 +95,7 @@ class CommandReader extends Thread{
* Checks if the specified stream is a FIFO pipe. * Checks if the specified stream is a FIFO pipe.
* *
* @param resource $stream * @param resource $stream
*
* @return bool * @return bool
*/ */
private function isPipe($stream) : 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. * Sets the line height used for command output pagination for this command sender. `null` will reset it to default.
*
* @param int|null $height * @param int|null $height
*/ */
public function setScreenLineHeight(int $height = null); public function setScreenLineHeight(int $height = null);

View File

@ -64,7 +64,7 @@ class ConsoleCommandSender implements CommandSender{
/** /**
* @param Plugin $plugin * @param Plugin $plugin
* @param string $name * @param string $name
* @param bool $value * @param bool $value
* *
* @return PermissionAttachment * @return PermissionAttachment
*/ */

View File

@ -193,9 +193,9 @@ class SimpleCommandMap implements CommandMap{
/** /**
* @param Command $command * @param Command $command
* @param bool $isAlias * @param bool $isAlias
* @param string $fallbackPrefix * @param string $fallbackPrefix
* @param string $label * @param string $label
* *
* @return bool * @return bool
*/ */

View File

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

View File

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

View File

@ -264,8 +264,8 @@ abstract class Entity extends Location implements Metadatable, EntityIds{
Entity::registerEntity(Snowball::class, false, ['Snowball', 'minecraft:snowball']); Entity::registerEntity(Snowball::class, false, ['Snowball', 'minecraft:snowball']);
Entity::registerEntity(SplashPotion::class, false, ['ThrownPotion', 'minecraft:potion', 'thrownpotion']); Entity::registerEntity(SplashPotion::class, false, ['ThrownPotion', 'minecraft:potion', 'thrownpotion']);
Entity::registerEntity(Squid::class, false, ['Squid', 'minecraft:squid']); Entity::registerEntity(Squid::class, false, ['Squid', 'minecraft:squid']);
Entity::registerEntity(Villager::class, false, ['Villager', 'minecraft:villager']); Entity::registerEntity(Villager::class, false, ['Villager', 'minecraft:villager']);
Entity::registerEntity(Zombie::class, false, ['Zombie', 'minecraft:zombie']); Entity::registerEntity(Zombie::class, false, ['Zombie', 'minecraft:zombie']);
Entity::registerEntity(Human::class, true); Entity::registerEntity(Human::class, true);
@ -346,7 +346,7 @@ abstract class Entity extends Location implements Metadatable, EntityIds{
* *
* @return CompoundTag * @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("", [ return new CompoundTag("", [
new ListTag("Pos", [ new ListTag("Pos", [
new DoubleTag("", $pos->x), 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. * Called to tick entities while dead. Returns whether the entity should be flagged for despawn yet.
* *
* @param int $tickDiff * @param int $tickDiff
*
* @return bool * @return bool
*/ */
protected function onDeathUpdate(int $tickDiff) : bool{ protected function onDeathUpdate(int $tickDiff) : bool{
@ -1390,7 +1391,6 @@ abstract class Entity extends Location implements Metadatable, EntityIds{
Timings::$timerEntityBaseTick->stopTiming(); Timings::$timerEntityBaseTick->stopTiming();
$this->timings->stopTiming(); $this->timings->stopTiming();
//if($this->isStatic()) //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. * Wrapper around {@link Entity#getDataFlag} for generic data flag reading.
* *
* @param int $flagId * @param int $flagId
*
* @return bool * @return bool
*/ */
public function getGenericFlag(int $flagId) : 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. * Wrapper around {@link Entity#getDataFlag} for player-specific data flag reading.
* *
* @param int $flagId * @param int $flagId
*
* @return bool * @return bool
*/ */
public function getPlayerFlag(int $flagId) : 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. * Sends the mob's potion effects to the specified player.
*
* @param Player $player * @param Player $player
*/ */
public function sendPotionEffects(Player $player) : void{ 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. * Sets the number of air ticks left in the entity's air supply.
*
* @param int $ticks * @param int $ticks
*/ */
public function setAirSupplyTicks(int $ticks) : void{ 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. * Sets the maximum amount of air ticks the air supply can hold.
*
* @param int $ticks * @param int $ticks
*/ */
public function setMaxAirSupplyTicks(int $ticks) : void{ public function setMaxAirSupplyTicks(int $ticks) : void{

View File

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

View File

@ -27,8 +27,8 @@ use pocketmine\block\Block;
use pocketmine\block\BlockFactory; use pocketmine\block\BlockFactory;
use pocketmine\entity\EffectInstance; use pocketmine\entity\EffectInstance;
use pocketmine\entity\Living; use pocketmine\entity\Living;
use pocketmine\event\entity\ProjectileHitEntityEvent;
use pocketmine\event\entity\ProjectileHitBlockEvent; use pocketmine\event\entity\ProjectileHitBlockEvent;
use pocketmine\event\entity\ProjectileHitEntityEvent;
use pocketmine\event\entity\ProjectileHitEvent; use pocketmine\event\entity\ProjectileHitEvent;
use pocketmine\item\Potion; use pocketmine\item\Potion;
use pocketmine\network\mcpe\protocol\LevelEventPacket; 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. * Sets whether this splash potion will create an area-effect-cloud when it lands.
*
* @param bool $value * @param bool $value
*/ */
public function setLinger(bool $value = true) : void{ 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 * Calculates and returns the amount of XP needed to get from level 0 to level $level
* *
* @param int $level * @param int $level
*
* @return int * @return int
*/ */
public static function getXpToReachLevel(int $level) : int{ public static function getXpToReachLevel(int $level) : int{

View File

@ -40,8 +40,8 @@ class FurnaceBurnEvent extends BlockEvent implements Cancellable{
/** /**
* @param Furnace $furnace * @param Furnace $furnace
* @param Item $fuel * @param Item $fuel
* @param int $burnTime * @param int $burnTime
*/ */
public function __construct(Furnace $furnace, Item $fuel, int $burnTime){ public function __construct(Furnace $furnace, Item $fuel, int $burnTime){
parent::__construct($furnace->getBlock()); parent::__construct($furnace->getBlock());

View File

@ -38,8 +38,8 @@ class FurnaceSmeltEvent extends BlockEvent implements Cancellable{
/** /**
* @param Furnace $furnace * @param Furnace $furnace
* @param Item $source * @param Item $source
* @param Item $result * @param Item $result
*/ */
public function __construct(Furnace $furnace, Item $source, Item $result){ public function __construct(Furnace $furnace, Item $source, Item $result){
parent::__construct($furnace->getBlock()); parent::__construct($furnace->getBlock());

View File

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

View File

@ -34,7 +34,7 @@ class PlayerMoveEvent extends PlayerEvent implements Cancellable{
private $to; private $to;
/** /**
* @param Player $player * @param Player $player
* @param Location $from * @param Location $from
* @param Location $to * @param Location $to
*/ */

View File

@ -34,7 +34,7 @@ class DataPacketSendEvent extends ServerEvent implements Cancellable{
private $player; private $player;
/** /**
* @param Player $player * @param Player $player
* @param DataPacket $packet * @param DataPacket $packet
*/ */
public function __construct(Player $player, DataPacket $packet){ public function __construct(Player $player, DataPacket $packet){

View File

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

View File

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

View File

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

View File

@ -46,11 +46,11 @@ class ShapedRecipe implements CraftingRecipe{
* Array of 1, 2, or 3 strings representing the rows of the recipe. * Array of 1, 2, or 3 strings representing the rows of the recipe.
* This accepts an array of 1, 2 or 3 strings. Each string should be of the same length and must be at most 3 * This accepts an array of 1, 2 or 3 strings. Each string should be of the same length and must be at most 3
* characters long. Each character represents a unique type of ingredient. Spaces are interpreted as air. * characters long. Each character represents a unique type of ingredient. Spaces are interpreted as air.
* @param Item[] $ingredients <br> * @param Item[] $ingredients <br>
* Char => Item map of items to be set into the shape. * Char => Item map of items to be set into the shape.
* This accepts an array of Items, indexed by character. Every unique character (except space) in the shape * This accepts an array of Items, indexed by character. Every unique character (except space) in the shape
* array MUST have a corresponding item in this list. Space character is automatically treated as air. * array MUST have a corresponding item in this list. Space character is automatically treated as air.
* @param Item[] $results List of items that this recipe produces when crafted. * @param Item[] $results List of items that this recipe produces when crafted.
* *
* Note: Recipes **do not** need to be square. Do NOT add padding for empty rows/columns. * Note: Recipes **do not** need to be square. Do NOT add padding for empty rows/columns.
*/ */

View File

@ -55,6 +55,7 @@ class DropItemAction extends InventoryAction{
* Drops the target item in front of the player. * Drops the target item in front of the player.
* *
* @param Player $source * @param Player $source
*
* @return bool * @return bool
*/ */
public function execute(Player $source) : 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. * Sets the dyed colour of this armour piece. This generally only applies to leather armour.
*
* @param Color $color * @param Color $color
*/ */
public function setCustomColor(Color $color) : void{ 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. * Sets whether the item will take damage when used.
*
* @param bool $value * @param bool $value
*/ */
public function setUnbreakable(bool $value = true){ public function setUnbreakable(bool $value = true){
@ -46,6 +47,7 @@ abstract class Durable extends Item{
/** /**
* Applies damage to the item. * Applies damage to the item.
*
* @param int $amount * @param int $amount
* *
* @return bool if any damage was applied to the item * @return bool if any damage was applied to the item

View File

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

View File

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

View File

@ -137,7 +137,7 @@ class WritableBook extends Item{
/** /**
* Inserts a new page with the given text and moves other pages upwards. * Inserts a new page with the given text and moves other pages upwards.
* *
* @param int $pageId * @param int $pageId
* @param string $pageText * @param string $pageText
* *
* @return bool indicating success * @return bool indicating success

View File

@ -69,6 +69,7 @@ class EnchantmentInstance{
/** /**
* Sets the level of the enchantment. * Sets the level of the enchantment.
*
* @param int $level * @param int $level
* *
* @return $this * @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. * Returns the base EPF this enchantment type offers for the given enchantment level.
*
* @param int $level * @param int $level
* *
* @return int * @return int
@ -72,6 +73,7 @@ class ProtectionEnchantment extends Enchantment{
/** /**
* Returns whether this enchantment type offers protection from the specified damage source's cause. * Returns whether this enchantment type offers protection from the specified damage source's cause.
*
* @param EntityDamageEvent $event * @param EntityDamageEvent $event
* *
* @return bool * @return bool

View File

@ -292,6 +292,7 @@ class Level implements ChunkManager, Metadatable{
/** /**
* @param string $str * @param string $str
*
* @return int * @return int
*/ */
public static function getDifficultyFromString(string $str) : int{ public static function getDifficultyFromString(string $str) : int{
@ -927,7 +928,7 @@ class Level implements ChunkManager, Metadatable{
$pk->blockRuntimeId = $b->getRuntimeId(); $pk->blockRuntimeId = $b->getRuntimeId();
}else{ }else{
$fullBlock = $this->getFullBlock($b->x, $b->y, $b->z); $fullBlock = $this->getFullBlock($b->x, $b->y, $b->z);
$pk->blockRuntimeId = BlockFactory::toStaticRuntimeId($fullBlock >> 4, $fullBlock & 0xf); $pk->blockRuntimeId = BlockFactory::toStaticRuntimeId($fullBlock >> 4, $fullBlock & 0xf);
} }
$pk->flags = $first ? $flags : UpdateBlockPacket::FLAG_NONE; $pk->flags = $first ? $flags : UpdateBlockPacket::FLAG_NONE;
@ -949,7 +950,7 @@ class Level implements ChunkManager, Metadatable{
$pk->blockRuntimeId = $b->getRuntimeId(); $pk->blockRuntimeId = $b->getRuntimeId();
}else{ }else{
$fullBlock = $this->getFullBlock($b->x, $b->y, $b->z); $fullBlock = $this->getFullBlock($b->x, $b->y, $b->z);
$pk->blockRuntimeId = BlockFactory::toStaticRuntimeId($fullBlock >> 4, $fullBlock & 0xf); $pk->blockRuntimeId = BlockFactory::toStaticRuntimeId($fullBlock >> 4, $fullBlock & 0xf);
} }
$pk->flags = $flags; $pk->flags = $flags;

View File

@ -51,7 +51,7 @@ class Chunk{
/** @var bool */ /** @var bool */
protected $isInit = false; protected $isInit = false;
/** @var bool*/ /** @var bool */
protected $lightPopulated = false; protected $lightPopulated = false;
/** @var bool */ /** @var bool */
protected $terrainGenerated = false; protected $terrainGenerated = false;
@ -327,8 +327,8 @@ class Chunk{
/** /**
* Returns the Y coordinate of the highest non-air block at the specified X/Z chunk block coordinates * Returns the Y coordinate of the highest non-air block at the specified X/Z chunk block coordinates
* *
* @param int $x 0-15 * @param int $x 0-15
* @param int $z 0-15 * @param int $z 0-15
* *
* @return int 0-255, or -1 if there are no blocks in the column * @return int 0-255, or -1 if there are no blocks in the column
*/ */
@ -366,6 +366,7 @@ class Chunk{
/** /**
* Returns the heightmap value at the specified X/Z chunk block coordinates * Returns the heightmap value at the specified X/Z chunk block coordinates
*
* @param int $x 0-15 * @param int $x 0-15
* @param int $z 0-15 * @param int $z 0-15
* @param int $value * @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. * 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 $x 0-15
* @param int $z 0-15 * @param int $z 0-15
* *
@ -475,11 +477,13 @@ class Chunk{
foreach($this->subChunks as $subChunk){ foreach($this->subChunks as $subChunk){
$result .= $subChunk->getBlockIdColumn($x, $z); $result .= $subChunk->getBlockIdColumn($x, $z);
} }
return $result; return $result;
} }
/** /**
* Returns a column of block meta values from bottom to top at the specified X/Z chunk block coordinates. * 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 $x 0-15
* @param int $z 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. * 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 $x 0-15
* @param int $z 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. * 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 $x 0-15
* @param int $z 0-15 * @param int $z 0-15
* *
@ -858,8 +864,8 @@ class Chunk{
$result .= $this->subChunks[$y]->networkSerialize(); $result .= $this->subChunks[$y]->networkSerialize();
} }
$result .= pack("v*", ...$this->heightMap) $result .= pack("v*", ...$this->heightMap)
. $this->biomeIds . $this->biomeIds
. chr(0); //border block array count . chr(0); //border block array count
//Border block entry format: 1 byte (4 bits X, 4 bits Z). These are however useless since they crash the regular client. //Border block entry format: 1 byte (4 bits X, 4 bits Z). These are however useless since they crash the regular client.
foreach($this->tiles as $tile){ foreach($this->tiles as $tile){

View File

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

View File

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

View File

@ -33,9 +33,9 @@ abstract class Populator{
/** /**
* @param ChunkManager $level * @param ChunkManager $level
* @param int $chunkX * @param int $chunkX
* @param int $chunkZ * @param int $chunkZ
* @param Random $random * @param Random $random
* *
* @return mixed * @return mixed
*/ */

View File

@ -109,8 +109,8 @@ class FloatingTextParticle extends Particle{
1 << Entity::DATA_FLAG_IMMOBILE 1 << Entity::DATA_FLAG_IMMOBILE
); );
$pk->metadata = [ $pk->metadata = [
Entity::DATA_FLAGS => [Entity::DATA_TYPE_LONG, $flags], Entity::DATA_FLAGS => [Entity::DATA_TYPE_LONG, $flags],
Entity::DATA_SCALE => [Entity::DATA_TYPE_FLOAT, 0.01] //zero causes problems on debug builds Entity::DATA_SCALE => [Entity::DATA_TYPE_FLOAT, 0.01] //zero causes problems on debug builds
]; ];
$p[] = $pk; $p[] = $pk;

View File

@ -329,7 +329,7 @@ class AvailableCommandsPacket extends DataPacket{
foreach($commandData->overloads as $overload){ foreach($commandData->overloads as $overload){
/** /**
* @var CommandParameter[] $overload * @var CommandParameter[] $overload
* @var CommandParameter $parameter * @var CommandParameter $parameter
*/ */
foreach($overload as $parameter){ foreach($overload as $parameter){
if($parameter->enum !== null){ if($parameter->enum !== null){

View File

@ -87,7 +87,7 @@ class LoginPacket extends DataPacket{
} }
$logger = MainLogger::getLogger(); $logger = MainLogger::getLogger();
$logger->debug(get_class($e) . " was thrown while decoding connection request in login (protocol version " . ($this->protocol ?? "unknown") . "): " . $e->getMessage()); $logger->debug(get_class($e) . " was thrown while decoding connection request in login (protocol version " . ($this->protocol ?? "unknown") . "): " . $e->getMessage());
foreach(Utils::getTrace(0, $e->getTrace()) as $line){ foreach(Utils::getTrace(0, $e->getTrace()) as $line){
$logger->debug($line); $logger->debug($line);
} }

View File

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

View File

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

View File

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

View File

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

View File

@ -106,7 +106,7 @@ class PermissibleBase implements Permissible{
* *
* @param Plugin $plugin * @param Plugin $plugin
* @param string $name * @param string $name
* @param bool $value * @param bool $value
* *
* @return PermissionAttachment * @return PermissionAttachment
*/ */

View File

@ -102,7 +102,7 @@ interface Plugin extends CommandExecutor{
* Saves an embedded resource to its relative location in the data folder * Saves an embedded resource to its relative location in the data folder
* *
* @param string $filename * @param string $filename
* @param bool $replace * @param bool $replace
* *
* @return bool * @return bool
*/ */

View File

@ -190,7 +190,7 @@ abstract class PluginBase implements Plugin{
/** /**
* @param string $filename * @param string $filename
* @param bool $replace * @param bool $replace
* *
* @return bool * @return bool
*/ */

View File

@ -355,6 +355,7 @@ class PluginManager{
* Returns whether a specified API version string is considered compatible with the server's API version. * Returns whether a specified API version string is considered compatible with the server's API version.
* *
* @param string ...$versions * @param string ...$versions
*
* @return bool * @return bool
*/ */
public function isCompatibleApi(string ...$versions) : 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. * Returns the resource pack matching the specified UUID string, or null if the ID was not recognized.
* *
* @param string $id * @param string $id
*
* @return ResourcePack|null * @return ResourcePack|null
*/ */
public function getPackById(string $id){ public function getPackById(string $id){

View File

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

View File

@ -129,6 +129,7 @@ abstract class AsyncTask extends Collectable{
* @see AsyncWorker::getFromThreadStore() * @see AsyncWorker::getFromThreadStore()
* *
* @param string $identifier * @param string $identifier
*
* @return mixed * @return mixed
*/ */
public function getFromThreadStore(string $identifier){ 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. * Objects stored in this storage may ONLY be retrieved while the task is running.
* *
* @param string $identifier * @param string $identifier
*
* @return mixed * @return mixed
*/ */
public function getFromThreadStore(string $identifier){ 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 * Shows a warning to a player to tell them there is an update available
*
* @param Player $player * @param Player $player
*/ */
public function showPlayerUpdate(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 * Sets the alpha (opacity) value of this colour, lower = more transparent
*
* @param int $a * @param int $a
*/ */
public function setA(int $a){ public function setA(int $a){
@ -63,6 +64,7 @@ class Color{
/** /**
* Sets the red value of this colour. * Sets the red value of this colour.
*
* @param int $r * @param int $r
*/ */
public function setR(int $r){ public function setR(int $r){
@ -79,6 +81,7 @@ class Color{
/** /**
* Sets the green value of this colour. * Sets the green value of this colour.
*
* @param int $g * @param int $g
*/ */
public function setG(int $g){ public function setG(int $g){
@ -95,6 +98,7 @@ class Color{
/** /**
* Sets the blue value of this colour. * Sets the blue value of this colour.
*
* @param int $b * @param int $b
*/ */
public function setB(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. * Mixes the supplied list of colours together to produce a result colour.
* *
* @param Color ...$colors * @param Color ...$colors
*
* @return Color * @return Color
*/ */
public static function mix(Color ...$colors) : 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) * Returns a Color from the supplied RGB colour code (24-bit)
*
* @param int $code * @param int $code
* *
* @return Color * @return Color

View File

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

View File

@ -76,7 +76,7 @@ class Internet{
* @param string $page * @param string $page
* @param int $timeout default 10 * @param int $timeout default 10
* @param array $extraHeaders * @param array $extraHeaders
* @param string &$err Will be set to the output of curl_error(). Use this to retrieve errors that occured during the operation. * @param string &$err Will be set to the output of curl_error(). Use this to retrieve errors that occured during the operation.
* @param array[] &$headers * @param array[] &$headers
* @param int &$httpCode * @param int &$httpCode
* *

View File

@ -53,7 +53,7 @@ class MainLogger extends \AttachableThreadedLogger{
/** /**
* @param string $logFile * @param string $logFile
* @param bool $logDebug * @param bool $logDebug
* *
* @throws \RuntimeException * @throws \RuntimeException
*/ */

View File

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

View File

@ -246,6 +246,7 @@ class Utils{
/** /**
* @param bool $recalculate * @param bool $recalculate
*
* @return int * @return int
*/ */
public static function getCoreCount(bool $recalculate = false) : int{ public static function getCoreCount(bool $recalculate = false) : int{
@ -532,10 +533,10 @@ class Utils{
} }
/** /**
* @param int $severity * @param int $severity
* @param string $message * @param string $message
* @param string $file * @param string $file
* @param int $line * @param int $line
* *
* @return bool * @return bool
* @throws \ErrorException * @throws \ErrorException