mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-22 00:33:59 +00:00
Merge branch 'release/3.3' into release/3.4
This commit is contained in:
commit
6dd2597934
@ -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{
|
||||
|
@ -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
|
||||
@ -620,7 +621,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
|
||||
/**
|
||||
* @param Plugin $plugin
|
||||
* @param string $name
|
||||
* @param bool $value
|
||||
* @param bool $value
|
||||
*
|
||||
* @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
|
||||
*
|
||||
* @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{
|
||||
@ -3111,7 +3115,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
|
||||
* Transfers a player to another 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
|
||||
*
|
||||
* @return bool if transfer was successful.
|
||||
@ -3135,8 +3139,8 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
|
||||
/**
|
||||
* Kicks a player from the server
|
||||
*
|
||||
* @param string $reason
|
||||
* @param bool $isAdmin
|
||||
* @param string $reason
|
||||
* @param bool $isAdmin
|
||||
* @param TextContainer|string $quitMessage
|
||||
*
|
||||
* @return bool
|
||||
@ -3239,7 +3243,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
|
||||
* Internal function used for sending titles.
|
||||
*
|
||||
* @param string $title
|
||||
* @param int $type
|
||||
* @param int $type
|
||||
*/
|
||||
protected function sendTitleText(string $title, int $type){
|
||||
$pk = new SetTitlePacket();
|
||||
|
@ -1003,6 +1003,7 @@ class Server{
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*
|
||||
* @param Level $level
|
||||
*/
|
||||
public function removeLevel(Level $level) : void{
|
||||
|
@ -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{
|
||||
|
@ -27,7 +27,7 @@ namespace pocketmine\command;
|
||||
interface CommandMap{
|
||||
|
||||
/**
|
||||
* @param string $fallbackPrefix
|
||||
* @param string $fallbackPrefix
|
||||
* @param Command[] $commands
|
||||
*/
|
||||
public function registerAll(string $fallbackPrefix, array $commands);
|
||||
|
@ -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{
|
||||
|
@ -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);
|
||||
|
@ -64,7 +64,7 @@ class ConsoleCommandSender implements CommandSender{
|
||||
/**
|
||||
* @param Plugin $plugin
|
||||
* @param string $name
|
||||
* @param bool $value
|
||||
* @param bool $value
|
||||
*
|
||||
* @return PermissionAttachment
|
||||
*/
|
||||
|
@ -193,9 +193,9 @@ class SimpleCommandMap implements CommandMap{
|
||||
|
||||
/**
|
||||
* @param Command $command
|
||||
* @param bool $isAlias
|
||||
* @param string $fallbackPrefix
|
||||
* @param string $label
|
||||
* @param bool $isAlias
|
||||
* @param string $fallbackPrefix
|
||||
* @param string $label
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
@ -143,7 +143,8 @@ class DataPropertyManager{
|
||||
*/
|
||||
public function getItem(int $key) : ?Item{
|
||||
$value = $this->getPropertyValue($key, Entity::DATA_TYPE_SLOT);
|
||||
assert($value instanceof Item or $value === null);
|
||||
assert($value instanceof Item or $value === null);
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
|
@ -81,6 +81,7 @@ class EffectInstance{
|
||||
|
||||
/**
|
||||
* @param int $duration
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return $this
|
||||
|
@ -264,8 +264,8 @@ abstract class Entity extends Location implements Metadatable, EntityIds{
|
||||
Entity::registerEntity(Snowball::class, false, ['Snowball', 'minecraft:snowball']);
|
||||
Entity::registerEntity(SplashPotion::class, false, ['ThrownPotion', 'minecraft:potion', 'thrownpotion']);
|
||||
Entity::registerEntity(Squid::class, false, ['Squid', 'minecraft:squid']);
|
||||
Entity::registerEntity(Villager::class, false, ['Villager', 'minecraft:villager']);
|
||||
Entity::registerEntity(Zombie::class, false, ['Zombie', 'minecraft:zombie']);
|
||||
Entity::registerEntity(Villager::class, false, ['Villager', 'minecraft:villager']);
|
||||
Entity::registerEntity(Zombie::class, false, ['Zombie', 'minecraft:zombie']);
|
||||
|
||||
Entity::registerEntity(Human::class, true);
|
||||
|
||||
@ -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{
|
||||
|
@ -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{
|
||||
|
@ -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{
|
||||
|
@ -73,6 +73,7 @@ class PaintingMotive{
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
*
|
||||
* @return PaintingMotive|null
|
||||
*/
|
||||
public static function getMotiveByName(string $name) : ?PaintingMotive{
|
||||
|
@ -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{
|
||||
|
@ -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{
|
||||
|
@ -40,8 +40,8 @@ class FurnaceBurnEvent extends BlockEvent implements Cancellable{
|
||||
|
||||
/**
|
||||
* @param Furnace $furnace
|
||||
* @param Item $fuel
|
||||
* @param int $burnTime
|
||||
* @param Item $fuel
|
||||
* @param int $burnTime
|
||||
*/
|
||||
public function __construct(Furnace $furnace, Item $fuel, int $burnTime){
|
||||
parent::__construct($furnace->getBlock());
|
||||
|
@ -38,8 +38,8 @@ class FurnaceSmeltEvent extends BlockEvent implements Cancellable{
|
||||
|
||||
/**
|
||||
* @param Furnace $furnace
|
||||
* @param Item $source
|
||||
* @param Item $result
|
||||
* @param Item $source
|
||||
* @param Item $result
|
||||
*/
|
||||
public function __construct(Furnace $furnace, Item $source, Item $result){
|
||||
parent::__construct($furnace->getBlock());
|
||||
|
@ -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{
|
||||
|
@ -34,7 +34,7 @@ class PlayerMoveEvent extends PlayerEvent implements Cancellable{
|
||||
private $to;
|
||||
|
||||
/**
|
||||
* @param Player $player
|
||||
* @param Player $player
|
||||
* @param Location $from
|
||||
* @param Location $to
|
||||
*/
|
||||
|
@ -34,7 +34,7 @@ class DataPacketSendEvent extends ServerEvent implements Cancellable{
|
||||
private $player;
|
||||
|
||||
/**
|
||||
* @param Player $player
|
||||
* @param Player $player
|
||||
* @param DataPacket $packet
|
||||
*/
|
||||
public function __construct(Player $player, DataPacket $packet){
|
||||
|
@ -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{
|
||||
|
@ -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;
|
||||
|
@ -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){
|
||||
|
@ -46,11 +46,11 @@ class ShapedRecipe implements CraftingRecipe{
|
||||
* 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
|
||||
* 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.
|
||||
* 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.
|
||||
* @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.
|
||||
*/
|
||||
|
@ -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{
|
||||
|
@ -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{
|
||||
|
@ -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
|
||||
|
@ -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{
|
||||
|
@ -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{
|
||||
|
@ -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{
|
||||
|
@ -137,7 +137,7 @@ class WritableBook extends Item{
|
||||
/**
|
||||
* Inserts a new page with the given text and moves other pages upwards.
|
||||
*
|
||||
* @param int $pageId
|
||||
* @param int $pageId
|
||||
* @param string $pageText
|
||||
*
|
||||
* @return bool indicating success
|
||||
|
@ -69,6 +69,7 @@ class EnchantmentInstance{
|
||||
|
||||
/**
|
||||
* Sets the level of the enchantment.
|
||||
*
|
||||
* @param int $level
|
||||
*
|
||||
* @return $this
|
||||
|
@ -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
|
||||
|
@ -292,6 +292,7 @@ class Level implements ChunkManager, Metadatable{
|
||||
|
||||
/**
|
||||
* @param string $str
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public static function getDifficultyFromString(string $str) : int{
|
||||
@ -927,7 +928,7 @@ class Level implements ChunkManager, Metadatable{
|
||||
$pk->blockRuntimeId = $b->getRuntimeId();
|
||||
}else{
|
||||
$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;
|
||||
@ -949,7 +950,7 @@ class Level implements ChunkManager, Metadatable{
|
||||
$pk->blockRuntimeId = $b->getRuntimeId();
|
||||
}else{
|
||||
$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;
|
||||
|
@ -51,7 +51,7 @@ class Chunk{
|
||||
/** @var bool */
|
||||
protected $isInit = false;
|
||||
|
||||
/** @var bool*/
|
||||
/** @var bool */
|
||||
protected $lightPopulated = false;
|
||||
/** @var bool */
|
||||
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
|
||||
*
|
||||
* @param int $x 0-15
|
||||
* @param int $z 0-15
|
||||
* @param int $x 0-15
|
||||
* @param int $z 0-15
|
||||
*
|
||||
* @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
|
||||
*
|
||||
* @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
|
||||
*
|
||||
@ -858,8 +864,8 @@ class Chunk{
|
||||
$result .= $this->subChunks[$y]->networkSerialize();
|
||||
}
|
||||
$result .= pack("v*", ...$this->heightMap)
|
||||
. $this->biomeIds
|
||||
. chr(0); //border block array count
|
||||
. $this->biomeIds
|
||||
. 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.
|
||||
|
||||
foreach($this->tiles as $tile){
|
||||
|
@ -27,6 +27,7 @@ interface SubChunkInterface{
|
||||
|
||||
/**
|
||||
* @param bool $checkLight
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isEmpty(bool $checkLight = true) : bool;
|
||||
|
@ -148,6 +148,7 @@ interface LevelProvider{
|
||||
|
||||
/**
|
||||
* Sets the world difficulty.
|
||||
*
|
||||
* @param int $difficulty
|
||||
*/
|
||||
public function setDifficulty(int $difficulty);
|
||||
|
@ -33,9 +33,9 @@ abstract class Populator{
|
||||
|
||||
/**
|
||||
* @param ChunkManager $level
|
||||
* @param int $chunkX
|
||||
* @param int $chunkZ
|
||||
* @param Random $random
|
||||
* @param int $chunkX
|
||||
* @param int $chunkZ
|
||||
* @param Random $random
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
|
@ -109,8 +109,8 @@ class FloatingTextParticle extends Particle{
|
||||
1 << Entity::DATA_FLAG_IMMOBILE
|
||||
);
|
||||
$pk->metadata = [
|
||||
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_FLAGS => [Entity::DATA_TYPE_LONG, $flags],
|
||||
Entity::DATA_SCALE => [Entity::DATA_TYPE_FLOAT, 0.01] //zero causes problems on debug builds
|
||||
];
|
||||
|
||||
$p[] = $pk;
|
||||
|
@ -329,7 +329,7 @@ class AvailableCommandsPacket extends DataPacket{
|
||||
foreach($commandData->overloads as $overload){
|
||||
/**
|
||||
* @var CommandParameter[] $overload
|
||||
* @var CommandParameter $parameter
|
||||
* @var CommandParameter $parameter
|
||||
*/
|
||||
foreach($overload as $parameter){
|
||||
if($parameter->enum !== null){
|
||||
|
@ -87,7 +87,7 @@ class LoginPacket extends DataPacket{
|
||||
}
|
||||
|
||||
$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){
|
||||
$logger->debug($line);
|
||||
}
|
||||
|
@ -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{
|
||||
|
@ -64,7 +64,7 @@ class StartGamePacket extends DataPacket{
|
||||
public $difficulty;
|
||||
/** @var int */
|
||||
public $spawnX;
|
||||
/** @var int*/
|
||||
/** @var int */
|
||||
public $spawnY;
|
||||
/** @var int */
|
||||
public $spawnZ;
|
||||
|
@ -92,6 +92,7 @@ class NetworkInventoryAction{
|
||||
|
||||
/**
|
||||
* @param InventoryTransactionPacket $packet
|
||||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function read(InventoryTransactionPacket $packet){
|
||||
|
@ -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{
|
||||
|
@ -106,7 +106,7 @@ class PermissibleBase implements Permissible{
|
||||
*
|
||||
* @param Plugin $plugin
|
||||
* @param string $name
|
||||
* @param bool $value
|
||||
* @param bool $value
|
||||
*
|
||||
* @return PermissionAttachment
|
||||
*/
|
||||
|
@ -102,7 +102,7 @@ interface Plugin extends CommandExecutor{
|
||||
* Saves an embedded resource to its relative location in the data folder
|
||||
*
|
||||
* @param string $filename
|
||||
* @param bool $replace
|
||||
* @param bool $replace
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
@ -190,7 +190,7 @@ abstract class PluginBase implements Plugin{
|
||||
|
||||
/**
|
||||
* @param string $filename
|
||||
* @param bool $replace
|
||||
* @param bool $replace
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
@ -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{
|
||||
|
@ -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){
|
||||
|
@ -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{
|
||||
|
@ -129,6 +129,7 @@ abstract class AsyncTask extends Collectable{
|
||||
* @see AsyncWorker::getFromThreadStore()
|
||||
*
|
||||
* @param string $identifier
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getFromThreadStore(string $identifier){
|
||||
|
@ -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){
|
||||
|
@ -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){
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -76,7 +76,7 @@ class Internet{
|
||||
* @param string $page
|
||||
* @param int $timeout default 10
|
||||
* @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 int &$httpCode
|
||||
*
|
||||
|
@ -53,7 +53,7 @@ class MainLogger extends \AttachableThreadedLogger{
|
||||
|
||||
/**
|
||||
* @param string $logFile
|
||||
* @param bool $logDebug
|
||||
* @param bool $logDebug
|
||||
*
|
||||
* @throws \RuntimeException
|
||||
*/
|
||||
|
@ -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{
|
||||
|
@ -246,6 +246,7 @@ class Utils{
|
||||
|
||||
/**
|
||||
* @param bool $recalculate
|
||||
*
|
||||
* @return 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 $file
|
||||
* @param int $line
|
||||
* @param int $line
|
||||
*
|
||||
* @return bool
|
||||
* @throws \ErrorException
|
||||
|
Loading…
x
Reference in New Issue
Block a user