Processors 5.46.0
The structure processors (vanilla's StructureProcessorType): the data-driven ones of processor lists (block_rot, rule, protected_blocks, capped, block_ignore, gravity, nop) and the ones vanilla adds in code (jigsaw replacement, lava submerged blocks).
Methods
__construct()
public function __construct(\pocketmine\world\generator\vanilla\WorldgenData $data, \pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks, ?\Closure $warn = null)archaeology()
public static function archaeology(\pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks, string $input, string $output, string $lootTable) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorA rule processor turning one block into another with a loot table (OceanRuinPieces.archyRuleProcessor()).
blackstoneReplace()
public static function blackstoneReplace(\pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorBlackstoneReplaceProcessor (Nether ruined portals): stone blocks become their blackstone variants.
blockAge()
public static function blockAge(\pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks, float $mossiness) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorBlockAgeProcessor (ruined portals), simplified: stone bricks crack or get mossy, stairs / slabs / walls get mossy, obsidian sometimes becomes crying obsidian.
blockRot()
public static function blockRot(float $integrity, ?array $rottable, \pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorBlockRotProcessor
capped()
public static function capped(\pocketmine\world\generator\vanilla\structure\processor\StructureProcessor $delegate, int $min, int $max) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorCappedProcessor: applies the delegate to at most a few random blocks of the template.
gravity()
public static function gravity(int $heightmap, int $offset) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorGravityProcessor: the block goes to the heightmap of its column plus its height in the template.
ignore()
public static function ignore(array $blockSet, \pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorBlockIgnoreProcessor
ignoreAir()
public static function ignoreAir(\pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorBlockIgnoreProcessor.AIR
ignoreStructureBlocks()
public static function ignoreStructureBlocks(\pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorBlockIgnoreProcessor.STRUCTURE_BLOCK
ignoreStructureBlocksAndAir()
public static function ignoreStructureBlocksAndAir(\pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorBlockIgnoreProcessor.STRUCTURE_AND_AIR
jigsawReplacement()
public static function jigsawReplacement(\pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorJigsawReplacementProcessor: jigsaw blocks become their final state (structure voids are not placed).
lavaSubmerged()
public static function lavaSubmerged(\pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorLavaSubmergedBlockProcessor: blocks that are not full cubes placed in lava become lava.
parse()
public function parse(array $json) : ?\pocketmine\world\generator\vanilla\structure\processor\StructureProcessorparseList()
public function parseList(mixed $json) : arrayA processor list: an id of worldgen/processor_list, {"processors": [...]} or a plain list.
protectedBlocks()
public static function protectedBlocks(array $protected, \pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorProtectedBlockProcessor: does not replace the blocks of the set.
simpleRules()
public static function simpleRules(\pocketmine\world\generator\vanilla\feature\block\JavaBlocks $blocks, array $rules) : \pocketmine\world\generator\vanilla\structure\processor\StructureProcessorA rule processor of simple rules: [input block, probability (1: block match), output state] (the rules RuinedPortalPiece builds in code).
