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 Summary
FieldsModifier and TypeFieldDescriptionstatic final Type<ToolProperties>
static final Type<ToolProperties>
-
Constructor Summary
ConstructorsConstructorDescriptionToolProperties
(ToolRule[] rules, float defaultMiningSpeed, int damagePerBlock) ToolProperties
(ToolRule[] rules, float defaultMiningSpeed, int damagePerBlock, boolean canDestroyBlocksInCreative) Creates an instance of aToolProperties
record class. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns the value of thecanDestroyBlocksInCreative
record component.int
Returns the value of thedamagePerBlock
record component.float
Returns the value of thedefaultMiningSpeed
record component.final boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.rewrite
(UserConnection connection, Protocol<?, ?, ?, ?> protocol, boolean clientbound) Rewrites the object to a different version, may return self or a new object.ToolRule[]
rules()
Returns the value of therules
record component.final String
toString()
Returns a string representation of this record class.
-
Field Details
-
TYPE1_20_5
-
TYPE1_21_5
-
-
Constructor Details
-
ToolProperties
-
ToolProperties
public ToolProperties(ToolRule[] rules, float defaultMiningSpeed, int damagePerBlock, boolean canDestroyBlocksInCreative) Creates an instance of aToolProperties
record class.- Parameters:
rules
- the value for therules
record componentdefaultMiningSpeed
- the value for thedefaultMiningSpeed
record componentdamagePerBlock
- the value for thedamagePerBlock
record componentcanDestroyBlocksInCreative
- the value for thecanDestroyBlocksInCreative
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 interfaceRewritable
- Parameters:
connection
- user connectionprotocol
- protocolclientbound
- whether it should be rewritten client- or serverbound- Returns:
- rewritten object, may be (modified or unmodified) self or a new object
-
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. -
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. -
equals
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 withObjects::equals(Object,Object)
; primitive components are compared with '=='. -
rules
Returns the value of therules
record component.- Returns:
- the value of the
rules
record component
-
defaultMiningSpeed
public float defaultMiningSpeed()Returns the value of thedefaultMiningSpeed
record component.- Returns:
- the value of the
defaultMiningSpeed
record component
-
damagePerBlock
public int damagePerBlock()Returns the value of thedamagePerBlock
record component.- Returns:
- the value of the
damagePerBlock
record component
-
canDestroyBlocksInCreative
public boolean canDestroyBlocksInCreative()Returns the value of thecanDestroyBlocksInCreative
record component.- Returns:
- the value of the
canDestroyBlocksInCreative
record component
-