Class PotionItem

java.lang.Object
net.minecraft.item.Item
net.minecraft.item.PotionItem
All Implemented Interfaces:
ItemConvertible, ToggleableFeature
Direct Known Subclasses:
ThrowablePotionItem

public class PotionItem extends Item
Mappings:
Namespace Name
named net/minecraft/item/PotionItem
intermediary net/minecraft/class_1812
official cvl
  • Field Details

    • MAX_USE_TIME

      private static final int MAX_USE_TIME
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named MAX_USE_TIME Lnet/minecraft/item/PotionItem;MAX_USE_TIME:I
      intermediary field_30917 Lnet/minecraft/class_1812;field_30917:I
      official a Lcvl;a:I
  • Constructor Details

    • PotionItem

      public PotionItem(Item.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/item/Item;<init>(Lnet/minecraft/item/Item$Settings;)V
      intermediary <init> Lnet/minecraft/class_1792;<init>(Lnet/minecraft/class_1792$class_1793;)V
      official <init> Lcul;<init>(Lcul$a;)V
  • Method Details

    • getDefaultStack

      public ItemStack getDefaultStack()
      Returns the default stack for this item.

      Items that expect certain components in the item stack should override this method to return the stack with the component data.

      Overrides:
      getDefaultStack in class Item
      Returns:
      the default stack for this item
      Mappings:
      Namespace Name Mixin selector
      named getDefaultStack Lnet/minecraft/item/Item;getDefaultStack()Lnet/minecraft/item/ItemStack;
      intermediary method_7854 Lnet/minecraft/class_1792;method_7854()Lnet/minecraft/class_1799;
      official w Lcul;w()Lcuq;
    • finishUsing

      public ItemStack finishUsing(ItemStack stack, World world, LivingEntity user)
      Called when an entity finishes using the item, such as eating food or drinking a potion. This method handles eating food by default.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      user might not be a player in some cases. For example, this occurs when a fox eats food or when a wandering trader drinks milk.

      Overrides:
      finishUsing in class Item
      Returns:
      the new item stack after using the item
      Mappings:
      Namespace Name Mixin selector
      named finishUsing Lnet/minecraft/item/Item;finishUsing(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;)Lnet/minecraft/item/ItemStack;
      intermediary method_7861 Lnet/minecraft/class_1792;method_7861(Lnet/minecraft/class_1799;Lnet/minecraft/class_1937;Lnet/minecraft/class_1309;)Lnet/minecraft/class_1799;
      official a Lcul;a(Lcuq;Ldcw;Lbtn;)Lcuq;
    • useOnBlock

      public ActionResult useOnBlock(ItemUsageContext context)
      Called when an item is used on a block.

      This method is called on both the logical client and logical server, so take caution when using this method. The logical side can be checked using context.getWorld().isClient().

      Overrides:
      useOnBlock in class Item
      Parameters:
      context - the usage context
      Returns:
      an action result that specifies if using the item on a block was successful.
      Mappings:
      Namespace Name Mixin selector
      named useOnBlock Lnet/minecraft/item/Item;useOnBlock(Lnet/minecraft/item/ItemUsageContext;)Lnet/minecraft/util/ActionResult;
      intermediary method_7884 Lnet/minecraft/class_1792;method_7884(Lnet/minecraft/class_1838;)Lnet/minecraft/class_1269;
      official a Lcul;a(Lcyf;)Lbqr;
    • getMaxUseTime

      public int getMaxUseTime(ItemStack stack, LivingEntity user)
      Returns the maximum use (right-click) time of this item, in ticks. Once a player has used an item for said number of ticks, they stop using it, and Item.finishUsing(net.minecraft.item.ItemStack, net.minecraft.world.World, net.minecraft.entity.LivingEntity) is called.
      Overrides:
      getMaxUseTime in class Item
      Returns:
      the maximum use (right-click) time of this item, in ticks
      Mappings:
      Namespace Name Mixin selector
      named getMaxUseTime Lnet/minecraft/item/Item;getMaxUseTime(Lnet/minecraft/item/ItemStack;Lnet/minecraft/entity/LivingEntity;)I
      intermediary method_7881 Lnet/minecraft/class_1792;method_7881(Lnet/minecraft/class_1799;Lnet/minecraft/class_1309;)I
      official a Lcul;a(Lcuq;Lbtn;)I
    • getUseAction

      public UseAction getUseAction(ItemStack stack)
      Returns the use action the item should perform.
      Overrides:
      getUseAction in class Item
      Returns:
      the use action the item should perform
      Mappings:
      Namespace Name Mixin selector
      named getUseAction Lnet/minecraft/item/Item;getUseAction(Lnet/minecraft/item/ItemStack;)Lnet/minecraft/util/UseAction;
      intermediary method_7853 Lnet/minecraft/class_1792;method_7853(Lnet/minecraft/class_1799;)Lnet/minecraft/class_1839;
      official b Lcul;b(Lcuq;)Lcwo;
    • use

      public TypedActionResult<ItemStack> use(World world, PlayerEntity user, Hand hand)
      Called when the player uses (or starts using) the item. The use action, by default, is bound to the right mouse button. This method checks the player's hunger when the item is a food, and will pass in all other cases by default.

      If the item can be used for multiple ticks, then this will only be called when the player starts using it. After that, Item.usageTick(net.minecraft.world.World, net.minecraft.entity.LivingEntity, net.minecraft.item.ItemStack, int) is called every tick until the player finishes using the item.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using world.isClient().

      Overrides:
      use in class Item
      Parameters:
      world - the world the item was used in
      user - the player who used the item
      hand - the hand used
      Returns:
      a typed action result that specifies whether using the item was successful. The action result contains the new item stack that the player's hand will be set to.
      Mappings:
      Namespace Name Mixin selector
      named use Lnet/minecraft/item/Item;use(Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;)Lnet/minecraft/util/TypedActionResult;
      intermediary method_7836 Lnet/minecraft/class_1792;method_7836(Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;)Lnet/minecraft/class_1271;
      official a Lcul;a(Ldcw;Lcmx;Lbqq;)Lbqs;
    • getTranslationKey

      public String getTranslationKey(ItemStack stack)
      Gets the translation key of this item using the provided item stack for context.
      Overrides:
      getTranslationKey in class Item
      Mappings:
      Namespace Name Mixin selector
      named getTranslationKey Lnet/minecraft/item/Item;getTranslationKey(Lnet/minecraft/item/ItemStack;)Ljava/lang/String;
      intermediary method_7866 Lnet/minecraft/class_1792;method_7866(Lnet/minecraft/class_1799;)Ljava/lang/String;
      official h Lcul;h(Lcuq;)Ljava/lang/String;
    • appendTooltip

      public void appendTooltip(ItemStack stack, Item.TooltipContext context, List<Text> tooltip, TooltipType type)
      Called by the client to append tooltips to an item. Subclasses can override this and add custom tooltips to tooltip list.
      Overrides:
      appendTooltip in class Item
      Parameters:
      tooltip - the list of tooltips to show
      Mappings:
      Namespace Name Mixin selector
      named appendTooltip Lnet/minecraft/item/Item;appendTooltip(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/Item$TooltipContext;Ljava/util/List;Lnet/minecraft/item/tooltip/TooltipType;)V
      intermediary method_7851 Lnet/minecraft/class_1792;method_7851(Lnet/minecraft/class_1799;Lnet/minecraft/class_1792$class_9635;Ljava/util/List;Lnet/minecraft/class_1836;)V
      official a Lcul;a(Lcuq;Lcul$b;Ljava/util/List;Lcwm;)V