Compiled from "ConsumableEffectItem.java"
public class com.ogaba.sa_survival.item.common.ConsumableEffectItem extends com.ogaba.sacore.content.item.custom.ConsumableItem implements com.ogaba.sa_survival.item.tooltip.EffectTooltipSource {
  private final java.util.List<net.minecraft.world.effect.MobEffectInstance> effects;

  private final net.minecraft.sounds.SoundEvent finishSound;

  private final net.minecraft.sounds.SoundEvent eatingSound;

  private final net.minecraft.sounds.SoundEvent drinkingSound;

  private final java.util.function.Consumer<net.minecraft.world.entity.LivingEntity> extraAction;

  private final boolean removesPoisonTooltip;

  protected com.ogaba.sa_survival.item.common.ConsumableEffectItem(com.ogaba.sa_survival.item.common.ConsumableEffectItem$Builder);
    Code:
       0: aload_0
       1: aload_1
       2: getfield      #33                 // Field com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder.properties:Lnet/minecraft/world/item/Item$Properties;
       5: aload_1
       6: getfield      #37                 // Field com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder.useAnim:Lnet/minecraft/world/item/UseAnim;
       9: aload_1
      10: getfield      #41                 // Field com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder.duration:I
      13: invokespecial #44                 // Method com/ogaba/sacore/content/item/custom/ConsumableItem."<init>":(Lnet/minecraft/world/item/Item$Properties;Lnet/minecraft/world/item/UseAnim;I)V
      16: aload_0
      17: aload_1
      18: getfield      #46                 // Field com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder.effects:Ljava/util/List;
      21: putfield      #47                 // Field effects:Ljava/util/List;
      24: aload_0
      25: aload_1
      26: getfield      #49                 // Field com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder.finishSound:Lnet/minecraft/sounds/SoundEvent;
      29: putfield      #50                 // Field finishSound:Lnet/minecraft/sounds/SoundEvent;
      32: aload_0
      33: aload_1
      34: getfield      #52                 // Field com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder.eatingSound:Lnet/minecraft/sounds/SoundEvent;
      37: putfield      #53                 // Field eatingSound:Lnet/minecraft/sounds/SoundEvent;
      40: aload_0
      41: aload_1
      42: getfield      #55                 // Field com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder.drinkingSound:Lnet/minecraft/sounds/SoundEvent;
      45: putfield      #56                 // Field drinkingSound:Lnet/minecraft/sounds/SoundEvent;
      48: aload_0
      49: aload_1
      50: getfield      #58                 // Field com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder.extraAction:Ljava/util/function/Consumer;
      53: putfield      #59                 // Field extraAction:Ljava/util/function/Consumer;
      56: aload_0
      57: aload_1
      58: getfield      #61                 // Field com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder.removesPoisonTooltip:Z
      61: putfield      #62                 // Field removesPoisonTooltip:Z
      64: return

  public boolean m_5812_(net.minecraft.world.item.ItemStack);
    Code:
       0: iconst_0
       1: ireturn

  public boolean m_8120_(net.minecraft.world.item.ItemStack);
    Code:
       0: iconst_0
       1: ireturn

  public boolean isBookEnchantable(net.minecraft.world.item.ItemStack, net.minecraft.world.item.ItemStack);
    Code:
       0: iconst_0
       1: ireturn

  public boolean canApplyAtEnchantingTable(net.minecraft.world.item.ItemStack, net.minecraft.world.item.enchantment.Enchantment);
    Code:
       0: iconst_0
       1: ireturn

  public java.util.List<net.minecraft.world.effect.MobEffectInstance> getTooltipEffects();
    Code:
       0: aload_0
       1: getfield      #47                 // Field effects:Ljava/util/List;
       4: areturn

  public boolean tooltipRemovesPoison();
    Code:
       0: aload_0
       1: getfield      #62                 // Field removesPoisonTooltip:Z
       4: ireturn

  public void m_7373_(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, java.util.List<net.minecraft.network.chat.Component>, net.minecraft.world.item.TooltipFlag);
    Code:
       0: aload_0
       1: invokevirtual #89                 // Method getTooltipEffects:()Ljava/util/List;
       4: aload_3
       5: fconst_1
       6: invokestatic  #95                 // Method com/ogaba/sa_survival/item/tooltip/EffectTooltipUtil.addEffectTooltip:(Ljava/util/List;Ljava/util/List;F)V
       9: aload_0
      10: aload_3
      11: invokestatic  #99                 // Method com/ogaba/sa_survival/item/tooltip/EffectTooltipUtil.addExtrasTooltip:(Lcom/ogaba/sa_survival/item/tooltip/EffectTooltipSource;Ljava/util/List;)V
      14: aload_0
      15: aload_1
      16: aload_2
      17: aload_3
      18: aload         4
      20: invokespecial #101                // Method com/ogaba/sacore/content/item/custom/ConsumableItem.m_7373_:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/level/Level;Ljava/util/List;Lnet/minecraft/world/item/TooltipFlag;)V
      23: return

  public net.minecraft.sounds.SoundEvent m_6061_();
    Code:
       0: aload_0
       1: getfield      #53                 // Field eatingSound:Lnet/minecraft/sounds/SoundEvent;
       4: areturn

  public net.minecraft.sounds.SoundEvent m_6023_();
    Code:
       0: aload_0
       1: getfield      #56                 // Field drinkingSound:Lnet/minecraft/sounds/SoundEvent;
       4: areturn

  protected void onConsumed(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, net.minecraft.world.entity.LivingEntity);
    Code:
       0: aload_2
       1: getfield      #117                // Field net/minecraft/world/level/Level.f_46443_:Z
       4: ifeq          8
       7: return
       8: aload_0
       9: getfield      #47                 // Field effects:Ljava/util/List;
      12: invokeinterface #123,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
      17: astore        4
      19: aload         4
      21: invokeinterface #128,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      26: ifeq          58
      29: aload         4
      31: invokeinterface #132,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      36: checkcast     #134                // class net/minecraft/world/effect/MobEffectInstance
      39: astore        5
      41: aload_3
      42: new           #134                // class net/minecraft/world/effect/MobEffectInstance
      45: dup
      46: aload         5
      48: invokespecial #137                // Method net/minecraft/world/effect/MobEffectInstance."<init>":(Lnet/minecraft/world/effect/MobEffectInstance;)V
      51: invokevirtual #143                // Method net/minecraft/world/entity/LivingEntity.m_7292_:(Lnet/minecraft/world/effect/MobEffectInstance;)Z
      54: pop
      55: goto          19
      58: aload_0
      59: getfield      #59                 // Field extraAction:Ljava/util/function/Consumer;
      62: ifnull        75
      65: aload_0
      66: getfield      #59                 // Field extraAction:Ljava/util/function/Consumer;
      69: aload_3
      70: invokeinterface #149,  2          // InterfaceMethod java/util/function/Consumer.accept:(Ljava/lang/Object;)V
      75: aload_0
      76: getfield      #50                 // Field finishSound:Lnet/minecraft/sounds/SoundEvent;
      79: ifnull        110
      82: aload_2
      83: aconst_null
      84: aload_3
      85: invokevirtual #153                // Method net/minecraft/world/entity/LivingEntity.m_20185_:()D
      88: aload_3
      89: invokevirtual #156                // Method net/minecraft/world/entity/LivingEntity.m_20186_:()D
      92: aload_3
      93: invokevirtual #159                // Method net/minecraft/world/entity/LivingEntity.m_20189_:()D
      96: aload_0
      97: getfield      #50                 // Field finishSound:Lnet/minecraft/sounds/SoundEvent;
     100: aload_3
     101: invokevirtual #163                // Method net/minecraft/world/entity/LivingEntity.m_5720_:()Lnet/minecraft/sounds/SoundSource;
     104: ldc           #164                // float 0.5f
     106: fconst_1
     107: invokevirtual #168                // Method net/minecraft/world/level/Level.m_6263_:(Lnet/minecraft/world/entity/player/Player;DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)V
     110: return

  public static com.ogaba.sa_survival.item.common.ConsumableEffectItem$Builder builder(net.minecraft.world.item.Item$Properties);
    Code:
       0: new           #9                  // class com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder
       3: dup
       4: aload_0
       5: invokespecial #177                // Method com/ogaba/sa_survival/item/common/ConsumableEffectItem$Builder."<init>":(Lnet/minecraft/world/item/Item$Properties;)V
       8: areturn
}
