All Implemented Interfaces:
BlockForceData, BlockListManager

public class FullBlockList extends CompoundBlockList implements BlockForceData
add possibility of having force in compound blockList
  • Constructor Details

    • FullBlockList

      public FullBlockList(List<net.minecraft.util.math.BlockPos> posList, net.minecraft.block.BlockState state, boolean force, Set<net.minecraft.block.Block> blocksToForce)
      init a CompoundForceBlockList
      Parameters:
      posList - pos of the blockState
      state - the blockState related to the pos list
      force - set if any block can be replaced by any blockState in this BlockList
      blocksToForce - set all blocks that can be forced by this BlockList
    • FullBlockList

      public FullBlockList(List<net.minecraft.util.math.BlockPos> posList, net.minecraft.block.BlockState state, @Nullable @Nullable net.minecraft.nbt.NbtCompound tag, boolean force, Set<net.minecraft.block.Block> blocksToForce)
      init a CompoundForceBlockList
      Parameters:
      posList - pos of the blockState
      state - the blockState related to the pos list
      tag - the nbt tag that is related to the blockState
      force - set if any block can be replaced by any blockState in this BlockList
      blocksToForce - set all blocks that can be forced by this BlockList
    • FullBlockList

      public FullBlockList(net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState state, boolean force, Set<net.minecraft.block.Block> blocksToForce)
      init a CompoundForceBlockList
      Parameters:
      pos - pos of the blockState
      state - the blockState related to the pos list
      force - set if any block can be replaced by any blockState in this BlockList
      blocksToForce - set all blocks that can be forced by this BlockList
    • FullBlockList

      public FullBlockList(net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState state, @Nullable @Nullable net.minecraft.nbt.NbtCompound tag, boolean force, Set<net.minecraft.block.Block> blocksToForce)
      init a CompoundForceBlockList
      Parameters:
      pos - pos of the blockState
      state - the blockState related to the pos list
      tag - the nbt tag that is related to the blockState
      force - set if any block can be replaced by any blockState in this BlockList
      blocksToForce - set all blocks that can be forced by this BlockList
    • FullBlockList

      public FullBlockList(List<net.minecraft.util.math.BlockPos> posList, net.minecraft.block.BlockState state)
      init a CompoundForceBlockList
      Parameters:
      posList - pos of the blockState
      state - the blockState related to the pos list
    • FullBlockList

      public FullBlockList(List<net.minecraft.util.math.BlockPos> posList, net.minecraft.block.BlockState state, @Nullable @Nullable net.minecraft.nbt.NbtCompound tag)
      init a CompoundForceBlockList
      Parameters:
      posList - pos of the blockState
      state - the blockState related to the pos list
      tag - the nbt tag that is related to the blockState
    • FullBlockList

      public FullBlockList(net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState state)
      init a CompoundForceBlockList
      Parameters:
      pos - pos of the blockState
      state - the blockState related to the pos list
    • FullBlockList

      public FullBlockList(net.minecraft.util.math.BlockPos pos, net.minecraft.block.BlockState state, @Nullable @Nullable net.minecraft.nbt.NbtCompound tag)
      init a CompoundForceBlockList
      Parameters:
      pos - pos of the blockState
      state - the blockState related to the pos list
      tag - the nbt tag that is related to the blockState
  • Method Details

    • getBlocksToForce

      public Set<net.minecraft.block.Block> getBlocksToForce()
      gives you the Set of every block that can be forced
      Specified by:
      getBlocksToForce in interface BlockForceData
      Returns:
      the set of the blocks that can be forced
    • setBlocksToForce

      public void setBlocksToForce(Set<net.minecraft.block.Block> blocksToForce)
      sets all the blocks that can be forced in the case force == false
      Specified by:
      setBlocksToForce in interface BlockForceData
      Parameters:
      blocksToForce - the set of blocks that can be forced
    • addBlocksToForce

      public void addBlocksToForce(net.minecraft.block.Block block)
      add a block to the set
      Specified by:
      addBlocksToForce in interface BlockForceData
      Parameters:
      block - the block added
    • addBlocksToForce

      public void addBlocksToForce(Set<net.minecraft.block.Block> blocksToForce)
      add a set of blocks to the set
      Specified by:
      addBlocksToForce in interface BlockForceData
      Parameters:
      blocksToForce - the set that will be added
    • removeBlocksToForce

      public void removeBlocksToForce(net.minecraft.block.Block block)
      remove a block to the set
      Specified by:
      removeBlocksToForce in interface BlockForceData
      Parameters:
      block - the block removed
    • removeBlocksToForce

      public void removeBlocksToForce(Set<net.minecraft.block.Block> blocksToForce)
      remove a set of blocks to the set
      Specified by:
      removeBlocksToForce in interface BlockForceData
      Parameters:
      blocksToForce - the set that will be removed
    • isForce

      public boolean isForce()
      get if any block can be replaced by any BlockState of this BlockShapeManager
      Specified by:
      isForce in interface BlockForceData
      Returns:
      the boolean related to it
    • setForce

      public void setForce(boolean force)
      sets if any block can be replaced by any BlockState of this BlockShapeManager
      Specified by:
      setForce in interface BlockForceData
      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 CompoundBlockList
      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 CompoundBlockList
      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 CompoundBlockList
      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 CompoundBlockList
      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 CompoundBlockList
      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 CompoundBlockList
      Parameters:
      world - the world the last block will be placed
      Returns:
      true if the block was placed, false if not