diff --git a/src/pocketmine/event/CancellableTrait.php b/src/pocketmine/event/CancellableTrait.php new file mode 100644 index 0000000000..740f24a4e2 --- /dev/null +++ b/src/pocketmine/event/CancellableTrait.php @@ -0,0 +1,47 @@ +isCancelled; + } + + /** + * @param bool $value + */ + public function setCancelled(bool $value = true) : void{ + $this->isCancelled = $value; + } +} diff --git a/src/pocketmine/event/Event.php b/src/pocketmine/event/Event.php index e3bcf871f1..6123806812 100644 --- a/src/pocketmine/event/Event.php +++ b/src/pocketmine/event/Event.php @@ -36,8 +36,6 @@ abstract class Event{ /** @var string|null */ protected $eventName = null; - /** @var bool */ - private $isCancelled = false; /** * @return string @@ -46,34 +44,6 @@ abstract class Event{ 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. * diff --git a/src/pocketmine/event/block/BlockBreakEvent.php b/src/pocketmine/event/block/BlockBreakEvent.php index f294757993..16d97b7133 100644 --- a/src/pocketmine/event/block/BlockBreakEvent.php +++ b/src/pocketmine/event/block/BlockBreakEvent.php @@ -25,6 +25,7 @@ namespace pocketmine\event\block; use pocketmine\block\Block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\Player; @@ -32,6 +33,8 @@ use pocketmine\Player; * Called when a player destroys a block somewhere in the world. */ class BlockBreakEvent extends BlockEvent implements Cancellable{ + use CancellableTrait; + /** @var Player */ protected $player; diff --git a/src/pocketmine/event/block/BlockBurnEvent.php b/src/pocketmine/event/block/BlockBurnEvent.php index 1764199d51..d50f96953f 100644 --- a/src/pocketmine/event/block/BlockBurnEvent.php +++ b/src/pocketmine/event/block/BlockBurnEvent.php @@ -25,11 +25,14 @@ namespace pocketmine\event\block; use pocketmine\block\Block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * Called when a block is burned away by fire. */ class BlockBurnEvent extends BlockEvent implements Cancellable{ + use CancellableTrait; + /** @var Block */ private $causingBlock; diff --git a/src/pocketmine/event/block/BlockGrowEvent.php b/src/pocketmine/event/block/BlockGrowEvent.php index c2caff64fc..49cac65d7c 100644 --- a/src/pocketmine/event/block/BlockGrowEvent.php +++ b/src/pocketmine/event/block/BlockGrowEvent.php @@ -25,11 +25,14 @@ namespace pocketmine\event\block; use pocketmine\block\Block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * Called when plants or crops grow. */ class BlockGrowEvent extends BlockEvent implements Cancellable{ + use CancellableTrait; + /** @var Block */ private $newState; diff --git a/src/pocketmine/event/block/BlockPlaceEvent.php b/src/pocketmine/event/block/BlockPlaceEvent.php index 44e3b9e6d3..d7c51cf671 100644 --- a/src/pocketmine/event/block/BlockPlaceEvent.php +++ b/src/pocketmine/event/block/BlockPlaceEvent.php @@ -25,6 +25,7 @@ namespace pocketmine\event\block; use pocketmine\block\Block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\Player; @@ -32,6 +33,8 @@ use pocketmine\Player; * Called when a player places a block */ class BlockPlaceEvent extends BlockEvent implements Cancellable{ + use CancellableTrait; + /** @var Player */ protected $player; diff --git a/src/pocketmine/event/block/BlockUpdateEvent.php b/src/pocketmine/event/block/BlockUpdateEvent.php index 8e31251537..0944afd9e4 100644 --- a/src/pocketmine/event/block/BlockUpdateEvent.php +++ b/src/pocketmine/event/block/BlockUpdateEvent.php @@ -24,10 +24,11 @@ declare(strict_types=1); namespace pocketmine\event\block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * Called when a block tries to be updated due to a neighbor change */ class BlockUpdateEvent extends BlockEvent implements Cancellable{ - + use CancellableTrait; } diff --git a/src/pocketmine/event/block/LeavesDecayEvent.php b/src/pocketmine/event/block/LeavesDecayEvent.php index 9fe15234a6..c68461b6f4 100644 --- a/src/pocketmine/event/block/LeavesDecayEvent.php +++ b/src/pocketmine/event/block/LeavesDecayEvent.php @@ -24,10 +24,11 @@ declare(strict_types=1); namespace pocketmine\event\block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * Called when leaves decay due to not being attached to wood. */ class LeavesDecayEvent extends BlockEvent implements Cancellable{ - + use CancellableTrait; } diff --git a/src/pocketmine/event/block/SignChangeEvent.php b/src/pocketmine/event/block/SignChangeEvent.php index ff1e1f0564..267f002247 100644 --- a/src/pocketmine/event/block/SignChangeEvent.php +++ b/src/pocketmine/event/block/SignChangeEvent.php @@ -25,6 +25,7 @@ namespace pocketmine\event\block; use pocketmine\block\Block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; use function count; @@ -32,6 +33,8 @@ use function count; * Called when a sign is changed by a player. */ class SignChangeEvent extends BlockEvent implements Cancellable{ + use CancellableTrait; + /** @var Player */ private $player; /** @var string[] */ diff --git a/src/pocketmine/event/entity/EntityBlockChangeEvent.php b/src/pocketmine/event/entity/EntityBlockChangeEvent.php index 4ac9a86244..1655dc8d77 100644 --- a/src/pocketmine/event/entity/EntityBlockChangeEvent.php +++ b/src/pocketmine/event/entity/EntityBlockChangeEvent.php @@ -26,11 +26,14 @@ namespace pocketmine\event\entity; use pocketmine\block\Block; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * Called when an Entity, excluding players, changes a block directly */ class EntityBlockChangeEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var Block */ private $from; /** @var Block */ diff --git a/src/pocketmine/event/entity/EntityCombustEvent.php b/src/pocketmine/event/entity/EntityCombustEvent.php index 17f7634910..e205390c91 100644 --- a/src/pocketmine/event/entity/EntityCombustEvent.php +++ b/src/pocketmine/event/entity/EntityCombustEvent.php @@ -25,8 +25,11 @@ namespace pocketmine\event\entity; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; class EntityCombustEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + protected $duration; /** diff --git a/src/pocketmine/event/entity/EntityDamageEvent.php b/src/pocketmine/event/entity/EntityDamageEvent.php index 9792a7d2e1..2fc305977c 100644 --- a/src/pocketmine/event/entity/EntityDamageEvent.php +++ b/src/pocketmine/event/entity/EntityDamageEvent.php @@ -25,12 +25,15 @@ namespace pocketmine\event\entity; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use function array_sum; /** * Called when an entity takes damage. */ class EntityDamageEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + public const MODIFIER_ARMOR = 1; public const MODIFIER_STRENGTH = 2; public const MODIFIER_WEAKNESS = 3; diff --git a/src/pocketmine/event/entity/EntityEffectEvent.php b/src/pocketmine/event/entity/EntityEffectEvent.php index 072144bdd3..01bdb47c7f 100644 --- a/src/pocketmine/event/entity/EntityEffectEvent.php +++ b/src/pocketmine/event/entity/EntityEffectEvent.php @@ -26,8 +26,11 @@ namespace pocketmine\event\entity; use pocketmine\entity\EffectInstance; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; class EntityEffectEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var EffectInstance */ private $effect; diff --git a/src/pocketmine/event/entity/EntityExplodeEvent.php b/src/pocketmine/event/entity/EntityExplodeEvent.php index 3a7256f310..f3aa1c98fb 100644 --- a/src/pocketmine/event/entity/EntityExplodeEvent.php +++ b/src/pocketmine/event/entity/EntityExplodeEvent.php @@ -26,12 +26,15 @@ namespace pocketmine\event\entity; use pocketmine\block\Block; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\level\Position; /** * Called when a entity explodes */ class EntityExplodeEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var Position */ protected $position; diff --git a/src/pocketmine/event/entity/EntityInventoryChangeEvent.php b/src/pocketmine/event/entity/EntityInventoryChangeEvent.php index 0e7c12538e..fc3fc17a51 100644 --- a/src/pocketmine/event/entity/EntityInventoryChangeEvent.php +++ b/src/pocketmine/event/entity/EntityInventoryChangeEvent.php @@ -25,12 +25,15 @@ namespace pocketmine\event\entity; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; /** * Called before a slot in an entity's inventory changes. */ class EntityInventoryChangeEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var Item */ private $oldItem; /** @var Item */ diff --git a/src/pocketmine/event/entity/EntityLevelChangeEvent.php b/src/pocketmine/event/entity/EntityLevelChangeEvent.php index c9118665b5..cb792115ef 100644 --- a/src/pocketmine/event/entity/EntityLevelChangeEvent.php +++ b/src/pocketmine/event/entity/EntityLevelChangeEvent.php @@ -25,9 +25,12 @@ namespace pocketmine\event\entity; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\level\Level; class EntityLevelChangeEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var Level */ private $originLevel; /** @var Level */ diff --git a/src/pocketmine/event/entity/EntityMotionEvent.php b/src/pocketmine/event/entity/EntityMotionEvent.php index 36b9a2d1c0..c917e0cac7 100644 --- a/src/pocketmine/event/entity/EntityMotionEvent.php +++ b/src/pocketmine/event/entity/EntityMotionEvent.php @@ -25,9 +25,12 @@ namespace pocketmine\event\entity; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\math\Vector3; class EntityMotionEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var Vector3 */ private $mot; diff --git a/src/pocketmine/event/entity/EntityRegainHealthEvent.php b/src/pocketmine/event/entity/EntityRegainHealthEvent.php index da8a24b18d..153b0fd8aa 100644 --- a/src/pocketmine/event/entity/EntityRegainHealthEvent.php +++ b/src/pocketmine/event/entity/EntityRegainHealthEvent.php @@ -25,8 +25,11 @@ namespace pocketmine\event\entity; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; class EntityRegainHealthEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + public const CAUSE_REGEN = 0; public const CAUSE_EATING = 1; public const CAUSE_MAGIC = 2; diff --git a/src/pocketmine/event/entity/EntityShootBowEvent.php b/src/pocketmine/event/entity/EntityShootBowEvent.php index cafede44c0..eeded96159 100644 --- a/src/pocketmine/event/entity/EntityShootBowEvent.php +++ b/src/pocketmine/event/entity/EntityShootBowEvent.php @@ -27,10 +27,13 @@ use pocketmine\entity\Entity; use pocketmine\entity\Living; use pocketmine\entity\projectile\Projectile; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use function count; class EntityShootBowEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var Item */ private $bow; /** @var Projectile */ diff --git a/src/pocketmine/event/entity/EntityTeleportEvent.php b/src/pocketmine/event/entity/EntityTeleportEvent.php index 7b467461a3..3c5c5dc573 100644 --- a/src/pocketmine/event/entity/EntityTeleportEvent.php +++ b/src/pocketmine/event/entity/EntityTeleportEvent.php @@ -25,9 +25,12 @@ namespace pocketmine\event\entity; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\level\Position; class EntityTeleportEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var Position */ private $from; /** @var Position */ diff --git a/src/pocketmine/event/entity/ExplosionPrimeEvent.php b/src/pocketmine/event/entity/ExplosionPrimeEvent.php index db6c734470..c2ecb2cf80 100644 --- a/src/pocketmine/event/entity/ExplosionPrimeEvent.php +++ b/src/pocketmine/event/entity/ExplosionPrimeEvent.php @@ -25,11 +25,14 @@ namespace pocketmine\event\entity; use pocketmine\entity\Entity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * Called when a entity decides to explode */ class ExplosionPrimeEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var float */ protected $force; /** @var bool */ diff --git a/src/pocketmine/event/entity/ItemDespawnEvent.php b/src/pocketmine/event/entity/ItemDespawnEvent.php index c934dd5653..2a34ccca4a 100644 --- a/src/pocketmine/event/entity/ItemDespawnEvent.php +++ b/src/pocketmine/event/entity/ItemDespawnEvent.php @@ -25,8 +25,10 @@ namespace pocketmine\event\entity; use pocketmine\entity\object\ItemEntity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; class ItemDespawnEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; /** * @param ItemEntity $item diff --git a/src/pocketmine/event/entity/ProjectileLaunchEvent.php b/src/pocketmine/event/entity/ProjectileLaunchEvent.php index 6aafb585c3..b66c5e3d59 100644 --- a/src/pocketmine/event/entity/ProjectileLaunchEvent.php +++ b/src/pocketmine/event/entity/ProjectileLaunchEvent.php @@ -25,8 +25,11 @@ namespace pocketmine\event\entity; use pocketmine\entity\projectile\Projectile; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; class ProjectileLaunchEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** * @param Projectile $entity */ diff --git a/src/pocketmine/event/inventory/CraftItemEvent.php b/src/pocketmine/event/inventory/CraftItemEvent.php index 3aaaacede9..8630331b49 100644 --- a/src/pocketmine/event/inventory/CraftItemEvent.php +++ b/src/pocketmine/event/inventory/CraftItemEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\inventory; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\event\Event; use pocketmine\inventory\CraftingRecipe; use pocketmine\inventory\transaction\CraftingTransaction; @@ -31,6 +32,8 @@ use pocketmine\item\Item; use pocketmine\Player; class CraftItemEvent extends Event implements Cancellable{ + use CancellableTrait; + /** @var CraftingTransaction */ private $transaction; /** @var CraftingRecipe */ diff --git a/src/pocketmine/event/inventory/FurnaceBurnEvent.php b/src/pocketmine/event/inventory/FurnaceBurnEvent.php index b0637ccc08..1ace733297 100644 --- a/src/pocketmine/event/inventory/FurnaceBurnEvent.php +++ b/src/pocketmine/event/inventory/FurnaceBurnEvent.php @@ -25,10 +25,13 @@ namespace pocketmine\event\inventory; use pocketmine\event\block\BlockEvent; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\tile\Furnace; class FurnaceBurnEvent extends BlockEvent implements Cancellable{ + use CancellableTrait; + /** @var Furnace */ private $furnace; /** @var Item */ diff --git a/src/pocketmine/event/inventory/FurnaceSmeltEvent.php b/src/pocketmine/event/inventory/FurnaceSmeltEvent.php index 5b487d1c30..b69f0115ae 100644 --- a/src/pocketmine/event/inventory/FurnaceSmeltEvent.php +++ b/src/pocketmine/event/inventory/FurnaceSmeltEvent.php @@ -25,10 +25,13 @@ namespace pocketmine\event\inventory; use pocketmine\event\block\BlockEvent; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\tile\Furnace; class FurnaceSmeltEvent extends BlockEvent implements Cancellable{ + use CancellableTrait; + /** @var Furnace */ private $furnace; /** @var Item */ diff --git a/src/pocketmine/event/inventory/InventoryOpenEvent.php b/src/pocketmine/event/inventory/InventoryOpenEvent.php index 0b26c9bfb0..79ccb8ec26 100644 --- a/src/pocketmine/event/inventory/InventoryOpenEvent.php +++ b/src/pocketmine/event/inventory/InventoryOpenEvent.php @@ -24,10 +24,13 @@ declare(strict_types=1); namespace pocketmine\event\inventory; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\inventory\Inventory; use pocketmine\Player; class InventoryOpenEvent extends InventoryEvent implements Cancellable{ + use CancellableTrait; + /** @var Player */ private $who; diff --git a/src/pocketmine/event/inventory/InventoryPickupArrowEvent.php b/src/pocketmine/event/inventory/InventoryPickupArrowEvent.php index 0efa7af7b3..058c6be929 100644 --- a/src/pocketmine/event/inventory/InventoryPickupArrowEvent.php +++ b/src/pocketmine/event/inventory/InventoryPickupArrowEvent.php @@ -25,9 +25,12 @@ namespace pocketmine\event\inventory; use pocketmine\entity\projectile\Arrow; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\inventory\Inventory; class InventoryPickupArrowEvent extends InventoryEvent implements Cancellable{ + use CancellableTrait; + /** @var Arrow */ private $arrow; diff --git a/src/pocketmine/event/inventory/InventoryPickupItemEvent.php b/src/pocketmine/event/inventory/InventoryPickupItemEvent.php index f94e6dfeb5..60ead87c74 100644 --- a/src/pocketmine/event/inventory/InventoryPickupItemEvent.php +++ b/src/pocketmine/event/inventory/InventoryPickupItemEvent.php @@ -25,9 +25,12 @@ namespace pocketmine\event\inventory; use pocketmine\entity\object\ItemEntity; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\inventory\Inventory; class InventoryPickupItemEvent extends InventoryEvent implements Cancellable{ + use CancellableTrait; + /** @var ItemEntity */ private $item; diff --git a/src/pocketmine/event/inventory/InventoryTransactionEvent.php b/src/pocketmine/event/inventory/InventoryTransactionEvent.php index 50d7671aea..34f02ee242 100644 --- a/src/pocketmine/event/inventory/InventoryTransactionEvent.php +++ b/src/pocketmine/event/inventory/InventoryTransactionEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\inventory; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\event\Event; 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! */ class InventoryTransactionEvent extends Event implements Cancellable{ + use CancellableTrait; + /** @var InventoryTransaction */ private $transaction; diff --git a/src/pocketmine/event/level/ChunkUnloadEvent.php b/src/pocketmine/event/level/ChunkUnloadEvent.php index 288325864d..e37df56cd1 100644 --- a/src/pocketmine/event/level/ChunkUnloadEvent.php +++ b/src/pocketmine/event/level/ChunkUnloadEvent.php @@ -24,10 +24,11 @@ declare(strict_types=1); namespace pocketmine\event\level; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * Called when a Chunk is unloaded */ class ChunkUnloadEvent extends ChunkEvent implements Cancellable{ - + use CancellableTrait; } diff --git a/src/pocketmine/event/level/LevelUnloadEvent.php b/src/pocketmine/event/level/LevelUnloadEvent.php index e5cc36e8af..14b950396b 100644 --- a/src/pocketmine/event/level/LevelUnloadEvent.php +++ b/src/pocketmine/event/level/LevelUnloadEvent.php @@ -24,10 +24,11 @@ declare(strict_types=1); namespace pocketmine\event\level; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * Called when a Level is unloaded */ class LevelUnloadEvent extends LevelEvent implements Cancellable{ - + use CancellableTrait; } diff --git a/src/pocketmine/event/player/PlayerAchievementAwardedEvent.php b/src/pocketmine/event/player/PlayerAchievementAwardedEvent.php index 7b2231a9ab..da9ebea5de 100644 --- a/src/pocketmine/event/player/PlayerAchievementAwardedEvent.php +++ b/src/pocketmine/event/player/PlayerAchievementAwardedEvent.php @@ -24,12 +24,15 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; /** * Called when a player is awarded an achievement */ class PlayerAchievementAwardedEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var string */ protected $achievement; diff --git a/src/pocketmine/event/player/PlayerAnimationEvent.php b/src/pocketmine/event/player/PlayerAnimationEvent.php index b0650446bf..af6ad556fc 100644 --- a/src/pocketmine/event/player/PlayerAnimationEvent.php +++ b/src/pocketmine/event/player/PlayerAnimationEvent.php @@ -24,12 +24,15 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; /** * Called when a player does an animation */ class PlayerAnimationEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var int */ private $animationType; diff --git a/src/pocketmine/event/player/PlayerBedEnterEvent.php b/src/pocketmine/event/player/PlayerBedEnterEvent.php index e25ac35a73..be2ee766c8 100644 --- a/src/pocketmine/event/player/PlayerBedEnterEvent.php +++ b/src/pocketmine/event/player/PlayerBedEnterEvent.php @@ -25,9 +25,12 @@ namespace pocketmine\event\player; use pocketmine\block\Block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; class PlayerBedEnterEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var Block */ private $bed; diff --git a/src/pocketmine/event/player/PlayerBlockPickEvent.php b/src/pocketmine/event/player/PlayerBlockPickEvent.php index d4a9f7f058..9cbb092219 100644 --- a/src/pocketmine/event/player/PlayerBlockPickEvent.php +++ b/src/pocketmine/event/player/PlayerBlockPickEvent.php @@ -25,6 +25,7 @@ namespace pocketmine\event\player; use pocketmine\block\Block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; 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. */ class PlayerBlockPickEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var Block */ private $blockClicked; /** @var Item */ diff --git a/src/pocketmine/event/player/PlayerBucketEvent.php b/src/pocketmine/event/player/PlayerBucketEvent.php index f207aeef98..8aba82ae52 100644 --- a/src/pocketmine/event/player/PlayerBucketEvent.php +++ b/src/pocketmine/event/player/PlayerBucketEvent.php @@ -25,6 +25,7 @@ namespace pocketmine\event\player; use pocketmine\block\Block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\Player; @@ -32,6 +33,8 @@ use pocketmine\Player; * @allowHandle */ abstract class PlayerBucketEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var Block */ private $blockClicked; /** @var int */ diff --git a/src/pocketmine/event/player/PlayerChangeSkinEvent.php b/src/pocketmine/event/player/PlayerChangeSkinEvent.php index bfb854b721..60070218b6 100644 --- a/src/pocketmine/event/player/PlayerChangeSkinEvent.php +++ b/src/pocketmine/event/player/PlayerChangeSkinEvent.php @@ -25,12 +25,15 @@ namespace pocketmine\event\player; use pocketmine\entity\Skin; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; /** * Called when a player changes their skin in-game. */ class PlayerChangeSkinEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var Skin */ private $oldSkin; /** @var Skin */ diff --git a/src/pocketmine/event/player/PlayerChatEvent.php b/src/pocketmine/event/player/PlayerChatEvent.php index 4ebddecdd7..b12fa0858a 100644 --- a/src/pocketmine/event/player/PlayerChatEvent.php +++ b/src/pocketmine/event/player/PlayerChatEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\permission\PermissionManager; use pocketmine\Player; use pocketmine\Server; @@ -32,6 +33,8 @@ use pocketmine\Server; * Called when a player chats something */ class PlayerChatEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var string */ protected $message; diff --git a/src/pocketmine/event/player/PlayerCommandPreprocessEvent.php b/src/pocketmine/event/player/PlayerCommandPreprocessEvent.php index edeaa847d5..2c8951c6fa 100644 --- a/src/pocketmine/event/player/PlayerCommandPreprocessEvent.php +++ b/src/pocketmine/event/player/PlayerCommandPreprocessEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; /** @@ -35,6 +36,8 @@ use pocketmine\Player; * The message contains a slash at the start */ class PlayerCommandPreprocessEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var string */ protected $message; diff --git a/src/pocketmine/event/player/PlayerDataSaveEvent.php b/src/pocketmine/event/player/PlayerDataSaveEvent.php index c3296bdce3..cb23ad01dd 100644 --- a/src/pocketmine/event/player/PlayerDataSaveEvent.php +++ b/src/pocketmine/event/player/PlayerDataSaveEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\event\Event; use pocketmine\IPlayer; 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. */ class PlayerDataSaveEvent extends Event implements Cancellable{ + use CancellableTrait; + /** @var CompoundTag */ protected $data; /** @var string */ diff --git a/src/pocketmine/event/player/PlayerDropItemEvent.php b/src/pocketmine/event/player/PlayerDropItemEvent.php index 5a16af15e6..0cf50d995e 100644 --- a/src/pocketmine/event/player/PlayerDropItemEvent.php +++ b/src/pocketmine/event/player/PlayerDropItemEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\Player; @@ -31,6 +32,8 @@ use pocketmine\Player; * Called when a player tries to drop an item from its hotbar */ class PlayerDropItemEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var Item */ private $drop; diff --git a/src/pocketmine/event/player/PlayerDuplicateLoginEvent.php b/src/pocketmine/event/player/PlayerDuplicateLoginEvent.php index 9ef7accf48..d77f6fc4cc 100644 --- a/src/pocketmine/event/player/PlayerDuplicateLoginEvent.php +++ b/src/pocketmine/event/player/PlayerDuplicateLoginEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\event\Event; 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. */ class PlayerDuplicateLoginEvent extends Event implements Cancellable{ + use CancellableTrait; /** @var NetworkSession */ private $connectingSession; diff --git a/src/pocketmine/event/player/PlayerEditBookEvent.php b/src/pocketmine/event/player/PlayerEditBookEvent.php index c0b7c6ad30..6aac41d9e3 100644 --- a/src/pocketmine/event/player/PlayerEditBookEvent.php +++ b/src/pocketmine/event/player/PlayerEditBookEvent.php @@ -24,10 +24,13 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\WritableBook; use pocketmine\Player; class PlayerEditBookEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + public const ACTION_REPLACE_PAGE = 0; public const ACTION_ADD_PAGE = 1; public const ACTION_DELETE_PAGE = 2; diff --git a/src/pocketmine/event/player/PlayerExhaustEvent.php b/src/pocketmine/event/player/PlayerExhaustEvent.php index 1e765bdbb9..91ab4caea3 100644 --- a/src/pocketmine/event/player/PlayerExhaustEvent.php +++ b/src/pocketmine/event/player/PlayerExhaustEvent.php @@ -25,9 +25,12 @@ namespace pocketmine\event\player; use pocketmine\entity\Human; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\event\entity\EntityEvent; class PlayerExhaustEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + public const CAUSE_ATTACK = 1; public const CAUSE_DAMAGE = 2; public const CAUSE_MINING = 3; diff --git a/src/pocketmine/event/player/PlayerExperienceChangeEvent.php b/src/pocketmine/event/player/PlayerExperienceChangeEvent.php index dc72f43714..56197678c3 100644 --- a/src/pocketmine/event/player/PlayerExperienceChangeEvent.php +++ b/src/pocketmine/event/player/PlayerExperienceChangeEvent.php @@ -25,12 +25,15 @@ namespace pocketmine\event\player; use pocketmine\entity\Human; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\event\entity\EntityEvent; /** * Called when a player gains or loses XP levels and/or progress. */ class PlayerExperienceChangeEvent extends EntityEvent implements Cancellable{ + use CancellableTrait; + /** @var Human */ protected $entity; /** @var int */ diff --git a/src/pocketmine/event/player/PlayerGameModeChangeEvent.php b/src/pocketmine/event/player/PlayerGameModeChangeEvent.php index 9697c9f72c..0a399e0bc3 100644 --- a/src/pocketmine/event/player/PlayerGameModeChangeEvent.php +++ b/src/pocketmine/event/player/PlayerGameModeChangeEvent.php @@ -24,12 +24,15 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; /** * Called when a player has its gamemode changed */ class PlayerGameModeChangeEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var int */ protected $gamemode; diff --git a/src/pocketmine/event/player/PlayerInteractEvent.php b/src/pocketmine/event/player/PlayerInteractEvent.php index 1d82d124ab..5b4a86cd38 100644 --- a/src/pocketmine/event/player/PlayerInteractEvent.php +++ b/src/pocketmine/event/player/PlayerInteractEvent.php @@ -25,6 +25,7 @@ namespace pocketmine\event\player; use pocketmine\block\Block; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\math\Vector3; use pocketmine\Player; @@ -33,6 +34,8 @@ use pocketmine\Player; * Called when a player interacts or touches a block (including air?) */ class PlayerInteractEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + public const LEFT_CLICK_BLOCK = 0; public const RIGHT_CLICK_BLOCK = 1; diff --git a/src/pocketmine/event/player/PlayerItemConsumeEvent.php b/src/pocketmine/event/player/PlayerItemConsumeEvent.php index 54a4eecae9..aac350fd01 100644 --- a/src/pocketmine/event/player/PlayerItemConsumeEvent.php +++ b/src/pocketmine/event/player/PlayerItemConsumeEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\Player; @@ -31,6 +32,8 @@ use pocketmine\Player; * Called when a player eats something */ class PlayerItemConsumeEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var Item */ private $item; diff --git a/src/pocketmine/event/player/PlayerItemHeldEvent.php b/src/pocketmine/event/player/PlayerItemHeldEvent.php index 9b56f1cbd4..6f81004178 100644 --- a/src/pocketmine/event/player/PlayerItemHeldEvent.php +++ b/src/pocketmine/event/player/PlayerItemHeldEvent.php @@ -24,10 +24,13 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\Player; class PlayerItemHeldEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var Item */ private $item; /** @var int */ diff --git a/src/pocketmine/event/player/PlayerItemUseEvent.php b/src/pocketmine/event/player/PlayerItemUseEvent.php index 743e78ca1d..c7aafd61ba 100644 --- a/src/pocketmine/event/player/PlayerItemUseEvent.php +++ b/src/pocketmine/event/player/PlayerItemUseEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\item\Item; use pocketmine\math\Vector3; use pocketmine\Player; @@ -32,6 +33,7 @@ use pocketmine\Player; * Called when a player uses its held item, for example when throwing a projectile. */ class PlayerItemUseEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; /** @var Item */ private $item; diff --git a/src/pocketmine/event/player/PlayerKickEvent.php b/src/pocketmine/event/player/PlayerKickEvent.php index d696825c89..b199a9410c 100644 --- a/src/pocketmine/event/player/PlayerKickEvent.php +++ b/src/pocketmine/event/player/PlayerKickEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\lang\TextContainer; use pocketmine\Player; @@ -31,6 +32,8 @@ use pocketmine\Player; * Called when a player leaves the server */ class PlayerKickEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var TextContainer|string */ protected $quitMessage; diff --git a/src/pocketmine/event/player/PlayerLoginEvent.php b/src/pocketmine/event/player/PlayerLoginEvent.php index 5afbaa061b..298f2a1b2e 100644 --- a/src/pocketmine/event/player/PlayerLoginEvent.php +++ b/src/pocketmine/event/player/PlayerLoginEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; 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. */ class PlayerLoginEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var string */ protected $kickMessage; diff --git a/src/pocketmine/event/player/PlayerMoveEvent.php b/src/pocketmine/event/player/PlayerMoveEvent.php index 0725faf62c..720a98b95b 100644 --- a/src/pocketmine/event/player/PlayerMoveEvent.php +++ b/src/pocketmine/event/player/PlayerMoveEvent.php @@ -24,10 +24,13 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\level\Location; use pocketmine\Player; class PlayerMoveEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var Location */ private $from; /** @var Location */ diff --git a/src/pocketmine/event/player/PlayerToggleFlightEvent.php b/src/pocketmine/event/player/PlayerToggleFlightEvent.php index de0511e9dc..298947c423 100644 --- a/src/pocketmine/event/player/PlayerToggleFlightEvent.php +++ b/src/pocketmine/event/player/PlayerToggleFlightEvent.php @@ -24,9 +24,12 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; class PlayerToggleFlightEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var bool */ protected $isFlying; diff --git a/src/pocketmine/event/player/PlayerToggleSneakEvent.php b/src/pocketmine/event/player/PlayerToggleSneakEvent.php index 902f5b9c61..8ba0ac5990 100644 --- a/src/pocketmine/event/player/PlayerToggleSneakEvent.php +++ b/src/pocketmine/event/player/PlayerToggleSneakEvent.php @@ -24,9 +24,12 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; class PlayerToggleSneakEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var bool */ protected $isSneaking; diff --git a/src/pocketmine/event/player/PlayerToggleSprintEvent.php b/src/pocketmine/event/player/PlayerToggleSprintEvent.php index 96f8c1c0a8..323df0120a 100644 --- a/src/pocketmine/event/player/PlayerToggleSprintEvent.php +++ b/src/pocketmine/event/player/PlayerToggleSprintEvent.php @@ -24,9 +24,12 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; class PlayerToggleSprintEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var bool */ protected $isSprinting; diff --git a/src/pocketmine/event/player/PlayerTransferEvent.php b/src/pocketmine/event/player/PlayerTransferEvent.php index 146e08b718..31baa90dc2 100644 --- a/src/pocketmine/event/player/PlayerTransferEvent.php +++ b/src/pocketmine/event/player/PlayerTransferEvent.php @@ -24,9 +24,12 @@ declare(strict_types=1); namespace pocketmine\event\player; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\Player; class PlayerTransferEvent extends PlayerEvent implements Cancellable{ + use CancellableTrait; + /** @var string */ protected $address; /** @var int */ diff --git a/src/pocketmine/event/player/cheat/PlayerIllegalMoveEvent.php b/src/pocketmine/event/player/cheat/PlayerIllegalMoveEvent.php index 5beae2a4ab..454cb7f385 100644 --- a/src/pocketmine/event/player/cheat/PlayerIllegalMoveEvent.php +++ b/src/pocketmine/event/player/cheat/PlayerIllegalMoveEvent.php @@ -25,6 +25,7 @@ declare(strict_types=1); namespace pocketmine\event\player\cheat; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\math\Vector3; use pocketmine\Player; @@ -32,6 +33,8 @@ use pocketmine\Player; * Called when a player attempts to perform movement cheats such as clipping through blocks. */ class PlayerIllegalMoveEvent extends PlayerCheatEvent implements Cancellable{ + use CancellableTrait; + /** @var Vector3 */ private $attemptedPosition; diff --git a/src/pocketmine/event/server/CommandEvent.php b/src/pocketmine/event/server/CommandEvent.php index d5dd422a3e..95f1cca6a5 100644 --- a/src/pocketmine/event/server/CommandEvent.php +++ b/src/pocketmine/event/server/CommandEvent.php @@ -25,6 +25,7 @@ namespace pocketmine\event\server; use pocketmine\command\CommandSender; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * 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 */ class CommandEvent extends ServerEvent implements Cancellable{ + use CancellableTrait; + /** @var string */ protected $command; diff --git a/src/pocketmine/event/server/DataPacketBroadcastEvent.php b/src/pocketmine/event/server/DataPacketBroadcastEvent.php index 7b818ff377..57f2564c3e 100644 --- a/src/pocketmine/event/server/DataPacketBroadcastEvent.php +++ b/src/pocketmine/event/server/DataPacketBroadcastEvent.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\event\server; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\network\mcpe\protocol\DataPacket; use pocketmine\Player; @@ -31,6 +32,8 @@ use pocketmine\Player; * Called when a list of packets is broadcasted to 1 or more players. */ class DataPacketBroadcastEvent extends ServerEvent implements Cancellable{ + use CancellableTrait; + /** @var Player[] */ private $players; /** @var DataPacket[] */ diff --git a/src/pocketmine/event/server/DataPacketReceiveEvent.php b/src/pocketmine/event/server/DataPacketReceiveEvent.php index 1766c0d7f4..733927f054 100644 --- a/src/pocketmine/event/server/DataPacketReceiveEvent.php +++ b/src/pocketmine/event/server/DataPacketReceiveEvent.php @@ -24,10 +24,13 @@ declare(strict_types=1); namespace pocketmine\event\server; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\network\mcpe\protocol\DataPacket; use pocketmine\Player; class DataPacketReceiveEvent extends ServerEvent implements Cancellable{ + use CancellableTrait; + /** @var DataPacket */ private $packet; /** @var Player */ diff --git a/src/pocketmine/event/server/DataPacketSendEvent.php b/src/pocketmine/event/server/DataPacketSendEvent.php index fbbef6362f..0d2e699343 100644 --- a/src/pocketmine/event/server/DataPacketSendEvent.php +++ b/src/pocketmine/event/server/DataPacketSendEvent.php @@ -24,10 +24,13 @@ declare(strict_types=1); namespace pocketmine\event\server; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; use pocketmine\network\mcpe\protocol\DataPacket; use pocketmine\Player; class DataPacketSendEvent extends ServerEvent implements Cancellable{ + use CancellableTrait; + /** @var DataPacket */ private $packet; /** @var Player */ diff --git a/src/pocketmine/event/server/NetworkInterfaceRegisterEvent.php b/src/pocketmine/event/server/NetworkInterfaceRegisterEvent.php index b2dafb82ea..a2ee78af65 100644 --- a/src/pocketmine/event/server/NetworkInterfaceRegisterEvent.php +++ b/src/pocketmine/event/server/NetworkInterfaceRegisterEvent.php @@ -24,10 +24,11 @@ declare(strict_types=1); namespace pocketmine\event\server; use pocketmine\event\Cancellable; +use pocketmine\event\CancellableTrait; /** * Called when a network interface is registered into the network, for example the RakLib interface. */ class NetworkInterfaceRegisterEvent extends NetworkInterfaceEvent implements Cancellable{ - + use CancellableTrait; }