Move Event cancellable parts to trait

This commit is contained in:
Dylan K. Taylor 2019-01-16 22:14:25 +00:00
parent 2e7e56de1e
commit 38afe22b79
64 changed files with 225 additions and 35 deletions

View File

@ -0,0 +1,47 @@
<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
declare(strict_types=1);
namespace pocketmine\event;
/**
* This trait implements Cancellable components for events.
* @see Cancellable
*/
trait CancellableTrait{
/** @var bool */
private $isCancelled = false;
/**
* @return bool
*/
public function isCancelled() : bool{
return $this->isCancelled;
}
/**
* @param bool $value
*/
public function setCancelled(bool $value = true) : void{
$this->isCancelled = $value;
}
}

View File

@ -36,8 +36,6 @@ abstract class Event{
/** @var string|null */ /** @var string|null */
protected $eventName = null; protected $eventName = null;
/** @var bool */
private $isCancelled = false;
/** /**
* @return string * @return string
@ -46,34 +44,6 @@ abstract class Event{
return $this->eventName ?? get_class($this); return $this->eventName ?? get_class($this);
} }
/**
* @return bool
*
* @throws \BadMethodCallException
*/
public function isCancelled() : bool{
if(!($this instanceof Cancellable)){
throw new \BadMethodCallException(get_class($this) . " is not Cancellable");
}
/** @var Event $this */
return $this->isCancelled;
}
/**
* @param bool $value
*
* @throws \BadMethodCallException
*/
public function setCancelled(bool $value = true) : void{
if(!($this instanceof Cancellable)){
throw new \BadMethodCallException(get_class($this) . " is not Cancellable");
}
/** @var Event $this */
$this->isCancelled = $value;
}
/** /**
* Calls event handlers registered for this event. * Calls event handlers registered for this event.
* *

View File

@ -25,6 +25,7 @@ namespace pocketmine\event\block;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\Player; use pocketmine\Player;
@ -32,6 +33,8 @@ use pocketmine\Player;
* Called when a player destroys a block somewhere in the world. * Called when a player destroys a block somewhere in the world.
*/ */
class BlockBreakEvent extends BlockEvent implements Cancellable{ class BlockBreakEvent extends BlockEvent implements Cancellable{
use CancellableTrait;
/** @var Player */ /** @var Player */
protected $player; protected $player;

View File

@ -25,11 +25,14 @@ namespace pocketmine\event\block;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when a block is burned away by fire. * Called when a block is burned away by fire.
*/ */
class BlockBurnEvent extends BlockEvent implements Cancellable{ class BlockBurnEvent extends BlockEvent implements Cancellable{
use CancellableTrait;
/** @var Block */ /** @var Block */
private $causingBlock; private $causingBlock;

View File

@ -25,11 +25,14 @@ namespace pocketmine\event\block;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when plants or crops grow. * Called when plants or crops grow.
*/ */
class BlockGrowEvent extends BlockEvent implements Cancellable{ class BlockGrowEvent extends BlockEvent implements Cancellable{
use CancellableTrait;
/** @var Block */ /** @var Block */
private $newState; private $newState;

View File

@ -25,6 +25,7 @@ namespace pocketmine\event\block;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\Player; use pocketmine\Player;
@ -32,6 +33,8 @@ use pocketmine\Player;
* Called when a player places a block * Called when a player places a block
*/ */
class BlockPlaceEvent extends BlockEvent implements Cancellable{ class BlockPlaceEvent extends BlockEvent implements Cancellable{
use CancellableTrait;
/** @var Player */ /** @var Player */
protected $player; protected $player;

View File

@ -24,10 +24,11 @@ declare(strict_types=1);
namespace pocketmine\event\block; namespace pocketmine\event\block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when a block tries to be updated due to a neighbor change * Called when a block tries to be updated due to a neighbor change
*/ */
class BlockUpdateEvent extends BlockEvent implements Cancellable{ class BlockUpdateEvent extends BlockEvent implements Cancellable{
use CancellableTrait;
} }

View File

@ -24,10 +24,11 @@ declare(strict_types=1);
namespace pocketmine\event\block; namespace pocketmine\event\block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when leaves decay due to not being attached to wood. * Called when leaves decay due to not being attached to wood.
*/ */
class LeavesDecayEvent extends BlockEvent implements Cancellable{ class LeavesDecayEvent extends BlockEvent implements Cancellable{
use CancellableTrait;
} }

View File

@ -25,6 +25,7 @@ namespace pocketmine\event\block;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
use function count; use function count;
@ -32,6 +33,8 @@ use function count;
* Called when a sign is changed by a player. * Called when a sign is changed by a player.
*/ */
class SignChangeEvent extends BlockEvent implements Cancellable{ class SignChangeEvent extends BlockEvent implements Cancellable{
use CancellableTrait;
/** @var Player */ /** @var Player */
private $player; private $player;
/** @var string[] */ /** @var string[] */

View File

@ -26,11 +26,14 @@ namespace pocketmine\event\entity;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when an Entity, excluding players, changes a block directly * Called when an Entity, excluding players, changes a block directly
*/ */
class EntityBlockChangeEvent extends EntityEvent implements Cancellable{ class EntityBlockChangeEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var Block */ /** @var Block */
private $from; private $from;
/** @var Block */ /** @var Block */

View File

@ -25,8 +25,11 @@ namespace pocketmine\event\entity;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
class EntityCombustEvent extends EntityEvent implements Cancellable{ class EntityCombustEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
protected $duration; protected $duration;
/** /**

View File

@ -25,12 +25,15 @@ namespace pocketmine\event\entity;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use function array_sum; use function array_sum;
/** /**
* Called when an entity takes damage. * Called when an entity takes damage.
*/ */
class EntityDamageEvent extends EntityEvent implements Cancellable{ class EntityDamageEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
public const MODIFIER_ARMOR = 1; public const MODIFIER_ARMOR = 1;
public const MODIFIER_STRENGTH = 2; public const MODIFIER_STRENGTH = 2;
public const MODIFIER_WEAKNESS = 3; public const MODIFIER_WEAKNESS = 3;

View File

@ -26,8 +26,11 @@ namespace pocketmine\event\entity;
use pocketmine\entity\EffectInstance; use pocketmine\entity\EffectInstance;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
class EntityEffectEvent extends EntityEvent implements Cancellable{ class EntityEffectEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var EffectInstance */ /** @var EffectInstance */
private $effect; private $effect;

View File

@ -26,12 +26,15 @@ namespace pocketmine\event\entity;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\level\Position; use pocketmine\level\Position;
/** /**
* Called when a entity explodes * Called when a entity explodes
*/ */
class EntityExplodeEvent extends EntityEvent implements Cancellable{ class EntityExplodeEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var Position */ /** @var Position */
protected $position; protected $position;

View File

@ -25,12 +25,15 @@ namespace pocketmine\event\entity;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
/** /**
* Called before a slot in an entity's inventory changes. * Called before a slot in an entity's inventory changes.
*/ */
class EntityInventoryChangeEvent extends EntityEvent implements Cancellable{ class EntityInventoryChangeEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var Item */ /** @var Item */
private $oldItem; private $oldItem;
/** @var Item */ /** @var Item */

View File

@ -25,9 +25,12 @@ namespace pocketmine\event\entity;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\level\Level; use pocketmine\level\Level;
class EntityLevelChangeEvent extends EntityEvent implements Cancellable{ class EntityLevelChangeEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var Level */ /** @var Level */
private $originLevel; private $originLevel;
/** @var Level */ /** @var Level */

View File

@ -25,9 +25,12 @@ namespace pocketmine\event\entity;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
class EntityMotionEvent extends EntityEvent implements Cancellable{ class EntityMotionEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var Vector3 */ /** @var Vector3 */
private $mot; private $mot;

View File

@ -25,8 +25,11 @@ namespace pocketmine\event\entity;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
class EntityRegainHealthEvent extends EntityEvent implements Cancellable{ class EntityRegainHealthEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
public const CAUSE_REGEN = 0; public const CAUSE_REGEN = 0;
public const CAUSE_EATING = 1; public const CAUSE_EATING = 1;
public const CAUSE_MAGIC = 2; public const CAUSE_MAGIC = 2;

View File

@ -27,10 +27,13 @@ use pocketmine\entity\Entity;
use pocketmine\entity\Living; use pocketmine\entity\Living;
use pocketmine\entity\projectile\Projectile; use pocketmine\entity\projectile\Projectile;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use function count; use function count;
class EntityShootBowEvent extends EntityEvent implements Cancellable{ class EntityShootBowEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var Item */ /** @var Item */
private $bow; private $bow;
/** @var Projectile */ /** @var Projectile */

View File

@ -25,9 +25,12 @@ namespace pocketmine\event\entity;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\level\Position; use pocketmine\level\Position;
class EntityTeleportEvent extends EntityEvent implements Cancellable{ class EntityTeleportEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var Position */ /** @var Position */
private $from; private $from;
/** @var Position */ /** @var Position */

View File

@ -25,11 +25,14 @@ namespace pocketmine\event\entity;
use pocketmine\entity\Entity; use pocketmine\entity\Entity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when a entity decides to explode * Called when a entity decides to explode
*/ */
class ExplosionPrimeEvent extends EntityEvent implements Cancellable{ class ExplosionPrimeEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var float */ /** @var float */
protected $force; protected $force;
/** @var bool */ /** @var bool */

View File

@ -25,8 +25,10 @@ namespace pocketmine\event\entity;
use pocketmine\entity\object\ItemEntity; use pocketmine\entity\object\ItemEntity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
class ItemDespawnEvent extends EntityEvent implements Cancellable{ class ItemDespawnEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** /**
* @param ItemEntity $item * @param ItemEntity $item

View File

@ -25,8 +25,11 @@ namespace pocketmine\event\entity;
use pocketmine\entity\projectile\Projectile; use pocketmine\entity\projectile\Projectile;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
class ProjectileLaunchEvent extends EntityEvent implements Cancellable{ class ProjectileLaunchEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** /**
* @param Projectile $entity * @param Projectile $entity
*/ */

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\inventory; namespace pocketmine\event\inventory;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\event\Event; use pocketmine\event\Event;
use pocketmine\inventory\CraftingRecipe; use pocketmine\inventory\CraftingRecipe;
use pocketmine\inventory\transaction\CraftingTransaction; use pocketmine\inventory\transaction\CraftingTransaction;
@ -31,6 +32,8 @@ use pocketmine\item\Item;
use pocketmine\Player; use pocketmine\Player;
class CraftItemEvent extends Event implements Cancellable{ class CraftItemEvent extends Event implements Cancellable{
use CancellableTrait;
/** @var CraftingTransaction */ /** @var CraftingTransaction */
private $transaction; private $transaction;
/** @var CraftingRecipe */ /** @var CraftingRecipe */

View File

@ -25,10 +25,13 @@ namespace pocketmine\event\inventory;
use pocketmine\event\block\BlockEvent; use pocketmine\event\block\BlockEvent;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\tile\Furnace; use pocketmine\tile\Furnace;
class FurnaceBurnEvent extends BlockEvent implements Cancellable{ class FurnaceBurnEvent extends BlockEvent implements Cancellable{
use CancellableTrait;
/** @var Furnace */ /** @var Furnace */
private $furnace; private $furnace;
/** @var Item */ /** @var Item */

View File

@ -25,10 +25,13 @@ namespace pocketmine\event\inventory;
use pocketmine\event\block\BlockEvent; use pocketmine\event\block\BlockEvent;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\tile\Furnace; use pocketmine\tile\Furnace;
class FurnaceSmeltEvent extends BlockEvent implements Cancellable{ class FurnaceSmeltEvent extends BlockEvent implements Cancellable{
use CancellableTrait;
/** @var Furnace */ /** @var Furnace */
private $furnace; private $furnace;
/** @var Item */ /** @var Item */

View File

@ -24,10 +24,13 @@ declare(strict_types=1);
namespace pocketmine\event\inventory; namespace pocketmine\event\inventory;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\inventory\Inventory; use pocketmine\inventory\Inventory;
use pocketmine\Player; use pocketmine\Player;
class InventoryOpenEvent extends InventoryEvent implements Cancellable{ class InventoryOpenEvent extends InventoryEvent implements Cancellable{
use CancellableTrait;
/** @var Player */ /** @var Player */
private $who; private $who;

View File

@ -25,9 +25,12 @@ namespace pocketmine\event\inventory;
use pocketmine\entity\projectile\Arrow; use pocketmine\entity\projectile\Arrow;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\inventory\Inventory; use pocketmine\inventory\Inventory;
class InventoryPickupArrowEvent extends InventoryEvent implements Cancellable{ class InventoryPickupArrowEvent extends InventoryEvent implements Cancellable{
use CancellableTrait;
/** @var Arrow */ /** @var Arrow */
private $arrow; private $arrow;

View File

@ -25,9 +25,12 @@ namespace pocketmine\event\inventory;
use pocketmine\entity\object\ItemEntity; use pocketmine\entity\object\ItemEntity;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\inventory\Inventory; use pocketmine\inventory\Inventory;
class InventoryPickupItemEvent extends InventoryEvent implements Cancellable{ class InventoryPickupItemEvent extends InventoryEvent implements Cancellable{
use CancellableTrait;
/** @var ItemEntity */ /** @var ItemEntity */
private $item; private $item;

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\inventory; namespace pocketmine\event\inventory;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\event\Event; use pocketmine\event\Event;
use pocketmine\inventory\transaction\InventoryTransaction; use pocketmine\inventory\transaction\InventoryTransaction;
@ -32,6 +33,8 @@ use pocketmine\inventory\transaction\InventoryTransaction;
* The source of this can be a Player, entities, mobs, or even hoppers in the future! * The source of this can be a Player, entities, mobs, or even hoppers in the future!
*/ */
class InventoryTransactionEvent extends Event implements Cancellable{ class InventoryTransactionEvent extends Event implements Cancellable{
use CancellableTrait;
/** @var InventoryTransaction */ /** @var InventoryTransaction */
private $transaction; private $transaction;

View File

@ -24,10 +24,11 @@ declare(strict_types=1);
namespace pocketmine\event\level; namespace pocketmine\event\level;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when a Chunk is unloaded * Called when a Chunk is unloaded
*/ */
class ChunkUnloadEvent extends ChunkEvent implements Cancellable{ class ChunkUnloadEvent extends ChunkEvent implements Cancellable{
use CancellableTrait;
} }

View File

@ -24,10 +24,11 @@ declare(strict_types=1);
namespace pocketmine\event\level; namespace pocketmine\event\level;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when a Level is unloaded * Called when a Level is unloaded
*/ */
class LevelUnloadEvent extends LevelEvent implements Cancellable{ class LevelUnloadEvent extends LevelEvent implements Cancellable{
use CancellableTrait;
} }

View File

@ -24,12 +24,15 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
/** /**
* Called when a player is awarded an achievement * Called when a player is awarded an achievement
*/ */
class PlayerAchievementAwardedEvent extends PlayerEvent implements Cancellable{ class PlayerAchievementAwardedEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var string */ /** @var string */
protected $achievement; protected $achievement;

View File

@ -24,12 +24,15 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
/** /**
* Called when a player does an animation * Called when a player does an animation
*/ */
class PlayerAnimationEvent extends PlayerEvent implements Cancellable{ class PlayerAnimationEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var int */ /** @var int */
private $animationType; private $animationType;

View File

@ -25,9 +25,12 @@ namespace pocketmine\event\player;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
class PlayerBedEnterEvent extends PlayerEvent implements Cancellable{ class PlayerBedEnterEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var Block */ /** @var Block */
private $bed; private $bed;

View File

@ -25,6 +25,7 @@ namespace pocketmine\event\player;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\Player; use pocketmine\Player;
@ -32,6 +33,8 @@ use pocketmine\Player;
* Called when a player middle-clicks on a block to get an item in creative mode. * Called when a player middle-clicks on a block to get an item in creative mode.
*/ */
class PlayerBlockPickEvent extends PlayerEvent implements Cancellable{ class PlayerBlockPickEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var Block */ /** @var Block */
private $blockClicked; private $blockClicked;
/** @var Item */ /** @var Item */

View File

@ -25,6 +25,7 @@ namespace pocketmine\event\player;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\Player; use pocketmine\Player;
@ -32,6 +33,8 @@ use pocketmine\Player;
* @allowHandle * @allowHandle
*/ */
abstract class PlayerBucketEvent extends PlayerEvent implements Cancellable{ abstract class PlayerBucketEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var Block */ /** @var Block */
private $blockClicked; private $blockClicked;
/** @var int */ /** @var int */

View File

@ -25,12 +25,15 @@ namespace pocketmine\event\player;
use pocketmine\entity\Skin; use pocketmine\entity\Skin;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
/** /**
* Called when a player changes their skin in-game. * Called when a player changes their skin in-game.
*/ */
class PlayerChangeSkinEvent extends PlayerEvent implements Cancellable{ class PlayerChangeSkinEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var Skin */ /** @var Skin */
private $oldSkin; private $oldSkin;
/** @var Skin */ /** @var Skin */

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\permission\PermissionManager; use pocketmine\permission\PermissionManager;
use pocketmine\Player; use pocketmine\Player;
use pocketmine\Server; use pocketmine\Server;
@ -32,6 +33,8 @@ use pocketmine\Server;
* Called when a player chats something * Called when a player chats something
*/ */
class PlayerChatEvent extends PlayerEvent implements Cancellable{ class PlayerChatEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var string */ /** @var string */
protected $message; protected $message;

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
/** /**
@ -35,6 +36,8 @@ use pocketmine\Player;
* The message contains a slash at the start * The message contains a slash at the start
*/ */
class PlayerCommandPreprocessEvent extends PlayerEvent implements Cancellable{ class PlayerCommandPreprocessEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var string */ /** @var string */
protected $message; protected $message;

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\event\Event; use pocketmine\event\Event;
use pocketmine\IPlayer; use pocketmine\IPlayer;
use pocketmine\nbt\tag\CompoundTag; use pocketmine\nbt\tag\CompoundTag;
@ -33,6 +34,8 @@ use pocketmine\Server;
* Called when a player's data is about to be saved to disk. * Called when a player's data is about to be saved to disk.
*/ */
class PlayerDataSaveEvent extends Event implements Cancellable{ class PlayerDataSaveEvent extends Event implements Cancellable{
use CancellableTrait;
/** @var CompoundTag */ /** @var CompoundTag */
protected $data; protected $data;
/** @var string */ /** @var string */

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\Player; use pocketmine\Player;
@ -31,6 +32,8 @@ use pocketmine\Player;
* Called when a player tries to drop an item from its hotbar * Called when a player tries to drop an item from its hotbar
*/ */
class PlayerDropItemEvent extends PlayerEvent implements Cancellable{ class PlayerDropItemEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var Item */ /** @var Item */
private $drop; private $drop;

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\event\Event; use pocketmine\event\Event;
use pocketmine\network\mcpe\NetworkSession; use pocketmine\network\mcpe\NetworkSession;
@ -32,6 +33,7 @@ use pocketmine\network\mcpe\NetworkSession;
* If cancelled, the newly connecting session will be disconnected; otherwise, the existing player will be disconnected. * If cancelled, the newly connecting session will be disconnected; otherwise, the existing player will be disconnected.
*/ */
class PlayerDuplicateLoginEvent extends Event implements Cancellable{ class PlayerDuplicateLoginEvent extends Event implements Cancellable{
use CancellableTrait;
/** @var NetworkSession */ /** @var NetworkSession */
private $connectingSession; private $connectingSession;

View File

@ -24,10 +24,13 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\WritableBook; use pocketmine\item\WritableBook;
use pocketmine\Player; use pocketmine\Player;
class PlayerEditBookEvent extends PlayerEvent implements Cancellable{ class PlayerEditBookEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
public const ACTION_REPLACE_PAGE = 0; public const ACTION_REPLACE_PAGE = 0;
public const ACTION_ADD_PAGE = 1; public const ACTION_ADD_PAGE = 1;
public const ACTION_DELETE_PAGE = 2; public const ACTION_DELETE_PAGE = 2;

View File

@ -25,9 +25,12 @@ namespace pocketmine\event\player;
use pocketmine\entity\Human; use pocketmine\entity\Human;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\event\entity\EntityEvent; use pocketmine\event\entity\EntityEvent;
class PlayerExhaustEvent extends EntityEvent implements Cancellable{ class PlayerExhaustEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
public const CAUSE_ATTACK = 1; public const CAUSE_ATTACK = 1;
public const CAUSE_DAMAGE = 2; public const CAUSE_DAMAGE = 2;
public const CAUSE_MINING = 3; public const CAUSE_MINING = 3;

View File

@ -25,12 +25,15 @@ namespace pocketmine\event\player;
use pocketmine\entity\Human; use pocketmine\entity\Human;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\event\entity\EntityEvent; use pocketmine\event\entity\EntityEvent;
/** /**
* Called when a player gains or loses XP levels and/or progress. * Called when a player gains or loses XP levels and/or progress.
*/ */
class PlayerExperienceChangeEvent extends EntityEvent implements Cancellable{ class PlayerExperienceChangeEvent extends EntityEvent implements Cancellable{
use CancellableTrait;
/** @var Human */ /** @var Human */
protected $entity; protected $entity;
/** @var int */ /** @var int */

View File

@ -24,12 +24,15 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
/** /**
* Called when a player has its gamemode changed * Called when a player has its gamemode changed
*/ */
class PlayerGameModeChangeEvent extends PlayerEvent implements Cancellable{ class PlayerGameModeChangeEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var int */ /** @var int */
protected $gamemode; protected $gamemode;

View File

@ -25,6 +25,7 @@ namespace pocketmine\event\player;
use pocketmine\block\Block; use pocketmine\block\Block;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\Player; use pocketmine\Player;
@ -33,6 +34,8 @@ use pocketmine\Player;
* Called when a player interacts or touches a block (including air?) * Called when a player interacts or touches a block (including air?)
*/ */
class PlayerInteractEvent extends PlayerEvent implements Cancellable{ class PlayerInteractEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
public const LEFT_CLICK_BLOCK = 0; public const LEFT_CLICK_BLOCK = 0;
public const RIGHT_CLICK_BLOCK = 1; public const RIGHT_CLICK_BLOCK = 1;

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\Player; use pocketmine\Player;
@ -31,6 +32,8 @@ use pocketmine\Player;
* Called when a player eats something * Called when a player eats something
*/ */
class PlayerItemConsumeEvent extends PlayerEvent implements Cancellable{ class PlayerItemConsumeEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var Item */ /** @var Item */
private $item; private $item;

View File

@ -24,10 +24,13 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\Player; use pocketmine\Player;
class PlayerItemHeldEvent extends PlayerEvent implements Cancellable{ class PlayerItemHeldEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var Item */ /** @var Item */
private $item; private $item;
/** @var int */ /** @var int */

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\Player; use pocketmine\Player;
@ -32,6 +33,7 @@ use pocketmine\Player;
* Called when a player uses its held item, for example when throwing a projectile. * Called when a player uses its held item, for example when throwing a projectile.
*/ */
class PlayerItemUseEvent extends PlayerEvent implements Cancellable{ class PlayerItemUseEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var Item */ /** @var Item */
private $item; private $item;

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\lang\TextContainer; use pocketmine\lang\TextContainer;
use pocketmine\Player; use pocketmine\Player;
@ -31,6 +32,8 @@ use pocketmine\Player;
* Called when a player leaves the server * Called when a player leaves the server
*/ */
class PlayerKickEvent extends PlayerEvent implements Cancellable{ class PlayerKickEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var TextContainer|string */ /** @var TextContainer|string */
protected $quitMessage; protected $quitMessage;

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
/** /**
@ -32,6 +33,8 @@ use pocketmine\Player;
* Cancelling this event will cause the player to be disconnected with the kick message set. * Cancelling this event will cause the player to be disconnected with the kick message set.
*/ */
class PlayerLoginEvent extends PlayerEvent implements Cancellable{ class PlayerLoginEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var string */ /** @var string */
protected $kickMessage; protected $kickMessage;

View File

@ -24,10 +24,13 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\level\Location; use pocketmine\level\Location;
use pocketmine\Player; use pocketmine\Player;
class PlayerMoveEvent extends PlayerEvent implements Cancellable{ class PlayerMoveEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var Location */ /** @var Location */
private $from; private $from;
/** @var Location */ /** @var Location */

View File

@ -24,9 +24,12 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
class PlayerToggleFlightEvent extends PlayerEvent implements Cancellable{ class PlayerToggleFlightEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var bool */ /** @var bool */
protected $isFlying; protected $isFlying;

View File

@ -24,9 +24,12 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
class PlayerToggleSneakEvent extends PlayerEvent implements Cancellable{ class PlayerToggleSneakEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var bool */ /** @var bool */
protected $isSneaking; protected $isSneaking;

View File

@ -24,9 +24,12 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
class PlayerToggleSprintEvent extends PlayerEvent implements Cancellable{ class PlayerToggleSprintEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var bool */ /** @var bool */
protected $isSprinting; protected $isSprinting;

View File

@ -24,9 +24,12 @@ declare(strict_types=1);
namespace pocketmine\event\player; namespace pocketmine\event\player;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\Player; use pocketmine\Player;
class PlayerTransferEvent extends PlayerEvent implements Cancellable{ class PlayerTransferEvent extends PlayerEvent implements Cancellable{
use CancellableTrait;
/** @var string */ /** @var string */
protected $address; protected $address;
/** @var int */ /** @var int */

View File

@ -25,6 +25,7 @@ declare(strict_types=1);
namespace pocketmine\event\player\cheat; namespace pocketmine\event\player\cheat;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\Player; use pocketmine\Player;
@ -32,6 +33,8 @@ use pocketmine\Player;
* Called when a player attempts to perform movement cheats such as clipping through blocks. * Called when a player attempts to perform movement cheats such as clipping through blocks.
*/ */
class PlayerIllegalMoveEvent extends PlayerCheatEvent implements Cancellable{ class PlayerIllegalMoveEvent extends PlayerCheatEvent implements Cancellable{
use CancellableTrait;
/** @var Vector3 */ /** @var Vector3 */
private $attemptedPosition; private $attemptedPosition;

View File

@ -25,6 +25,7 @@ namespace pocketmine\event\server;
use pocketmine\command\CommandSender; use pocketmine\command\CommandSender;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when any CommandSender runs a command, early in the process * Called when any CommandSender runs a command, early in the process
@ -35,6 +36,8 @@ use pocketmine\event\Cancellable;
* The message DOES NOT contain a slash at the start * The message DOES NOT contain a slash at the start
*/ */
class CommandEvent extends ServerEvent implements Cancellable{ class CommandEvent extends ServerEvent implements Cancellable{
use CancellableTrait;
/** @var string */ /** @var string */
protected $command; protected $command;

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\event\server; namespace pocketmine\event\server;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\network\mcpe\protocol\DataPacket; use pocketmine\network\mcpe\protocol\DataPacket;
use pocketmine\Player; use pocketmine\Player;
@ -31,6 +32,8 @@ use pocketmine\Player;
* Called when a list of packets is broadcasted to 1 or more players. * Called when a list of packets is broadcasted to 1 or more players.
*/ */
class DataPacketBroadcastEvent extends ServerEvent implements Cancellable{ class DataPacketBroadcastEvent extends ServerEvent implements Cancellable{
use CancellableTrait;
/** @var Player[] */ /** @var Player[] */
private $players; private $players;
/** @var DataPacket[] */ /** @var DataPacket[] */

View File

@ -24,10 +24,13 @@ declare(strict_types=1);
namespace pocketmine\event\server; namespace pocketmine\event\server;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\network\mcpe\protocol\DataPacket; use pocketmine\network\mcpe\protocol\DataPacket;
use pocketmine\Player; use pocketmine\Player;
class DataPacketReceiveEvent extends ServerEvent implements Cancellable{ class DataPacketReceiveEvent extends ServerEvent implements Cancellable{
use CancellableTrait;
/** @var DataPacket */ /** @var DataPacket */
private $packet; private $packet;
/** @var Player */ /** @var Player */

View File

@ -24,10 +24,13 @@ declare(strict_types=1);
namespace pocketmine\event\server; namespace pocketmine\event\server;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
use pocketmine\network\mcpe\protocol\DataPacket; use pocketmine\network\mcpe\protocol\DataPacket;
use pocketmine\Player; use pocketmine\Player;
class DataPacketSendEvent extends ServerEvent implements Cancellable{ class DataPacketSendEvent extends ServerEvent implements Cancellable{
use CancellableTrait;
/** @var DataPacket */ /** @var DataPacket */
private $packet; private $packet;
/** @var Player */ /** @var Player */

View File

@ -24,10 +24,11 @@ declare(strict_types=1);
namespace pocketmine\event\server; namespace pocketmine\event\server;
use pocketmine\event\Cancellable; use pocketmine\event\Cancellable;
use pocketmine\event\CancellableTrait;
/** /**
* Called when a network interface is registered into the network, for example the RakLib interface. * Called when a network interface is registered into the network, for example the RakLib interface.
*/ */
class NetworkInterfaceRegisterEvent extends NetworkInterfaceEvent implements Cancellable{ class NetworkInterfaceRegisterEvent extends NetworkInterfaceEvent implements Cancellable{
use CancellableTrait;
} }