Package net.minecraft.world.level.portal
Class PortalShape
java.lang.Object
net.minecraft.world.level.portal.PortalShape
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Direction.Axisprivate final BlockPosprivate static final BlockBehaviour.StatePredicateprivate final intstatic final intstatic final intprivate static final intprivate static final intprivate final intprivate final Directionprivate static final floatprivate static final doubleprivate final int -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivatePortalShape(Direction.Axis axis, int numPortalBlocks, Direction rightDir, BlockPos bottomLeft, int width, int height) -
Method Summary
Modifier and TypeMethodDescriptionprivate static BlockPoscalculateBottomLeft(BlockGetter level, Direction direction, BlockPos pos) private static intcalculateHeight(BlockGetter level, BlockPos pos, Direction direction, int width, org.apache.commons.lang3.mutable.MutableInt portalBlocks) private static intcalculateWidth(BlockGetter level, BlockPos bottomLeft, Direction direction) voidcreatePortalBlocks(LevelAccessor level) static PortalShapefindAnyShape(BlockGetter level, BlockPos bottomLeft, Direction.Axis axis) static Vec3findCollisionFreePosition(Vec3 pos, ServerLevel level, Entity entity, EntityDimensions dimensions) static Optional<PortalShape> findEmptyPortalShape(LevelAccessor level, BlockPos bottomLeft, Direction.Axis axis) static Optional<PortalShape> findPortalShape(LevelAccessor level, BlockPos bottomLeft, Predicate<PortalShape> predicate, Direction.Axis axis) private static intgetDistanceUntilEdgeAboveFrame(BlockGetter level, BlockPos pos, Direction direction) private static intgetDistanceUntilTop(BlockGetter level, BlockPos pos, Direction direction, BlockPos.MutableBlockPos checkPos, int width, org.apache.commons.lang3.mutable.MutableInt portalBlocks) static Vec3getRelativePosition(BlockUtil.FoundRectangle foundRectangle, Direction.Axis axis, Vec3 pos, EntityDimensions entityDimensions) private static booleanhasTopFrame(BlockGetter level, BlockPos pos, Direction direction, BlockPos.MutableBlockPos checkPos, int width, int distanceUntilTop) booleanprivate static booleanisEmpty(BlockState state) booleanisValid()
-
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 axis, int numPortalBlocks, Direction rightDir, BlockPos bottomLeft, int width, int height)
-
-
Method Details
-
findEmptyPortalShape
public static Optional<PortalShape> findEmptyPortalShape(LevelAccessor level, BlockPos bottomLeft, Direction.Axis axis) -
findPortalShape
public static Optional<PortalShape> findPortalShape(LevelAccessor level, BlockPos bottomLeft, Predicate<PortalShape> predicate, Direction.Axis axis) -
findAnyShape
-
calculateBottomLeft
@Nullable private static BlockPos calculateBottomLeft(BlockGetter level, Direction direction, BlockPos pos) -
calculateWidth
-
getDistanceUntilEdgeAboveFrame
private static int getDistanceUntilEdgeAboveFrame(BlockGetter level, BlockPos pos, Direction direction) -
calculateHeight
private static int calculateHeight(BlockGetter level, BlockPos pos, Direction direction, int width, org.apache.commons.lang3.mutable.MutableInt portalBlocks) -
hasTopFrame
private static boolean hasTopFrame(BlockGetter level, BlockPos pos, Direction direction, BlockPos.MutableBlockPos checkPos, int width, int distanceUntilTop) -
getDistanceUntilTop
private static int getDistanceUntilTop(BlockGetter level, BlockPos pos, Direction direction, BlockPos.MutableBlockPos checkPos, int width, org.apache.commons.lang3.mutable.MutableInt portalBlocks) -
isEmpty
-
isValid
public boolean isValid() -
createPortalBlocks
-
isComplete
public boolean isComplete() -
getRelativePosition
public static Vec3 getRelativePosition(BlockUtil.FoundRectangle foundRectangle, Direction.Axis axis, Vec3 pos, EntityDimensions entityDimensions) -
findCollisionFreePosition
public static Vec3 findCollisionFreePosition(Vec3 pos, ServerLevel level, Entity entity, EntityDimensions dimensions)
-