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 intstatic final BooleanPropertystatic final IntegerPropertyprivate 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 booleanaffectsFlow(FluidState pState) protected abstract voidbeforeDestroyingBlock(LevelAccessor pLevel, BlockPos pPos, BlockState pState) protected abstract booleancanConvertToSource(Level pLevel) Deprecated.booleancanConvertToSource(FluidState state, Level level, BlockPos pos) Returns whether the fluid can create a source.private booleancanHoldFluid(BlockGetter pLevel, BlockPos pPos, BlockState pState, Fluid pFluid) private booleancanPassThrough(BlockGetter pLevel, Fluid pFluid, BlockPos pPos, BlockState pState, Direction pDirection, BlockPos pSpreadPos, BlockState pSpreadState, FluidState pFluidState) private booleancanPassThroughWall(Direction pDirection, BlockGetter pLevel, BlockPos pPos, BlockState pState, BlockPos pSpreadPos, BlockState pSpreadState) protected booleancanSpreadTo(BlockGetter pLevel, BlockPos pFromPos, BlockState pFromBlockState, Direction pDirection, BlockPos pToPos, BlockState pToBlockState, FluidState pToFluidState, Fluid pFluid) protected voidabstract intgetAmount(FluidState pState) private static shortgetCacheKey(BlockPos pSourcePos, BlockPos pSpreadPos) protected abstract intgetDropOff(LevelReader pLevel) getFlow(BlockGetter pBlockReader, BlockPos pPos, FluidState pFluidState) abstract FluidgetFlowing(int pLevel, boolean pFalling) floatgetHeight(FluidState pState, BlockGetter pLevel, BlockPos pPos) protected static intgetLegacyLevel(FluidState pState) protected FluidStategetNewLiquid(Level pLevel, BlockPos pPos, BlockState pBlockState) floatgetOwnHeight(FluidState pState) getShape(FluidState pState, BlockGetter pLevel, BlockPos pPos) protected intgetSlopeDistance(LevelReader pLevel, BlockPos pSpreadPos, int pDistance, Direction pDirection, BlockState pCurrentSpreadState, BlockPos pSourcePos, it.unimi.dsi.fastutil.shorts.Short2ObjectMap<com.mojang.datafixers.util.Pair<BlockState, FluidState>> pStateCache, it.unimi.dsi.fastutil.shorts.Short2BooleanMap pWaterHoleCache) protected abstract intgetSlopeFindDistance(LevelReader pLevel) abstract FluidgetSource(boolean pFalling) protected Map<Direction, FluidState> getSpread(Level pLevel, BlockPos pPos, BlockState pState) protected intgetSpreadDelay(Level pLevel, BlockPos pPos, FluidState pCurrentState, FluidState pNewState) private static booleanhasSameAbove(FluidState pFluidState, BlockGetter pLevel, BlockPos pPos) protected booleanisSolidFace(BlockGetter pLevel, BlockPos pNeighborPos, Direction pSide) private booleanisSourceBlockOfThisType(FluidState pState) private booleanisWaterHole(BlockGetter pLevel, Fluid pFluid, BlockPos pPos, BlockState pState, BlockPos pSpreadPos, BlockState pSpreadState) private intsourceNeighborCount(LevelReader pLevel, BlockPos pPos) Returns the number of immediately adjacent source blocks of the same fluid that lie on the horizontal plane.protected voidspread(Level pLevel, BlockPos pPos, FluidState pState) protected voidspreadTo(LevelAccessor pLevel, BlockPos pPos, BlockState pBlockState, Direction pDirection, FluidState pFluidState) private voidspreadToSides(Level pLevel, BlockPos pPos, FluidState pFluidState, BlockState pBlockState) voidtick(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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:
createFluidStateDefinitionin 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:IFluidExtensionReturns 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:
trueif the fluid can create a source,falseotherwise
-
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 pLevel, BlockPos pSpreadPos, int pDistance, Direction pDirection, BlockState pCurrentSpreadState, BlockPos pSourcePos, it.unimi.dsi.fastutil.shorts.Short2ObjectMap<com.mojang.datafixers.util.Pair<BlockState, FluidState>> pStateCache, it.unimi.dsi.fastutil.shorts.Short2BooleanMap pWaterHoleCache) -
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:
getOwnHeightin classFluid
-
getAmount
-
getShape
-
canConvertToSource(FluidState, Level, BlockPos)instead.