Package wtf.choco.veinminer.pattern
Interface VeinMiningPattern
- All Known Implementing Classes:
VeinMiningPatternDefault
,VeinMiningPatternStaircase
,VeinMiningPatternTunnel
public interface VeinMiningPattern
Represents a pattern used to allocate blocks for vein mining.
-
Method Summary
Modifier and TypeMethodDescriptiondefault @NotNull Set<BlockPosition>
allocateBlocks
(@NotNull BlockAccessor blockAccessor, @NotNull BlockPosition origin, @NotNull BlockFace destroyedFace, @NotNull VeinMinerBlock block, @NotNull VeinMiningConfig config) Allocate allBlockPositions
that should be mined according to the input values.@NotNull Set<BlockPosition>
allocateBlocks
(@NotNull BlockAccessor blockAccessor, @NotNull BlockPosition origin, @NotNull BlockFace destroyedFace, @NotNull VeinMinerBlock block, @NotNull VeinMiningConfig config, @Nullable BlockList aliasList) Allocate allBlockPositions
that should be mined according to the input values.@NotNull NamespacedKey
getKey()
Get theNamespacedKey
of this pattern.default @Nullable String
Get the permission node required to use this pattern.
-
Method Details
-
getKey
Get theNamespacedKey
of this pattern.- Returns:
- the key
-
allocateBlocks
@NotNull @NotNull Set<BlockPosition> allocateBlocks(@NotNull @NotNull BlockAccessor blockAccessor, @NotNull @NotNull BlockPosition origin, @NotNull @NotNull BlockFace destroyedFace, @NotNull @NotNull VeinMinerBlock block, @NotNull @NotNull VeinMiningConfig config, @Nullable @Nullable BlockList aliasList) Allocate allBlockPositions
that should be mined according to the input values.- Parameters:
blockAccessor
- the block accessororigin
- the position at which the vein mining was initiateddestroyedFace
- the face on which the block was destroyedblock
- the type ofVeinMinerBlock
that was broken at the originconfig
- the configuration applicable for this instance of vein miningaliasList
- aBlockList
of all blocks that should also be considered. May be empty- Returns:
- the allocated block positions
-
allocateBlocks
@NotNull default @NotNull Set<BlockPosition> allocateBlocks(@NotNull @NotNull BlockAccessor blockAccessor, @NotNull @NotNull BlockPosition origin, @NotNull @NotNull BlockFace destroyedFace, @NotNull @NotNull VeinMinerBlock block, @NotNull @NotNull VeinMiningConfig config) Allocate allBlockPositions
that should be mined according to the input values.- Parameters:
blockAccessor
- the block accessororigin
- the position at which the vein mining was initiateddestroyedFace
- the face on which the block was destroyedblock
- the type ofVeinMinerBlock
that was broken at the originconfig
- the configuration applicable for this instance of vein mining- Returns:
- the allocated block positions
-
getPermission
Get the permission node required to use this pattern.- Returns:
- the permission node, or null if none
-