java.lang.Object
net.rodofire.easierworldcreator.blockdata.blocklist.basic.comparator.AbstractBlockListComparator<FullBlockList,net.minecraft.util.Pair<net.minecraft.nbt.NbtCompound,Integer>,FullOrderedBlockListComparator,net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound>>
net.rodofire.easierworldcreator.blockdata.blocklist.basic.comparator.FullBlockListComparator

public class FullBlockListComparator extends AbstractBlockListComparator<FullBlockList,net.minecraft.util.Pair<net.minecraft.nbt.NbtCompound,Integer>,FullOrderedBlockListComparator,net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound>>
class to manage a list of FullBlockList automatically
  • Constructor Details

    • FullBlockListComparator

      public FullBlockListComparator(FullBlockListComparator comparator)
      init a comparator
      Parameters:
      comparator - the comparator that will be fused
    • FullBlockListComparator

      public FullBlockListComparator(List<FullBlockList> fullBlockLists)
      init a comparator
      Parameters:
      fullBlockLists - the list of blockList that will be indexed
    • FullBlockListComparator

      public FullBlockListComparator(FullBlockList fullBlockList)
      init a comparator
      Parameters:
      fullBlockList - a blockList that will be indexed
    • FullBlockListComparator

      public FullBlockListComparator()
      init an empty comparator
  • Method Details

    • initIndexes

      protected void initIndexes()
      method tu initialize the indexes.
      Specified by:
      initIndexes in class AbstractBlockListComparator<FullBlockList,net.minecraft.util.Pair<net.minecraft.nbt.NbtCompound,Integer>,FullOrderedBlockListComparator,net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound>>
    • put

      public void put(net.minecraft.block.BlockState state, net.minecraft.util.math.BlockPos pos, @Nullable @Nullable net.minecraft.nbt.NbtCompound nbtCompound, boolean force, Set<net.minecraft.block.Block> blocksToForce)
      Method to add a state and a pos to the list. If the state already exists, no blockList will be created. The method will also update the indexes
      Parameters:
      state - the state that will be tested
      pos - the pos that you want to use
      nbtCompound - the nbt data of the block that'll be put
    • put

      public void put(net.minecraft.block.BlockState state, List<net.minecraft.util.math.BlockPos> posList, @Nullable @Nullable net.minecraft.nbt.NbtCompound nbtCompound, boolean force, Set<net.minecraft.block.Block> blocksToForce)
      Method to add a state and a pos to the list. If the state already exists, no blockList will be created. The method will also update the indexes
      Parameters:
      state - the state that will be tested
      posList - the list of pos that you want to use
      nbtCompound - the nbt data of the block that'll be put
    • put

      public void put(FullBlockList type)
      Method to add a state and a pos to the list. If the state already exists, no blockList will be created. The method will also update the indexes
      Specified by:
      put in class AbstractBlockListComparator<FullBlockList,net.minecraft.util.Pair<net.minecraft.nbt.NbtCompound,Integer>,FullOrderedBlockListComparator,net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound>>
      Parameters:
      type - the BlockList that will be added in the comparator
    • getOrdered

      public FullOrderedBlockListComparator getOrdered()
      Method to get the ordered version of the comparator
      Specified by:
      getOrdered in class AbstractBlockListComparator<FullBlockList,net.minecraft.util.Pair<net.minecraft.nbt.NbtCompound,Integer>,FullOrderedBlockListComparator,net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound>>
      Returns:
      the ordered version
    • getCleaned

      public List<FullBlockList> getCleaned(List<FullBlockList> blockList)

      Method to clean a blockList.

      In the case, there are multiple common BlockState.

      All the blockPos common of a BlockState will be fused in a single BlockState

      Specified by:
      getCleaned in class AbstractBlockListComparator<FullBlockList,net.minecraft.util.Pair<net.minecraft.nbt.NbtCompound,Integer>,FullOrderedBlockListComparator,net.minecraft.util.Pair<net.minecraft.block.BlockState,net.minecraft.nbt.NbtCompound>>
      Parameters:
      blockList - the blockList that will bea cleaned
      Returns:
      the cleaned version of the list