рджреЗрдЦреЗрдВ https://github.com/FabricMC/yarn/issues/1656#issuecomment -812829091
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╛ рддреЛ onSizeChanged
рдпрд╛ onItemCountChanged
рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕реНрдЯреИрдХ рдЖрдХрд╛рд░, рдпрд╛ рдЖрдЗрдЯрдо рдЧрд┐рдирддреА рд╣реИ, рдЬрд┐рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рди рдХрд┐ рд╕реНрдЯреИрдХ рдХрд╛рдЙрдВрдЯ (рд╕реНрдЯреИрдХ рдХреА рд╕рдВрдЦреНрдпрд╛)ред
рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА 21w11a рдХреА рддрд░рд╣ рд╕реНрдХреНрд░реАрди рд╣реИрдВрдбрд▓рд░ рдкрд░ Mojang рдХреЗ рд╣рд╛рд▓рд┐рдпрд╛ рд╕реБрдзрд╛рд░ рдХреЗ рдмрд╛рдж рднреА рд▓рд╛рдЧреВ рд╣реИ?
рдареАрдХ рд╣реИ, рдореВрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг 100% рд╕рд╣реА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░:
Slot.onStackChanged
рдЕрднреА рднреА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдЯреИрдХ рдЪреЗрдВрдЬ рд╣реИрдВрдбрд▓рд░ рдирд╣реАрдВ рд╣реИредtransferSlot
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдЯреИрдВрдб рдЗрдирдкреБрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреАредnewStack, originalStack
(рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡реЗ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдк рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЙрд╕рд╕реЗ рд╕реНрд╡реИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛)редonCrafted(ItemStack, int)
рдХреЛ originalStack
(рд╡рд░реНрддрдорд╛рди рдореИрдкрд┐рдВрдЧ рдореЗрдВ newItem
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдвреЗрд░ рдХреЗ рдЖрдХрд╛рд░редSlot.onCrafted(ItemStack, int)
рдХреЗрд╡рд▓ onStackChanged
рджреНрд╡рд╛рд░рд╛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредCraftingResultSlot
, FurnaceOutputSlot
рдФрд░ TradeOutputSlot
рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рд╣реЛрддрд╛ рд╣реИ: рдпрд╣ int рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдирд┐рдЬреА amount
рдлрд╝реАрд▓реНрдб рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рдлрд┐рд░ onCrafted(ItemStack)
рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ Slot.onCrafted(ItemStack)
рдХреЗрд╡рд▓ рдЙрди рддреАрди рд╡рд░реНрдЧреЛрдВ рдореЗрдВ onCrafted(ItemStack, int)
рдФрд░ onTakeItem
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредamount
рдлрд╝реАрд▓реНрдб рдХреЛ 0 рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рдЪрд▓рд╛рддрд╛ рд╣реИ (рдлрд░реНрдиреЗрд╕ рдбреНрд░реЙрдк XP рдЖрджрд┐)рдирд┐рд╖реНрдХрд░реНрд╖ (рдбреАрдмрдЧрд░ рдпрд╛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд╕рд╛рде рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ):
onStackChanged
рдХреЛ рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдЗрдЯрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд▓реЙрдЯ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рдФрд░ onCrafted(ItemStack, int)
рдЬрдм рд╡рд╣ рдЧрд┐рдирддреА рдШрдЯ рдЬрд╛рддреА рд╣реИ (= рдЖрдЗрдЯрдо рдирд┐рдХрд╛рд▓ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)редonCrafted(ItemStack)
рдпрд╛ рддреЛ рдЖрдВрд╢рд┐рдХ рдХрдореА ( onStackChanged
) рдпрд╛ рдПрдХ рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рдиреЗ рдкрд░ ( onTakeItem
) рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрддрд╛ рд╣реИредрдирд┐рд╖реНрдХрд░реНрд╖ (рдбреАрдмрдЧрд░ рдпрд╛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд╕рд╛рде рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ):
- рдпреЗ рд╕рднреА рд╡рд┐рдзрд┐рдпрд╛рдВ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд▓реЙрдЯ (рдХреНрд░рд╛рдлреНрдЯрд┐рдВрдЧ рдпрд╛ рдЯреНрд░реЗрдбрд┐рдВрдЧ) рд╕реЗ рдЖрдЗрдЯрдо рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред
- onStackChanged рдХреЛ рддрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЖрдЗрдЯрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд▓реЙрдЯ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рдФрд░ onCrafted(ItemStack, int) рдЬрдм рд╡рд╣ рдЧрд┐рдирддреА рдШрдЯ рдЬрд╛рддреА рд╣реИ (= рдЖрдЗрдЯрдо рдирд┐рдХрд╛рд▓ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред
рд╡рд┐рдзрд┐ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдХреЙрд▓ рдХрд░рддреА рд╣реИ, transferSlot
, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддреНрд╡рд░рд┐рдд рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдЙрд░реНрдл тАЛтАЛтАЛтАЛрд╢рд┐рдлреНрдЯ рдХреНрд▓рд┐рдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ, onQuickTransfer
рдореБрдЭреЗ рд╕рдмрд╕реЗ рд╕рдЯреАрдХ рд▓рдЧрддрд╛ рд╣реИред рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдП рдЧрдП рдереЗред
рдпрд╣ рдЕрднреА рднреА onCrafted
рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ред