Class PoleHelper<T extends Comparable<T>>
java.lang.Object
com.simibubi.create.foundation.utility.placement.util.PoleHelper<T>
- All Implemented Interfaces:
IPlacementHelper
- Direct Known Subclasses:
GantryShaftBlock.PlacementHelper,PistonExtensionPoleBlock.PlacementHelper
public abstract class PoleHelper<T extends Comparable<T>>
extends Object
implements IPlacementHelper
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Function<net.minecraft.world.level.block.state.BlockState,net.minecraft.core.Direction.Axis> protected final net.minecraft.world.level.block.state.properties.Property<T>protected final Predicate<net.minecraft.world.level.block.state.BlockState>Fields inherited from interface com.simibubi.create.foundation.utility.placement.IPlacementHelper
ID -
Constructor Summary
ConstructorsConstructorDescriptionPoleHelper(Predicate<net.minecraft.world.level.block.state.BlockState> statePredicate, Function<net.minecraft.world.level.block.state.BlockState, net.minecraft.core.Direction.Axis> axisFunction, net.minecraft.world.level.block.state.properties.Property<T> property) -
Method Summary
Modifier and TypeMethodDescriptionintattachedPoles(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos, net.minecraft.core.Direction direction) getOffset(net.minecraft.world.entity.player.Player player, net.minecraft.world.level.Level world, net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.BlockPos pos, net.minecraft.world.phys.BlockHitResult ray) Predicate<net.minecraft.world.level.block.state.BlockState>booleanmatchesAxis(net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.Direction.Axis axis) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.simibubi.create.foundation.utility.placement.IPlacementHelper
displayGhost, getItemPredicate, getOffset, matchesItem, matchesState, renderAt
-
Field Details
-
statePredicate
-
property
protected final net.minecraft.world.level.block.state.properties.Property<T extends Comparable<T>> property -
axisFunction
protected final Function<net.minecraft.world.level.block.state.BlockState,net.minecraft.core.Direction.Axis> axisFunction
-
-
Constructor Details
-
PoleHelper
-
-
Method Details
-
matchesAxis
public boolean matchesAxis(net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.Direction.Axis axis) -
attachedPoles
public int attachedPoles(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos, net.minecraft.core.Direction direction) -
getStatePredicate
- Specified by:
getStatePredicatein interfaceIPlacementHelper- Returns:
- a predicate that gets tested with the blockstate the player is looking at
should return true if this placement helper is active with the given blockstate
-
getOffset
public PlacementOffset getOffset(net.minecraft.world.entity.player.Player player, net.minecraft.world.level.Level world, net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.BlockPos pos, net.minecraft.world.phys.BlockHitResult ray) - Specified by:
getOffsetin interfaceIPlacementHelper- Parameters:
player- the player that activated the placement helperworld- the world that the placement helper got activated instate- the Blockstate of the Block that the player is looking at or clicked onpos- the position of the Block the player is looking at or clicked onray- the exact raytrace result- Returns:
- the PlacementOffset object describing where to place the new block.
UsePlacementOffset.fail()when no new position could be found.
UsePlacementOffset.success(Vector3i)with the new BlockPos to indicate a success and callPlacementOffset.withTransform(Function)if the blocks default state has to be modified before it is placed
-