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

Public Member Functions

 __construct (Level $level, Chunk $chunk)
 
 onCompletion (Server $server)
 
- Public Member Functions inherited from AsyncTask
 isGarbage ()
 
 setGarbage ()
 
 isFinished ()
 
 run ()
 
 isCrashed ()
 
 getResult ()
 
 cancelRun ()
 
 hasCancelledRun ()
 
 hasResult ()
 
 setResult ($result, $serialize=true)
 
 setTaskId ($taskId)
 
 getTaskId ()
 
 getFromThreadStore ($identifier)
 
 saveToThreadStore ($identifier, $value)
 
 onRun ()
 
 onCompletion (Server $server)
 
 cleanObject ()
 
- Public Member Functions inherited from Threaded
 chunk ($size, bool $preserve=false)
 
 count ()
 
 isRunning ()
 
 isTerminated ()
 
 merge ($from, $overwrite=true)
 
 notify ()
 
 notifyOne ()
 
 offsetGet ($offset)
 
 offsetSet ($offset, $value)
 
 offsetExists ($offset)
 
 offsetUnset ($offset)
 
 pop ()
 
 run ()
 
 shift ()
 
 synchronized (\Closure $function, $args=null)
 
 wait ($timeout)
 
 getRefCount ()
 
 addRef ()
 
 delRef ()
 
 isGarbage ()
 

Data Fields

 $state
 
 $levelId
 
 $chunk
 
 $chunk0
 
 $chunk1
 
 $chunk2
 
 $chunk3
 
 $chunk5
 
 $chunk6
 
 $chunk7
 
 $chunk8
 
- Data Fields inherited from AsyncTask
 $worker = null
 

Additional Inherited Members

- Static Public Member Functions inherited from Threaded
static extend ($obj)
 

Constructor & Destructor Documentation

◆ __construct()

__construct ( Level  $level,
Chunk  $chunk 
)

PopulationTask constructor.

Parameters
Level$level
Chunk$chunk
53  {
54  $this->state = true;
55  $this->levelId = $level->getId();
56  $this->chunk = $chunk->fastSerialize();
57 
58  for($i = 0; $i < 9; ++$i){
59  if($i === 4){
60  continue;
61  }
62  $xx = -1 + $i % 3;
63  $zz = -1 + (int) ($i / 3);
64  $ck = $level->getChunk($chunk->getX() + $xx, $chunk->getZ() + $zz, false);
65  $this->{"chunk$i"} = $ck !== null ? $ck->fastSerialize() : null;
66  }
67  }

Member Function Documentation

◆ onCompletion()

onCompletion ( Server  $server)
Parameters
Server$server
157  {
158  $level = $server->getLevel($this->levelId);
159  if($level !== null){
160  if($this->state === false){
161  $level->registerGenerator();
162  return;
163  }
164 
166 
167  if($chunk === null){
168  //TODO error
169  return;
170  }
171 
172  for($i = 0; $i < 9; ++$i){
173  if($i === 4){
174  continue;
175  }
176  $c = $this->{"chunk$i"};
177  if($c !== null){
178  $c = Chunk::fastDeserialize($c);
179  $level->generateChunkCallback($c->getX(), $c->getZ(), $c);
180  }
181  }
182 
183  $level->generateChunkCallback($chunk->getX(), $chunk->getZ(), $chunk);
184  }
185  }

Field Documentation

◆ $chunk

◆ $chunk0

$chunk0

◆ $chunk1

$chunk1

◆ $chunk2

$chunk2

◆ $chunk3

$chunk3

◆ $chunk5

$chunk5

◆ $chunk6

$chunk6

◆ $chunk7

$chunk7

◆ $chunk8

$chunk8

◆ $levelId

$levelId

◆ $state

$state

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