Record Class FluidState

java.lang.Object
java.lang.Record
fr.fidorial.world.fluid.FluidState
Record Components:
type - the fluid, or null when the block holds none
level - 0 for a source, higher values flowing further from it
falling - true for fluid falling down a column

public record FluidState(@Nullable FluidType type, int level, boolean falling) extends Record
The fluid held by a block.
Since:
0.1.0
  • Constructor Details

    • FluidState

      public FluidState(@Nullable FluidType type, int level, boolean falling)
      Creates an instance of a FluidState record class.
      Parameters:
      type - the value for the type record component
      level - the value for the level record component
      falling - the value for the falling record component
  • Method Details

    • empty

      public static FluidState empty()
      Returns the state of a block holding no fluid.
      Returns:
      the state of a block holding no fluid
      Since:
      0.1.0
    • source

      public static FluidState source(FluidType type)
      Returns a source block of a fluid.
      Parameters:
      type - the fluid
      Returns:
      a source block of a fluid
      Since:
      0.1.0
    • flowing

      public static FluidState flowing(FluidType type, int level)
      Returns a flowing block of a fluid.
      Parameters:
      type - the fluid
      level - the level, 1 next to the source
      Returns:
      a flowing block of a fluid
      Since:
      0.1.0
    • fallingFluid

      public static FluidState fallingFluid(FluidType type)
      Returns a falling block of a fluid.
      Parameters:
      type - the fluid
      Returns:
      a falling block of a fluid
      Since:
      0.1.0
    • isEmpty

      public boolean isEmpty()
      Returns true when the block holds no fluid.
      Returns:
      true when the block holds no fluid
      Since:
      0.1.0
    • isSource

      public boolean isSource()
      Returns true for a source block.
      Returns:
      true for a source block
      Since:
      0.1.0
    • effectiveLevel

      public int effectiveLevel()
      Returns the level used to spread, 0 for sources and falling fluid.
      Returns:
      the level used to spread, 0 for sources and falling fluid
      Since:
      0.1.0
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • type

      public @Nullable FluidType type()
      Returns the value of the type record component.
      Returns:
      the value of the type record component
    • level

      public int level()
      Returns the value of the level record component.
      Returns:
      the value of the level record component
    • falling

      public boolean falling()
      Returns the value of the falling record component.
      Returns:
      the value of the falling record component