5.1.22
- fix: DamageItem implementation (close #128)
 
5.1.21
- fix: unbreakable tools break immediately with recipes that consume durability (close #127)
 
5.1.20
- fix: dispense behavior crash (close #125)
 - fix(recipe): random block ticking not working if block implementation… (#93)
 - fix(recipe): random block ticking need reload to work
 
5.1.15
- improve: drop_item now does not spawn item entity with random offset
 - improve: skip some validation for ghost recipes
 - fix: use air ingredient & remove main hand check since MC will invoke off hand if main hand is pass (#80)
 
5.1.14
- fix: IncompatibleClassChangeError when KubeJS is not present
 - fix: move 
loadCatalystsInfotoPostActionRendererfor avoiding load client class (#79) - fix: info badge position in block exploding category (#77)
 - improve: show the conditions for catalysts (#71) (#76)
 
5.1.11
6.4.2
- fix: DamageItem implementation (close #128)
 
6.4.1
- feat: shorthand ingredient
 
6.4.0
- feat: use string to define more things
 - improve: make BlockPredicateExtensions error message easier to understand
 - fix: unbreakable tools break immediately with recipes that consume durability (close #127)
 
6.3.8
- fix: dispense behavior crash
 - chore: remove unused accessor
 
6.3.7
- fix: custom action icon not working in some cases
 
6.3.6
- feat: EMI part 3
 
6.4.2
- fix: DamageItem implementation (close #128)
 
6.4.1
- feat: shorthand ingredient
 
6.4.0
- refactor: use ParsedItem to simplify LycheeBuilder
 - feat: use string to define more things
 - improve: make BlockPredicateExtensions error message easier to understand
 - fix: unbreakable tools break immediately with recipes that consume durability (close #127)
 
6.3.8
- feat: port fabric changes to neoforge 1.21 (#126)
 - chore: remove unused accessor
 - fix: add entrypoint for emi
 - fix: dispense behavior crash
 - build: bump neoforge
 - fix: custom action icon not working in some cases
 - feat(rv): emi add remainder support & anvil recipe info
 - feat(rv): emi widgets
 - feat: add emi support & optimize jei helper
 
6.3.4
- fix: debug outline condition
 
6.3.3
- fix: crash with client level cast to server level (#120)
 
6.4.1
- feat: shorthand ingredient
 
6.4.0
- feat: use string to define more things
 - improve: make BlockPredicateExtensions error message easier to understand
 - fix: unbreakable tools break immediately with recipes that consume durability (close #127)
 
6.3.8
- fix: dispense behavior crash
 - chore: remove unused accessor
 
6.3.7
- fix: custom action icon not working in some cases
 
6.3.6
- feat: EMI part 3
 
6.3.5
- feat: EMI part 2
 - feat: EMI part 1
 
6.4.1
- feat: shorthand ingredient
 
6.4.0
- refactor: use ParsedItem to simplify LycheeBuilder
 - feat: use string to define more things
 - improve: make BlockPredicateExtensions error message easier to understand
 - fix: unbreakable tools break immediately with recipes that consume durability (close #127)
 
6.3.8
- feat: port fabric changes to neoforge 1.21 (#126)
 - chore: remove unused accessor
 - fix: add entrypoint for emi
 - fix: dispense behavior crash
 - build: bump neoforge
 - fix: custom action icon not working in some cases
 - feat(rv): emi add remainder support & anvil recipe info
 - feat(rv): emi widgets
 - feat: add emi support & optimize jei helper
 
6.3.4
- fix: debug outline condition
 
6.3.3
- fix: crash with client level cast to server level (#120)
 
6.3.2
- Merge pull request #118 from SettingDust/1.21-neoforge
 - chore: remove fabric api fluid name get
 - build: fix jade loader
 - fix: check hovered when click 
InteractiveRenderElement - chore: drop the interaction result for 
CustomCondition - fix: fix AT and kubejs
 - build: fix the script
 - feat: append mod name on block
 - refactor: input action
 - fix: kubejs plugin adapt 9caa62e4ec29844890e43c0d5cdce0c6143e69a1
 - fix: location.fluid condition tootlip
 - fix: param
 - improve: block element positioning
 - fix: minor bugs
 - feat: category modifier
 - feat: allowing skipping layout group
 - refactor: loot params
 - feat(rv): selective element replacement
 - chore: resolve conflicts. add more StreamCodecs
 - feat: remove 
check_param. addparam - fix: marker serialization
 - feat: category metadata part 3
 - feat: category metadata part 2
 - feat: category metadata
 - chore: add access transformer for fade2ec558711a8747df4027a28660613c50ad6d
 - feat: entity ticking recipe part 2
 - feat: entity ticking recipe
 - perf(context): use reference map for context
 - fix: missing level context
 - refactor: split optional and required key
 - chore: adapt 348340da968da407ccfe5b00d03b9e93ae6455cb changes to neoforge
 - refactor: simplify LycheeContextKey
 - improve: mixin
 - improve: fine-tuning positions
 - feat: allow using custom icon on drop_item
 - refactor(rv): unified RV categories (#115)
 - feat: allow cycling state property reversedly
 - feat: new action 
move 
6.4.0
- feat: use string to define more things
 - improve: make BlockPredicateExtensions error message easier to understand
 - fix: unbreakable tools break immediately with recipes that consume durability (close #127)
 
6.3.8
- fix: dispense behavior crash
 - chore: remove unused accessor
 
6.3.7
- fix: custom action icon not working in some cases
 
6.3.6
- feat: EMI part 3
 
6.3.5
- feat: EMI part 2
 - feat: EMI part 1
 
6.3.4
- fix: debug outline condition
 
6.4.0
- refactor: use ParsedItem to simplify LycheeBuilder
 - feat: use string to define more things
 - improve: make BlockPredicateExtensions error message easier to understand
 - fix: unbreakable tools break immediately with recipes that consume durability (close #127)
 
6.3.8
- feat: port fabric changes to neoforge 1.21 (#126)
 - chore: remove unused accessor
 - fix: add entrypoint for emi
 - fix: dispense behavior crash
 - build: bump neoforge
 - fix: custom action icon not working in some cases
 - feat(rv): emi add remainder support & anvil recipe info
 - feat(rv): emi widgets
 - feat: add emi support & optimize jei helper
 
6.3.4
- fix: debug outline condition
 
6.3.3
- fix: crash with client level cast to server level (#120)
 
6.3.2
- Merge pull request #118 from SettingDust/1.21-neoforge
 - chore: remove fabric api fluid name get
 - build: fix jade loader
 - fix: check hovered when click 
InteractiveRenderElement - chore: drop the interaction result for 
CustomCondition - fix: fix AT and kubejs
 - build: fix the script
 - feat: append mod name on block
 - refactor: input action
 - fix: kubejs plugin adapt 9caa62e4ec29844890e43c0d5cdce0c6143e69a1
 - fix: location.fluid condition tootlip
 - fix: param
 - improve: block element positioning
 - fix: minor bugs
 - feat: category modifier
 - feat: allowing skipping layout group
 - refactor: loot params
 - feat(rv): selective element replacement
 - chore: resolve conflicts. add more StreamCodecs
 - feat: remove 
check_param. addparam - fix: marker serialization
 - feat: category metadata part 3
 - feat: category metadata part 2
 - feat: category metadata
 - chore: add access transformer for fade2ec558711a8747df4027a28660613c50ad6d
 - feat: entity ticking recipe part 2
 - feat: entity ticking recipe
 - perf(context): use reference map for context
 - fix: missing level context
 - refactor: split optional and required key
 - chore: adapt 348340da968da407ccfe5b00d03b9e93ae6455cb changes to neoforge
 - refactor: simplify LycheeContextKey
 - improve: mixin
 - improve: fine-tuning positions
 - feat: allow using custom icon on drop_item
 - refactor(rv): unified RV categories (#115)
 - feat: allow cycling state property reversedly
 - feat: new action 
move 
6.2.1
- refactor: use sprites
 - refactor: more StreamCodecs
 - feat: support create block entities render (#111)
 - feat: custom action icon
 
5.1.21
- fix: unbreakable tools break immediately with recipes that consume durability (close #127)
 
5.1.20
- fix: dispense behavior crash (close #125)
 - fix(recipe): random block ticking not working if block implementation… (#93)
 - fix(recipe): random block ticking need reload to work
 
5.1.15
- improve: drop_item now does not spawn item entity with random offset
 - improve: skip some validation for ghost recipes
 - fix: use air ingredient & remove main hand check since MC will invoke off hand if main hand is pass (#80)
 
5.1.14
- fix: IncompatibleClassChangeError when KubeJS is not present
 - fix: move 
loadCatalystsInfotoPostActionRendererfor avoiding load client class (#79) - fix: info badge position in block exploding category (#77)
 - improve: show the conditions for catalysts (#71) (#76)
 
5.1.11
- fix: Hurt allow empty source & drops are missing when recipe can't match in exploding (#75)
 - fix: read the source of Hurt correctly (#73)
 - chore: recommends kiwi
 
5.1.10
- improve: do not show prevent default description in tooltip if there are conditions in the action (close #71)
 - fix: incompatibility with Polymer
 
5.1.21
- fix: unbreakable tools break immediately with recipes that consume durability (close #127)
 
5.1.20
5.1.19
- feat: block render support create 6+ (#107)
 
5.1.18
- fix: do not use mixin extras
 
5.1.17
- fix: create block entities aren't rendered (#97)
 
5.1.16
- fix(recipe): random block ticking not working if block implementation… (#93)
 - fix(recipe): random block ticking need reload to work
 
6.3.8
- feat: port fabric changes to neoforge 1.21 (#126)
 - chore: remove unused accessor
 - fix: add entrypoint for emi
 - fix: dispense behavior crash
 - build: bump neoforge
 - fix: custom action icon not working in some cases
 - feat(rv): emi add remainder support & anvil recipe info
 - feat(rv): emi widgets
 - feat: add emi support & optimize jei helper
 
6.3.4
- fix: debug outline condition
 
6.3.3
- fix: crash with client level cast to server level (#120)
 
6.3.2
- Merge pull request #118 from SettingDust/1.21-neoforge
 - chore: remove fabric api fluid name get
 - build: fix jade loader
 - fix: check hovered when click 
InteractiveRenderElement - chore: drop the interaction result for 
CustomCondition - fix: fix AT and kubejs
 - build: fix the script
 - feat: append mod name on block
 - refactor: input action
 - fix: kubejs plugin adapt 9caa62e4ec29844890e43c0d5cdce0c6143e69a1
 - fix: location.fluid condition tootlip
 - fix: param
 - improve: block element positioning
 - fix: minor bugs
 - feat: category modifier
 - feat: allowing skipping layout group
 - refactor: loot params
 - feat(rv): selective element replacement
 - chore: resolve conflicts. add more StreamCodecs
 - feat: remove 
check_param. addparam - fix: marker serialization
 - feat: category metadata part 3
 - feat: category metadata part 2
 - feat: category metadata
 - chore: add access transformer for fade2ec558711a8747df4027a28660613c50ad6d
 - feat: entity ticking recipe part 2
 - feat: entity ticking recipe
 - perf(context): use reference map for context
 - fix: missing level context
 - refactor: split optional and required key
 - chore: adapt 348340da968da407ccfe5b00d03b9e93ae6455cb changes to neoforge
 - refactor: simplify LycheeContextKey
 - improve: mixin
 - improve: fine-tuning positions
 - feat: allow using custom icon on drop_item
 - refactor(rv): unified RV categories (#115)
 - feat: allow cycling state property reversedly
 - feat: new action 
move 
6.2.1
- refactor: use sprites
 - refactor: more StreamCodecs
 - feat: support create block entities render (#111)
 - feat: custom action icon
 
6.2.0
- refactor: unify RV SlotType. cleanup
 - feat: lychee recipe builder. crude kubejs integration for constructing recipes
 - feat: render remove block action (#109)
 - chore: use another icon
 - chore: avoid use neoforge only NonNullList methods
 - Merge remote-tracking branch 'upstream/1.21-neoforge' into 1.21-neoforge
 - fix(rei): the remove action offset
 - chore: update Kiwi
 - chore: sprites
 - chore(rei): adapt the remove block icon position
 - fix(rei): block exploding category icon is wrong
 - feat(rei): show the remove block icon on input block when place block is air and has no offset
 - feat(jei): show the remove block icon on input block when place block is air and has no offset
 - chore: add simple sprite element render
 - Merge remote-tracking branch 'upstream/1.21-neoforge' into 1.21-neoforge
 - fix: correct the item burning recipe times
 - feat: rv abstraction layer part 5
 - feat: rv abstraction layer part 4
 - feat: rv abstraction layer part 3
 - feat: rv abstraction layer part 2
 - feat(jei): render remove block action
 - feat: UIElement part 1
 - feat: a small attempt at recipe viewer abstraction layer
 - feat: jei anvil recipe comment support
 - feat: support bracketed block and item stack
 
5.1.20
- fix: dispense behavior crash (close #125)
 - fix(recipe): random block ticking not working if block implementation… (#93)
 - fix(recipe): random block ticking need reload to work
 
5.1.15
- improve: drop_item now does not spawn item entity with random offset
 - improve: skip some validation for ghost recipes
 - fix: use air ingredient & remove main hand check since MC will invoke off hand if main hand is pass (#80)
 
5.1.14
- fix: IncompatibleClassChangeError when KubeJS is not present
 - fix: move 
loadCatalystsInfotoPostActionRendererfor avoiding load client class (#79) - fix: info badge position in block exploding category (#77)
 - improve: show the conditions for catalysts (#71) (#76)
 
5.1.11
- fix: Hurt allow empty source & drops are missing when recipe can't match in exploding (#75)
 - fix: read the source of Hurt correctly (#73)
 - chore: recommends kiwi
 
5.1.10
- improve: do not show prevent default description in tooltip if there are conditions in the action (close #71)
 - fix: incompatibility with Polymer
 
5.1.9
- feat: add 3rd party recipe types to RecipeTypes.ALL to prevent log spam
 - feat: make it easier for pack devs to use KubeJS integration
 
5.1.20
5.1.19
- feat: block render support create 6+ (#107)
 
5.1.18
- fix: do not use mixin extras
 
5.1.17
- fix: create block entities aren't rendered (#97)
 
5.1.16
- fix(recipe): random block ticking not working if block implementation… (#93)
 - fix(recipe): random block ticking need reload to work
 
5.1.15
- improve: drop_item now does not spawn item entity with random offset
 - improve: skip some validation for ghost recipes
 - fix: use air ingredient & remove main hand check since MC will invoke off hand if main hand is pass (#80)
 
6.3.6
- feat: EMI part 3
 
6.3.5
- feat: EMI part 2
 - feat: EMI part 1
 
6.3.4
- fix: debug outline condition
 
6.3.3
- fix: crash with client level cast to server level (#120)
 
6.3.2
- fix: check hovered when click 
InteractiveRenderElement 
6.3.1
- feat: append mod name on block
 - refactor: input action
 - fix: location.fluid condition tootlip
 - fix: param
 
6.3.5
- feat: EMI part 2
 - feat: EMI part 1
 
6.3.4
- fix: debug outline condition
 
6.3.3
- fix: crash with client level cast to server level (#120)
 
6.3.2
- fix: check hovered when click 
InteractiveRenderElement 
6.3.1
- feat: append mod name on block
 - refactor: input action
 - fix: location.fluid condition tootlip
 - fix: param
 
6.3.0
- improve: block element positioning
 - fix: minor bugs
 - feat: category modifier
 - feat: allowing skipping layout group
 - refactor: loot params
 - feat(rv): selective element replacement
 - chore: resolve conflicts. add more StreamCodecs
 - feat: allow cycling state property reversedly
 - feat: new action 
move - feat: remove 
check_param. addparam - fix: marker serialization
 - feat: category metadata part 3
 - feat: category metadata part 2
 - feat: category metadata
 - feat: entity ticking recipe part 2
 - feat: entity ticking recipe
 - refactor: simplify LycheeContextKey (#117)
 - perf(context): use reference map for context
 - fix: missing level context
 - refactor: split optional and required key
 - refactor: simplify LycheeContextKey
 - improve: mixin
 - improve: fine-tuning positions
 - feat: allow using custom icon on drop_item
 - refactor(rv): unified RV categories (#115)
 
6.3.4
- fix: debug outline condition
 
6.3.3
- fix: crash with client level cast to server level (#120)
 
6.3.2
- Merge pull request #118 from SettingDust/1.21-neoforge
 - chore: remove fabric api fluid name get
 - build: fix jade loader
 - fix: check hovered when click 
InteractiveRenderElement - chore: drop the interaction result for 
CustomCondition - fix: fix AT and kubejs
 - build: fix the script
 - feat: append mod name on block
 - refactor: input action
 - fix: kubejs plugin adapt 9caa62e4ec29844890e43c0d5cdce0c6143e69a1
 - fix: location.fluid condition tootlip
 - fix: param
 - improve: block element positioning
 - fix: minor bugs
 - feat: category modifier
 - feat: allowing skipping layout group
 - refactor: loot params
 - feat(rv): selective element replacement
 - chore: resolve conflicts. add more StreamCodecs
 - feat: remove 
check_param. addparam - fix: marker serialization
 - feat: category metadata part 3
 - feat: category metadata part 2
 - feat: category metadata
 - chore: add access transformer for fade2ec558711a8747df4027a28660613c50ad6d
 - feat: entity ticking recipe part 2
 - feat: entity ticking recipe
 - perf(context): use reference map for context
 - fix: missing level context
 - refactor: split optional and required key
 - chore: adapt 348340da968da407ccfe5b00d03b9e93ae6455cb changes to neoforge
 - refactor: simplify LycheeContextKey
 - improve: mixin
 - improve: fine-tuning positions
 - feat: allow using custom icon on drop_item
 - refactor(rv): unified RV categories (#115)
 - feat: allow cycling state property reversedly
 - feat: new action 
move 
6.2.1
- refactor: use sprites
 - refactor: more StreamCodecs
 - feat: support create block entities render (#111)
 - feat: custom action icon
 
6.2.0
- refactor: unify RV SlotType. cleanup
 - feat: lychee recipe builder. crude kubejs integration for constructing recipes
 - feat: render remove block action (#109)
 - chore: use another icon
 - chore: avoid use neoforge only NonNullList methods
 - Merge remote-tracking branch 'upstream/1.21-neoforge' into 1.21-neoforge
 - fix(rei): the remove action offset
 - chore: update Kiwi
 - chore: sprites
 - chore(rei): adapt the remove block icon position
 - fix(rei): block exploding category icon is wrong
 - feat(rei): show the remove block icon on input block when place block is air and has no offset
 - feat(jei): show the remove block icon on input block when place block is air and has no offset
 - chore: add simple sprite element render
 - Merge remote-tracking branch 'upstream/1.21-neoforge' into 1.21-neoforge
 - fix: correct the item burning recipe times
 - feat: rv abstraction layer part 5
 - feat: rv abstraction layer part 4
 - feat: rv abstraction layer part 3
 - feat: rv abstraction layer part 2
 - feat(jei): render remove block action
 - feat: UIElement part 1
 - feat: a small attempt at recipe viewer abstraction layer
 - feat: jei anvil recipe comment support
 - feat: support bracketed block and item stack
 
6.1.0
- fix: resources
 - fix: mistakes in #102
 - Merge pull request #102 from SettingDust/1.21-neoforge
 - feat: add 1 example to test item inside data pack of doc
 - feat: sized ingredient update part 3
 - feat: sized ingredient update part 2 (close #74)
 - Merge remote-tracking branch 'upstream/1.21-neoforge' into 1.21-neoforge
 - feat: add 2 example to test data pack of doc
 - feat: sized ingredient update part 1
 - refactor: simplify codecs
 - refactor: simplify codecs
 - fix: jei screen element using rei class
 - fix: jei item and block category missing click event
 
6.3.4
- fix: debug outline condition
 
6.3.3
- fix: crash with client level cast to server level (#120)
 
6.3.2
- fix: check hovered when click 
InteractiveRenderElement 
6.3.1
- feat: append mod name on block
 - refactor: input action
 - fix: location.fluid condition tootlip
 - fix: param
 
6.3.0
- improve: block element positioning
 - fix: minor bugs
 - feat: category modifier
 - feat: allowing skipping layout group
 - refactor: loot params
 - feat(rv): selective element replacement
 - chore: resolve conflicts. add more StreamCodecs
 - feat: allow cycling state property reversedly
 - feat: new action 
move - feat: remove 
check_param. addparam - fix: marker serialization
 - feat: category metadata part 3
 - feat: category metadata part 2
 - feat: category metadata
 - feat: entity ticking recipe part 2
 - feat: entity ticking recipe
 - refactor: simplify LycheeContextKey (#117)
 - perf(context): use reference map for context
 - fix: missing level context
 - refactor: split optional and required key
 - refactor: simplify LycheeContextKey
 - improve: mixin
 - improve: fine-tuning positions
 - feat: allow using custom icon on drop_item
 - refactor(rv): unified RV categories (#115)
 
6.2.1
- Merge pull request #114 from SettingDust/1.21-fabric
 - Revert "fix: place block won't be hidden when placing air"
 - chore: update Kiwi
 - Merge pull request #113 from SettingDust/1.21-fabric
 - chore: re-add kubejs annotations
 - build: add the exclusion
 - fix: fixes for f978512f56f1a466eabfe0defacf697ebe374aa3
 - feat: lychee recipe builder. crude kubejs integration for constructing recipes
 - chore: use fabric api tristate
 - fix: place block won't be hidden when placing air
 - fix: init the ui element registry
 - chore: clean up gab between neoforge and fabric
 - refactor: use sprites
 - refactor: more StreamCodecs
 - feat: custom action icon
 - refactor: unify RV SlotType. cleanup
 - chore: add scale for 
SpriteElementRenderer - refactor: port 1.21 neoforge changes to 1.21 fabric (#110)
 - build: remove useless REI neoforge
 - feat: implement missing content from 70b95e24c087e1e928516b4bafda289976d518f4
 - fix: jei use the correct icon
 - feat: port ingredient map codec to fabric
 - chore: use another icon
 - chore: fix part of the issues from changes
 - chore: avoid use neoforge only NonNullList methods
 - fix: adapt the changes on fabric
 - feat: UIElement part 1
 - chore: sprites
 - fix(rei): the remove action offset
 - chore(rei): adapt the remove block icon position
 - fix(rei): block exploding category icon is wrong
 - feat(rei): show the remove block icon on input block when place block is air and has no offset
 - feat(jei): show the remove block icon on input block when place block is air and has no offset
 - chore: add simple sprite element render
 - fix: correct the item burning recipe times
 - feat: rv abstraction layer part 5
 - feat: rv abstraction layer part 4
 - feat: rv abstraction layer part 3
 - feat: rv abstraction layer part 2
 - feat(jei): render remove block action
 - feat: a small attempt at recipe viewer abstraction layer
 - feat: jei anvil recipe comment support
 - feat: support bracketed block and item stack
 - fix: avoid use neoforge only patch 
NonNullList#copyOf - fix: mistakes in #102
 - feat: sized ingredient update part 3
 - feat: sized ingredient update part 2 (close #74)
 - feat: sized ingredient update part 1
 - refactor: simplify codecs
 - refactor: simplify codecs
 
6.3.3
- fix: crash with client level cast to server level (#120)
 
6.3.2
- fix: check hovered when click 
InteractiveRenderElement 
6.3.1
- feat: append mod name on block
 - refactor: input action
 - fix: location.fluid condition tootlip
 - fix: param
 
6.3.0
- improve: block element positioning
 - fix: minor bugs
 - feat: category modifier
 - feat: allowing skipping layout group
 - refactor: loot params
 - feat(rv): selective element replacement
 - chore: resolve conflicts. add more StreamCodecs
 - feat: allow cycling state property reversedly
 - feat: new action 
move - feat: remove 
check_param. addparam - fix: marker serialization
 - feat: category metadata part 3
 - feat: category metadata part 2
 - feat: category metadata
 - feat: entity ticking recipe part 2
 - feat: entity ticking recipe
 - refactor: simplify LycheeContextKey (#117)
 - perf(context): use reference map for context
 - fix: missing level context
 - refactor: split optional and required key
 - refactor: simplify LycheeContextKey
 - improve: mixin
 - improve: fine-tuning positions
 - feat: allow using custom icon on drop_item
 - refactor(rv): unified RV categories (#115)
 
6.2.1
- Merge pull request #114 from SettingDust/1.21-fabric
 - Revert "fix: place block won't be hidden when placing air"
 - chore: update Kiwi
 - Merge pull request #113 from SettingDust/1.21-fabric
 - chore: re-add kubejs annotations
 - build: add the exclusion
 - fix: fixes for f978512f56f1a466eabfe0defacf697ebe374aa3
 - feat: lychee recipe builder. crude kubejs integration for constructing recipes
 - chore: use fabric api tristate
 - fix: place block won't be hidden when placing air
 - fix: init the ui element registry
 - chore: clean up gab between neoforge and fabric
 - refactor: use sprites
 - refactor: more StreamCodecs
 - feat: custom action icon
 - refactor: unify RV SlotType. cleanup
 - chore: add scale for 
SpriteElementRenderer - refactor: port 1.21 neoforge changes to 1.21 fabric (#110)
 - build: remove useless REI neoforge
 - feat: implement missing content from 70b95e24c087e1e928516b4bafda289976d518f4
 - fix: jei use the correct icon
 - feat: port ingredient map codec to fabric
 - chore: use another icon
 - chore: fix part of the issues from changes
 - chore: avoid use neoforge only NonNullList methods
 - fix: adapt the changes on fabric
 - feat: UIElement part 1
 - chore: sprites
 - fix(rei): the remove action offset
 - chore(rei): adapt the remove block icon position
 - fix(rei): block exploding category icon is wrong
 - feat(rei): show the remove block icon on input block when place block is air and has no offset
 - feat(jei): show the remove block icon on input block when place block is air and has no offset
 - chore: add simple sprite element render
 - fix: correct the item burning recipe times
 - feat: rv abstraction layer part 5
 - feat: rv abstraction layer part 4
 - feat: rv abstraction layer part 3
 - feat: rv abstraction layer part 2
 - feat(jei): render remove block action
 - feat: a small attempt at recipe viewer abstraction layer
 - feat: jei anvil recipe comment support
 - feat: support bracketed block and item stack
 - fix: avoid use neoforge only patch 
NonNullList#copyOf - fix: mistakes in #102
 - feat: sized ingredient update part 3
 - feat: sized ingredient update part 2 (close #74)
 - feat: sized ingredient update part 1
 - refactor: simplify codecs
 - refactor: simplify codecs
 
6.0.10
- Merge pull request #101 from SettingDust/1.21-fabric
 - fix: jei item and block category missing click event
 - chore: adapt fabric
 - fix: jei screen element using rei class
 - chore: remove unused rei compat
 - feat: support jei new input handler api (#95)
 - refactor: port 1.21.1 neoforge changes to fabric
 - fix: Advanced Shaped Crafting not work (#100)
 - fix: respect post action repeatable (#99)
 - fix: location predicate missing can_see_sky Rule (#94)
 - improve: chance display
 - feat: sky darken condition
 - improve: ingredient merging
 - improve: skip some validation for ghost recipes
 
