Package net.minecraft.entity.player
Class PlayerInventory
java.lang.Object
net.minecraft.entity.player.PlayerInventory
- Mappings:
Namespace Name named net/minecraft/entity/player/PlayerInventory
intermediary net/minecraft/class_1661
official cmy
-
Field Summary
Modifier and TypeFieldDescriptionfinal DefaultedList
<ItemStack> static final int[]
private int
private final List
<DefaultedList<ItemStack>> static final int[]
private static final int
The number of columns (9) in the inventory.static final int
The maximum cooldown (5 ticks) applied to timed use items such as the Eye of Ender.final DefaultedList
<ItemStack> static final int
The number of slots (36) in the main (non-hotbar) section of the inventory.static final int
The slot index (-1) used to indicate no result (item not present / no available space) when querying the inventory's contents or to indicate no preference when inserting an item into the inventory.static final int
Zero-based index of the offhand slot.final DefaultedList
<ItemStack> final PlayerEntity
int
Fields inherited from interface net.minecraft.inventory.Inventory
DEFAULT_MAX_INTERACTION_RANGE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addPickBlock
(ItemStack stack) private int
private int
boolean
canPlayerUse
(PlayerEntity player) Returns whetherplayer
can use this inventory.private boolean
canStackAddMore
(ItemStack existingStack, ItemStack stack) void
clear()
void
clone
(PlayerInventory other) boolean
boolean
boolean
void
dropAll()
dropSelectedItem
(boolean entireStack) getArmorStack
(int slot) float
getBlockBreakingSpeed
(BlockState block) int
int
static int
getName()
Returns the name of this object.int
int
getSlotWithStack
(ItemStack stack) getStack
(int slot) Returns the stack currently stored atslot
.int
int
Given the item stack to search for, returns the equivalent slot index with a matching stack that is all of: not damaged, not enchanted, and not renamed.boolean
insertStack
(int slot, ItemStack stack) boolean
insertStack
(ItemStack stack) boolean
isEmpty()
Returns whether the inventory consists entirely of empty item stacks.static boolean
isValidHotbarIndex
(int slot) void
Marks the inventory as modified.void
void
offerOrDrop
(ItemStack stack) void
populateRecipeFinder
(RecipeMatcher finder) void
int
void
removeStack
(int slot) Removes the stack currently stored atslot
.removeStack
(int slot, int amount) Removes a specific number of items fromslot
.void
scrollInHotbar
(double scrollAmount) void
Sets the stack stored atslot
tostack
.int
size()
Returns the size of the inventory.void
swapSlotWithHotbar
(int slot) void
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.inventory.Inventory
canTransferTo, containsAny, containsAny, count, getMaxCount, getMaxCountPerStack, isValid, onClose, onOpen
Methods inherited from interface net.minecraft.util.Nameable
getCustomName, getDisplayName, hasCustomName
-
Field Details
-
ITEM_USAGE_COOLDOWN
public static final int ITEM_USAGE_COOLDOWNThe maximum cooldown (5 ticks) applied to timed use items such as the Eye of Ender.- See Also:
- Mappings:
Namespace Name Mixin selector named ITEM_USAGE_COOLDOWN
Lnet/minecraft/entity/player/PlayerInventory;ITEM_USAGE_COOLDOWN:I
intermediary field_30637
Lnet/minecraft/class_1661;field_30637:I
official b
Lcmy;b:I
-
MAIN_SIZE
public static final int MAIN_SIZEThe number of slots (36) in the main (non-hotbar) section of the inventory.- See Also:
- Mappings:
Namespace Name Mixin selector named MAIN_SIZE
Lnet/minecraft/entity/player/PlayerInventory;MAIN_SIZE:I
intermediary field_30638
Lnet/minecraft/class_1661;field_30638:I
official c
Lcmy;c:I
-
HOTBAR_SIZE
private static final int HOTBAR_SIZEThe number of columns (9) in the inventory.The same value dictates the size of the player's hotbar, excluding the offhand slot.
- See Also:
- Mappings:
Namespace Name Mixin selector named HOTBAR_SIZE
Lnet/minecraft/entity/player/PlayerInventory;HOTBAR_SIZE:I
intermediary field_30641
Lnet/minecraft/class_1661;field_30641:I
official m
Lcmy;m:I
-
OFF_HAND_SLOT
public static final int OFF_HAND_SLOTZero-based index of the offhand slot.This value is the result of the sum
MAIN_SIZE (36) + ARMOR_SIZE (4)
.- See Also:
- Mappings:
Namespace Name Mixin selector named OFF_HAND_SLOT
Lnet/minecraft/entity/player/PlayerInventory;OFF_HAND_SLOT:I
intermediary field_30639
Lnet/minecraft/class_1661;field_30639:I
official d
Lcmy;d:I
-
NOT_FOUND
public static final int NOT_FOUNDThe slot index (-1) used to indicate no result (item not present / no available space) when querying the inventory's contents or to indicate no preference when inserting an item into the inventory.- See Also:
- Mappings:
Namespace Name Mixin selector named NOT_FOUND
Lnet/minecraft/entity/player/PlayerInventory;NOT_FOUND:I
intermediary field_30640
Lnet/minecraft/class_1661;field_30640:I
official e
Lcmy;e:I
-
ARMOR_SLOTS
public static final int[] ARMOR_SLOTS- Mappings:
Namespace Name Mixin selector named ARMOR_SLOTS
Lnet/minecraft/entity/player/PlayerInventory;ARMOR_SLOTS:[I
intermediary field_33767
Lnet/minecraft/class_1661;field_33767:[I
official f
Lcmy;f:[I
-
HELMET_SLOTS
public static final int[] HELMET_SLOTS- Mappings:
Namespace Name Mixin selector named HELMET_SLOTS
Lnet/minecraft/entity/player/PlayerInventory;HELMET_SLOTS:[I
intermediary field_33768
Lnet/minecraft/class_1661;field_33768:[I
official g
Lcmy;g:[I
-
main
- Mappings:
Namespace Name Mixin selector named main
Lnet/minecraft/entity/player/PlayerInventory;main:Lnet/minecraft/util/collection/DefaultedList;
intermediary field_7547
Lnet/minecraft/class_1661;field_7547:Lnet/minecraft/class_2371;
official h
Lcmy;h:Ljr;
-
armor
- Mappings:
Namespace Name Mixin selector named armor
Lnet/minecraft/entity/player/PlayerInventory;armor:Lnet/minecraft/util/collection/DefaultedList;
intermediary field_7548
Lnet/minecraft/class_1661;field_7548:Lnet/minecraft/class_2371;
official i
Lcmy;i:Ljr;
-
offHand
- Mappings:
Namespace Name Mixin selector named offHand
Lnet/minecraft/entity/player/PlayerInventory;offHand:Lnet/minecraft/util/collection/DefaultedList;
intermediary field_7544
Lnet/minecraft/class_1661;field_7544:Lnet/minecraft/class_2371;
official j
Lcmy;j:Ljr;
-
combinedInventory
- Mappings:
Namespace Name Mixin selector named combinedInventory
Lnet/minecraft/entity/player/PlayerInventory;combinedInventory:Ljava/util/List;
intermediary field_7543
Lnet/minecraft/class_1661;field_7543:Ljava/util/List;
official n
Lcmy;n:Ljava/util/List;
-
selectedSlot
public int selectedSlot- Mappings:
Namespace Name Mixin selector named selectedSlot
Lnet/minecraft/entity/player/PlayerInventory;selectedSlot:I
intermediary field_7545
Lnet/minecraft/class_1661;field_7545:I
official k
Lcmy;k:I
-
player
- Mappings:
Namespace Name Mixin selector named player
Lnet/minecraft/entity/player/PlayerInventory;player:Lnet/minecraft/entity/player/PlayerEntity;
intermediary field_7546
Lnet/minecraft/class_1661;field_7546:Lnet/minecraft/class_1657;
official l
Lcmy;l:Lcmz;
-
changeCount
private int changeCount- Mappings:
Namespace Name Mixin selector named changeCount
Lnet/minecraft/entity/player/PlayerInventory;changeCount:I
intermediary field_7542
Lnet/minecraft/class_1661;field_7542:I
official o
Lcmy;o:I
-
-
Constructor Details
-
PlayerInventory
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/entity/player/PlayerInventory;<init>(Lnet/minecraft/entity/player/PlayerEntity;)V
intermediary <init>
Lnet/minecraft/class_1661;<init>(Lnet/minecraft/class_1657;)V
official <init>
Lcmy;<init>(Lcmz;)V
-
-
Method Details
-
getMainHandStack
- Mappings:
Namespace Name Mixin selector named getMainHandStack
Lnet/minecraft/entity/player/PlayerInventory;getMainHandStack()Lnet/minecraft/item/ItemStack;
intermediary method_7391
Lnet/minecraft/class_1661;method_7391()Lnet/minecraft/class_1799;
official f
Lcmy;f()Lcur;
-
getHotbarSize
public static int getHotbarSize()- Mappings:
Namespace Name Mixin selector named getHotbarSize
Lnet/minecraft/entity/player/PlayerInventory;getHotbarSize()I
intermediary method_7368
Lnet/minecraft/class_1661;method_7368()I
official g
Lcmy;g()I
-
canStackAddMore
- Mappings:
Namespace Name Mixin selector named canStackAddMore
Lnet/minecraft/entity/player/PlayerInventory;canStackAddMore(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemStack;)Z
intermediary method_7393
Lnet/minecraft/class_1661;method_7393(Lnet/minecraft/class_1799;Lnet/minecraft/class_1799;)Z
official a
Lcmy;a(Lcur;Lcur;)Z
-
getEmptySlot
public int getEmptySlot()- Mappings:
Namespace Name Mixin selector named getEmptySlot
Lnet/minecraft/entity/player/PlayerInventory;getEmptySlot()I
intermediary method_7376
Lnet/minecraft/class_1661;method_7376()I
official h
Lcmy;h()I
-
addPickBlock
- Mappings:
Namespace Name Mixin selector named addPickBlock
Lnet/minecraft/entity/player/PlayerInventory;addPickBlock(Lnet/minecraft/item/ItemStack;)V
intermediary method_7374
Lnet/minecraft/class_1661;method_7374(Lnet/minecraft/class_1799;)V
official b
Lcmy;b(Lcur;)V
-
swapSlotWithHotbar
public void swapSlotWithHotbar(int slot) - Mappings:
Namespace Name Mixin selector named swapSlotWithHotbar
Lnet/minecraft/entity/player/PlayerInventory;swapSlotWithHotbar(I)V
intermediary method_7365
Lnet/minecraft/class_1661;method_7365(I)V
official c
Lcmy;c(I)V
-
isValidHotbarIndex
public static boolean isValidHotbarIndex(int slot) - Mappings:
Namespace Name Mixin selector named isValidHotbarIndex
Lnet/minecraft/entity/player/PlayerInventory;isValidHotbarIndex(I)Z
intermediary method_7380
Lnet/minecraft/class_1661;method_7380(I)Z
official d
Lcmy;d(I)Z
-
getSlotWithStack
- Mappings:
Namespace Name Mixin selector named getSlotWithStack
Lnet/minecraft/entity/player/PlayerInventory;getSlotWithStack(Lnet/minecraft/item/ItemStack;)I
intermediary method_7395
Lnet/minecraft/class_1661;method_7395(Lnet/minecraft/class_1799;)I
official c
Lcmy;c(Lcur;)I
-
indexOf
Given the item stack to search for, returns the equivalent slot index with a matching stack that is all of: not damaged, not enchanted, and not renamed.- Returns:
- the index where a matching stack was found, or -1
- Mappings:
Namespace Name Mixin selector named indexOf
Lnet/minecraft/entity/player/PlayerInventory;indexOf(Lnet/minecraft/item/ItemStack;)I
intermediary method_7371
Lnet/minecraft/class_1661;method_7371(Lnet/minecraft/class_1799;)I
official d
Lcmy;d(Lcur;)I
-
getSwappableHotbarSlot
public int getSwappableHotbarSlot()- Mappings:
Namespace Name Mixin selector named getSwappableHotbarSlot
Lnet/minecraft/entity/player/PlayerInventory;getSwappableHotbarSlot()I
intermediary method_7386
Lnet/minecraft/class_1661;method_7386()I
official i
Lcmy;i()I
-
scrollInHotbar
public void scrollInHotbar(double scrollAmount) - Mappings:
Namespace Name Mixin selector named scrollInHotbar
Lnet/minecraft/entity/player/PlayerInventory;scrollInHotbar(D)V
intermediary method_7373
Lnet/minecraft/class_1661;method_7373(D)V
official a
Lcmy;a(D)V
-
remove
- Mappings:
Namespace Name Mixin selector named remove
Lnet/minecraft/entity/player/PlayerInventory;remove(Ljava/util/function/Predicate;ILnet/minecraft/inventory/Inventory;)I
intermediary method_29280
Lnet/minecraft/class_1661;method_29280(Ljava/util/function/Predicate;ILnet/minecraft/class_1263;)I
official a
Lcmy;a(Ljava/util/function/Predicate;ILbqp;)I
-
addStack
- Mappings:
Namespace Name Mixin selector named addStack
Lnet/minecraft/entity/player/PlayerInventory;addStack(Lnet/minecraft/item/ItemStack;)I
intermediary method_7366
Lnet/minecraft/class_1661;method_7366(Lnet/minecraft/class_1799;)I
official j
Lcmy;j(Lcur;)I
-
addStack
- Mappings:
Namespace Name Mixin selector named addStack
Lnet/minecraft/entity/player/PlayerInventory;addStack(ILnet/minecraft/item/ItemStack;)I
intermediary method_7385
Lnet/minecraft/class_1661;method_7385(ILnet/minecraft/class_1799;)I
official d
Lcmy;d(ILcur;)I
-
getOccupiedSlotWithRoomForStack
- Mappings:
Namespace Name Mixin selector named getOccupiedSlotWithRoomForStack
Lnet/minecraft/entity/player/PlayerInventory;getOccupiedSlotWithRoomForStack(Lnet/minecraft/item/ItemStack;)I
intermediary method_7390
Lnet/minecraft/class_1661;method_7390(Lnet/minecraft/class_1799;)I
official e
Lcmy;e(Lcur;)I
-
updateItems
public void updateItems()- Mappings:
Namespace Name Mixin selector named updateItems
Lnet/minecraft/entity/player/PlayerInventory;updateItems()V
intermediary method_7381
Lnet/minecraft/class_1661;method_7381()V
official j
Lcmy;j()V
-
insertStack
- Mappings:
Namespace Name Mixin selector named insertStack
Lnet/minecraft/entity/player/PlayerInventory;insertStack(Lnet/minecraft/item/ItemStack;)Z
intermediary method_7394
Lnet/minecraft/class_1661;method_7394(Lnet/minecraft/class_1799;)Z
official f
Lcmy;f(Lcur;)Z
-
insertStack
- Mappings:
Namespace Name Mixin selector named insertStack
Lnet/minecraft/entity/player/PlayerInventory;insertStack(ILnet/minecraft/item/ItemStack;)Z
intermediary method_7367
Lnet/minecraft/class_1661;method_7367(ILnet/minecraft/class_1799;)Z
official c
Lcmy;c(ILcur;)Z
-
offerOrDrop
- Mappings:
Namespace Name Mixin selector named offerOrDrop
Lnet/minecraft/entity/player/PlayerInventory;offerOrDrop(Lnet/minecraft/item/ItemStack;)V
intermediary method_7398
Lnet/minecraft/class_1661;method_7398(Lnet/minecraft/class_1799;)V
official g
Lcmy;g(Lcur;)V
-
offer
- Mappings:
Namespace Name Mixin selector named offer
Lnet/minecraft/entity/player/PlayerInventory;offer(Lnet/minecraft/item/ItemStack;Z)V
intermediary method_32338
Lnet/minecraft/class_1661;method_32338(Lnet/minecraft/class_1799;Z)V
official a
Lcmy;a(Lcur;Z)V
-
removeStack
Removes a specific number of items fromslot
.- Specified by:
removeStack
in interfaceInventory
- Returns:
- the removed items as a stack
- Mappings:
Namespace Name Mixin selector named removeStack
Lnet/minecraft/inventory/Inventory;removeStack(II)Lnet/minecraft/item/ItemStack;
intermediary method_5434
Lnet/minecraft/class_1263;method_5434(II)Lnet/minecraft/class_1799;
official a
Lbqp;a(II)Lcur;
-
removeOne
- Mappings:
Namespace Name Mixin selector named removeOne
Lnet/minecraft/entity/player/PlayerInventory;removeOne(Lnet/minecraft/item/ItemStack;)V
intermediary method_7378
Lnet/minecraft/class_1661;method_7378(Lnet/minecraft/class_1799;)V
official h
Lcmy;h(Lcur;)V
-
removeStack
Removes the stack currently stored atslot
.- Specified by:
removeStack
in interfaceInventory
- Returns:
- the stack previously stored at the indicated slot
- Mappings:
Namespace Name Mixin selector named removeStack
Lnet/minecraft/inventory/Inventory;removeStack(I)Lnet/minecraft/item/ItemStack;
intermediary method_5441
Lnet/minecraft/class_1263;method_5441(I)Lnet/minecraft/class_1799;
official b
Lbqp;b(I)Lcur;
-
setStack
Sets the stack stored atslot
tostack
. -
getBlockBreakingSpeed
- Mappings:
Namespace Name Mixin selector named getBlockBreakingSpeed
Lnet/minecraft/entity/player/PlayerInventory;getBlockBreakingSpeed(Lnet/minecraft/block/BlockState;)F
intermediary method_7370
Lnet/minecraft/class_1661;method_7370(Lnet/minecraft/class_2680;)F
official a
Lcmy;a(Ldse;)F
-
writeNbt
- Mappings:
Namespace Name Mixin selector named writeNbt
Lnet/minecraft/entity/player/PlayerInventory;writeNbt(Lnet/minecraft/nbt/NbtList;)Lnet/minecraft/nbt/NbtList;
intermediary method_7384
Lnet/minecraft/class_1661;method_7384(Lnet/minecraft/class_2499;)Lnet/minecraft/class_2499;
official a
Lcmy;a(Luy;)Luy;
-
readNbt
- Mappings:
Namespace Name Mixin selector named readNbt
Lnet/minecraft/entity/player/PlayerInventory;readNbt(Lnet/minecraft/nbt/NbtList;)V
intermediary method_7397
Lnet/minecraft/class_1661;method_7397(Lnet/minecraft/class_2499;)V
official b
Lcmy;b(Luy;)V
-
size
public int size()Returns the size of the inventory.The inventory should support the slot ID from
0
tosize() - 1
. This should remain constant throughout the inventory's lifetime. -
isEmpty
public boolean isEmpty()Returns whether the inventory consists entirely of empty item stacks.- Specified by:
isEmpty
in interfaceInventory
- Returns:
- whether the inventory consists entirely of empty item stacks
- Mappings:
Namespace Name Mixin selector named isEmpty
Lnet/minecraft/inventory/Inventory;isEmpty()Z
intermediary method_5442
Lnet/minecraft/class_1263;method_5442()Z
official c
Lbqp;c()Z
-
getStack
Returns the stack currently stored atslot
.If the slot is empty, or is outside the bounds of this inventory, this returns
ItemStack.EMPTY
.- Specified by:
getStack
in interfaceInventory
- Returns:
- the stack currently stored at
slot
- Mappings:
Namespace Name Mixin selector named getStack
Lnet/minecraft/inventory/Inventory;getStack(I)Lnet/minecraft/item/ItemStack;
intermediary method_5438
Lnet/minecraft/class_1263;method_5438(I)Lnet/minecraft/class_1799;
official a
Lbqp;a(I)Lcur;
-
getName
Returns the name of this object.This should return the custom name if it exists, otherwise the default name. This should not have styling applied.
- Specified by:
getName
in interfaceNameable
- Returns:
- the name of this object
- Mappings:
Namespace Name Mixin selector named getName
Lnet/minecraft/util/Nameable;getName()Lnet/minecraft/text/Text;
intermediary method_5477
Lnet/minecraft/class_1275;method_5477()Lnet/minecraft/class_2561;
official af
Lbrb;af()Lxp;
-
getArmorStack
- Mappings:
Namespace Name Mixin selector named getArmorStack
Lnet/minecraft/entity/player/PlayerInventory;getArmorStack(I)Lnet/minecraft/item/ItemStack;
intermediary method_7372
Lnet/minecraft/class_1661;method_7372(I)Lnet/minecraft/class_1799;
official e
Lcmy;e(I)Lcur;
-
dropAll
public void dropAll()- Mappings:
Namespace Name Mixin selector named dropAll
Lnet/minecraft/entity/player/PlayerInventory;dropAll()V
intermediary method_7388
Lnet/minecraft/class_1661;method_7388()V
official k
Lcmy;k()V
-
markDirty
public void markDirty()Marks the inventory as modified. Implementations should call this method every time the inventory is changed in any way.- Specified by:
markDirty
in interfaceInventory
- See Also:
- API Note:
- Implementations should mark the inventory for synchronization or
saving in this method. Since this is called frequently, it is not recommended to
synchronize or save the inventory directly in this method. If this inventory is
implemented in a block entity, then it should always call
super.markDirty();
to ensure the block entity gets saved. - Mappings:
Namespace Name Mixin selector named markDirty
Lnet/minecraft/inventory/Inventory;markDirty()V
intermediary method_5431
Lnet/minecraft/class_1263;method_5431()V
official e
Lbqp;e()V
-
getChangeCount
public int getChangeCount()- Mappings:
Namespace Name Mixin selector named getChangeCount
Lnet/minecraft/entity/player/PlayerInventory;getChangeCount()I
intermediary method_7364
Lnet/minecraft/class_1661;method_7364()I
official l
Lcmy;l()I
-
canPlayerUse
Returns whetherplayer
can use this inventory.This is called by
ScreenHandler.canUse(net.minecraft.screen.ScreenHandlerContext, net.minecraft.entity.player.PlayerEntity, net.minecraft.block.Block)
.- Specified by:
canPlayerUse
in interfaceInventory
- Returns:
- whether
player
can use this inventory - See Also:
- API Note:
- Implementations should check the distance between the inventory
holder and
player
. For convenience, this interface offers two methods used by block entities to implement this check. - Mappings:
Namespace Name Mixin selector named canPlayerUse
Lnet/minecraft/inventory/Inventory;canPlayerUse(Lnet/minecraft/entity/player/PlayerEntity;)Z
intermediary method_5443
Lnet/minecraft/class_1263;method_5443(Lnet/minecraft/class_1657;)Z
official a
Lbqp;a(Lcmz;)Z
-
contains
- Mappings:
Namespace Name Mixin selector named contains
Lnet/minecraft/entity/player/PlayerInventory;contains(Lnet/minecraft/item/ItemStack;)Z
intermediary method_7379
Lnet/minecraft/class_1661;method_7379(Lnet/minecraft/class_1799;)Z
official i
Lcmy;i(Lcur;)Z
-
contains
- Mappings:
Namespace Name Mixin selector named contains
Lnet/minecraft/entity/player/PlayerInventory;contains(Lnet/minecraft/registry/tag/TagKey;)Z
intermediary method_7382
Lnet/minecraft/class_1661;method_7382(Lnet/minecraft/class_6862;)Z
official a
Lcmy;a(Laxf;)Z
-
contains
- Mappings:
Namespace Name Mixin selector named contains
Lnet/minecraft/entity/player/PlayerInventory;contains(Ljava/util/function/Predicate;)Z
intermediary method_55753
Lnet/minecraft/class_1661;method_55753(Ljava/util/function/Predicate;)Z
official b
Lcmy;b(Ljava/util/function/Predicate;)Z
-
clone
- Mappings:
Namespace Name Mixin selector named clone
Lnet/minecraft/entity/player/PlayerInventory;clone(Lnet/minecraft/entity/player/PlayerInventory;)V
intermediary method_7377
Lnet/minecraft/class_1661;method_7377(Lnet/minecraft/class_1661;)V
official a
Lcmy;a(Lcmy;)V
-
clear
public void clear() -
populateRecipeFinder
- Mappings:
Namespace Name Mixin selector named populateRecipeFinder
Lnet/minecraft/entity/player/PlayerInventory;populateRecipeFinder(Lnet/minecraft/recipe/RecipeMatcher;)V
intermediary method_7387
Lnet/minecraft/class_1661;method_7387(Lnet/minecraft/class_1662;)V
official a
Lcmy;a(Lcnd;)V
-
dropSelectedItem
- Mappings:
Namespace Name Mixin selector named dropSelectedItem
Lnet/minecraft/entity/player/PlayerInventory;dropSelectedItem(Z)Lnet/minecraft/item/ItemStack;
intermediary method_37417
Lnet/minecraft/class_1661;method_37417(Z)Lnet/minecraft/class_1799;
official a
Lcmy;a(Z)Lcur;
-