Class FlowingFluid
java.lang.Object
net.minecraft.world.level.material.Fluid
net.minecraft.world.level.material.FlowingFluid
- All Implemented Interfaces:
IFluidExtension
- Direct Known Subclasses:
BaseFlowingFluid
,LavaFluid
,WaterFluid
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
static final BooleanProperty
static final IntegerProperty
private static final ThreadLocal
<it.unimi.dsi.fastutil.objects.Object2ByteLinkedOpenHashMap<Block.BlockStatePairKey>> private final Map
<FluidState, VoxelShape> Fields inherited from class net.minecraft.world.level.material.Fluid
FLUID_STATE_REGISTRY, stateDefinition
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
affectsFlow
(FluidState pState) protected abstract void
beforeDestroyingBlock
(LevelAccessor pLevel, BlockPos pPos, BlockState pState) protected abstract boolean
canConvertToSource
(Level pLevel) Deprecated.boolean
canConvertToSource
(FluidState state, Level level, BlockPos pos) Returns whether the fluid can create a source.private boolean
canHoldFluid
(BlockGetter pLevel, BlockPos pPos, BlockState pState, Fluid pFluid) private boolean
canPassThrough
(BlockGetter pLevel, Fluid pFluid, BlockPos pPos, BlockState pState, Direction pDirection, BlockPos pSpreadPos, BlockState pSpreadState, FluidState pFluidState) private boolean
canPassThroughWall
(Direction pDirection, BlockGetter pLevel, BlockPos pPos, BlockState pState, BlockPos pSpreadPos, BlockState pSpreadState) protected boolean
canSpreadTo
(BlockGetter pLevel, BlockPos pFromPos, BlockState pFromBlockState, Direction pDirection, BlockPos pToPos, BlockState pToBlockState, FluidState pToFluidState, Fluid pFluid) protected void
abstract int
getAmount
(FluidState pState) private static short
getCacheKey
(BlockPos pSourcePos, BlockPos pSpreadPos) protected abstract int
getDropOff
(LevelReader pLevel) getFlow
(BlockGetter pBlockReader, BlockPos pPos, FluidState pFluidState) abstract Fluid
getFlowing
(int pLevel, boolean pFalling) float
getHeight
(FluidState pState, BlockGetter pLevel, BlockPos pPos) protected static int
getLegacyLevel
(FluidState pState) protected FluidState
getNewLiquid
(Level pLevel, BlockPos pPos, BlockState pBlockState) float
getOwnHeight
(FluidState pState) getShape
(FluidState pState, BlockGetter pLevel, BlockPos pPos) protected int
getSlopeDistance
(LevelReader p_76027_, BlockPos p_76028_, int p_76029_, Direction p_76030_, BlockState p_76031_, BlockPos p_76032_, it.unimi.dsi.fastutil.shorts.Short2ObjectMap<com.mojang.datafixers.util.Pair<BlockState, FluidState>> p_76033_, it.unimi.dsi.fastutil.shorts.Short2BooleanMap p_76034_) protected abstract int
getSlopeFindDistance
(LevelReader pLevel) abstract Fluid
getSource
(boolean pFalling) protected Map
<Direction, FluidState> getSpread
(Level pLevel, BlockPos pPos, BlockState pState) protected int
getSpreadDelay
(Level pLevel, BlockPos pPos, FluidState pCurrentState, FluidState pNewState) private static boolean
hasSameAbove
(FluidState pFluidState, BlockGetter pLevel, BlockPos pPos) protected boolean
isSolidFace
(BlockGetter pLevel, BlockPos pNeighborPos, Direction pSide) private boolean
isSourceBlockOfThisType
(FluidState pState) private boolean
isWaterHole
(BlockGetter pLevel, Fluid pFluid, BlockPos pPos, BlockState pState, BlockPos pSpreadPos, BlockState pSpreadState) private int
sourceNeighborCount
(LevelReader pLevel, BlockPos pPos) Returns the number of immediately adjacent source blocks of the same fluid that lie on the horizontal plane.protected void
spread
(Level pLevel, BlockPos pPos, FluidState pState) protected void
spreadTo
(LevelAccessor pLevel, BlockPos pPos, BlockState pBlockState, Direction pDirection, FluidState pFluidState) private void
spreadToSides
(Level pLevel, BlockPos pPos, FluidState pFluidState, BlockState pBlockState) void
tick
(Level pLevel, BlockPos pPos, FluidState pState) Methods inherited from class net.minecraft.world.level.material.Fluid
animateTick, builtInRegistryHolder, canBeReplacedWith, createLegacyBlock, defaultFluidState, getBucket, getDripParticle, getExplosionResistance, getFluidType, getPickupSound, getStateDefinition, getTickDelay, is, isEmpty, isRandomlyTicking, isSame, isSource, randomTick, registerDefaultState, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.neoforged.neoforge.common.extensions.IFluidExtension
canExtinguish, canHydrate, getAdjacentBlockPathType, getBlockPathType, getExplosionResistance, move, supportsBoating
-
Field Details
-
FALLING
-
LEVEL
-
CACHE_SIZE
private static final int CACHE_SIZE- See Also:
-
OCCLUSION_CACHE
private static final ThreadLocal<it.unimi.dsi.fastutil.objects.Object2ByteLinkedOpenHashMap<Block.BlockStatePairKey>> OCCLUSION_CACHE -
shapes
-
-
Constructor Details
-
FlowingFluid
public FlowingFluid()
-
-
Method Details
-
createFluidStateDefinition
- Overrides:
createFluidStateDefinition
in classFluid
-
getFlow
-
affectsFlow
-
isSolidFace
-
spread
-
spreadToSides
private void spreadToSides(Level pLevel, BlockPos pPos, FluidState pFluidState, BlockState pBlockState) -
getNewLiquid
-
canPassThroughWall
private boolean canPassThroughWall(Direction pDirection, BlockGetter pLevel, BlockPos pPos, BlockState pState, BlockPos pSpreadPos, BlockState pSpreadState) -
getFlowing
-
getFlowing
-
getSource
-
getSource
-
canConvertToSource
Description copied from interface:IFluidExtension
Returns whether the fluid can create a source.- Parameters:
state
- the state of the fluidlevel
- the level that can get the fluidpos
- the location of the fluid- Returns:
true
if the fluid can create a source,false
otherwise
-
canConvertToSource
Deprecated.Forge: UsecanConvertToSource(FluidState, Level, BlockPos)
instead. -
spreadTo
protected void spreadTo(LevelAccessor pLevel, BlockPos pPos, BlockState pBlockState, Direction pDirection, FluidState pFluidState) -
beforeDestroyingBlock
protected abstract void beforeDestroyingBlock(LevelAccessor pLevel, BlockPos pPos, BlockState pState) -
getCacheKey
-
getSlopeDistance
protected int getSlopeDistance(LevelReader p_76027_, BlockPos p_76028_, int p_76029_, Direction p_76030_, BlockState p_76031_, BlockPos p_76032_, it.unimi.dsi.fastutil.shorts.Short2ObjectMap<com.mojang.datafixers.util.Pair<BlockState, FluidState>> p_76033_, it.unimi.dsi.fastutil.shorts.Short2BooleanMap p_76034_) -
isWaterHole
private boolean isWaterHole(BlockGetter pLevel, Fluid pFluid, BlockPos pPos, BlockState pState, BlockPos pSpreadPos, BlockState pSpreadState) -
canPassThrough
private boolean canPassThrough(BlockGetter pLevel, Fluid pFluid, BlockPos pPos, BlockState pState, Direction pDirection, BlockPos pSpreadPos, BlockState pSpreadState, FluidState pFluidState) -
isSourceBlockOfThisType
-
getSlopeFindDistance
-
sourceNeighborCount
Returns the number of immediately adjacent source blocks of the same fluid that lie on the horizontal plane. -
getSpread
-
canHoldFluid
-
canSpreadTo
protected boolean canSpreadTo(BlockGetter pLevel, BlockPos pFromPos, BlockState pFromBlockState, Direction pDirection, BlockPos pToPos, BlockState pToBlockState, FluidState pToFluidState, Fluid pFluid) -
getDropOff
-
getSpreadDelay
protected int getSpreadDelay(Level pLevel, BlockPos pPos, FluidState pCurrentState, FluidState pNewState) -
tick
-
getLegacyLevel
-
hasSameAbove
-
getHeight
-
getOwnHeight
- Specified by:
getOwnHeight
in classFluid
-
getAmount
-
getShape
-
canConvertToSource(FluidState, Level, BlockPos)
instead.