Interface IForgeFluid

    • Method Detail

      • getFluid

        default Fluid getFluid()
      • isEntityInside

        default boolean isEntityInside​(FluidState state,
                                       IWorldReader world,
                                       BlockPos pos,
                                       Entity entity,
                                       double yToTest,
                                       Tag<Fluid> tag,
                                       boolean testingHead)
        Called when the entity is inside this block, may be used to determined if the entity can breathing, display material overlays, or if the entity can swim inside a block.
        Parameters:
        world - that is being tested.
        pos - position thats being tested.
        entity - that is being tested.
        yToTest - , primarily for testingHead, which sends the the eye level of the entity, other wise it sends a y that can be tested vs liquid height.
        tag - Fluid category
        testingHead - when true, its testing the entities head for vision, breathing ect... otherwise its testing the body, for swimming and movement adjustment.
      • isAABBInsideMaterial

        @Nullable
        default java.lang.Boolean isAABBInsideMaterial​(FluidState state,
                                                       IWorldReader world,
                                                       BlockPos pos,
                                                       AxisAlignedBB boundingBox,
                                                       Material materialIn)
        Called when boats or fishing hooks are inside the block to check if they are inside the material requested.
        Parameters:
        world - world that is being tested.
        pos - block thats being tested.
        boundingBox - box to test, generally the bounds of an entity that are besting tested.
        materialIn - to check for.
        Returns:
        null for default behavior, true if the box is within the material, false if it was not.
      • isAABBInsideLiquid

        @Nullable
        default java.lang.Boolean isAABBInsideLiquid​(FluidState state,
                                                     IWorldReader world,
                                                     BlockPos pos,
                                                     AxisAlignedBB boundingBox)
        Called when entities are moving to check if they are inside a liquid
        Parameters:
        world - world that is being tested.
        pos - block thats being tested.
        boundingBox - box to test, generally the bounds of an entity that are besting tested.
        Returns:
        null for default behavior, true if the box is within the material, false if it was not.
      • getExplosionResistance

        default float getExplosionResistance​(FluidState state,
                                             IBlockReader world,
                                             BlockPos pos,
                                             Explosion explosion)
        Location sensitive version of getExplosionResistance
        Parameters:
        world - The current world
        pos - Block position in world
        explosion - The explosion
        Returns:
        The amount of the explosion absorbed.
      • getTags

        java.util.Set<ResourceLocation> getTags()
        Retrieves a list of tags names this is known to be associated with. This should be used in favor of TagCollection.getOwningTags, as this caches the result and automatically updates when the TagCollection changes.
      • getAttributes

        FluidAttributes getAttributes()
        Retrieves the non-vanilla fluid attributes, including localized name.