类 ItemStack
java.lang.Object
net.minecraft.world.item.ItemStack
- 所有已实现的接口:
DataComponentGetter
,DataComponentHolder
,IDataComponentHolderExtension
,IItemStackExtension
,MutableDataComponentHolder
public final class ItemStack
extends Object
implements DataComponentHolder, MutableDataComponentHolder, IItemStackExtension
-
字段概要
字段修饰符和类型字段说明static final com.mojang.serialization.Codec
<ItemStack> (专用程序包) final PatchedDataComponentMap
private int
private static final Component
static final ItemStack
private Entity
private final Item
已过时。private static final org.slf4j.Logger
static final com.mojang.serialization.MapCodec
<ItemStack> static final com.mojang.serialization.Codec
<ItemStack> static final StreamCodec
<RegistryFriendlyByteBuf, List<ItemStack>> static final StreamCodec
<RegistryFriendlyByteBuf, ItemStack> static final StreamCodec
<RegistryFriendlyByteBuf, ItemStack> private int
static final com.mojang.serialization.Codec
<ItemStack> static final com.mojang.serialization.Codec
<ItemStack> static final StreamCodec
<RegistryFriendlyByteBuf, ItemStack> static final com.mojang.serialization.Codec
<ItemStack> static final com.mojang.serialization.Codec
<ItemStack> private static final Component
-
构造器概要
构造器限定符构造器说明private
ItemStack
(Holder<Item> p_312081_, int p_41605_, DataComponentPatch p_330362_) private
ItemStack
(ItemLike p_330978_, int p_330639_, PatchedDataComponentMap p_330546_) -
方法概要
修饰符和类型方法说明private void
addAttributeTooltips
(Consumer<Component> p_330796_, TooltipDisplay p_400175_, Player p_330530_) 已过时。void
addDetailsToTooltip
(Item.TooltipContext p_400057_, TooltipDisplay p_400252_, Player p_399628_, TooltipFlag p_400174_, Consumer<Component> p_399603_) <T extends TooltipProvider>
voidaddToTooltip
(DataComponentType<T> p_331344_, Item.TooltipContext p_341231_, TooltipDisplay p_399720_, Consumer<Component> p_331885_, TooltipFlag p_331177_) private ItemStack
applyAfterUseComponentSideEffects
(LivingEntity p_366464_, ItemStack p_366810_) void
applyComponents
(DataComponentMap p_330402_) Applies a set of component changes to this stack.void
applyComponents
(DataComponentPatch p_332097_) Applies a set of component changes to this stack.void
applyComponentsAndValidate
(DataComponentPatch p_341407_) private void
applyDamage
(int p_361754_, ServerPlayer p_364853_, Consumer<Item> p_360895_) private void
applyDamage
(int p_361754_, LivingEntity p_364853_, Consumer<Item> p_360895_) boolean
canBeHurtBy
(DamageSource p_335431_) boolean
canBreakBlockInAdventureMode
(BlockInWorld p_331592_) boolean
canDestroyBlock
(BlockState p_394270_, Level p_393831_, BlockPos p_394075_, Player p_393908_) boolean
canPlaceOnBlockInAdventureMode
(BlockInWorld p_331419_) void
consume
(int p_326311_, LivingEntity p_326200_) consumeAndReturn
(int p_347624_, LivingEntity p_347710_) copy()
<T> void
copyFrom
(DataComponentType<T> p_397950_, DataComponentGetter p_397631_) Copies a data component from a component getter.copyWithCount
(int p_256354_) private static StreamCodec
<RegistryFriendlyByteBuf, ItemStack> void
enchant
(Holder<Enchantment> p_344751_, int p_41665_) finishUsingItem
(Level p_41672_, LivingEntity p_41673_) void
forEachModifier
(EquipmentSlotGroup p_348610_, org.apache.commons.lang3.function.TriConsumer<Holder<Attribute>, AttributeModifier, ItemAttributeModifiers.Display> p_415655_) void
forEachModifier
(EquipmentSlot p_332001_, BiConsumer<Holder<Attribute>, AttributeModifier> p_330882_) int
int
int
getCount()
int
float
getDestroySpeed
(BlockState p_41692_) 已过时。Neo: UsegetTagEnchantments()
for NBT enchantments, orIItemStackExtension.getAllEnchantments(net.minecraft.core.HolderLookup.RegistryLookup<net.minecraft.world.item.enchantment.Enchantment>)
for gameplay.getFrame()
getItem()
int
int
int
Gets all enchantments from NBT.getTags()
getTooltipLines
(Item.TooltipContext p_339637_, Player p_41652_, TooltipFlag p_41653_) int
getUseDuration
(LivingEntity p_345724_) void
grow
(int p_41770_) boolean
hasFoil()
static int
hashItemAndComponents
(ItemStack p_331961_) static int
hashStackList
(List<ItemStack> p_332135_) 已过时。boolean
hasNonDefault
(DataComponentType<?> p_389426_) void
hurtAndBreak
(int p_220158_, ServerLevel p_346256_, ServerPlayer p_220160_, Consumer<Item> p_348596_) void
hurtAndBreak
(int p_220158_, ServerLevel p_346256_, LivingEntity p_220160_, Consumer<Item> p_348596_) void
hurtAndBreak
(int p_41623_, LivingEntity p_41624_, EquipmentSlot p_319898_) void
hurtAndBreak
(int p_418267_, LivingEntity p_418272_, InteractionHand p_418180_) hurtAndConvertOnBreak
(int p_352405_, ItemLike p_352337_, LivingEntity p_352175_, EquipmentSlot p_352058_) boolean
hurtEnemy
(LivingEntity p_41641_, LivingEntity p_364087_) void
hurtWithoutBreaking
(int p_362924_, Player p_363410_) interactLivingEntity
(Player p_41648_, LivingEntity p_41649_, InteractionHand p_41650_) void
inventoryTick
(Level p_41667_, Entity p_41668_, EquipmentSlot p_401778_) boolean
boolean
boolean
boolean
boolean
boolean
boolean
isBroken()
boolean
boolean
isCorrectToolForDrops
(BlockState p_41736_) boolean
boolean
boolean
isEmpty()
boolean
boolean
boolean
isFramed()
boolean
isItemEnabled
(FeatureFlagSet p_250869_) static boolean
isSameItem
(ItemStack p_287761_, ItemStack p_287676_) static boolean
isSameItemSameComponents
(ItemStack p_150943_, ItemStack p_150944_) boolean
boolean
isValidRepairItem
(ItemStack p_362836_) static com.mojang.serialization.MapCodec
<ItemStack> lenientOptionalFieldOf
(String p_338501_) void
limitSize
(int p_335437_) static boolean
listMatches
(List<ItemStack> p_331725_, List<ItemStack> p_331113_) 已过时。static boolean
void
mineBlock
(Level p_41687_, BlockState p_41688_, BlockPos p_41689_, Player p_41690_) boolean
void
onCraftedBy
(Player p_41680_, int p_41681_) void
onCraftedBySystem
(Level p_307669_) void
onDestroyed
(ItemEntity p_150925_) 已过时。Forge: Use damage source sensitive versionprivate InteractionResult
onItemUse
(UseOnContext p_41662_, Function<UseOnContext, InteractionResult> callback) onItemUseFirst
(UseOnContext p_41662_) void
onUseTick
(Level p_41732_, LivingEntity p_41733_, int p_41734_) boolean
overrideOtherStackedOnMe
(ItemStack p_150933_, Slot p_150934_, ClickAction p_150935_, Player p_150936_, SlotAccess p_150937_) boolean
overrideStackedOnOther
(Slot p_150927_, ClickAction p_150928_, Player p_150929_) void
postHurtEnemy
(LivingEntity p_346409_, LivingEntity p_363649_) private int
processDurabilityChange
(int p_361290_, ServerLevel p_361409_, ServerPlayer p_364940_) private int
processDurabilityChange
(int p_361290_, ServerLevel p_361409_, LivingEntity p_364940_) void
releaseUsing
(Level p_41675_, LivingEntity p_41676_, int p_41677_) <T> T
remove
(DataComponentType<? extends T> p_332139_) Removes a data component.<T> T
set
(DataComponentType<T> p_331064_, T p_330775_) Sets a data component.void
setCount
(int p_41765_) void
setDamageValue
(int p_41722_) void
setEntityRepresentation
(Entity p_41637_) void
setPopTime
(int p_41755_) void
shrink
(int p_41775_) split
(int p_41621_) toString()
transmuteCopy
(ItemLike p_347550_) transmuteCopy
(ItemLike p_323864_, int p_323647_) private ItemStack
transmuteCopyIgnoreEmpty
(ItemLike p_323811_, int p_323856_) <T> T
update
(DataComponentType<T> p_330921_, T p_331257_, UnaryOperator<T> p_331701_) Updates a data component if it exists.<T,
U> T update
(DataComponentType<T> p_331083_, T p_331443_, U p_331049_, BiFunction<T, U, T> p_331846_) Updates a data component if it exists, using an additionalupdateContext
.use
(Level p_41683_, Player p_41684_, InteractionHand p_41685_) useOn
(UseOnContext p_41662_) boolean
static com.mojang.serialization.DataResult
<Unit> validateComponents
(DataComponentMap p_341201_) static com.mojang.serialization.DataResult
<ItemStack> validateStrict
(ItemStack p_340966_) 从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
从接口继承的方法 net.minecraft.core.component.DataComponentGetter
get, getOrDefault, getTyped, has
从接口继承的方法 net.minecraft.core.component.DataComponentHolder
get, getAllOfType, getOrDefault, has
从接口继承的方法 net.neoforged.neoforge.common.extensions.IDataComponentHolderExtension
addToTooltip, addToTooltip
从接口继承的方法 net.neoforged.neoforge.common.extensions.IItemStackExtension
canEquip, canGrindstoneRepair, canPerformAction, canWalkOnPowderedSnow, doesSneakBypassUse, getAllEnchantments, getAttributeModifiers, getBurnTime, getCapability, getCapability, getCraftingRemainder, getEnchantmentLevel, getEntityLifespan, getEquipmentSlot, getHighlightTip, getSweepHitBox, getXpRepairRatio, isCombineRepairable, isGazeDisguise, isNotReplaceableByPickAction, isPiglinCurrency, isPrimaryItemFor, makesPiglinsNeutral, onAnimalArmorTick, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onStopUsing, shouldCauseBlockBreakReset, supportsEnchantment
-
字段详细资料
-
OP_NBT_WARNING
-
UNBREAKABLE_TOOLTIP
-
MAP_CODEC
-
CODEC
-
SINGLE_ITEM_CODEC
-
STRICT_CODEC
-
STRICT_SINGLE_ITEM_CODEC
-
OPTIONAL_CODEC
-
SIMPLE_ITEM_CODEC
-
OPTIONAL_STREAM_CODEC
-
OPTIONAL_UNTRUSTED_STREAM_CODEC
-
STREAM_CODEC
-
OPTIONAL_LIST_STREAM_CODEC
-
LOGGER
private static final org.slf4j.Logger LOGGER -
EMPTY
-
DISABLED_ITEM_TOOLTIP
-
count
private int count -
popTime
private int popTime -
item
已过时。 -
components
-
entityRepresentation
-
-
构造器详细资料
-
ItemStack
-
ItemStack
-
ItemStack
-
ItemStack
-
ItemStack
-
ItemStack
-
ItemStack
-
-
方法详细资料
-
validateStrict
-
createOptionalStreamCodec
private static StreamCodec<RegistryFriendlyByteBuf,ItemStack> createOptionalStreamCodec(StreamCodec<RegistryFriendlyByteBuf, DataComponentPatch> p_412358_) -
validatedStreamCodec
public static StreamCodec<RegistryFriendlyByteBuf,ItemStack> validatedStreamCodec(StreamCodec<RegistryFriendlyByteBuf, ItemStack> p_340962_) -
getTooltipImage
-
getComponents
- 指定者:
getComponents
在接口中DataComponentHolder
-
getPrototype
-
getComponentsPatch
-
immutableComponents
-
hasNonDefault
-
isComponentsPatchEmpty
public boolean isComponentsPatchEmpty() -
validateComponents
public static com.mojang.serialization.DataResult<Unit> validateComponents(DataComponentMap p_341201_) -
isEmpty
public boolean isEmpty() -
isItemEnabled
-
split
-
copyAndClear
-
getItem
-
getItemHolder
-
is
-
is
-
is
-
is
-
is
-
getTags
-
useOn
-
onItemUseFirst
- 指定者:
onItemUseFirst
在接口中IItemStackExtension
-
onItemUse
private InteractionResult onItemUse(UseOnContext p_41662_, Function<UseOnContext, InteractionResult> callback) -
getDestroySpeed
-
use
-
finishUsingItem
-
applyAfterUseComponentSideEffects
-
getMaxStackSize
public int getMaxStackSize() -
isStackable
public boolean isStackable() -
isDamageableItem
public boolean isDamageableItem() -
isDamaged
public boolean isDamaged() -
getDamageValue
public int getDamageValue() -
setDamageValue
public void setDamageValue(int p_41722_) -
getMaxDamage
public int getMaxDamage() -
isBroken
public boolean isBroken() -
nextDamageWillBreak
public boolean nextDamageWillBreak() -
hurtAndBreak
public void hurtAndBreak(int p_220158_, ServerLevel p_346256_, @Nullable ServerPlayer p_220160_, Consumer<Item> p_348596_) -
hurtAndBreak
public void hurtAndBreak(int p_220158_, ServerLevel p_346256_, @Nullable LivingEntity p_220160_, Consumer<Item> p_348596_) -
processDurabilityChange
private int processDurabilityChange(int p_361290_, ServerLevel p_361409_, @Nullable ServerPlayer p_364940_) -
processDurabilityChange
private int processDurabilityChange(int p_361290_, ServerLevel p_361409_, @Nullable LivingEntity p_364940_) -
applyDamage
-
applyDamage
-
hurtWithoutBreaking
-
hurtAndBreak
-
hurtAndBreak
-
hurtAndConvertOnBreak
public ItemStack hurtAndConvertOnBreak(int p_352405_, ItemLike p_352337_, LivingEntity p_352175_, EquipmentSlot p_352058_) -
isBarVisible
public boolean isBarVisible() -
getBarWidth
public int getBarWidth() -
getBarColor
public int getBarColor() -
overrideStackedOnOther
-
overrideOtherStackedOnMe
public boolean overrideOtherStackedOnMe(ItemStack p_150933_, Slot p_150934_, ClickAction p_150935_, Player p_150936_, SlotAccess p_150937_) -
hurtEnemy
-
postHurtEnemy
-
mineBlock
-
isCorrectToolForDrops
-
interactLivingEntity
public InteractionResult interactLivingEntity(Player p_41648_, LivingEntity p_41649_, InteractionHand p_41650_) -
copy
-
copyWithCount
-
transmuteCopy
-
transmuteCopy
-
transmuteCopyIgnoreEmpty
-
matches
-
listMatches
已过时。 -
isSameItem
-
isSameItemSameComponents
-
lenientOptionalFieldOf
-
hashItemAndComponents
-
hashStackList
已过时。 -
toString
-
inventoryTick
-
onCraftedBy
-
onCraftedBySystem
-
getUseDuration
-
getUseAnimation
-
releaseUsing
-
useOnRelease
public boolean useOnRelease() -
set
从接口复制的说明:MutableDataComponentHolder
Sets a data component.- 指定者:
set
在接口中MutableDataComponentHolder
-
copyFrom
从接口复制的说明:MutableDataComponentHolder
Copies a data component from a component getter.- 指定者:
copyFrom
在接口中MutableDataComponentHolder
-
update
@Nullable public <T,U> T update(DataComponentType<T> p_331083_, T p_331443_, U p_331049_, BiFunction<T, U, T> p_331846_) 从接口复制的说明:MutableDataComponentHolder
Updates a data component if it exists, using an additionalupdateContext
.- 指定者:
update
在接口中MutableDataComponentHolder
-
update
@Nullable public <T> T update(DataComponentType<T> p_330921_, T p_331257_, UnaryOperator<T> p_331701_) 从接口复制的说明:MutableDataComponentHolder
Updates a data component if it exists.- 指定者:
update
在接口中MutableDataComponentHolder
-
remove
从接口复制的说明:MutableDataComponentHolder
Removes a data component.- 指定者:
remove
在接口中MutableDataComponentHolder
-
applyComponentsAndValidate
-
applyComponents
从接口复制的说明:MutableDataComponentHolder
Applies a set of component changes to this stack.- 指定者:
applyComponents
在接口中MutableDataComponentHolder
-
applyComponents
从接口复制的说明:MutableDataComponentHolder
Applies a set of component changes to this stack.- 指定者:
applyComponents
在接口中MutableDataComponentHolder
-
getHoverName
-
getCustomName
-
getItemName
-
getStyledHoverName
-
addToTooltip
public <T extends TooltipProvider> void addToTooltip(DataComponentType<T> p_331344_, Item.TooltipContext p_341231_, TooltipDisplay p_399720_, Consumer<Component> p_331885_, TooltipFlag p_331177_) -
getTooltipLines
public List<Component> getTooltipLines(Item.TooltipContext p_339637_, @Nullable Player p_41652_, TooltipFlag p_41653_) -
addDetailsToTooltip
public void addDetailsToTooltip(Item.TooltipContext p_400057_, TooltipDisplay p_400252_, @Nullable Player p_399628_, TooltipFlag p_400174_, Consumer<Component> p_399603_) -
addAttributeTooltips
@Deprecated private void addAttributeTooltips(Consumer<Component> p_330796_, TooltipDisplay p_400175_, @Nullable Player p_330530_) -
hasFoil
public boolean hasFoil() -
getRarity
-
isEnchantable
public boolean isEnchantable() -
enchant
-
isEnchanted
public boolean isEnchanted() -
getTagEnchantments
Gets all enchantments from NBT. UseIItemStackExtension.getAllEnchantments(net.minecraft.core.HolderLookup.RegistryLookup<net.minecraft.world.item.enchantment.Enchantment>)
for gameplay logic. -
getEnchantments
已过时。Neo: UsegetTagEnchantments()
for NBT enchantments, orIItemStackExtension.getAllEnchantments(net.minecraft.core.HolderLookup.RegistryLookup<net.minecraft.world.item.enchantment.Enchantment>)
for gameplay. -
isFramed
public boolean isFramed() -
setEntityRepresentation
-
getFrame
-
getEntityRepresentation
-
forEachModifier
public void forEachModifier(EquipmentSlotGroup p_348610_, org.apache.commons.lang3.function.TriConsumer<Holder<Attribute>, AttributeModifier, ItemAttributeModifiers.Display> p_415655_) -
forEachModifier
public void forEachModifier(EquipmentSlot p_332001_, BiConsumer<Holder<Attribute>, AttributeModifier> p_330882_) -
getDisplayName
-
canPlaceOnBlockInAdventureMode
-
canBreakBlockInAdventureMode
-
getPopTime
public int getPopTime() -
setPopTime
public void setPopTime(int p_41755_) -
getCount
public int getCount() -
setCount
public void setCount(int p_41765_) -
limitSize
public void limitSize(int p_335437_) -
grow
public void grow(int p_41770_) -
shrink
public void shrink(int p_41775_) -
consume
-
consumeAndReturn
-
onUseTick
-
onDestroyed
已过时。Forge: Use damage source sensitive version -
canBeHurtBy
-
isValidRepairItem
-
canDestroyBlock
public boolean canDestroyBlock(BlockState p_394270_, Level p_393831_, BlockPos p_394075_, Player p_393908_)
-
AttributeUtil.addAttributeTooltips(net.minecraft.world.item.ItemStack, java.util.function.Consumer<net.minecraft.network.chat.Component>, net.minecraft.world.item.component.TooltipDisplay, net.neoforged.neoforge.common.util.AttributeTooltipContext)