Interface IForgeFluidState
- All Known Implementing Classes:
FluidState
public interface IForgeFluidState
-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
canConvertToSource
(Level level, BlockPos pos) Returns whether the fluid can create a source.default boolean
canExtinguish
(BlockGetter getter, BlockPos pos) Returns whether the block can be extinguished by this fluid.default boolean
canHydrate
(BlockGetter getter, BlockPos pos, BlockState source, BlockPos sourcePos) Returns whether the block can be hydrated by a fluid.default @Nullable BlockPathTypes
getAdjacentBlockPathType
(BlockGetter level, BlockPos pos, @Nullable Mob mob, BlockPathTypes originalType) Gets the path type of the adjacent fluid to a pathfinding entity.default @Nullable BlockPathTypes
getBlockPathType
(BlockGetter level, BlockPos pos, @Nullable Mob mob, boolean canFluidLog) Gets the path type of this fluid when an entity is pathfinding.default float
getExplosionResistance
(BlockGetter level, BlockPos pos, Explosion explosion) Returns the explosion resistance of the fluid.default FluidType
Returns the type of this fluid.default boolean
move
(LivingEntity entity, Vec3 movementVector, double gravity) Performs how an entity moves when within the fluid.private FluidState
self()
default boolean
shouldUpdateWhileBoating
(Boat boat, Entity rider) Whenfalse
, the fluid will no longer update its height value while within a boat while it is not within a fluid (Boat.isUnderWater()
.default boolean
supportsBoating
(Boat boat) Returns whether the boat can be used on the fluid.
-
Method Details
-
self
-
getExplosionResistance
Returns the explosion resistance of the fluid.- Parameters:
level
- the level the fluid is inpos
- the position of the fluidexplosion
- the explosion the fluid is absorbing- Returns:
- the amount of the explosion the fluid can absorb
-
getFluidType
Returns the type of this fluid.- Returns:
- the type of this fluid
-
move
Performs how an entity moves when within the fluid. If using custom movement logic, the method should returntrue
. Otherwise, the movement logic will default to water.- Parameters:
entity
- the entity moving within the fluidmovementVector
- the velocity of how the entity wants to movegravity
- the gravity to apply to the entity- Returns:
true
if custom movement logic is performed,false
otherwise
-
canConvertToSource
Returns whether the fluid can create a source.- Parameters:
level
- the level that can get the fluidpos
- the location of the fluid- Returns:
true
if the fluid can create a source,false
otherwise
-
supportsBoating
Returns whether the boat can be used on the fluid.- Parameters:
boat
- the boat trying to be used on the fluid- Returns:
true
if the boat can be used,false
otherwise
-
shouldUpdateWhileBoating
Whenfalse
, the fluid will no longer update its height value while within a boat while it is not within a fluid (Boat.isUnderWater()
.- Parameters:
boat
- the boat the rider is within that is not inside a fluidrider
- the rider of the boat- Returns:
true
if the fluid height should be updated,false
otherwise
-
getBlockPathType
@Nullable default @Nullable BlockPathTypes getBlockPathType(BlockGetter level, BlockPos pos, @Nullable @Nullable Mob mob, boolean canFluidLog) Gets the path type of this fluid when an entity is pathfinding. Whennull
, uses vanilla behavior.- Parameters:
level
- the level which contains this fluidpos
- the position of the fluidmob
- the mob currently pathfinding, may benull
canFluidLog
-true
if the path is being applied for fluids that can log blocks, should be checked against if the fluid can log a block- Returns:
- the path type of this fluid
-
getAdjacentBlockPathType
@Nullable default @Nullable BlockPathTypes getAdjacentBlockPathType(BlockGetter level, BlockPos pos, @Nullable @Nullable Mob mob, BlockPathTypes originalType) Gets the path type of the adjacent fluid to a pathfinding entity. Path types with a negative malus are not traversable for the entity. Pathfinding entities will favor paths consisting of a lower malus. Whennull
, uses vanilla behavior.- Parameters:
level
- the level which contains this fluidpos
- the position of the fluidmob
- the mob currently pathfinding, may benull
originalType
- the path type of the source the entity is on- Returns:
- the path type of this fluid
-
canHydrate
Returns whether the block can be hydrated by a fluid.Hydration is an arbitrary word which depends on the block.
- A farmland has moisture
- A sponge can soak up the liquid
- A coral can live
- Parameters:
getter
- the getter which can get the fluidpos
- the position of the fluidsource
- the state of the block being hydratedsourcePos
- the position of the block being hydrated- Returns:
true
if the block can be hydrated,false
otherwise
-
canExtinguish
Returns whether the block can be extinguished by this fluid.- Parameters:
getter
- the getter which can get the fluidpos
- the position of the fluid- Returns:
true
if the block can be extinguished,false
otherwise
-