Mods
Resource Packs
Data Packs
Modpacks
Shaders
Plugins
Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Lychee

Lychee

Define in-world crafting & interactions using JSON recipes. item interaction, burning, touching fluid, anvil, crushing, lightning, exploding...

74.8k
74
Game Mechanics
Library

Compatibility

Minecraft: Java Edition

1.21.x
1.20–1.20.1
1.19.2
1.18.2

Platforms

Fabric
Forge
NeoForge
Quilt

Supported environments

Client and server

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Links

Report issues View source Visit wiki Join Discord server
Donate on PatreonDonate on Ko-fi

Creators

Snownee
Snownee Owner
settingdust
settingdust Contributor

Details

Licensed ARR
Published 2 years ago
Updated 3 weeks ago
DescriptionChangelogVersions

Show all versions

1
2
7

[NeoForge 1.21.1] 6.3.4

by Snownee on Apr 21, 2025
Download

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. add param
  • 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

[Fabric 1.21.1] 6.3.4

by Snownee on Apr 21, 2025
Download

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. add param
  • 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

[Fabric 1.21.1] 6.3.3

by Snownee on Apr 20, 2025
Download

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. add param
  • 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

[NeoForge 1.21.1] 6.3.3

by Snownee on Apr 20, 2025
Download

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. add param
  • 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.0.10

  • fix: Advanced Shaped Crafting not work (#100)

[Fabric 1.21.1] 6.3.2

by Snownee on Apr 14, 2025
Download

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. add param
  • 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

6.0.3

  • chore: update dependencies

[NeoForge 1.21.1] 6.3.2

by Snownee on Apr 14, 2025
Download

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. add param
  • 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.0.10

  • fix: Advanced Shaped Crafting not work (#100)

6.0.9

  • fix: respect post action repeatable (#99)

[Fabric 1.21.1] 6.3.1

by Snownee on Apr 12, 2025
Download

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. add param
  • 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

6.0.3

  • chore: update dependencies

6.0.2

  • fix: marker entity NPE

[Fabric 1.21.1] 6.3.0

by Snownee on Apr 9, 2025
Download

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. add param
  • 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

6.0.3

  • chore: update dependencies

6.0.2

  • fix: marker entity NPE

6.0.1

  • fix: major random block ticking fixes

[Fabric 1.21.1] 6.2.1

by Snownee on Mar 17, 2025
Download

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

6.0.3

  • chore: update dependencies

6.0.2

  • fix: marker entity NPE

6.0.1

  • fix: major random block ticking fixes

6.0.0

  • Merge pull request #87 from SettingDust/1.21-fabric
  • fix: remove text shadow on time
  • refactor(jei): remove extra height for recipes
  • refactor(jei): move the info rect
  • fix(jei): failed to add block ingredients
  • fix(jei): correct the fusing tnt size
  • fix(jei): apply the offset of screen elements
  • chore: remove unused files
  • fix: avoid duplicate categories in recipe viewer
  • refactor: move the recipe type init into the types registration
  • feat(jei): make the game runnable
  • feat(jei): port all categories and icons
  • feat(jei): port various categories
  • feat(jei): port BlockCrushingRecipeCategory
  • feat: simply the category
  • refactor: use TriState from Kiwi
  • port: jei integration part 2
  • Merge pull request #86 from SettingDust/1.21-fabric
  • chore: start for JEI porting
  • chore: prefer WrapOperation
  • feat: port to 1.21
  • chore: delete and rename
  • chore: IsOffCooldown -> IsOffItemCooldown
  • Merge pull request #85 from SettingDust/1.21-fabric
  • feat: IsOffCooldown
  • chore: remove unused codec
  • chore: prefer var int for stream codec
  • feat: use shaped's codec for syncing pattern
  • feat: add stream codec for recipes
  • chore: clean up actions' stream codec
  • fix: prefer the any than air
  • feat: the missing tag translations
  • feat: yaml recipes
  • chore: :fire: remove the unused util
  • fix: correct the logic of building cache
  • feat: add post actions stream codec to common properties
  • feat: add stream codec for AnvilCraftingRecipe
  • fix: filter out special recipes
  • feat: target convention tags api v2
  • Merge pull request #82 from SettingDust/1.21-fabric
  • fix: make the key dispatched map working
  • chore: rename kiwi util to KUtil
  • chore: bump minecraft to 1.20.6
  • chore: bump minecraft to 1.20.5
  • fix: remove main hand check since MC will invoke off hand if main hand is pass
  • Merge pull request #70 from SettingDust/feature/hug-the-codec
  • chore: disable REI runtime for running on 1.20.5
  • chore: bump minecraft to 1.20.5 pre4
  • chore: fabric recipe api interface injection isn't working
  • refactor: remove compact list codec
  • feat: 'contextual' -> 'if'
  • improve: codecs, part 1
  • feat: port to 1.20.5 pre3
  • feat: update fabric api
  • feat: port to 1.20.5 pre1
  • refactor: use BlockPredicateExtensions.isAny
  • chore: remove hashCode and equals
  • fix(recipes): fix invalid matches
  • refactor: avoid optional for block predicate
  • chore: small tweaks to the build script
  • fix: missing default renderer for actions
  • feat: hide now is a common property in actions
  • refactor: re-implement recipe comparators
  • fix: data gen
  • feat: specify item to cool down in AddItemCooldown action
  • improve: some codecs
  • improve: remove the random position offset when spawning item entity
  • feat: VisualOnlyComponentsIngredient
  • fix: the always_true ingredient type does require testing
  • improve: cache Level in LycheeContext
  • refactor: BlockPredicateExtensions string parsing
  • fix: recipes
  • feat: avoid tag key in block predicate
  • fix: move loadCatalystsInfo to PostActionRenderer for avoiding load client class
  • feat: add displays for anvil crafting and shaped crafting
  • fix: info badge position in block exploding category
  • fix: the info rect calc is wrong
  • fix: use the correct display height
  • fix: use max value & check if the min equals to max
  • fix
  • chore: remove lycheev
  • chore: disable recipes in lycheev
  • improve: show the conditions for catalysts
  • improve: do not show prevent default description in tooltip if there are conditions in the action (close #71)
  • feat: tweak the block lighting
  • feat: rewrite the display for list holder since the value mainly use in tooltips that can't hover
  • fix: remove underscore in path
  • feat: showing display name instead of key for difficulties
  • fix: avoid calling architectury methods
  • fix: adapt to u/v scale in latest MC
  • chore: cleanup code
  • fix: add item inside icon & fix block interaction ingredients
  • feat: add DripstoneRecipeCategory
  • feat: add ItemInsideRecipeCategory
  • feat: add BlockInteractingRecipe and ItemBurningRecipe
  • feat: add BlockExplodingRecipe category
  • feat: register workstation for LightningChannelingRecipe, ItemExplodingRecipe
  • feat: add ItemExplodingRecipe category
  • feat: add LightningChannelingRecipe category
  • refactor: use interface for LycheeCategory
  • feat: port ItemShapelessRecipeCategory
  • feat: add display for block crushing
  • fix: avoid null & fix the title
  • feat: render the frames
  • fix: state codec need string
  • feat: start works on REI compat
  • fix: make the Hurt source optional
  • chore: fix some builtin data pack entries
  • chore: fix some builtin data pack entries
  • feat: swing when interacting
  • fix: rewrite the custom action/condition codec
  • feat: add optional ingredient codec
  • fix: ItemShapeless dead loop
  • fix: send exploding packet & fix burning match
  • fix: the conditions can't edit
  • fix: add missing dripstone source
  • fix: init the action data
  • feat: apply post for ShapedCraftingRecipe
  • fix: allow 0 in lychee
  • feat: add back getItemIndexes
  • fix: rename ItemStackHolder#shrink to split
  • fix: test of DamageItem is wrong
  • fix: rewrite some dangerous condition
  • fix: ItemInsideRecipe optional block predicate
  • fix: return ingredients correctly
  • fix: RandomSelect is wrong
  • fix: explosion won't add drop when can't match recipe
  • feat: support flat item codec
  • fix: ExplosionMixin missing level context
  • fix: BlockKeyableRecipeType missing recipe context
  • fix: BlockCrushingRecipeType showing wrong particle since the entity is AIR after matching
  • fix: ItemStackHolder#shrink returned the wrong stack
  • fix: use exact Y for fall distance
  • fix: make the block predicate codec with registry
  • fix: make the block predicate codec with registry
  • feat: changed the block in tag to blocks
  • fix: correct the method to get matched stacks
  • refactor: optimize the BlockPredicate codec for better debug info
  • fix: fix the BlockInteractingRecipe#getIngredients
  • refactor: add offset codec
  • refactor: switch to strict optional field
  • chore: clearer description
  • feat: new block predicate codec for supporting plain string
  • chore: redirect the hashcode and toString
  • fix: the result of anvil is wrong
  • revert: revert the namespace changes for actions and contextual
  • fix: the location contextual codec is wrong
  • feat: make item stack codec can be plain string
  • fix: fix the single ingredient codec
  • fix: fix the ingredient pair codec
  • refactor: downgrade onConstructed to the implementation class
  • feat: put recipe to context when possible
  • fix: wrong logic for required context construct
  • fix: lack default value for time
  • fix: wrong logic for required context construct
  • fix: CycleStateProperty$Type codec is null
  • fix: init context key and serializer
  • refactor: revert nullable changes for using optional
  • feat: update for new kiwi & 24w11a
  • feat: update SCustomLevelEventPacket for new kiwi networking
  • feat: cleanup code make project runnable
  • chore(deps): bump dependencies
  • fix: make SCustomLevelEventPacket work
  • feat: remove nbt patch stuffs
  • fix: correct the recipe context
  • feat: port AlwaysTrueIngredient
  • chore: cleanup mixins
  • feat(action): add DamageItem
  • feat(action): add RandomSelect
  • feat(action): add MoveTowardsFace
  • feat(action): add If
  • feat(action): add Hurt
  • feat(action): add Explode
  • feat(action): add Execute
  • feat(action): add DropXp
  • feat(action): use record instead of classes
  • feat(action): add DropItem
  • feat(action): add Delay
  • feat(context): add recipe and id to context
  • feat(action): add CycleStateProperty
  • feat(action): add PlaceBlock
  • feat(action): records to classes
  • feat(action): add CustomAction
  • feat(action): add Break
  • fix(recipe): adapt new process
  • feat(action): add `AnvilDamageChance``
  • feat(action): add AddItemCooldown & move conditions to PostActionCommonProperties
  • feat(action): add SetItem
  • feat(action): add PreventDefault
  • feat(recipe): don't touch the original drops
  • feat(recipe): try to fix the snownee.lychee.mixin.recipes.blockexploding.ExplosionMixin
  • chore: move LightningBoltMixin into recipes
  • chore: mark blockexploding.ExplosionMixin as need rewrite
  • style: correct indent
  • feat: use Minecraft's predicates in 24w09a
  • fix(recipe): missing level for DripstoneRecipe
  • refactor(recipe): remove level arg for BlockPredicateExtensions.matches
  • refactor(recipe): remove unused recipes
  • feat(recipe): add DripstoneRecipe
  • fix(recipe): add RandomBlockTickingRecipe
  • fix(recipe): add LightningChannelingRecipe
  • fix(recipe): correct BlockClickingRecipe type and invoke
  • feat(recipe): add serializer to ItemExplodingRecipe
  • chore: switch to new stream codec
  • chore(deps): bump minecraft and fabric to 24w07a
  • feat(recipe): add ItemInsideRecipe
  • feat(recipe): add ItemExplodingRecipe
  • feat(recipe): add ItemBurningRecipe
  • feat(recipe): add BlockClickingRecipe
  • feat(recipe): add BlockInteractingRecipe
  • feat(recipe): use container generic instead of fixed LycheeContext for recipes & correct the ShapedCraftingRecipe
  • feat(recipe): add serializer and type to ShapedCraftingRecipe
  • style: reformat files
  • style: include the editorconfig from https://github.com/Snownee/Loquat/blob/1.20.1-fabric/.editorconfig
  • chore(recipe): adapt crafting & block crushing mixins to new one(no test)
  • fix(recipe): adapt anvil mixin to new one(no test)
  • feat(recipe): add ShapedCraftingRecipe
  • feat(context): add required context type
  • feat(recipe): add BlockExplodingRecipe
  • use more shortcut method
  • delete unused mixins
  • revive JSON fragments
  • ...
  • no Optional
  • refactor LocationPredicate
  • LocationPredicate
  • oops!
  • randomly editing things
  • TweakedItemStackCodec
  • TweakedItemStackResultCodec
  • BlockPredicateCodec
  • improve codecs
  • feat(recipe): add BlockCrushingRecipe
  • chore: using nullable description to avoid Optional field
  • chore: remove generic for ContextualCondition
  • chore: action use common properties
  • return of the good old ContextualHolder, and it uses less RAM
  • less interfaces, nicer codecs, more sanity
  • chore(recipe): cleanup code
  • refactor(recipe): using applyCommonCodecs instead of apply codecs manually
  • refactor(recipe): convert AnvilCraftingRecipe to class for extendable
  • refactor(context): allow context isn't have to be LycheeContextValue
  • no more recipe id getter from LycheeRecipe
  • LycheeRecipe.allActions now returns Stream
  • prettier Codecs
  • rename BlockInputLycheeRecipe -> BlockKeyableRecipe
  • chore: remove BlockPredicate & use optionalFieldOf
  • chore: delete docs
  • feat: depends kiwi
  • improve: nullable String in LycheeRecipeCommonHolder
  • chore: cleanup code
  • chore: port part of BlockKeyRecipe
  • chore: correct the generic type
  • refactor: port part of BlockKKeyRecipe
  • chore: remove catalogs for simple class and specify the default namespace to lychee
  • feat(recipes) add serializer and type for AnvilCraftingRecipe
  • refactor: using common holders as abstract classes
  • refactor(contextual): switch to new context
  • chore: add default value for random
  • feat: try adding key based value map codec for context
  • refactor: complete json, generic, action contexts
  • refactor: rewrite part of context
  • refactor: rewrite part of ItemStackHolder, PostAction, LycheeRecipe
  • feat(contextual): add ContextualConditionsHolder for reducing records' duplicate code
  • fix(contextual): add constant check to min, max
  • feat(contextual): ported contextual with codec
  • chore: disable jei, rei, and kubejs compat for now
  • chore: add parchmentmc for better param naming
  • chore(build): bump gradle and loom
  • chore(deps): bump dependencies
  • chore: removing debug fox entry
  • chore: using clearFire instead of set remaining directly
  • feat: added two tags for entities surviving in lighting bolt
  • chore: able to import project without tokens

[NeoForge 1.21.1] 6.2.1

by Snownee on Mar 15, 2025
Download

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.0.10

  • fix: Advanced Shaped Crafting not work (#100)

6.0.9

  • fix: respect post action repeatable (#99)

6.0.8

  • feat: support jei new input handler api (#95)
  • fix: location predicate missing can_see_sky Rule (#94)
  • improve: chance display
  • feat: adding YAML recipes in KubeJS
  • fix(neoforge): crash on server (#92)

[NeoForge 1.21.1] 6.2.0

by Snownee on Mar 14, 2025
Download

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.0.10

  • fix: Advanced Shaped Crafting not work (#100)

6.0.9

  • fix: respect post action repeatable (#99)

6.0.8

  • feat: support jei new input handler api (#95)
  • fix: location predicate missing can_see_sky Rule (#94)
  • improve: chance display
  • feat: adding YAML recipes in KubeJS
  • fix(neoforge): crash on server (#92)

6.0.7

  • fix: #90

[Forge 1.20.1] 5.1.19

by Snownee on Mar 11, 2025
Download

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)

5.1.14

  • fix: IncompatibleClassChangeError when KubeJS is not present

[Forge 1.20.1] 5.1.18

by Snownee on Mar 5, 2025
Download

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)

5.1.14

  • fix: IncompatibleClassChangeError when KubeJS is not present

5.1.13

  • improve: show the conditions for catalysts (#71) (#78)

[NeoForge 1.21.1] 6.1.0

by Snownee on Mar 2, 2025
Download

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.0.10

  • fix: Advanced Shaped Crafting not work (#100)

6.0.9

  • fix: respect post action repeatable (#99)

6.0.8

  • feat: support jei new input handler api (#95)
  • fix: location predicate missing can_see_sky Rule (#94)
  • improve: chance display
  • feat: adding YAML recipes in KubeJS
  • fix(neoforge): crash on server (#92)

6.0.7

  • fix: #90

6.0.6

  • feat: sky darken condition
  • all: 1.21 port part 4

[Fabric 1.21.1] 6.0.10

by Snownee on Feb 22, 2025
Download

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

6.0.3

  • chore: update dependencies

6.0.2

  • fix: marker entity NPE

6.0.1

  • fix: major random block ticking fixes

6.0.0

  • Merge pull request #87 from SettingDust/1.21-fabric
  • fix: remove text shadow on time
  • refactor(jei): remove extra height for recipes
  • refactor(jei): move the info rect
  • fix(jei): failed to add block ingredients
  • fix(jei): correct the fusing tnt size
  • fix(jei): apply the offset of screen elements
  • chore: remove unused files
  • fix: avoid duplicate categories in recipe viewer
  • refactor: move the recipe type init into the types registration
  • feat(jei): make the game runnable
  • feat(jei): port all categories and icons
  • feat(jei): port various categories
  • feat(jei): port BlockCrushingRecipeCategory
  • feat: simply the category
  • refactor: use TriState from Kiwi
  • port: jei integration part 2
  • Merge pull request #86 from SettingDust/1.21-fabric
  • chore: start for JEI porting
  • chore: prefer WrapOperation
  • feat: port to 1.21
  • chore: delete and rename
  • chore: IsOffCooldown -> IsOffItemCooldown
  • Merge pull request #85 from SettingDust/1.21-fabric
  • feat: IsOffCooldown
  • chore: remove unused codec
  • chore: prefer var int for stream codec
  • feat: use shaped's codec for syncing pattern
  • feat: add stream codec for recipes
  • chore: clean up actions' stream codec
  • fix: prefer the any than air
  • feat: the missing tag translations
  • feat: yaml recipes
  • chore: :fire: remove the unused util
  • fix: correct the logic of building cache
  • feat: add post actions stream codec to common properties
  • feat: add stream codec for AnvilCraftingRecipe
  • fix: filter out special recipes
  • feat: target convention tags api v2
  • Merge pull request #82 from SettingDust/1.21-fabric
  • fix: make the key dispatched map working
  • chore: rename kiwi util to KUtil
  • chore: bump minecraft to 1.20.6
  • chore: bump minecraft to 1.20.5
  • fix: remove main hand check since MC will invoke off hand if main hand is pass
  • Merge pull request #70 from SettingDust/feature/hug-the-codec
  • chore: disable REI runtime for running on 1.20.5
  • chore: bump minecraft to 1.20.5 pre4
  • chore: fabric recipe api interface injection isn't working
  • refactor: remove compact list codec
  • feat: 'contextual' -> 'if'
  • improve: codecs, part 1
  • feat: port to 1.20.5 pre3
  • feat: update fabric api
  • feat: port to 1.20.5 pre1
  • refactor: use BlockPredicateExtensions.isAny
  • chore: remove hashCode and equals
  • fix(recipes): fix invalid matches
  • refactor: avoid optional for block predicate
  • chore: small tweaks to the build script
  • fix: missing default renderer for actions
  • feat: hide now is a common property in actions
  • refactor: re-implement recipe comparators
  • fix: data gen
  • feat: specify item to cool down in AddItemCooldown action
  • improve: some codecs
  • improve: remove the random position offset when spawning item entity
  • feat: VisualOnlyComponentsIngredient
  • fix: the always_true ingredient type does require testing
  • improve: cache Level in LycheeContext
  • refactor: BlockPredicateExtensions string parsing
  • fix: recipes
  • feat: avoid tag key in block predicate
  • fix: move loadCatalystsInfo to PostActionRenderer for avoiding load client class
  • feat: add displays for anvil crafting and shaped crafting
  • fix: info badge position in block exploding category
  • fix: the info rect calc is wrong
  • fix: use the correct display height
  • fix: use max value & check if the min equals to max
  • fix
  • chore: remove lycheev
  • chore: disable recipes in lycheev
  • improve: show the conditions for catalysts
  • improve: do not show prevent default description in tooltip if there are conditions in the action (close #71)
  • feat: tweak the block lighting
  • feat: rewrite the display for list holder since the value mainly use in tooltips that can't hover
  • fix: remove underscore in path
  • feat: showing display name instead of key for difficulties
  • fix: avoid calling architectury methods
  • fix: adapt to u/v scale in latest MC
  • chore: cleanup code
  • fix: add item inside icon & fix block interaction ingredients
  • feat: add DripstoneRecipeCategory
  • feat: add ItemInsideRecipeCategory
  • feat: add BlockInteractingRecipe and ItemBurningRecipe
  • feat: add BlockExplodingRecipe category
  • feat: register workstation for LightningChannelingRecipe, ItemExplodingRecipe
  • feat: add ItemExplodingRecipe category
  • feat: add LightningChannelingRecipe category
  • refactor: use interface for LycheeCategory
  • feat: port ItemShapelessRecipeCategory
  • feat: add display for block crushing
  • fix: avoid null & fix the title
  • feat: render the frames
  • fix: state codec need string
  • feat: start works on REI compat
  • fix: make the Hurt source optional
  • chore: fix some builtin data pack entries
  • chore: fix some builtin data pack entries
  • feat: swing when interacting
  • fix: rewrite the custom action/condition codec
  • feat: add optional ingredient codec
  • fix: ItemShapeless dead loop
  • fix: send exploding packet & fix burning match
  • fix: the conditions can't edit
  • fix: add missing dripstone source
  • fix: init the action data
  • feat: apply post for ShapedCraftingRecipe
  • fix: allow 0 in lychee
  • feat: add back getItemIndexes
  • fix: rename ItemStackHolder#shrink to split
  • fix: test of DamageItem is wrong
  • fix: rewrite some dangerous condition
  • fix: ItemInsideRecipe optional block predicate
  • fix: return ingredients correctly
  • fix: RandomSelect is wrong
  • fix: explosion won't add drop when can't match recipe
  • feat: support flat item codec
  • fix: ExplosionMixin missing level context
  • fix: BlockKeyableRecipeType missing recipe context
  • fix: BlockCrushingRecipeType showing wrong particle since the entity is AIR after matching
  • fix: ItemStackHolder#shrink returned the wrong stack
  • fix: use exact Y for fall distance
  • fix: make the block predicate codec with registry
  • fix: make the block predicate codec with registry
  • feat: changed the block in tag to blocks
  • fix: correct the method to get matched stacks
  • refactor: optimize the BlockPredicate codec for better debug info
  • fix: fix the BlockInteractingRecipe#getIngredients
  • refactor: add offset codec
  • refactor: switch to strict optional field
  • chore: clearer description
  • feat: new block predicate codec for supporting plain string
  • chore: redirect the hashcode and toString
  • fix: the result of anvil is wrong
  • revert: revert the namespace changes for actions and contextual
  • fix: the location contextual codec is wrong
  • feat: make item stack codec can be plain string
  • fix: fix the single ingredient codec
  • fix: fix the ingredient pair codec
  • refactor: downgrade onConstructed to the implementation class
  • feat: put recipe to context when possible
  • fix: wrong logic for required context construct
  • fix: lack default value for time
  • fix: wrong logic for required context construct
  • fix: CycleStateProperty$Type codec is null
  • fix: init context key and serializer
  • refactor: revert nullable changes for using optional
  • feat: update for new kiwi & 24w11a
  • feat: update SCustomLevelEventPacket for new kiwi networking
  • feat: cleanup code make project runnable
  • chore(deps): bump dependencies
  • fix: make SCustomLevelEventPacket work
  • feat: remove nbt patch stuffs
  • fix: correct the recipe context
  • feat: port AlwaysTrueIngredient
  • chore: cleanup mixins
  • feat(action): add DamageItem
  • feat(action): add RandomSelect
  • feat(action): add MoveTowardsFace
  • feat(action): add If
  • feat(action): add Hurt
  • feat(action): add Explode
  • feat(action): add Execute
  • feat(action): add DropXp
  • feat(action): use record instead of classes
  • feat(action): add DropItem
  • feat(action): add Delay
  • feat(context): add recipe and id to context
  • feat(action): add CycleStateProperty
  • feat(action): add PlaceBlock
  • feat(action): records to classes
  • feat(action): add CustomAction
  • feat(action): add Break
  • fix(recipe): adapt new process
  • feat(action): add `AnvilDamageChance``
  • feat(action): add AddItemCooldown & move conditions to PostActionCommonProperties
  • feat(action): add SetItem
  • feat(action): add PreventDefault
  • feat(recipe): don't touch the original drops
  • feat(recipe): try to fix the snownee.lychee.mixin.recipes.blockexploding.ExplosionMixin
  • chore: move LightningBoltMixin into recipes
  • chore: mark blockexploding.ExplosionMixin as need rewrite
  • style: correct indent
  • feat: use Minecraft's predicates in 24w09a
  • fix(recipe): missing level for DripstoneRecipe
  • refactor(recipe): remove level arg for BlockPredicateExtensions.matches
  • refactor(recipe): remove unused recipes
  • feat(recipe): add DripstoneRecipe
  • fix(recipe): add RandomBlockTickingRecipe
  • fix(recipe): add LightningChannelingRecipe
  • fix(recipe): correct BlockClickingRecipe type and invoke
  • feat(recipe): add serializer to ItemExplodingRecipe
  • chore: switch to new stream codec
  • chore(deps): bump minecraft and fabric to 24w07a
  • feat(recipe): add ItemInsideRecipe
  • feat(recipe): add ItemExplodingRecipe
  • feat(recipe): add ItemBurningRecipe
  • feat(recipe): add BlockClickingRecipe
  • feat(recipe): add BlockInteractingRecipe
  • feat(recipe): use container generic instead of fixed LycheeContext for recipes & correct the ShapedCraftingRecipe
  • feat(recipe): add serializer and type to ShapedCraftingRecipe
  • style: reformat files
  • style: include the editorconfig from https://github.com/Snownee/Loquat/blob/1.20.1-fabric/.editorconfig
  • chore(recipe): adapt crafting & block crushing mixins to new one(no test)
  • fix(recipe): adapt anvil mixin to new one(no test)
  • feat(recipe): add ShapedCraftingRecipe
  • feat(context): add required context type
  • feat(recipe): add BlockExplodingRecipe
  • use more shortcut method
  • delete unused mixins
  • revive JSON fragments
  • ...
  • no Optional
  • refactor LocationPredicate
  • LocationPredicate
  • oops!
  • randomly editing things
  • TweakedItemStackCodec
  • TweakedItemStackResultCodec
  • BlockPredicateCodec
  • improve codecs
  • feat(recipe): add BlockCrushingRecipe
  • chore: using nullable description to avoid Optional field
  • chore: remove generic for ContextualCondition
  • chore: action use common properties
  • return of the good old ContextualHolder, and it uses less RAM
  • less interfaces, nicer codecs, more sanity
  • chore(recipe): cleanup code
  • refactor(recipe): using applyCommonCodecs instead of apply codecs manually
  • refactor(recipe): convert AnvilCraftingRecipe to class for extendable
  • refactor(context): allow context isn't have to be LycheeContextValue
  • no more recipe id getter from LycheeRecipe
  • LycheeRecipe.allActions now returns Stream
  • prettier Codecs
  • rename BlockInputLycheeRecipe -> BlockKeyableRecipe
  • chore: remove BlockPredicate & use optionalFieldOf
  • chore: delete docs
  • feat: depends kiwi
  • improve: nullable String in LycheeRecipeCommonHolder
  • chore: cleanup code
  • chore: port part of BlockKeyRecipe
  • chore: correct the generic type
  • refactor: port part of BlockKKeyRecipe
  • chore: remove catalogs for simple class and specify the default namespace to lychee
  • feat(recipes) add serializer and type for AnvilCraftingRecipe
  • refactor: using common holders as abstract classes
  • refactor(contextual): switch to new context
  • chore: add default value for random
  • feat: try adding key based value map codec for context
  • refactor: complete json, generic, action contexts
  • refactor: rewrite part of context
  • refactor: rewrite part of ItemStackHolder, PostAction, LycheeRecipe
  • feat(contextual): add ContextualConditionsHolder for reducing records' duplicate code
  • fix(contextual): add constant check to min, max
  • feat(contextual): ported contextual with codec
  • chore: disable jei, rei, and kubejs compat for now
  • chore: add parchmentmc for better param naming
  • chore(build): bump gradle and loom
  • chore(deps): bump dependencies
  • chore: removing debug fox entry
  • chore: using clearFire instead of set remaining directly
  • feat: added two tags for entities surviving in lighting bolt
  • chore: able to import project without tokens

5.0.7

  • fix: droppers also place falling blocks (#59)

[NeoForge 1.21.1] 6.0.10

by Snownee on Feb 21, 2025
Download

6.0.10

  • fix: Advanced Shaped Crafting not work (#100)

6.0.9

  • fix: respect post action repeatable (#99)

6.0.8

  • feat: support jei new input handler api (#95)
  • fix: location predicate missing can_see_sky Rule (#94)
  • improve: chance display
  • feat: adding YAML recipes in KubeJS
  • fix(neoforge): crash on server (#92)

6.0.7

  • fix: #90

6.0.6

  • feat: sky darken condition
  • all: 1.21 port part 4

6.0.5

[NeoForge 1.21.1] 6.0.9

by Snownee on Feb 13, 2025
Download

6.0.9

  • fix: respect post action repeatable (#99)

6.0.8

  • feat: support jei new input handler api (#95)
  • fix: location predicate missing can_see_sky Rule (#94)
  • improve: chance display
  • feat: adding YAML recipes in KubeJS
  • fix(neoforge): crash on server (#92)

6.0.7

  • fix: #90

6.0.6

  • feat: sky darken condition
  • all: 1.21 port part 4

6.0.5

  • No changelog provided

6.0.4

  • improve: ingredient merging
  • improve: skip some validation for ghost recipes
  • all: 1.21 port part 3
  • all: 1.21 port part 2
  • all: 1.21 port part 1

[Forge 1.20.1] 5.1.17

by Snownee on Feb 13, 2025
Download

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)

5.1.14

  • fix: IncompatibleClassChangeError when KubeJS is not present

5.1.13

  • improve: show the conditions for catalysts (#71) (#78)

5.1.12

  • fix: info badge position in block exploding category
  • fix: Hurt allow empty source & drops are missing when recipe can't match in exploding (#75)
  • fix: read the source of Hurt correctly (#73)
  • improve: do not show prevent default description in tooltip if there are conditions in the action (close #71)
  • fix: incompatibility with Polymer

[NeoForge 1.21.1] 6.0.8

by Snownee on Feb 11, 2025
Download

6.0.8

  • feat: support jei new input handler api (#95)
  • fix: location predicate missing can_see_sky Rule (#94)
  • improve: chance display
  • feat: adding YAML recipes in KubeJS
  • fix(neoforge): crash on server (#92)

6.0.7

  • fix: #90

6.0.6

  • feat: sky darken condition
  • all: 1.21 port part 4

6.0.5

  • No changelog provided

6.0.4

  • improve: ingredient merging
  • improve: skip some validation for ghost recipes
  • all: 1.21 port part 3
  • all: 1.21 port part 2
  • all: 1.21 port part 1

6.0.3

  • chore: update dependencies

[Forge 1.20.1] 5.1.16

by Snownee on Feb 5, 2025
Download

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)

5.1.14

  • fix: IncompatibleClassChangeError when KubeJS is not present

5.1.13

  • improve: show the conditions for catalysts (#71) (#78)

5.1.12

  • fix: info badge position in block exploding category
  • fix: Hurt allow empty source & drops are missing when recipe can't match in exploding (#75)
  • fix: read the source of Hurt correctly (#73)
  • 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.8

  • feat: allow custom post actions do not register their renderer
  • feat: remove the set nbt restriction for some special blocks
  • chore: parity & disable transitive AWs
  • fix: explode action has no sound

5.1.6

  • improve: allow some mod explosives to do item exploding crafting (#67)

5.1.5

  • fix: client level lingering
  • let third-party mods support the group property easier
  • new publish script

5.1.3

  • fix: chance condition in dripstone recipes may be executed twice

5.1.1

  • fix: actions in if action are executed in a reverse order

5.1.0

  • chore: add example recipes
  • Merge pull request #62 from SettingDust/1.20-forge
  • chore: removing debug fox entry
  • chore: using clearFire instead of set remaining directly
  • chore: able to import project without tokens
  • feat: added two tags for entities surviving in lighting bolt

5.0.7

  • fix: droppers also place falling blocks (#59)
  • fix: item burning recipes not working

5.0.5

  • fix: item duplication in the last commit
  • fix: cannot place block in block exploding recipes
  • 1.20 port

3.14.1

  • fix: crash with REI (#54)

3.14.0

  • vanilla recipes 2
  • fix: interaction result is not correctly applied
  • feat: execute action cancel repeating
  • vanilla recipes

3.13.3

  • fix: interaction recipes not working

3.13.2

  • fix: bugs. now you can look up by block input in REI
1
2
7

Modrinth is open source.

app-ads@1633f40

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.