Record Class Consumable

java.lang.Object
java.lang.Record
net.minecraft.world.item.component.Consumable

public record Consumable(float consumeSeconds, ItemUseAnimation animation, Holder<SoundEvent> sound, boolean hasConsumeParticles, List<ConsumeEffect> onConsumeEffects) extends Record
  • Field Details

    • consumeSeconds

      private final float consumeSeconds
      The field for the consumeSeconds record component.
    • animation

      private final ItemUseAnimation animation
      The field for the animation record component.
    • sound

      private final Holder<SoundEvent> sound
      The field for the sound record component.
    • hasConsumeParticles

      private final boolean hasConsumeParticles
      The field for the hasConsumeParticles record component.
    • onConsumeEffects

      private final List<ConsumeEffect> onConsumeEffects
      The field for the onConsumeEffects record component.
    • DEFAULT_CONSUME_SECONDS

      public static final float DEFAULT_CONSUME_SECONDS
      See Also:
    • CONSUME_EFFECTS_INTERVAL

      private static final int CONSUME_EFFECTS_INTERVAL
      See Also:
    • CONSUME_EFFECTS_START_FRACTION

      private static final float CONSUME_EFFECTS_START_FRACTION
      See Also:
    • CODEC

      public static final com.mojang.serialization.Codec<Consumable> CODEC
    • STREAM_CODEC

      public static final StreamCodec<RegistryFriendlyByteBuf,Consumable> STREAM_CODEC
  • Constructor Details

    • Consumable

      public Consumable(float consumeSeconds, ItemUseAnimation animation, Holder<SoundEvent> sound, boolean hasConsumeParticles, List<ConsumeEffect> onConsumeEffects)
      Creates an instance of a Consumable record class.
      Parameters:
      consumeSeconds - the value for the consumeSeconds record component
      animation - the value for the animation record component
      sound - the value for the sound record component
      hasConsumeParticles - the value for the hasConsumeParticles record component
      onConsumeEffects - the value for the onConsumeEffects record component
  • Method Details

    • startConsuming

      public InteractionResult startConsuming(LivingEntity p_366412_, ItemStack p_366449_, InteractionHand p_366742_)
    • onConsume

      public ItemStack onConsume(Level p_366638_, LivingEntity p_366573_, ItemStack p_366688_)
    • canConsume

      public boolean canConsume(LivingEntity p_366522_, ItemStack p_366908_)
    • consumeTicks

      public int consumeTicks()
    • emitParticlesAndSounds

      public void emitParticlesAndSounds(RandomSource p_366511_, LivingEntity p_366794_, ItemStack p_366479_, int p_366619_)
    • shouldEmitParticlesAndSounds

      public boolean shouldEmitParticlesAndSounds(int p_366816_)
    • builder

      public static Consumable.Builder builder()
    • 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.
    • consumeSeconds

      public float consumeSeconds()
      Returns the value of the consumeSeconds record component.
      Returns:
      the value of the consumeSeconds record component
    • animation

      public ItemUseAnimation animation()
      Returns the value of the animation record component.
      Returns:
      the value of the animation record component
    • sound

      public Holder<SoundEvent> sound()
      Returns the value of the sound record component.
      Returns:
      the value of the sound record component
    • hasConsumeParticles

      public boolean hasConsumeParticles()
      Returns the value of the hasConsumeParticles record component.
      Returns:
      the value of the hasConsumeParticles record component
    • onConsumeEffects

      public List<ConsumeEffect> onConsumeEffects()
      Returns the value of the onConsumeEffects record component.
      Returns:
      the value of the onConsumeEffects record component