Don't auto-create tiles on activate

this complicates the code unnecessarily and doesn't produce the desired effect in most cases anyway.
This commit is contained in:
Dylan K. Taylor
2018-09-28 20:12:41 +01:00
parent 594a2041b6
commit 8e6a5813ea
4 changed files with 22 additions and 45 deletions

View File

@ -60,14 +60,12 @@ class ItemFrame extends Flowable{
public function onActivate(Item $item, Player $player = null) : bool{
$tile = $this->level->getTile($this);
if(!($tile instanceof TileItemFrame)){
$tile = Tile::createTile(Tile::ITEM_FRAME, $this->getLevel(), TileItemFrame::createNBT($this));
}
if($tile->hasItem()){
$tile->setItemRotation(($tile->getItemRotation() + 1) % 8);
}elseif(!$item->isNull()){
$tile->setItem($item->pop());
if($tile instanceof TileItemFrame){
if($tile->hasItem()){
$tile->setItemRotation(($tile->getItemRotation() + 1) % 8);
}elseif(!$item->isNull()){
$tile->setItem($item->pop());
}
}
return true;