World: reduce legacy id/meta dependencies

This commit is contained in:
Dylan K. Taylor 2019-07-06 15:21:30 +01:00
parent f3995f7cb0
commit 5c25f770c2

View File

@ -931,16 +931,15 @@ class World implements ChunkManager{
return $this->randomTickBlocks; return $this->randomTickBlocks;
} }
public function addRandomTickedBlock(int $id, int $variant = 0){ public function addRandomTickedBlock(Block $block){
$block = BlockFactory::get($id, $variant);
if($block instanceof UnknownBlock){ if($block instanceof UnknownBlock){
throw new \InvalidArgumentException("ID $id variant $variant is unknown, cannot do random-tick"); throw new \InvalidArgumentException("Cannot do random-tick on unknown block");
} }
$this->randomTickBlocks[($id << 4) | $variant] = true; $this->randomTickBlocks[$block->getFullId()] = true;
} }
public function removeRandomTickedBlock(int $id, int $variant = 0){ public function removeRandomTickedBlock(Block $block){
unset($this->randomTickBlocks[($id << 4) | $variant]); unset($this->randomTickBlocks[$block->getFullId()]);
} }
private function tickChunks(){ private function tickChunks(){