Class BlockPattern
java.lang.Object
net.minecraft.world.level.block.state.pattern.BlockPattern
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static classstatic class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic LoadingCache<BlockPos, BlockInWorld> createLevelCache(LevelReader pLevel, boolean pForceLoad) @Nullable BlockPattern.BlockPatternMatchfind(LevelReader pLevel, BlockPos pPos) Calculates whether the given world position matches the pattern.intgetDepth()intPredicate<BlockInWorld>[][][]intgetWidth()private @Nullable BlockPattern.BlockPatternMatchmatches(BlockPos pPos, Direction pFinger, Direction pThumb, LoadingCache<BlockPos, BlockInWorld> pCache) Checks that the given pattern invalid input: '&' rotation is at the block coordinates.@Nullable BlockPattern.BlockPatternMatchmatches(LevelReader pLevel, BlockPos pPos, Direction pFinger, Direction pThumb) protected static BlockPostranslateAndRotate(BlockPos pPos, Direction pFinger, Direction pThumb, int pPalmOffset, int pThumbOffset, int pFingerOffset) Offsets the position of pos in the direction of finger and thumb facing by offset amounts, follows the right-hand rule for cross products (finger, thumb, palm)
-
Field Details
-
pattern
-
depth
private final int depth -
height
private final int height -
width
private final int width
-
-
Constructor Details
-
BlockPattern
-
-
Method Details
-
getDepth
public int getDepth() -
getHeight
public int getHeight() -
getWidth
public int getWidth() -
getPattern
-
matches
public @Nullable BlockPattern.BlockPatternMatch matches(LevelReader pLevel, BlockPos pPos, Direction pFinger, Direction pThumb) -
matches
private @Nullable BlockPattern.BlockPatternMatch matches(BlockPos pPos, Direction pFinger, Direction pThumb, LoadingCache<BlockPos, BlockInWorld> pCache) Checks that the given pattern invalid input: '&' rotation is at the block coordinates. -
find
Calculates whether the given world position matches the pattern. Warning, fairly heavy function.- Returns:
- a BlockPatternMatch if found, null otherwise.
-
createLevelCache
public static LoadingCache<BlockPos,BlockInWorld> createLevelCache(LevelReader pLevel, boolean pForceLoad) -
translateAndRotate
protected static BlockPos translateAndRotate(BlockPos pPos, Direction pFinger, Direction pThumb, int pPalmOffset, int pThumbOffset, int pFingerOffset) Offsets the position of pos in the direction of finger and thumb facing by offset amounts, follows the right-hand rule for cross products (finger, thumb, palm)- Returns:
- a new BlockPos offset in the facing directions
-