File Details
FarmersDelightV4.0.0-1.21.90+.mcaddon
- R
- Jul 13, 2025
- 2.33 MB
- 14.7K
- 1.21.93+1
File Name
FarmersDelightV4.0.0-1.21.90+.mcaddon
Supported Versions
- 1.21.93
- 1.21.90
Non-Technical Updates
Additions
-
Items in the off-hand can now interact with the cutting board.
-
The Farmer's Almanac can now be placed into chiseled bookshelves.
-
The display order of items on the stove now varies based on the stove’s facing direction.
-
The stove’s lit state is now consistent with the vanilla furnace and is no longer affected by ambient lighting.
-
Some items can now be placed in the off-hand.
-
Wild crops can now be broken and drop items when destroyed by flowing water.
-
Wild crops can now drop items when destroyed by explosions.
Changes
-
The model for full blocks has been changed from
geometry.blockto the vanillaminecraft:geometry.full_block. -
Block and item format versions have been upgraded to
1.21.90. -
Stove cooking time is now stored as dynamic entity properties instead of scoreboard values, and cooked items are stored in the stove entity’s inventory.
-
Skillet data storage has been changed from scoreboard values to dynamic entity properties.
Technical Updates
Removals (Breaking Changes)
-
Removed item tag-based registration for cutting board recipes.
-
Removed item tag-based registration for stove/skillet recipes.
-
Removed the
farmersdelight:is_knifetag’s function for increasing production. -
Removed the function where fertile soil accelerates crops based on block tags.
-
Removed the
farmersdelight:cabinettag-based registration for cabinets.
Additions
Blocks
-
Added
farmersdelight:cabinetcomponent to register cabinets.
| Key | Type | Required | Description |
|---|---|---|---|
| string | Yes | Specifies the ID of the cabinet entity to bind to. Must exactly match the entity ID defined in the behavior pack. |
-
Added
farmersdelight:cropcomponent for registering crops. This is also used by fertile soil to accelerate growth.
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
loot |
string | Yes | — | The loot table ID used on harvest. |
state |
object | Yes | — | See structure below. |
State structure:
<figure class="md-table-fig table-figure">| Key | Type | Required | Default | Description |
|---|---|---|---|---|
name |
string | Yes | — | Name of the block state used for growth. |
age |
number | Yes | — | Age value when mature. |
age_after_harvest |
number | No | 0 |
Age value after harvest. |
-
Added
farmersdelight:wild_cropcomponent. Can be silk-touched with shears. Has no parameters.
Items
-
Added
farmersdelight:cookablecomponent for registering stove/skillet recipes.
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
result |
string | Yes | — | Result item ID. |
time |
int | No | 200 |
Cooking time in ticks (1s = 20). |
⚠️ This component only handles recipe logic. Rendering particles must be registered separately.
Particle Template Examples
-
Stove particle effect: ID must follow
namespace:stove_identifierpattern.
{
"format_version": "1.10.0",
"particle_effect": {
"components": {
"minecraft:emitter_lifetime_once": { "active_time": 0.12 },
"minecraft:emitter_rate_steady": { "max_particles": 60, "spawn_rate": 1250 },
"minecraft:emitter_shape_box": {
"direction": "outwards",
"half_dimensions": [0, 0.009375, 0],
"offset": [0, 0.009375, 0]
},
"minecraft:particle_appearance_billboard": {
"facing_camera_mode": "emitter_transform_xz",
"size": [0.15, 0.15],
"uv": {
"texture_height": 16,
"texture_width": 16,
"uv": [0, 0],
"uv_size": [16, 16]
}
},
"minecraft:particle_initial_speed": 0,
"minecraft:particle_lifetime_expression": { "max_lifetime": 0.05 },
"minecraft:particle_motion_dynamic": {},
"minecraft:particle_appearance_lighting": {}
},
"description": {
"basic_render_parameters": {
"material": "particles_alpha",
"texture": "textures/items/minced_beef"
},
"identifier": "farmersdelight:stove_minced_beef"
}
}
}
-
Skillet particle effect: ID must follow
namespace:skillet_identifier.
{
"format_version": "1.10.0",
"particle_effect": {
"components": {
"minecraft:emitter_lifetime_once": { "active_time": 0.12 },
"minecraft:emitter_rate_steady": { "max_particles": 60, "spawn_rate": 1250 },
"minecraft:emitter_shape_box": {
"offset": [0, 0.01563, 0],
"half_dimensions": [0, 0.01563, 0],
"direction": "outwards"
},
"minecraft:particle_appearance_billboard": {
"facing_camera_mode": "emitter_transform_xz",
"size": [0.25, 0.25],
"uv": {
"texture_height": 16,
"texture_width": 16,
"uv": [0, 0],
"uv_size": [16, 16]
}
},
"minecraft:particle_initial_speed": 0,
"minecraft:particle_lifetime_expression": { "max_lifetime": 0.05 },
"minecraft:particle_motion_dynamic": {},
"minecraft:particle_appearance_lighting": {}
},
"description": {
"basic_render_parameters": {
"material": "particles_alpha",
"texture": "textures/items/chicken_cuts"
},
"identifier": "farmersdelight:skillet_chicken_cuts"
}
}
}
-
Added
farmersdelight:increase_productioncomponent for loot multiplication. No parameters. -
Added
farmersdelight:seedcomponent to place blocks on top of fertile soil.
| Key | Type | Required | Description |
|---|---|---|---|
| string | Yes | Block ID to place on fertile soil. |
-
Added
farmersdelight:cutting_boardcomponent to define cutting board recipes.
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
loot |
array | Yes | — | Array of LootItem results. |
is_block |
boolean | No | false | If true, uses block rendering; otherwise uses item particles. |
tool |
object | Yes | — | Tool requirement (by tag or item ID). |
LootItem Structure:
LootItem = [string id, number amount, number? chance]
<figure class="md-table-fig table-figure">
| Index | Type | Required | Default | Description |
|---|---|---|---|---|
[0] |
string | Yes | — | Dropped item ID. |
[1] |
number | Yes | — | Amount dropped. |
[2] |
number | No | 1 |
Drop chance (0–1). |
Tool Object:
<figure class="md-table-fig table-figure">| Key | Type | Required | Description |
|---|---|---|---|
type |
"tag" | "item" |
Yes | Whether name is a tag or item ID. |
name |
string | Yes | The tag or item name. |
Item Particle Template: ID must match the item ID.
{
"format_version": "1.10.0",
"particle_effect": {
"components": {
"minecraft:emitter_lifetime_once": { "active_time": 0.12 },
"minecraft:emitter_rate_steady": { "max_particles": 250, "spawn_rate": 1250 },
"minecraft:emitter_shape_box": {
"offset": [0, 0.01563, 0],
"half_dimensions": [0, 0.01563, 0],
"direction": "outwards"
},
"minecraft:particle_appearance_billboard": {
"facing_camera_mode": "emitter_transform_xz",
"size": [0.25, 0.25],
"uv": {
"texture_height": 16,
"texture_width": 16,
"uv": [0, 0],
"uv_size": [16, 16]
}
},
"minecraft:particle_initial_speed": 0,
"minecraft:particle_lifetime_expression": { "max_lifetime": 0.05 },
"minecraft:particle_motion_dynamic": {},
"minecraft:particle_appearance_lighting": {}
},
"description": {
"basic_render_parameters": {
"material": "particles_alpha",
"texture": "textures/items/apple_pie"
},
"identifier": "farmersdelight:apple_pie"
}
}
}
The
lootarray can include multipleLootItems.You can define bulk loot directly in the JSON like:
"loot": [
["minecraft:beef", 1, 0.25],
["minecraft:leather", 1]
]