Class FullOrderedBlockListComparator

java.lang.Object
net.rodofire.easierworldcreator.blockdata.blocklist.ordered.comparator.OrderedBlockListComparator<net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound>>
net.rodofire.easierworldcreator.blockdata.blocklist.ordered.comparator.CompoundOrderedBlockListComparator
net.rodofire.easierworldcreator.blockdata.blocklist.ordered.comparator.FullOrderedBlockListComparator

public class FullOrderedBlockListComparator extends CompoundOrderedBlockListComparator
Class that combine Force and Nbt parameters
  • Constructor Details

    • FullOrderedBlockListComparator

      public FullOrderedBlockListComparator()
  • Method Details

    • put

      public void put(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state, List<net.minecraft.util.math.BlockPos> posList, boolean force, Set<net.minecraft.block.Block> blocksToForce)
      Method to put some states and some blockPos in the comparator
      Parameters:
      state - the state that will be tested and put (in the case it doesn't exist)
      posList - the list of blockPos that will be put related to the given state
      force - set if the block should replace all blocks or none
      blocksToForce - the set of blocks that the BlockState can still force
    • put

      public void put(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state, List<net.minecraft.util.math.BlockPos> posList, boolean force)
      Method to put some states and some blockPos in the comparator
      Parameters:
      state - the state that will be tested and put (in the case it doesn't exist)
      posList - the list of blockPos that will be put related to the given state
      force - set if the block should replace all blocks or none
    • put

      public void put(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state, List<net.minecraft.util.math.BlockPos> posList, Set<net.minecraft.block.Block> blocksToForce)
      Method to put some states and some blockPos in the comparator
      Parameters:
      state - the state that will be tested and put (in the case it doesn't exist)
      posList - the list of blockPos that will be put related to the given state
      blocksToForce - the set of blocks that the BlockState can still force
    • getBlocksToForce

      public Set<net.minecraft.block.Block> getBlocksToForce(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state)
      gives you the Set of every block that can be forced
      Returns:
      the set of the blocks that can be forced
    • setBlocksToForce

      public void setBlocksToForce(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state, Set<net.minecraft.block.Block> blocksToForce)
      sets all the blocks that can be forced in the case force == false
      Parameters:
      blocksToForce - the set of blocks that can be forced
    • addBlocksToForce

      public void addBlocksToForce(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state, net.minecraft.block.Block block)
      add a block to the set
      Parameters:
      block - the block added
    • addBlocksToForce

      public void addBlocksToForce(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state, Set<net.minecraft.block.Block> blocksToForce)
      add a set of blocks to the set
      Parameters:
      blocksToForce - the set that will be added
    • removeBlocksToForce

      public void removeBlocksToForce(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state, net.minecraft.block.Block block)
      remove a block to the set
      Parameters:
      block - the block removed
    • removeBlocksToForce

      public void removeBlocksToForce(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state, Set<net.minecraft.block.Block> blocksToForce)
      remove a set of blocks to the set
      Parameters:
      blocksToForce - the set that will be removed
    • isForce

      public boolean isForce(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state)
      get if any block can be replaced by any BlockState of this BlockShapeManager
      Returns:
      the boolean related to it
    • setForce

      public void setForce(net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound> state, boolean force)
      sets if any block can be replaced by any BlockState of this BlockShapeManager
      Parameters:
      force - the boolean used
    • placeWithVerification

      public boolean placeWithVerification(net.minecraft.world.StructureWorldAccess world, int index)
      Method to place the block related to the index. The method also performs verification to know if the block can be placed.
      Overrides:
      placeWithVerification in class CompoundOrderedBlockListComparator
      Parameters:
      world - the world the block will be placed
      index - the index of the block
      Returns:
      true if the block was placed, false if not
    • placeWithVerificationDeletion

      public boolean placeWithVerificationDeletion(net.minecraft.world.StructureWorldAccess world, int index)
      Method to place the block with the deletion of the BlockPos The method also performs verification to know if the block can be placed.
      Overrides:
      placeWithVerificationDeletion in class CompoundOrderedBlockListComparator
      Parameters:
      world - the world the block will be placed
      index - the index of the block
      Returns:
      true if the block was placed, false if not
    • placeFirstWithVerification

      public boolean placeFirstWithVerification(net.minecraft.world.StructureWorldAccess world)
      Method to place the first Block.

      The method also performs verification to know if the block can be placed.

      Overrides:
      placeFirstWithVerification in class CompoundOrderedBlockListComparator
      Parameters:
      world - the world where the block will be placed
      Returns:
      true if the block was placed, false if not.
    • placeFirstWithVerificationDeletion

      public boolean placeFirstWithVerificationDeletion(net.minecraft.world.StructureWorldAccess world)

      Method to place the first Block and deleting it.

      The method also performs verification to know if the block can be placed.

      You shouldn't use this method in normal case since that the method is pretty costly O(n).

      Use instead placeLastWithDeletion() that is faster O(1).

      Overrides:
      placeFirstWithVerificationDeletion in class CompoundOrderedBlockListComparator
      Parameters:
      world - the world where the block will be placed
      Returns:
      true if the block was placed, false if not.
    • placeLastWithVerification

      public boolean placeLastWithVerification(net.minecraft.world.StructureWorldAccess world)
      Method to place the last Block.
      Overrides:
      placeLastWithVerification in class CompoundOrderedBlockListComparator
      Parameters:
      world - the world the last block will be placed The method also performs verification to know if the block can be placed.
      Returns:
      true if the block was placed, false if not
    • placeLastWithVerificationDeletion

      public boolean placeLastWithVerificationDeletion(net.minecraft.world.StructureWorldAccess world)
      Method to place the last Block of the comparator and removing it then. The method also performs verification to know if the block can be placed. Consider using this method because it gives you better performance.
      Overrides:
      placeLastWithVerificationDeletion in class CompoundOrderedBlockListComparator
      Parameters:
      world - the world the last block will be placed
      Returns:
      true if the block was placed, false if not