All BlockInventory descendents now have a Position as holder

this allows multiple problems to be solved:
1) Cycle between tile and inventory is now removed.
2) BlockInventory now provides a consistent API for plugins to get the block holding an inventory.
This commit is contained in:
Dylan K. Taylor
2019-08-05 18:50:29 +01:00
parent 358fea9645
commit 9353f616a2
14 changed files with 36 additions and 95 deletions

View File

@ -56,14 +56,13 @@ class Furnace extends Spawnable implements Container, Nameable{
private $maxFuelTime = 0;
public function __construct(World $world, Vector3 $pos){
parent::__construct($world, $pos);
$this->inventory = new FurnaceInventory($this);
$this->inventory->addChangeListeners(CallbackInventoryChangeListener::onAnyChange(
function(Inventory $unused) : void{
$this->world->scheduleDelayedBlockUpdate($this->asVector3(), 1);
})
);
parent::__construct($world, $pos);
}
public function readSaveData(CompoundTag $nbt) : void{