| public static com.mojang.serialization.DataResult<ItemStack> |  | 
| public static StreamCodec<RegistryFriendlyByteBuf, ItemStack> |  | 
| public Optional<TooltipComponent> |  | b() |   | getTooltipImage() |   | method_32347() |   | m_mwcbjbmu() |   | getTooltipData() |   | getTooltipData() |  
  | 
| public DataComponentMap |  | a() |   | getComponents() |   | method_57353() |   | m_eutadtlw() |   | getComponents() |   | getComponents() |  
  | 
| public DataComponentMap |  | c() |   | getPrototype() |   | method_58658() |   | m_ejzzxfrl() |   | getDefaultComponents() |   | getItemComponents() |  
  | 
| public DataComponentPatch |  | d() |   | getComponentsPatch() |   | method_57380() |   | m_igidwirs() |   | getComponentChanges() |   | getComponentPatch() |  
  | 
| public DataComponentMap |  | e() |   | immutableComponents() |   | method_65359() |   | m_lxuscpmx() |   | getImmutableComponents() |  
  | 
| public boolean |  | 
| public static com.mojang.serialization.DataResult<Unit> |  | 
| public static Optional<ItemStack> |  | 
| public static ItemStack |  | 
| public boolean |  | f() |   | isEmpty() |   | method_7960() |   | m_vprylruv() |   | isEmpty() |   | isEmpty() |  
  | 
| public boolean |  | 
| public ItemStack |  | a(int arg0) |   | split(int arg0) |   | method_7971(int arg0) |   | m_cgmsskmm(int arg0) |   | split(int amount) |   | split(int amount) |  
  | 
| public ItemStack |  | g() |   | copyAndClear() |   | method_51164() |   | m_ehlafaks() |   | copyAndEmpty() |   | copyAndClear() |  
  | 
| public Item |  | h() |   | getItem() |   | method_7909() |   | m_qxfxfsuy() |   | getItem() |   | getItem() |  
  | 
| public Holder<Item> |  | i() |   | getItemHolder() |   | method_41409() |   | m_pqebapbo() |   | getRegistryEntry() |   | getHolder() |  
  | 
| public boolean |  | 
| public boolean |  | 
| public boolean |  | 
| public boolean |  | 
| public boolean |  | 
| public Stream<TagKey<Item>> |  | j() |   | getTags() |   | method_40133() |   | m_wnspogky() |   | streamTags() |   | streamTags() |  
  | 
| public InteractionResult |  | 
| public float |  | 
| public InteractionResult |  | a(dja arg0, crc arg1, buc arg2) |   | use(Level arg0, Player arg1, InteractionHand arg2) |   | method_7913(class_1937 arg0, class_1657 arg1, class_1268 arg2) |   | m_gtdctvvz(C_cdctfzbn arg0, C_jzrpycqo arg1, C_laxmzoqs arg2) |   | use(World world, PlayerEntity user, Hand hand) |   | use(World world, PlayerEntity user, Hand hand) |  
  | 
| public ItemStack |  | 
| private ItemStack |  | 
| public Tag |  | 
| public Tag |  | 
| public Tag |  | 
| public int |  | k() |   | getMaxStackSize() |   | method_7914() |   | m_rmdiknvo() |   | getMaxCount() |   | getMaxCount() |  
  | 
| public boolean |  | l() |   | isStackable() |   | method_7946() |   | m_sjztniec() |   | isStackable() |   | isStackable() |  
  | 
| public boolean |  | m() |   | isDamageableItem() |   | method_7963() |   | m_iculdxhv() |   | isDamageable() |   | isDamageable() |  
  | 
| public boolean |  | n() |   | isDamaged() |   | method_7986() |   | m_nosilizp() |   | isDamaged() |   | isDamaged() |  
  | 
| public int |  | o() |   | getDamageValue() |   | method_7919() |   | m_arqkxkec() |   | getDamage() |   | getDamage() |  
  | 
| public void |  | b(int arg0) |   | setDamageValue(int arg0) |   | method_7974(int arg0) |   | m_rghjmiwl(int arg0) |   | setDamage(int damage) |   | setDamage(int damage) |  
  | 
| public int |  | p() |   | getMaxDamage() |   | method_7936() |   | m_fdjdvcpt() |   | getMaxDamage() |   | getMaxDamage() |  
  | 
| public boolean |  | q() |   | isBroken() |   | method_61657() |   | m_staooslz() |   | shouldBreak() |  
  | 
| public boolean |  | r() |   | nextDamageWillBreak() |   | method_63692() |   | m_abowndct() |   | willBreakNextUse() |  
  | 
| public void |  | a(int arg0, arq arg1, arr arg2, Consumer<cyz> arg3) |   | hurtAndBreak(int arg0, ServerLevel arg1, ServerPlayer arg2, Consumer<Item> arg3) |   | method_7956(int arg0, class_3218 arg1, class_3222 arg2, Consumer<class_1792> arg3) |   | m_hskgqwrk(int arg0, C_bdwnwhiu arg1, C_mxrobsgg arg2, Consumer<C_vorddnax> arg3) |   | damage(int amount, ServerWorld world, ServerPlayerEntity player, Consumer<Item> breakCallback) |   | damageEquipment(int damage, ServerWorld world, ServerPlayerEntity player, Consumer<Item> consumer) |  
  | 
| private int |  | a(int arg0, arq arg1, arr arg2) |   | processDurabilityChange(int arg0, ServerLevel arg1, ServerPlayer arg2) |   | method_61651(int arg0, class_3218 arg1, class_3222 arg2) |   | m_gbuhgijv(int arg0, C_bdwnwhiu arg1, C_mxrobsgg arg2) |   | calculateDamage(int baseDamage, ServerWorld world, ServerPlayerEntity player) |   | m_gbuhgijv(int arg0, ServerWorld world, ServerPlayerEntity player) |  
  | 
| private void |  | a(int arg0, arr arg1, Consumer<cyz> arg2) |   | applyDamage(int arg0, ServerPlayer arg1, Consumer<Item> arg2) |   | method_61652(int arg0, class_3222 arg1, Consumer<class_1792> arg2) |   | m_zbrzqwly(int arg0, C_mxrobsgg arg1, Consumer<C_vorddnax> arg2) |   | onDurabilityChange(int damage, ServerPlayerEntity player, Consumer<Item> breakCallback) |   | m_zbrzqwly(int durability, ServerPlayerEntity player, Consumer<Item> arg2) |  
  | 
| public void |  | 
| public void |  | a(int arg0, bxe arg1, bwp arg2) |   | hurtAndBreak(int arg0, LivingEntity arg1, EquipmentSlot arg2) |   | method_7970(int arg0, class_1309 arg1, class_1304 arg2) |   | m_rcukuoag(int arg0, C_usxaxydn arg1, C_yuycoehb arg2) |   | damage(int amount, LivingEntity entity, EquipmentSlot slot) |   | damageEquipment(int damage, LivingEntity entity, EquipmentSlot slot) |  
  | 
| public ItemStack |  | a(int arg0, diz arg1, bxe arg2, bwp arg3) |   | hurtAndConvertOnBreak(int arg0, ItemLike arg1, LivingEntity arg2, EquipmentSlot arg3) |   | method_60986(int arg0, class_1935 arg1, class_1309 arg2, class_1304 arg3) |   | m_caefvdpe(int arg0, C_gmbqjnle arg1, C_usxaxydn arg2, C_yuycoehb arg3) |   | damage(int amount, ItemConvertible itemAfterBreaking, LivingEntity entity, EquipmentSlot slot) |   | damageEquipment(int damage, ItemConvertible item, LivingEntity entity, EquipmentSlot slot) |  
  | 
| public boolean |  | s() |   | isBarVisible() |   | method_31578() |   | m_rvfytoek() |   | isItemBarVisible() |   | isItemBarVisible() |  
  | 
| public int |  | t() |   | getBarWidth() |   | method_31579() |   | m_pjqbesil() |   | getItemBarStep() |   | getItemBarStep() |  
  | 
| public int |  | u() |   | getBarColor() |   | method_31580() |   | m_sfmosozi() |   | getItemBarColor() |   | getItemBarColor() |  
  | 
| public boolean |  | a(cws arg0, cvf arg1, crc arg2) |   | overrideStackedOnOther(Slot arg0, ClickAction arg1, Player arg2) |   | method_31575(class_1735 arg0, class_5536 arg1, class_1657 arg2) |   | m_hmrpegvi(C_nhvqfffd arg0, C_qcuteihm arg1, C_jzrpycqo arg2) |   | onStackClicked(Slot slot, ClickType clickType, PlayerEntity player) |   | onClickedOnOther(Slot otherSlot, ClickType clickType, PlayerEntity player) |  
  | 
| public boolean |  | a(czd arg0, cws arg1, cvf arg2, crc arg3, bxv arg4) |   | overrideOtherStackedOnMe(ItemStack arg0, Slot arg1, ClickAction arg2, Player arg3, SlotAccess arg4) |   | method_31576(class_1799 arg0, class_1735 arg1, class_5536 arg2, class_1657 arg3, class_5630 arg4) |   | m_uhghycli(C_sddaxwyk arg0, C_nhvqfffd arg1, C_qcuteihm arg2, C_jzrpycqo arg3, C_xkkpnyvk arg4) |   | onClicked(ItemStack stack, Slot slot, ClickType clickType, PlayerEntity player, StackReference cursorStackReference) |   | onClicked(ItemStack otherStack, Slot thisSlot, ClickType clickType, PlayerEntity player, StackReference cursorStackReference) |  
  | 
| public boolean |  | 
| public void |  | 
| public void |  | a(dja arg0, eah arg1, iu arg2, crc arg3) |   | mineBlock(Level arg0, BlockState arg1, BlockPos arg2, Player arg3) |   | method_7952(class_1937 arg0, class_2680 arg1, class_2338 arg2, class_1657 arg3) |   | m_emygxjdg(C_cdctfzbn arg0, C_txtbiemp arg1, C_hynzadkk arg2, C_jzrpycqo arg3) |   | postMine(World world, BlockState state, BlockPos pos, PlayerEntity miner) |   | postMine(World world, BlockState state, BlockPos pos, PlayerEntity miner) |  
  | 
| public boolean |  | 
| public InteractionResult |  | a(crc arg0, bxe arg1, buc arg2) |   | interactLivingEntity(Player arg0, LivingEntity arg1, InteractionHand arg2) |   | method_7920(class_1657 arg0, class_1309 arg1, class_1268 arg2) |   | m_imaclehj(C_jzrpycqo arg0, C_usxaxydn arg1, C_laxmzoqs arg2) |   | useOnEntity(PlayerEntity user, LivingEntity entity, Hand hand) |   | useOnEntity(PlayerEntity user, LivingEntity entity, Hand hand) |  
  | 
| public ItemStack |  | v() |   | copy() |   | method_7972() |   | m_jowurkjh() |   | copy() |   | copy() |  
  | 
| public ItemStack |  | c(int arg0) |   | copyWithCount(int arg0) |   | method_46651(int arg0) |   | m_kguduvdp(int arg0) |   | copyWithCount(int count) |   | copyWithCount(int count) |  
  | 
| public ItemStack |  | 
| public ItemStack |  | 
| private ItemStack |  | 
| public static boolean |  | 
| public static boolean |  | 
| public static boolean |  | 
| public static boolean |  | 
| public static com.mojang.serialization.MapCodec<ItemStack> |  | 
| public static int |  | 
| public static int |  | 
| public void |  | a(dja arg0, bwf arg1, bwp arg2) |   | inventoryTick(Level arg0, Entity arg1, EquipmentSlot arg2) |   | method_7917(class_1937 arg0, class_1297 arg1, class_1304 arg2) |   | m_cwjcossc(C_cdctfzbn arg0, C_astfners arg1, C_yuycoehb arg2) |   | inventoryTick(World world, Entity entity, EquipmentSlot slot) |   | inventoryTick(World world, Entity entity, EquipmentSlot arg2) |  
  | 
| public void |  | a(dja arg0, crc arg1, int arg2) |   | onCraftedBy(Level arg0, Player arg1, int arg2) |   | method_7982(class_1937 arg0, class_1657 arg1, int arg2) |   | m_zpjrlkav(C_cdctfzbn arg0, C_jzrpycqo arg1, int arg2) |   | onCraftByPlayer(World world, PlayerEntity player, int amount) |   | onCraftByPlayer(World world, PlayerEntity player, int amount) |  
  | 
| public void |  | 
| public int |  | 
| public ItemUseAnimation |  | w() |   | getUseAnimation() |   | method_7976() |   | m_dfvhukte() |   | getUseAction() |   | getUseAction() |  
  | 
| public void |  | a(dja arg0, bxe arg1, int arg2) |   | releaseUsing(Level arg0, LivingEntity arg1, int arg2) |   | method_7930(class_1937 arg0, class_1309 arg1, int arg2) |   | m_wjnupjdh(C_cdctfzbn arg0, C_usxaxydn arg1, int arg2) |   | onStoppedUsing(World world, LivingEntity user, int remainingUseTicks) |   | onStoppedUsing(World world, LivingEntity user, int remainingUseTicks) |  
  | 
| public boolean |  | x() |   | useOnRelease() |   | method_7967() |   | m_biphgkrd() |   | isUsedOnRelease() |   | isUsedOnRelease() |  
  | 
| public <T> T |  | 
| public <T> void |  | 
| public <T, U> T |  | a(ki<T> arg0, T arg1, U arg2, BiFunction<T, U, T> arg3) |   | update(DataComponentType<T> arg0, T arg1, U arg2, BiFunction<T, U, T> arg3) |   | method_57367(class_9331<T> arg0, T arg1, U arg2, BiFunction<T, U, T> arg3) |   | m_iaantrnc(C_pscqxfcs<T> arg0, T arg1, U arg2, BiFunction<T, U, T> arg3) |   | apply(ComponentType<T> type, T defaultValue, U change, BiFunction<T, U, T> applier) |   | apply(DataComponentType<T> type, T defaultValue, U newValue, BiFunction<T, U, T> componentFactory) |  
  | 
| public <T> T |  | a(ki<T> arg0, T arg1, UnaryOperator<T> arg2) |   | update(DataComponentType<T> arg0, T arg1, UnaryOperator<T> arg2) |   | method_57368(class_9331<T> arg0, T arg1, UnaryOperator<T> arg2) |   | m_kamdhzie(C_pscqxfcs<T> arg0, T arg1, UnaryOperator<T> arg2) |   | apply(ComponentType<T> type, T defaultValue, UnaryOperator<T> applier) |   | apply(DataComponentType<T> type, T defaultValue, UnaryOperator<T> componentFactory) |  
  | 
| public <T> T |  | 
| public void |  | 
| public void |  | 
| public void |  | 
| public Component |  | y() |   | getHoverName() |   | method_7964() |   | m_xvzvtufo() |   | getName() |   | getName() |  
  | 
| public Component |  | z() |   | getCustomName() |   | method_65130() |   | m_ohkezqkf() |   | getCustomName() |  
  | 
| public Component |  | A() |   | getItemName() |   | method_63693() |   | m_ckupoleb() |   | getItemName() |  
  | 
| public Component |  | B() |   | getStyledHoverName() |   | method_63015() |   | m_lulbgdsa() |   | getFormattedName() |  
  | 
| public <T extends TooltipProvider> void |  | a(ki<T> arg0, cyz$b arg1, dch arg2, Consumer<wy> arg3, das arg4) |   | addToTooltip(DataComponentType<T> arg0, Item$TooltipContext arg1, TooltipDisplay arg2, Consumer<Component> arg3, TooltipFlag arg4) |   | method_57369(class_9331<T> arg0, class_1792$class_9635 arg1, class_10712 arg2, Consumer<class_2561> arg3, class_1836 arg4) |   | m_hdopgosb(C_pscqxfcs<T> arg0, C_vorddnax$C_rdhfmrgz arg1, C_idvlscju arg2, Consumer<C_rdaqiwdt> arg3, C_taebrtdw arg4) |   | appendComponentTooltip(ComponentType<T> componentType, Item$TooltipContext context, TooltipDisplayComponent displayComponent, Consumer<Text> textConsumer, TooltipType type) |   | appendTooltip(DataComponentType<T> componentType, Item$TooltipContext arg1, C_idvlscju arg2, Consumer<Text> arg3, TooltipConfig config) |  
  | 
| public List<Component> |  | a(cyz$b arg0, crc arg1, das arg2) |   | getTooltipLines(Item$TooltipContext arg0, Player arg1, TooltipFlag arg2) |   | method_7950(class_1792$class_9635 arg0, class_1657 arg1, class_1836 arg2) |   | m_ywdqmcbk(C_vorddnax$C_rdhfmrgz arg0, C_jzrpycqo arg1, C_taebrtdw arg2) |   | getTooltip(Item$TooltipContext context, PlayerEntity player, TooltipType type) |   | getTooltip(Item$TooltipContext context, PlayerEntity player, TooltipConfig config) |  
  | 
| public void |  | a(cyz$b arg0, dch arg1, crc arg2, das arg3, Consumer<wy> arg4) |   | addDetailsToTooltip(Item$TooltipContext arg0, TooltipDisplay arg1, Player arg2, TooltipFlag arg3, Consumer<Component> arg4) |   | method_67194(class_1792$class_9635 arg0, class_10712 arg1, class_1657 arg2, class_1836 arg3, Consumer<class_2561> arg4) |   | m_utrkycgn(C_vorddnax$C_rdhfmrgz arg0, C_idvlscju arg1, C_jzrpycqo arg2, C_taebrtdw arg3, Consumer<C_rdaqiwdt> arg4) |   | appendTooltip(Item$TooltipContext context, TooltipDisplayComponent displayComponent, PlayerEntity player, TooltipType type, Consumer<Text> textConsumer) |   | m_utrkycgn(Item$TooltipContext arg0, C_idvlscju arg1, PlayerEntity player, TooltipConfig arg3, Consumer<Text> arg4) |  
  | 
| private void |  | a(Consumer<wy> arg0, dch arg1, crc arg2) |   | addAttributeTooltips(Consumer<Component> arg0, TooltipDisplay arg1, Player arg2) |   | method_57363(Consumer<class_2561> arg0, class_10712 arg1, class_1657 arg2) |   | m_phvcusub(Consumer<C_rdaqiwdt> arg0, C_idvlscju arg1, C_jzrpycqo arg2) |   | appendAttributeModifiersTooltip(Consumer<Text> textConsumer, TooltipDisplayComponent displayComponent, PlayerEntity player) |   | appendModifierTooltips(Consumer<Text> textConsumer, C_idvlscju arg1, PlayerEntity player) |  
  | 
| private void |  | a(Consumer<wy> arg0, crc arg1, je<byf> arg2, byi arg3) |   | addModifierTooltip(Consumer<Component> arg0, Player arg1, Holder<Attribute> arg2, AttributeModifier arg3) |   | method_57364(Consumer<class_2561> arg0, class_1657 arg1, class_6880<class_1320> arg2, class_1322 arg3) |   | m_aedabdbt(Consumer<C_rdaqiwdt> arg0, C_jzrpycqo arg1, C_cjzoxshv<C_ppzfbbsy> arg2, C_hdbqsqsm arg3) |   | appendAttributeModifierTooltip(Consumer<Text> textConsumer, PlayerEntity player, RegistryEntry<EntityAttribute> attribute, EntityAttributeModifier modifier) |   | appendModifierTooltip(Consumer<Text> textConsumer, PlayerEntity player, Holder<EntityAttribute> attribute, EntityAttributeModifier modifier) |  
  | 
| public boolean |  | C() |   | hasFoil() |   | method_7958() |   | m_vncsdaoo() |   | hasGlint() |   | hasGlint() |  
  | 
| public Rarity |  | D() |   | getRarity() |   | method_7932() |   | m_yrbtnzbt() |   | getRarity() |   | getRarity() |  
  | 
| public boolean |  | E() |   | isEnchantable() |   | method_7923() |   | m_gwzgwsrv() |   | isEnchantable() |   | isEnchantable() |  
  | 
| public void |  | 
| public boolean |  | F() |   | isEnchanted() |   | method_7942() |   | m_zszkcovn() |   | hasEnchantments() |   | hasEnchantments() |  
  | 
| public ItemEnchantments |  | G() |   | getEnchantments() |   | method_58657() |   | m_wjqnxase() |   | getEnchantments() |   | getEnchantments() |  
  | 
| public boolean |  | H() |   | isFramed() |   | method_7961() |   | m_tcgbrtym() |   | isInFrame() |   | isInFrame() |  
  | 
| public void |  | 
| public ItemFrame |  | I() |   | getFrame() |   | method_7945() |   | m_sqtvrdfj() |   | getFrame() |   | getFrame() |  
  | 
| public Entity |  | J() |   | getEntityRepresentation() |   | method_27319() |   | m_yawcimjo() |   | getHolder() |   | getEntityHolder() |  
  | 
| public void |  | a(bwq arg0, BiConsumer<je<byf>, byi> arg1) |   | forEachModifier(EquipmentSlotGroup arg0, BiConsumer<Holder<Attribute>, AttributeModifier> arg1) |   | method_60617(class_9274 arg0, BiConsumer<class_6880<class_1320>, class_1322> arg1) |   | m_bhuguvni(C_qfoqahef arg0, BiConsumer<C_cjzoxshv<C_ppzfbbsy>, C_hdbqsqsm> arg1) |   | applyAttributeModifier(AttributeModifierSlot slot, BiConsumer<RegistryEntry<EntityAttribute>, EntityAttributeModifier> attributeModifierConsumer) |  
  | 
| public void |  | a(bwp arg0, BiConsumer<je<byf>, byi> arg1) |   | forEachModifier(EquipmentSlot arg0, BiConsumer<Holder<Attribute>, AttributeModifier> arg1) |   | method_57354(class_1304 arg0, BiConsumer<class_6880<class_1320>, class_1322> arg1) |   | m_saymlnod(C_yuycoehb arg0, BiConsumer<C_cjzoxshv<C_ppzfbbsy>, C_hdbqsqsm> arg1) |   | applyAttributeModifiers(EquipmentSlot slot, BiConsumer<RegistryEntry<EntityAttribute>, EntityAttributeModifier> attributeModifierConsumer) |  
  | 
| public Component |  | K() |   | getDisplayName() |   | method_7954() |   | m_ihhujymf() |   | toHoverableText() |   | toHoverableText() |  
  | 
| public boolean |  | 
| public boolean |  | 
| public int |  | L() |   | getPopTime() |   | method_7965() |   | m_pwfafzwz() |   | getBobbingAnimationTime() |   | getCooldown() |  
  | 
| public void |  | d(int arg0) |   | setPopTime(int arg0) |   | method_7912(int arg0) |   | m_utrmkjnp(int arg0) |   | setBobbingAnimationTime(int bobbingAnimationTime) |   | setCooldown(int cooldown) |  
  | 
| public int |  | M() |   | getCount() |   | method_7947() |   | m_uglewown() |   | getCount() |   | getCount() |  
  | 
| public void |  | e(int arg0) |   | setCount(int arg0) |   | method_7939(int arg0) |   | m_bpcuczsh(int arg0) |   | setCount(int count) |   | setCount(int count) |  
  | 
| public void |  | f(int arg0) |   | limitSize(int arg0) |   | method_58408(int arg0) |   | m_uzwjgkgy(int arg0) |   | capCount(int maxCount) |   | minimizeCount(int count) |  
  | 
| public void |  | g(int arg0) |   | grow(int arg0) |   | method_7933(int arg0) |   | m_nivkbhlq(int arg0) |   | increment(int amount) |   | increment(int amount) |  
  | 
| public void |  | h(int arg0) |   | shrink(int arg0) |   | method_7934(int arg0) |   | m_whunqrso(int arg0) |   | decrement(int amount) |   | decrement(int amount) |  
  | 
| public void |  | 
| public ItemStack |  | 
| public void |  | b(dja arg0, bxe arg1, int arg2) |   | onUseTick(Level arg0, LivingEntity arg1, int arg2) |   | method_7949(class_1937 arg0, class_1309 arg1, int arg2) |   | m_iadyttua(C_cdctfzbn arg0, C_usxaxydn arg1, int arg2) |   | usageTick(World world, LivingEntity user, int remainingUseTicks) |   | usageTick(World world, LivingEntity user, int remainingUseTicks) |  
  | 
| public void |  | 
| public boolean |  | 
| public boolean |  | 
| public boolean |  | a(eah arg0, dja arg1, iu arg2, crc arg3) |   | canDestroyBlock(BlockState arg0, Level arg1, BlockPos arg2, Player arg3) |   | method_66334(class_2680 arg0, class_1937 arg1, class_2338 arg2, class_1657 arg3) |   | m_dcuepyme(C_txtbiemp arg0, C_cdctfzbn arg1, C_hynzadkk arg2, C_jzrpycqo arg3) |   | canMine(BlockState state, World world, BlockPos pos, PlayerEntity player) |   | m_dcuepyme(BlockState state, World world, BlockPos pos, PlayerEntity player) |  
  |