Record Class BlockPredicate

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

public record BlockPredicate(@Nullable HolderSet holderSet, StatePropertyMatcher @Nullable [] propertyMatchers, @Nullable com.viaversion.nbt.tag.CompoundTag tag, DataComponentMatchers dataMatchers) extends Record implements Copyable, Rewritable
  • Field Details

  • Constructor Details

    • BlockPredicate

      public BlockPredicate(@Nullable HolderSet holderSet, StatePropertyMatcher @Nullable [] propertyMatchers, @Nullable com.viaversion.nbt.tag.CompoundTag tag)
    • BlockPredicate

      public BlockPredicate(@Nullable HolderSet holderSet, StatePropertyMatcher @Nullable [] propertyMatchers, @Nullable com.viaversion.nbt.tag.CompoundTag tag, DataComponentMatchers dataMatchers)
      Creates an instance of a BlockPredicate record class.
      Parameters:
      holderSet - the value for the holderSet record component
      propertyMatchers - the value for the propertyMatchers record component
      tag - the value for the tag record component
      dataMatchers - the value for the dataMatchers record component
  • Method Details

    • rewrite

      public BlockPredicate 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
    • copy

      public BlockPredicate copy()
      Specified by:
      copy in interface Copyable
    • 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. All components in this record class are compared with Objects::equals(Object,Object).
      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.
    • holderSet

      public @Nullable HolderSet holderSet()
      Returns the value of the holderSet record component.
      Returns:
      the value of the holderSet record component
    • propertyMatchers

      public StatePropertyMatcher @Nullable [] propertyMatchers()
      Returns the value of the propertyMatchers record component.
      Returns:
      the value of the propertyMatchers record component
    • tag

      public @Nullable com.viaversion.nbt.tag.CompoundTag tag()
      Returns the value of the tag record component.
      Returns:
      the value of the tag record component
    • dataMatchers

      public DataComponentMatchers dataMatchers()
      Returns the value of the dataMatchers record component.
      Returns:
      the value of the dataMatchers record component