Record Class ToolProperties

java.lang.Object
java.lang.Record
com.viaversion.viaversion.api.minecraft.item.data.ToolProperties
All Implemented Interfaces:
Rewritable

public record ToolProperties(ToolRule[] rules, float defaultMiningSpeed, int damagePerBlock, boolean canDestroyBlocksInCreative) extends Record implements Rewritable
  • Field Details

  • Constructor Details

    • ToolProperties

      public ToolProperties(ToolRule[] rules, float defaultMiningSpeed, int damagePerBlock)
    • ToolProperties

      public ToolProperties(ToolRule[] rules, float defaultMiningSpeed, int damagePerBlock, boolean canDestroyBlocksInCreative)
      Creates an instance of a ToolProperties record class.
      Parameters:
      rules - the value for the rules record component
      defaultMiningSpeed - the value for the defaultMiningSpeed record component
      damagePerBlock - the value for the damagePerBlock record component
      canDestroyBlocksInCreative - the value for the canDestroyBlocksInCreative record component
  • Method Details

    • rewrite

      public ToolProperties rewrite(UserConnection connection, Protocol<?,?,?,?> protocol, boolean clientbound)
      Description copied from interface: Rewritable
      Rewrites the object to a different version, may return self or a new object.
      Specified by:
      rewrite in interface Rewritable
      Parameters:
      connection - user connection
      protocol - protocol
      clientbound - whether it should be rewritten client- or serverbound
      Returns:
      rewritten object, may be (modified or unmodified) self or a new object
    • 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 '=='.
      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.
    • rules

      public ToolRule[] rules()
      Returns the value of the rules record component.
      Returns:
      the value of the rules record component
    • defaultMiningSpeed

      public float defaultMiningSpeed()
      Returns the value of the defaultMiningSpeed record component.
      Returns:
      the value of the defaultMiningSpeed record component
    • damagePerBlock

      public int damagePerBlock()
      Returns the value of the damagePerBlock record component.
      Returns:
      the value of the damagePerBlock record component
    • canDestroyBlocksInCreative

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