Package net.minecraft.world.level.portal
Class PortalShape
java.lang.Object
net.minecraft.world.level.portal.PortalShape
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Direction.Axis
private final BlockPos
private static final BlockBehaviour.StatePredicate
private final int
static final int
static final int
private static final int
private static final int
private final int
private final Direction
private static final float
private static final double
private final int
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
PortalShape
(Direction.Axis pAxis, int pNumPortalBlocks, Direction pRightDir, BlockPos pBottomLeft, int pWidth, int pHeight) -
Method Summary
Modifier and TypeMethodDescriptionprivate static BlockPos
calculateBottomLeft
(BlockGetter pLevel, Direction pDirection, BlockPos pPos) private static int
calculateHeight
(BlockGetter p_374198_, BlockPos p_374414_, Direction p_374486_, int p_374126_, org.apache.commons.lang3.mutable.MutableInt p_374165_) private static int
calculateWidth
(BlockGetter pLevel, BlockPos pBottomLeft, Direction pDirection) void
createPortalBlocks
(LevelAccessor pLevel) static PortalShape
findAnyShape
(BlockGetter pLevel, BlockPos pBottomLeft, Direction.Axis pAxis) static Vec3
findCollisionFreePosition
(Vec3 pPos, ServerLevel pLevel, Entity pEntity, EntityDimensions pDimensions) static Optional
<PortalShape> findEmptyPortalShape
(LevelAccessor pLevel, BlockPos pBottomLeft, Direction.Axis pAxis) static Optional
<PortalShape> findPortalShape
(LevelAccessor pLevel, BlockPos pBottomLeft, Predicate<PortalShape> pPredicate, Direction.Axis pAxis) private static int
getDistanceUntilEdgeAboveFrame
(BlockGetter pLevel, BlockPos pPos, Direction pDirection) private static int
getDistanceUntilTop
(BlockGetter p_374443_, BlockPos p_374231_, Direction p_374062_, BlockPos.MutableBlockPos p_77729_, int p_374313_, org.apache.commons.lang3.mutable.MutableInt p_374330_) static Vec3
getRelativePosition
(BlockUtil.FoundRectangle pFoundRectangle, Direction.Axis pAxis, Vec3 pPos, EntityDimensions pEntityDimensions) private static boolean
hasTopFrame
(BlockGetter pLevel, BlockPos pPos, Direction pDirection, BlockPos.MutableBlockPos pCheckPos, int pWidth, int pDistanceUntilTop) boolean
private static boolean
isEmpty
(BlockState pState) boolean
isValid()
-
Field Details
-
MIN_WIDTH
private static final int MIN_WIDTH- See Also:
-
MAX_WIDTH
public static final int MAX_WIDTH- See Also:
-
MIN_HEIGHT
private static final int MIN_HEIGHT- See Also:
-
MAX_HEIGHT
public static final int MAX_HEIGHT- See Also:
-
FRAME
-
SAFE_TRAVEL_MAX_ENTITY_XY
private static final float SAFE_TRAVEL_MAX_ENTITY_XY- See Also:
-
SAFE_TRAVEL_MAX_VERTICAL_DELTA
private static final double SAFE_TRAVEL_MAX_VERTICAL_DELTA- See Also:
-
axis
-
rightDir
-
numPortalBlocks
private final int numPortalBlocks -
bottomLeft
-
height
private final int height -
width
private final int width
-
-
Constructor Details
-
PortalShape
private PortalShape(Direction.Axis pAxis, int pNumPortalBlocks, Direction pRightDir, BlockPos pBottomLeft, int pWidth, int pHeight)
-
-
Method Details
-
findEmptyPortalShape
public static Optional<PortalShape> findEmptyPortalShape(LevelAccessor pLevel, BlockPos pBottomLeft, Direction.Axis pAxis) -
findPortalShape
public static Optional<PortalShape> findPortalShape(LevelAccessor pLevel, BlockPos pBottomLeft, Predicate<PortalShape> pPredicate, Direction.Axis pAxis) -
findAnyShape
public static PortalShape findAnyShape(BlockGetter pLevel, BlockPos pBottomLeft, Direction.Axis pAxis) -
calculateBottomLeft
@Nullable private static BlockPos calculateBottomLeft(BlockGetter pLevel, Direction pDirection, BlockPos pPos) -
calculateWidth
-
getDistanceUntilEdgeAboveFrame
private static int getDistanceUntilEdgeAboveFrame(BlockGetter pLevel, BlockPos pPos, Direction pDirection) -
calculateHeight
private static int calculateHeight(BlockGetter p_374198_, BlockPos p_374414_, Direction p_374486_, int p_374126_, org.apache.commons.lang3.mutable.MutableInt p_374165_) -
hasTopFrame
private static boolean hasTopFrame(BlockGetter pLevel, BlockPos pPos, Direction pDirection, BlockPos.MutableBlockPos pCheckPos, int pWidth, int pDistanceUntilTop) -
getDistanceUntilTop
private static int getDistanceUntilTop(BlockGetter p_374443_, BlockPos p_374231_, Direction p_374062_, BlockPos.MutableBlockPos p_77729_, int p_374313_, org.apache.commons.lang3.mutable.MutableInt p_374330_) -
isEmpty
-
isValid
public boolean isValid() -
createPortalBlocks
-
isComplete
public boolean isComplete() -
getRelativePosition
public static Vec3 getRelativePosition(BlockUtil.FoundRectangle pFoundRectangle, Direction.Axis pAxis, Vec3 pPos, EntityDimensions pEntityDimensions) -
findCollisionFreePosition
public static Vec3 findCollisionFreePosition(Vec3 pPos, ServerLevel pLevel, Entity pEntity, EntityDimensions pDimensions)
-