-
Notifications
You must be signed in to change notification settings - Fork 5
Recipes and Data (v2)
Due to the changes in Vanilla, recipe and other datapack files have a different set of fields in different MC versions: This is the page version for MC 1.20.5 to MC 1.21.1.
Energized Power adds a few custom data component types.
- Description: A non negative integer (On Forge/NeoForge) or a non negative long (On Fabric) which stores how much energy is stored in an item.
- Usage: Batteries, Inventory Generators, Tools
- Description: A bool which stores if an item is currently activated.
- Usage: Inventory Generators, Tools
- Description: A bool which stores if an item is currently working.
- Usage: Inventory Generators, Tools
- Description: A non negative integer which stores the current progress of an operation.
- Usage: Inventory Generators, Tools
- Description: A non negative integer which stores the maximal progress of an operation (If
progress
reachesmax_progress
the operation is finished). - Usage: Inventory Generators, Tools
- Description: A non negative integer (On Forge/NeoForge) or a non negative long (On Fabric) which stores how much energy is still being produced.
- Usage: Inventory Generators
- Description: An item stack which is currently being processed, used, or selected.
- JSON representation:
{
"currentItem": {
"id": "minecraft:coal",
"count": 1,
"components": {
"minecraft:custom_name": "\"Super Coal\""
}
}
}
- Usage: Inventory Generators, Tools
- Description: A list of 0 or more item stacks which are currently stored in an item.
- JSON representation:
- The size of the inventory is the length of the JSON list. Items are stored in order. An empty JSON object is used to represent empty slots`
[
{
"id": "energizedpower:battery_6",
"count": 1
},
{
},
{
"id": "energizedpower:battery_7",
"count": 1,
"components": {
"energizedpower:energy": 262144
}
}
]
- Usage: Items with inventories (Like the Inventory Charger)
- Description: The current face (Direction) of a block which is selected.
- Usage: Tools (Like the Wrench)
- Description: A non-negative integer which blocks an action until the data component is no longer present or reaches 0.
- Usage: Tools (Like the Wrench)
- Description: An block position (Integers
x
,y
, andz
) in a dimension (Identifier (Format:namespace:id
)dimensionId
). - JSON representation:
{
"x": 10,
"y": 90,
"z": -42,
"dimensionId": "minecraft:the_nether"
}
- Usage: Teleporter Matrix
Recipes can be added via configuration files like any other recipe.
Folder (MC 1.20.6 and older): data/<name>/recipes/<folder_1>/<folder_2>/.../<recipe_id>.json
Folder (MC 1.21 and newer): data/<name>/recipe/<folder_1>/<folder_2>/.../<recipe_id>.json
percentages
is an array of double element which determines the output amount odds of an accompanying output
item stack element. Every element is independent from other elements and represents the chance to add 1 to the final output count.
Examples:
- The item count for the array
[0.75, 0.25]
would be at least 0 and at most 2. There is a 75% chance the first element would add 1 to the final output count and there is a 25% chance the second element would add 1 to the final output count. The general odds would be the following (count is 0: 18.75%, count is 1: 62.5%, count is 2: 18.75%) -
[1, 0.33, 0.33]
-> (count is 0: 0%, count is 1: 44.89%, count is 2: 44.22%, count is 3: 10.89%)
Example for an item with custom data components:
{
"item": "energizedpower:battery_1",
"count": 1,
"components": {
"item_name": "{\"text\": \"Test Battery\"}",
"energizedpower:energy": 32
}
}
Explanation:
-
item
: The item id (May not beair
) -
count
: The count of the item (Default: 1) [OPTIONAL] -
components
: The data components of the item [OPTIONAL]
Example for 1 Bucket of Water:
{
"id": "minecraft:water",
"amount": 1000
}
Explanation:
-
id
: The fluid id (May not beempty
) -
amount
: The amount of the fluid in milli Buckets (Value must be > 0) -
leftoverDropletsAmount
: The amount of droplets (81 droplet = 1 mB (milli Buckets)) which would be the fractional part of the milli Buckets conversion (Value must be > 0 and < 81) [Fabric only] [OPTIONAL] -
components
: The data components of the fluid [OPTIONAL]
Example for charging Copper Ingots to get Energized Copper Ingots:
{
"type": "energizedpower:charger",
"ingredient": {
"item": "minecraft:copper_ingot"
},
"energy": 524288,
"output": {
"item": "energizedpower:energized_copper_ingot"
}
}
Explanation:
-
type
: Must be set toenergizedpower:charger
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
energy
: The amount of energy in FE which is required to charge the ingredient -
output
: The output item stack (Count must be 1)
Example for energizing Copper Ingots to get Energized Copper Ingots:
{
"type": "energizedpower:energizer",
"ingredient": {
"item": "minecraft:copper_ingot"
},
"energy": 8192,
"output": {
"item": "energizedpower:energized_copper_ingot"
}
}
Explanation:
-
type
: Must be set toenergizedpower:energizer
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
energy
: The amount of energy in FE which is required to charge the ingredient -
output
: The output item stack (Min count: 1, max count: 64)
Example for crushing Cobbelstone blocks to get Gravel:
{
"type": "energizedpower:crusher",
"ingredient": {
"tag": "forge:cobblestone/normal"
},
"output": {
"item": "minecraft:gravel"
}
}
Explanation:
-
type
: Must be set toenergizedpower:crusher
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
output
: The output item stack (Min count: 1, max count: 64)
Example for sawing Oak Logs to get Oak Planks:
{
"type": "energizedpower:sawmill",
"ingredient": {
"tag": "minecraft:oak_logs"
},
"output": {
"item": "minecraft:oak_planks",
"count": 4
},
"sawdustAmount": 2
}
-
type
: Must be set toenergizedpower:sawmill
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
output
: The output item stack (Min count: 1, max count: 64) -
sawdustAmount
: The amount of sawdust produced by the recipe (Will be put in the sawdust output slot) (Min count: 0, max count: 64) (If the count is set to 0, the sawdust output slot won't be used by the recipe)
Example for sawing Jukebox to get Oak Planks:
{
"type": "energizedpower:sawmill",
"ingredient": {
"item": "minecraft:jukebox"
},
"output": {
"item": "minecraft:oak_planks",
"count": 8
},
"secondaryOutput": {
"item": "minecraft:diamond",
"count": 1
}
}
-
type
: Must be set toenergizedpower:sawmill
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
output
: The output item stack (Min count: 1, max count: 64) -
secondaryOutput
: The secondary output item stack (Min count: 0, max count: 64), If the count is set to 0, no secondary output will be produced.
Example for compressing Copper Ingots to get Copper Plates:
{
"type": "energizedpower:compressor",
"ingredient": {
"tag": "forge:ingots/copper"
},
"output": {
"item": "energizedpower:copper_plate"
}
}
Explanation:
-
type
: Must be set toenergizedpower:compressor
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
output
: The output item stack (Min count: 1, max count: 64)
Example for compressing Stone Pebbles to get Cobblestone:
{
"type": "energizedpower:compressor",
"ingredient": {
"item": "energizedpower:stone_pebble"
},
"inputCount": 16,
"output": {
"item": "minecraft:cobblestone"
}
}
Explanation:
-
type
: Must be set toenergizedpower:compressor
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
inputCount
: The count of the ingredient (Min count: 1, max count: 64) [OPTIONAL] -
output
: The output item stack (Min count: 1, max count: 64)
Example 1 for growing Beetroot Seeds to get Beetroots:
{
"type": "energizedpower:plant_growth_chamber",
"ingredient": {
"item": "minecraft:beetroot_seeds"
},
"ticks": 16000,
"outputs": [
{
"output": {
"item": "minecraft:beetroot_seeds"
},
"percentages": [1.0, 0.33, 0.33]
},
{
"output": {
"item": "minecraft:beetroot"
},
"percentages": [1.0, 0.75, 0.25, 0.25]
}
]
}
Example 2 for growing Potato to get Potatoes:
{
"type": "energizedpower:plant_growth_chamber",
"ingredient": {
"item": "minecraft:potato"
},
"ticks": 16000,
"outputs": [
{
"output": {
"item": "minecraft:potato"
},
"percentages": [1.0, 0.75, 0.25, 0.25]
},
{
"output": {
"item": "minecraft:poisonous_potato"
},
"percentages": [0.125]
}
]
}
Explanation:
-
type
: Must be set toenergizedpower:plant_growth_chamber
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
ticks
: The amount of ticks the recipe takes without using fertilizers -
outputs
: A list of outputs [Each contains anoutput
and apercentages
element]. More than 4 values can be used but excess items will vanish.-
output
: The output item stack (Count must be 1, because the count is determined by thepercentages
element) -
percentages
: An array of double values. If a percentage of 100% is used, it must be within the first 4outputs
elements to guarantee that it won't vanish. For details see: percentages-value.
-
Example Bone Meal fertilizer:
{
"type": "energizedpower:plant_growth_chamber_fertilizer",
"ingredient": {
"item": "minecraft:bone_meal"
},
"speedMultiplier": 1.5,
"energyConsumptionMultiplier": 3.0
}
Explanation:
-
type
: Must be set toenergizedpower:plant_growth_chamber_fertilizer
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
speedMultiplier
: A double value by which theticks
value fromPlant Growth Chamber
recipes is divided. -
energyConsumptionMultiplier
: A double value by which the energy consumption per tick value of thePlant Growth Chamber
is multiplied.
Example for generating energy from flowing lava:
{
"type": "energizedpower:heat_generator",
"input": "minecraft:flowing_lava",
"energy": 15
}
Explanation:
-
type
: Must be set toenergizedpower:heat_generator
-
input
: Must be a single fluid id or a list of fluid ids (Flowing fluids are allowed too) -
energy
: The amount of energy produced per block face per tick
Example for generating energy from lava:
{
"type": "energizedpower:thermal_generator",
"input": "minecraft:lava",
"energy": 20000
}
Explanation:
-
type
: Must be set toenergizedpower:thermal_generator
-
input
: Must be a single fluid id or a list of fluid ids (Flowing fluids are allowed too) -
energy
: The amount of energy generated from 1000 mB (milli Buckets) of the input fluid(s)
Example 1 for pulverizing Gold ores to get Gold Dust:
{
"type": "energizedpower:pulverizer",
"ingredient": {
"tag": "minecraft:gold_ores"
},
"output": {
"output": {
"item": "energizedpower:gold_dust"
},
"percentages": [ 1.0, 1.0, 0.25 ]
}
}
Example 2 for pulverizing Copper ores to get Copper Dust and Gold Dust:
{
"type": "energizedpower:pulverizer",
"ingredient": {
"tag": "minecraft:copper_ores"
},
"output": {
"output": {
"item": "energizedpower:copper_dust"
},
"percentages": [ 1.0, 1.0, 1.0, 1.0, 0.5, 0.5 ]
},
"secondaryOutput": {
"output": {
"item": "energizedpower:gold_dust"
},
"percentages": [ 0.1 ],
"percentagesAdvanced": [ 0.2 ]
}
}
Explanation:
-
type
: Must be set toenergizedpower:pulverizer
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
output
: Must contain an item and a list of percentages-
output
: The output item stack (Count must be 1, because the count is determined by thepercentages
element) -
percentages
: An array of double values. At least one percentage must be 100%. For details see: percentages-value. -
percentagesAdvanced
: An array of double values which may or may not have the same count of elements aspercentages
.percentagesAdvanced
will overridepercentages
for the advanced version of the Pulverizer ifpercentagesAdvanced
is present. At least one percentage must be 100%. For details see: percentages-value. [OPTIONAL]
-
-
secondaryOutput
: Must contain an item and a list of percentages [OPTIONAL]-
output
: The output item stack (Count must be 1, because the count is determined by thepercentages
element) -
percentages
: An array of double values. May or may not contain a percentage of 100%. For details see: percentages-value. -
percentagesAdvanced
: An array of double values which may or may not have the same count of elements aspercentages
.percentagesAdvanced
will overridepercentages
for the advanced version of the Pulverizer ifpercentagesAdvanced
is present. May or may not contain a percentage of 100%. For details see: percentages-value. [OPTIONAL]
-
Example for creating a Raw Gear Press Mold:
{
"type": "energizedpower:press_mold_maker",
"clayCount": 4,
"output": {
"item": "energizedpower:raw_gear_press_mold"
}
}
Explanation:
-
type
: Must be set toenergizedpower:press_mold_maker
-
clayCount
: The amount of Clay Balls required to craft the Raw Press Mold (Min count: 1, max count: 64) -
output
: The output item stack (Should be in theenergizedpower:metal_press/raw_press_molds
tag and should have a smelting recipe for the non-raw version of the Press Mold (This should be in theenergizedpower:metal_press/press_molds
tag) which can be used in the Metal Press) (Min count: 1, max count: 64)
Example for pressing Copper Plates into Copper Wires:
{
"type": "energizedpower:metal_press",
"ingredient": [
{
"tag": "forge:plates/copper"
}
],
"pressMold": {
"item": "energizedpower:wire_press_mold"
},
"output": {
"item": "energizedpower:copper_wire",
"count": 3
}
}
Explanation:
-
type
: Must be set toenergizedpower:metal_press
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
pressMold
: The Press Mold item stack (Must be in theenergizedpower:metal_press/press_molds
tag) (Will not be consumed by the recipe; Count must always be 1) -
output
: The output item stack (Min count: 1, max count: 64)
Example for pressing Iron Plates into Iron Gear:
{
"type": "energizedpower:metal_press",
"ingredient": [
{
"tag": "forge:plates/iron"
}
],
"inputCount": 2,
"pressMold": {
"item": "energizedpower:gear_press_mold"
},
"output": {
"item": "energizedpower:iron_gear"
}
}
Explanation:
-
type
: Must be set toenergizedpower:metal_press
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
inputCount
: The count of the ingredient (Min count: 1, max count: 64) -
pressMold
: The Press Mold item stack (Must be in theenergizedpower:metal_press/press_molds
tag) (Will not be consumed by the recipe; Count must always be 1) -
output
: The output item stack (Min count: 1, max count: 64)
Example for creating Cobblestones:
{
"type": "energizedpower:stone_solidifier",
"waterAmount": 50,
"lavaAmount": 50,
"output": {
"item": "minecraft:cobblestone"
}
}
Explanation:
-
type
: Must be set toenergizedpower:stone_solidifier
-
waterAmount
: The amount in mB (milli Buckets) of Water consumed by the recipe (Min amount: 1 mB) -
lavaAmount
: The amount in mB (milli Buckets) of Lava consumed by the recipe (Min amount: 1 mB) -
output
: The output item stack (Min count: 1, max count: 64)
Example 1 for assembling Processing Units:
{
"type": "energizedpower:assembling_machine",
"inputs": [
{
"input": {
"item": "energizedpower:advanced_circuit"
},
"count": 4
},
{
"input": {
"tag": "forge:wires/energized_gold"
},
"count": 6
},
{
"input": {
"tag": "forge:silicon"
},
"count": 6
}
],
"output": {
"item": "energizedpower:processing_unit"
}
}
Example 2 for assembling Crystal Matrices:
{
"type": "energizedpower:assembling_machine",
"inputs": [
{
"input": {
"tag": "forge:gems/amethyst"
},
"count": 6
},
{
"input": {
"tag": "forge:gems/diamond"
},
"count": 2
},
{
"input": {
"tag": "forge:gems/emerald"
},
"count": 2
},
{
"input": {
"tag": "forge:dusts/redstone"
}
}
],
"output": {
"item": "energizedpower:crystal_matrix"
}
}
Explanation:
-
type
: Must be set toenergizedpower:assembling_machine
-
inputs
: A list of inputs [Each contains aninput
element and an optionalcount
element] (There can be multiple entries with the same or overlapping ingredients) (There must be at least one and at most four inputs)-
input
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
count
: The count of the ingredient (Min count: 1, max count: 64) [OPTIONAL]
-
-
output
: The output item stack (Min count: 1, max count: 64)
Example 1 for growing Amethyst Shards:
{
"type": "energizedpower:crystal_growth_chamber",
"ingredient": {
"tag": "forge:gems/amethyst"
},
"ticks": 16000,
"output": {
"output": {
"item": "minecraft:amethyst_shard"
},
"percentages": [1.0, 1.0, 0.67, 0.5, 0.25, 0.125]
}
}
Example 2 for growing Budding Amethysts:
{
"type": "energizedpower:crystal_growth_chamber",
"ingredient": {
"tag": "forge:storage_blocks/amethyst"
},
"inputCount": 4,
"ticks": 32000,
"output": {
"output": {
"item": "minecraft:budding_amethyst"
},
"percentages": [0.25]
}
}
Explanation:
-
type
: Must be set toenergizedpower:crystal_growth_chamber
-
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
inputCount
: The count of the ingredient (Min count: 1, max count: 64) [OPTIONAL] -
ticks
: The amount of ticks the recipe takes -
output
: A single object withoutput
andpercentages
elements-
output
: The output item stack (Count must be 1, because the count is determined by thepercentages
element) -
percentages
: An array of double values. May or may not contain a percentage of 100%. For details see: percentages-value.
-
Example for filtering Raw Copper from Dirty Water:
{
"type": "energizedpower:filtration_plant",
"icon": "minecraft:raw_copper",
"output": {
"output": {
"item": "minecraft:cobblestone"
},
"percentages": [ 0.33 ]
},
"secondaryOutput": {
"output": {
"item": "minecraft:raw_copper"
},
"percentages": [ 0.05 ]
}
}
Explanation:
-
type
: Must be set toenergizedpower:filtration_plant
-
icon
: Must be an item id which will be displayed as an icon in the recipe selector in the Filtration Plant GUI -
output
: Must contain an item and a list of percentages-
output
: The output item stack (Count must be 1, because the count is determined by thepercentages
element) -
percentages
: An array of double values. May or may not contain a percentage of 100%. For details see: percentages-value.
-
-
secondaryOutput
: Must contain an item and a list of percentages [OPTIONAL]-
output
: The output item stack (Count must be 1, because the count is determined by thepercentages
element) -
percentages
: An array of double values. May or may not contain a percentage of 100%. For details see: percentages-value.
-
Example 1 for emptying Water from Wet Sponges:
{
"type": "energizedpower:fluid_transposer",
"mode": "EMPTYING",
"ingredient": {
"item": "minecraft:wet_sponge"
},
"output": {
"item": "minecraft:sponge"
},
"fluid": {
"id": "minecraft:water",
"amount": 1000
}
}
Example 2 for filling Sponges with Water:
{
"type": "energizedpower:fluid_transposer",
"mode": "FILLING",
"ingredient": {
"item": "minecraft:sponge"
},
"output": {
"item": "minecraft:wet_sponge"
},
"fluid": {
"id": "minecraft:water",
"amount": 1000
}
}
Explanation:
-
type
: Must be set toenergizedpower:fluid_transposer
-
mode
: Must beEMPTYING
for the emptying mode (Item -> Item + Fluid) andFILLING
for the filling mode (Item + Fluid -> Item) -
ingredient
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
output
: The output item stack (Min count: 1, max count: 64) -
fluid
: The fluid stack (output for emptying mode and input for filling mode)
Example for smelting Steel Ingots:
{
"type": "energizedpower:alloy_furnace",
"inputs": [
{
"input": {
"tag": "c:ingots/iron"
}
},
{
"input": {
"tag": "minecraft:coals"
},
"count": 3
}
],
"ticks": 1000,
"output": {
"item": "energizedpower:steel_ingot"
}
}
Explanation:
-
type
: Must be set toenergizedpower:alloy_furnace
-
inputs
: A list of inputs [Each contains aninput
element and an optionalcount
element] (There can be multiple entries with the same or overlapping ingredients) (There must be at least one and at most three inputs)-
input
: Must contain a single ingredient object (a single item/tag or a list of items/tags) -
count
: The count of the ingredient (Min count: 1, max count: 64) [OPTIONAL]
-
-
ticks
: The amount of ticks the recipe takes -
output
: The output item stack (Min count: 1, max count: 64) -
secondaryOutput
: Must contain an item and a list of percentages [OPTIONAL]-
output
: The output item stack (Count must be 1, because the count is determined by thepercentages
element) -
percentages
: An array of double values. May or may not contain a percentage of 100%. For details see: percentages-value.
-