-
Notifications
You must be signed in to change notification settings - Fork 2
CraftTweaker Guide (1.16.5)
1.<recipetype:XXX:YYY>.removeRecipe(IItemStack) is not working
Uses at: Compressor, Advanced Compressor(Compressing Mode)
Methods
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | data | JSON Object | recipe's json data |
JSON Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | output | IItemStack | output itemstack |
| 2 | input | JSON Object | input data include Ingredient |
Example
<recipetype:boss_tools:compressing>.addJSONRecipe("compressing_test_1", {
"output": { "item": "minecraft:diamond" },
"input": { "ingredient": { "tag": "minecraft:coals" } },
"cookTime": 200
});
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | output | IItemStack | output itemstack |
| 3 | input | IIngredient | intput ingredient |
| 4 | cookTime | int | cookTime if empty, will be 200 |
Example
<recipetype:boss_tools:compressing>.addRecipe("compressing_test_2", <item:mekanism:dust_charcoal>, <tag:items:forge:dusts/wood>);
<recipetype:boss_tools:compressing>.addRecipe("compressing_test_3", <item:boss_tools:compressed_steel>, <tag:items:forge:nuggets/steel>, 50);

Uses at: Fuel Refinery
Methods
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | data | JSON Object | recipe's json data |
JSON Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | output | JSON Object | output fluid (name or tag) with amount |
| 2 | input | JSON Object | input fluid (name or tag) with amount |
Example
<recipetype:boss_tools:fuelrefining>.addJSONRecipe("fuelrefining_test_1", {
"output": {
"name": "boss_tools:fuel",
"amount": 2
},
"input": {
"tag": "tconstruct:blazing_blood",
"amount": 2
},
});
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | fluidOutput | IFluidStack | output fluidstack |
| 3 | fluidInput | IFluidStack or CTFluidIngredient or MCTag<Fluid> or MCTagWithAmount<Fluid> |
intput fluid ingredient |
Example
<recipetype:boss_tools:fuelrefining>.addRecipe("fuelrefining_test_2", <fluid:boss_tools:fuel> * 3, <fluid:minecraft:lava> * 5);
<recipetype:boss_tools:fuelrefining>.addRecipe("fuelrefining_test_3", <fluid:boss_tools:fuel> * 5, <tag:fluids:tconstruct:slime> * 3);

Uses at: Coal Generator
Methods
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | data | JSON Object | recipe's json data |
JSON Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | burnTime | int | generating duration [ticks] |
| 2 | input | JSON Object | input data include Ingredient |
Example
<recipetype:boss_tools:generating>.addJSONRecipe("generating_test_1", {
"burnTime": 1998,
"input": { "ingredient": { "item": "minecraft:lava_bucket" } }
});
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | burnTime | int | generating duration [ticks] |
| 3 | input | IIngredient | input ingredient |
Example
<recipetype:boss_tools:generating>.addRecipe("generating_test_2", 19998, <item:tconstruct:blazing_blood_bucket>);
<recipetype:boss_tools:generating>.addRecipe("generating_test_3", 25, <tag:items:forge:dusts/wood>);

Uses at: Oxygen Loader, Oxygen Bubble Distributor
Methods
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | data | JSON Object | recipe's json data |
JSON Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | oxygen | int | output oxygen amount |
| 2 | input | JSON Object | input fluid (name or tag) with amount |
Example
<recipetype:boss_tools:oxygenloader>.addJSONRecipe("oxygenloader_test_1", {
"oxygen": 25,
"input": { "name": "minecraft:lava", "amount": 5 }
});
<recipetype:boss_tools:oxygenbubbledistributor>.addJSONRecipe("oxygenbubbledistributor_test_1", {
"oxygen": 20,
"input": { "name": "minecraft:lava", "amount": 1 }
});Oxygen Loader

Oyxgen Bubble Distributor

Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | oxygenOutput | int | output oxygen amount |
| 3 | fluidInput | IFluidStack or CTFluidIngredient or MCTag<Fluid> or MCTagWithAmount<Fluid> |
intput fluid ingredient |
Example
<recipetype:boss_tools:oxygenloader>.addRecipe("oxygenloader_test_2", 100, <tag:fluids:forge:milk> * 5);
<recipetype:boss_tools:oxygenbubbledistributor>.addRecipe("oxygenbubbledistributor_test_2", 80, <tag:fluids:forge:milk>);Oxygen Loader

Oxygen Bubble Distributor

this method will add loader/bubble distributor recipes using same input at once
Method Scheme 1
defaultly, bubble distributor's oxygen is 4 times of loader
recipetype:boss_tools:oxygenloader, oxygenbubbledistributor both useable
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | loaderOxygen | int | oxygen loader's output oxygen amount |
| 3 | fluidInput | IFluidStack or CTFluidIngredient or MCTag<Fluid> or MCTagWithAmount<Fluid> |
intput fluid ingredient |
Method Scheme 2
set each recipe's output amount at once
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | loaderOxygen | int | oxygen loader's output oxygen amount |
| 3 | bubbleDistributor | int | oxygen bubble distributor's output oxygen amount |
| 4 | fluidInput | IFluidStack or CTFluidIngredient or MCTag<Fluid> or MCTagWithAmount<Fluid> |
intput fluid ingredient |
Example
<recipetype:boss_tools:oxygenloader>.addRecipePair("oxygenpair_test_1", 5, <tag:fluids:forge:experience> * 2);
// same with this
// <recipetype:boss_tools:oxygenbubbledistributor>.addRecipePair("oxygenpair_test_2", 5, 20, <tag:fluids:forge:experience> * 2);Oxygen Loader

Oxygen Bubble Distributor

Uses at: NASA Workbench
These rocket parts are Space-BossTools's built-in parts
| order | name | with bracket |
|---|---|---|
| 1 | boss_tools:nose | <rocket_part:boss_tools:nose> |
| 2 | boss_tools:body | <rocket_part:boss_tools:body> |
| 3 | boss_tools:tank | <rocket_part:boss_tools:tank> |
| 4 | boss_tools:fin_left | <rocket_part:boss_tools:fin_left> |
| 5 | boss_tools:fin_right | <rocket_part:boss_tools:fin_right> |
| 6 | boss_tools:engine | <rocket_part:boss_tools:engine> |

Other mods can register own Rocket Part
But NASA Workbench is use their 6 part only
Each part's slots are placed left to right, up to down
Methods
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | data | JSON Object | recipe's json data |
JSON Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | output | IItemStack | output itemstack |
| 2 | input | JSON Object | input data include Part Ingredients |
- RocketParts and Ingredients can skippable
- See Example
Part Ingredients JSON Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | key | String | rocket part's resource location |
| 2 | value | Array of IItemStack | part ingredients |
Example
<recipetype:boss_tools:workbenching>.addJSONRecipe("workbenching_test_1", {
"output": { "item": "boss_tools:rover" },
"input": {
"parts": {
"boss_tools:nose": [
{ "tag": "forge:gems/lapis" }
],
"boss_tools:body": [
{ "tag": "forge:plates/iron" },
{ "tag": "forge:plates/iron" },
{ "tag": "forge:plates/iron" },
{ "tag": "forge:plates/iron" },
{ "tag": "forge:plates/iron" },
{ "tag": "forge:plates/iron" }
],
"boss_tools:tank": [
{ "item": "minecraft:bucket" },
{ "item": "minecraft:bucket" }
],
"boss_tools:fin_left": [
{ "item": "boss_tools:wheel" },
{ "item": "boss_tools:wheel" }
],
"boss_tools:fin_right": [
{ "item": "boss_tools:wheel" },
{ "item": "boss_tools:wheel" }
],
"boss_tools:engine": [
{ "item": "minecraft:furnace" }
]
}
}
});
Example 2 (RocketParts and Ingredients skipped)
<recipetype:boss_tools:workbenching>.addJSONRecipe("workbenching_test_2", {
"output": { "item": "minecraft:enchanting_table", count: 2 },
"input": {
"parts": {
"boss_tools:nose": [
{ "item": "minecraft:book" }
],
"boss_tools:body": [
{ "tag": "forge:obsidian" },
{ "tag": "forge:obsidian" },
{ "tag": "forge:obsidian" },
{ "tag": "forge:obsidian" }
],
"boss_tools:fin_left": [
{ "tag": "forge:gems/diamond" }
],
"boss_tools:fin_right": [
{ "tag": "forge:gems/diamond" }
]
}
}
});
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | output | IItemStack | output itemstack |
| 3 | input | RocketPart[IIngredient[]] | array of input ingredients with rocket part |
Example 1
<recipetype:boss_tools:workbenching>.addRecipe("workbenching_test_3", <item:minecraft:beetroot_soup>, {
<rocket_part:boss_tools:body> : [<item:minecraft:beetroot>, <item:minecraft:beetroot>, <item:minecraft:beetroot>, <item:minecraft:beetroot>, <item:minecraft:beetroot>, <item:minecraft:beetroot>],
<rocket_part:boss_tools:engine>: [<item:minecraft:bowl>]
});
Example 2
<recipetype:boss_tools:workbenching>.addRecipe("workbenching_test_4", <item:boss_tools:rocket_t1>, {
<rocket_part:boss_tools:nose> : [<tag:items:forge:gems/diamond>],
<rocket_part:boss_tools:body> : [<item:minecraft:potato>, <item:minecraft:potato>, <item:minecraft:potato>, <item:minecraft:potato>, <item:minecraft:potato>, <item:minecraft:potato>],
<rocket_part:boss_tools:tank> : [<item:minecraft:baked_potato>, <item:minecraft:baked_potato>],
<rocket_part:boss_tools:fin_left> : [<item:boss_tools:rocket_fin>],
<rocket_part:boss_tools:fin_right>: [<item:boss_tools:rocket_fin>],
<rocket_part:boss_tools:engine> : [<item:minecraft:furnace>]
});