Type-hinted NBT tag constructors, made getValue() and setValue() more strict, fix dozens of assorted related bugs

This commit is contained in:
Dylan K. Taylor
2017-06-08 19:17:41 +01:00
parent 595e1ab52f
commit 890f72dbf2
24 changed files with 348 additions and 65 deletions

View File

@ -190,15 +190,24 @@ class Chest extends Spawnable implements InventoryHolder, Container, Nameable{
}
}
public function getName(){
/**
* @return string
*/
public function getName() : string{
return isset($this->namedtag->CustomName) ? $this->namedtag->CustomName->getValue() : "Chest";
}
public function hasName(){
/**
* @return bool
*/
public function hasName() : bool{
return isset($this->namedtag->CustomName);
}
public function setName($str){
/**
* @param string $str
*/
public function setName(string $str){
if($str === ""){
unset($this->namedtag->CustomName);
return;