GenisysPro  for Minecraft PE/Windows 10 v1.1.x
Feature-rich server software for Minecraft PE and Windows 10 Edition
BlockMetadataStore Class Reference

Public Member Functions

 __construct (Level $owningLevel)
 
 disambiguate (Metadatable $block, $metadataKey)
 
 getMetadata ($block, $metadataKey)
 
 hasMetadata ($block, $metadataKey)
 
 removeMetadata ($block, $metadataKey, Plugin $owningPlugin)
 
 setMetadata ($block, $metadataKey, MetadataValue $newMetadatavalue)
 

Constructor & Destructor Documentation

◆ __construct()

__construct ( Level  $owningLevel)

BlockMetadataStore constructor.

Parameters
Level$owningLevel
37  {
38  $this->owningLevel = $owningLevel;
39  }

Member Function Documentation

◆ disambiguate()

disambiguate ( Metadatable  $block,
  $metadataKey 
)
Parameters
Metadatable$block
string$metadataKey
Returns
string
47  {
48  if(!($block instanceof Block)){
49  throw new \InvalidArgumentException("Argument must be a Block instance");
50  }
51 
52  return $block->x . ":" . $block->y . ":" . $block->z . ":" . $metadataKey;
53  }

◆ getMetadata()

getMetadata (   $block,
  $metadataKey 
)
Parameters
mixed$block
string$metadataKey
Returns
MetadataValue[]
61  {
62  if(!($block instanceof Block)){
63  throw new \InvalidArgumentException("Object must be a Block");
64  }
65  if($block->getLevel() === $this->owningLevel){
66  return parent::getMetadata($block, $metadataKey);
67  }else{
68  throw new \InvalidStateException("Block does not belong to world " . $this->owningLevel->getName());
69  }
70  }

◆ hasMetadata()

hasMetadata (   $block,
  $metadataKey 
)
Parameters
mixed$block
string$metadataKey
Returns
bool
78  {
79  if(!($block instanceof Block)){
80  throw new \InvalidArgumentException("Object must be a Block");
81  }
82  if($block->getLevel() === $this->owningLevel){
83  return parent::hasMetadata($block, $metadataKey);
84  }else{
85  throw new \InvalidStateException("Block does not belong to world " . $this->owningLevel->getName());
86  }
87  }

◆ removeMetadata()

removeMetadata (   $block,
  $metadataKey,
Plugin  $owningPlugin 
)
Parameters
mixed$block
string$metadataKey
Plugin$owningPlugin
94  {
95  if(!($block instanceof Block)){
96  throw new \InvalidArgumentException("Object must be a Block");
97  }
98  if($block->getLevel() === $this->owningLevel){
99  parent::removeMetadata($block, $metadataKey, $owningPlugin);
100  }else{
101  throw new \InvalidStateException("Block does not belong to world " . $this->owningLevel->getName());
102  }
103  }

◆ setMetadata()

setMetadata (   $block,
  $metadataKey,
MetadataValue  $newMetadatavalue 
)
Parameters
mixed$block
string$metadataKey
MetadataValue$newMetadatavalue
110  {
111  if(!($block instanceof Block)){
112  throw new \InvalidArgumentException("Object must be a Block");
113  }
114  if($block->getLevel() === $this->owningLevel){
115  parent::setMetadata($block, $metadataKey, $newMetadatavalue);
116  }else{
117  throw new \InvalidStateException("Block does not belong to world " . $this->owningLevel->getName());
118  }
119  }

The documentation for this class was generated from the following file: