PocketMine-MP
5.21.2 git-b2aa6396c3cc2cafdd815eacc360e1ad89599899
Loading...
Searching...
No Matches
StaticPacketCache.php
1
<?php
2
3
/*
4
*
5
* ____ _ _ __ __ _ __ __ ____
6
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
7
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
8
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
9
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
10
*
11
* This program is free software: you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License as published by
13
* the Free Software Foundation, either version 3 of the License, or
14
* (at your option) any later version.
15
*
16
* @author PocketMine Team
17
* @link http://www.pocketmine.net/
18
*
19
*
20
*/
21
22
declare(strict_types=1);
23
24
namespace
pocketmine\network\mcpe\cache;
25
26
use
pocketmine\data\bedrock\BedrockDataFiles
;
27
use
pocketmine\network\mcpe\protocol\AvailableActorIdentifiersPacket
;
28
use
pocketmine\network\mcpe\protocol\BiomeDefinitionListPacket
;
29
use
pocketmine\network\mcpe\protocol\serializer\NetworkNbtSerializer
;
30
use
pocketmine\network\mcpe\protocol\types\CacheableNbt
;
31
use
pocketmine\utils\Filesystem
;
32
use pocketmine\utils\SingletonTrait;
33
34
class
StaticPacketCache
{
35
use SingletonTrait;
36
40
private
static
function
loadCompoundFromFile(
string
$filePath) :
CacheableNbt
{
41
return
new
CacheableNbt
((
new
NetworkNbtSerializer
())->read(Filesystem::fileGetContents($filePath))->mustGetCompoundTag());
42
}
43
44
private
static
function
make() :
self
{
45
return
new
self
(
46
BiomeDefinitionListPacket::create
(self::loadCompoundFromFile(BedrockDataFiles::BIOME_DEFINITIONS_NBT)),
47
AvailableActorIdentifiersPacket::create
(self::loadCompoundFromFile(BedrockDataFiles::ENTITY_IDENTIFIERS_NBT))
48
);
49
}
50
51
public
function
__construct(
52
private
BiomeDefinitionListPacket
$biomeDefs,
53
private
AvailableActorIdentifiersPacket
$availableActorIdentifiers
54
){}
55
56
public
function
getBiomeDefs() :
BiomeDefinitionListPacket
{
57
return
$this->biomeDefs;
58
}
59
60
public
function
getAvailableActorIdentifiers() :
AvailableActorIdentifiersPacket
{
61
return
$this->availableActorIdentifiers;
62
}
63
}
pocketmine\data\bedrock\BedrockDataFiles
Definition
BedrockDataFiles.php:28
pocketmine\network\mcpe\cache\StaticPacketCache
Definition
StaticPacketCache.php:34
pocketmine\network\mcpe\protocol\AvailableActorIdentifiersPacket
Definition
AvailableActorIdentifiersPacket.php:20
pocketmine\network\mcpe\protocol\AvailableActorIdentifiersPacket\create
static create(CacheableNbt $identifiers)
Definition
AvailableActorIdentifiersPacket.php:30
pocketmine\network\mcpe\protocol\BiomeDefinitionListPacket
Definition
BiomeDefinitionListPacket.php:20
pocketmine\network\mcpe\protocol\BiomeDefinitionListPacket\create
static create(CacheableNbt $definitions)
Definition
BiomeDefinitionListPacket.php:30
pocketmine\network\mcpe\protocol\serializer\NetworkNbtSerializer
Definition
NetworkNbtSerializer.php:22
pocketmine\network\mcpe\protocol\types\CacheableNbt
Definition
CacheableNbt.php:24
pocketmine\utils\Filesystem
Definition
Filesystem.php:63
src
network
mcpe
cache
StaticPacketCache.php
Generated by
1.12.0