mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-27 21:59:52 +00:00
added ChunkListenerNoOpTrait to reduce chunklistener boilerplate
This commit is contained in:
parent
d85a27c5b2
commit
edccce1419
@ -25,6 +25,7 @@ namespace pocketmine\network\mcpe;
|
|||||||
|
|
||||||
use pocketmine\math\Vector3;
|
use pocketmine\math\Vector3;
|
||||||
use pocketmine\world\ChunkListener;
|
use pocketmine\world\ChunkListener;
|
||||||
|
use pocketmine\world\ChunkListenerNoOpTrait;
|
||||||
use pocketmine\world\format\Chunk;
|
use pocketmine\world\format\Chunk;
|
||||||
use pocketmine\world\World;
|
use pocketmine\world\World;
|
||||||
use function spl_object_id;
|
use function spl_object_id;
|
||||||
@ -159,6 +160,13 @@ class ChunkCache implements ChunkListener{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
use ChunkListenerNoOpTrait {
|
||||||
|
//force overriding of these
|
||||||
|
onChunkChanged as private;
|
||||||
|
onBlockChanged as private;
|
||||||
|
onChunkUnloaded as private;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see ChunkListener::onChunkChanged()
|
* @see ChunkListener::onChunkChanged()
|
||||||
* @param Chunk $chunk
|
* @param Chunk $chunk
|
||||||
@ -187,22 +195,6 @@ class ChunkCache implements ChunkListener{
|
|||||||
$this->world->unregisterChunkListener($this, $chunk->getX(), $chunk->getZ());
|
$this->world->unregisterChunkListener($this, $chunk->getX(), $chunk->getZ());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @see ChunkListener::onChunkLoaded()
|
|
||||||
* @param Chunk $chunk
|
|
||||||
*/
|
|
||||||
public function onChunkLoaded(Chunk $chunk) : void{
|
|
||||||
//NOOP
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @see ChunkListener::onChunkPopulated()
|
|
||||||
* @param Chunk $chunk
|
|
||||||
*/
|
|
||||||
public function onChunkPopulated(Chunk $chunk) : void{
|
|
||||||
//NOOP - we also receive this in onChunkChanged, so we don't care here
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the number of bytes occupied by the cache data in this cache. This does not include the size of any
|
* Returns the number of bytes occupied by the cache data in this cache. This does not include the size of any
|
||||||
* promises referenced by the cache.
|
* promises referenced by the cache.
|
||||||
|
@ -104,6 +104,7 @@ use pocketmine\timings\Timings;
|
|||||||
use pocketmine\utils\TextFormat;
|
use pocketmine\utils\TextFormat;
|
||||||
use pocketmine\utils\UUID;
|
use pocketmine\utils\UUID;
|
||||||
use pocketmine\world\ChunkListener;
|
use pocketmine\world\ChunkListener;
|
||||||
|
use pocketmine\world\ChunkListenerNoOpTrait;
|
||||||
use pocketmine\world\ChunkLoader;
|
use pocketmine\world\ChunkLoader;
|
||||||
use pocketmine\world\format\Chunk;
|
use pocketmine\world\format\Chunk;
|
||||||
use pocketmine\world\particle\PunchBlockParticle;
|
use pocketmine\world\particle\PunchBlockParticle;
|
||||||
@ -2701,26 +2702,14 @@ class Player extends Human implements CommandSender, ChunkLoader, ChunkListener,
|
|||||||
$this->server->getPlayerMetadata()->removeMetadata($this, $metadataKey, $owningPlugin);
|
$this->server->getPlayerMetadata()->removeMetadata($this, $metadataKey, $owningPlugin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
use ChunkListenerNoOpTrait {
|
||||||
|
onChunkChanged as private;
|
||||||
|
}
|
||||||
|
|
||||||
public function onChunkChanged(Chunk $chunk) : void{
|
public function onChunkChanged(Chunk $chunk) : void{
|
||||||
if(isset($this->usedChunks[$hash = World::chunkHash($chunk->getX(), $chunk->getZ())])){
|
if(isset($this->usedChunks[$hash = World::chunkHash($chunk->getX(), $chunk->getZ())])){
|
||||||
$this->usedChunks[$hash] = false;
|
$this->usedChunks[$hash] = false;
|
||||||
$this->nextChunkOrderRun = 0;
|
$this->nextChunkOrderRun = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onChunkLoaded(Chunk $chunk) : void{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public function onChunkPopulated(Chunk $chunk) : void{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public function onChunkUnloaded(Chunk $chunk) : void{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public function onBlockChanged(Vector3 $block) : void{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
54
src/pocketmine/world/ChunkListenerNoOpTrait.php
Normal file
54
src/pocketmine/world/ChunkListenerNoOpTrait.php
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?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\world;
|
||||||
|
|
||||||
|
use pocketmine\math\Vector3;
|
||||||
|
use pocketmine\world\format\Chunk;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This trait implements no-op default methods for chunk listeners.
|
||||||
|
* @see ChunkListener
|
||||||
|
*/
|
||||||
|
trait ChunkListenerNoOpTrait/* implements ChunkListener*/{
|
||||||
|
|
||||||
|
public function onChunkChanged(Chunk $chunk) : void{
|
||||||
|
//NOOP
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onChunkLoaded(Chunk $chunk) : void{
|
||||||
|
//NOOP
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onChunkUnloaded(Chunk $chunk) : void{
|
||||||
|
//NOOP
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onChunkPopulated(Chunk $chunk) : void{
|
||||||
|
//NOOP
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onBlockChanged(Vector3 $block) : void{
|
||||||
|
//NOOP
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user