-
Notifications
You must be signed in to change notification settings - Fork 2
CraftTweaker Guide (1.16.5)
- <recipetype:XXX:YYY>.removeRecipe(IItemStack) is not working
- getRecipesByOutput is not working too
- Compressing
- Fuel Refining
- Generating
- Oxygen Loader / Oxygen Bubble Distributor
- NASA Workbenching
- Space Station
- Alien Trading
- Rolling
- Extruding
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 |
| 3 | cookTime | int | processing duration [ticks] |
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 | processing duration [ticks] 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>
]
}
);
Change Space Station craftion ingredients
Space Station's recipe is always exist only one
So, please don't remove recipes,
If you want change recipe, just call 'setJSONReipe' or 'setRecipe'
Methods
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | data | JSON Object | recipe's json data |
JSON Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | ingradients | JSON ARRAY | array of Ingredient |
Example
<recipetype:boss_tools_giselle_addon:space_station>.setJSONRecipe({
"ingredients": [
{ "ingredient": { "tag": "forge:gems/diamond" }, "count": 60 },
{ "ingredient": { "tag": "forge:ingots/steel" }, "count": 16 },
{ "ingredient": { "tag": "forge:plates/iron" } , "count": 12 },
{ "ingredient": { "tag": "forge:plates/desh" } , "count": 40 }
]
});

Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | input | Array of IIngredient or IIngredientWithAmount or MCTagWithAmount<Item> or MCTag<Item> |
input item ingredients |
Example
<recipetype:boss_tools_giselle_addon:space_station>.setRecipe([
<tag:items:forge:storage_blocks/iron> * 5,
<item:minecraft:diamond_block> * 3,
<item:boss_tools:nasa_workbench>
]);

Change Alien's trade offer list
Methods
Remove all trades in that job
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | job | String or Profession | alien job (a.k.a Profession) |
Example
boss_tools_alien_trading.removeByJob("minecraft:fletcher");
boss_tools_alien_trading.removeByJob(<profession:minecraft:cleric>);Remove all trades matching job and level
Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | job | String or Profession | alien job (a.k.a Profession) |
| 2 | level | int | removing level |
Example
boss_tools_alien_trading.removeByJobWithLevel("minecraft:fletcher", 1);
boss_tools_alien_trading.removeByJobWithLevel(<profession:minecraft:cleric>, 2);Method Scheme
| order | name | type | description |
|---|---|---|---|
| 1 | name | String | recipe's name |
| 2 | data | JSON Object | recipe's json data |
JSON Scheme
Pls, see this document https://github.com/gisellevonbingen/Minecraft-BossTools-Addon/wiki/Alien-Trade-Recipes
Example
boss_tools_alien_trading.addJSONRecipe("alien_trading_test_1", {
"type": "boss_tools_giselle_addon:alien_trading_itemstack",
"job": "minecraft:fletcher",
"level": 1,
"xp": 1,
"costA": { "item": "minecraft:emerald" },
"result": { "item": "minecraft:arrow", "count": 16 }
});
Uses at: Advanced Compressor(Rolling 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 |
| 3 | cookTime | int | processing duration [ticks] |
Example
<recipetype:boss_tools_giselle_addon:rolling>.addJSONRecipe("rolling_test_1", {
"output": { "item": "minecraft:oak_pressure_plate" },
"input": { "ingredient": { "item": "minecraft:oak_planks" } },
"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 | processing duration [ticks] if empty, will be 200 |
Example
<recipetype:boss_tools_giselle_addon:rolling>.addRecipe("rolling_test_2",
<item:minecraft:stone_pressure_plate>,
<item:minecraft:stone>,
50
);
Uses at: Advanced Compressor(Extruding 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 |
| 3 | cookTime | int | processing duration [ticks] |
Example
<recipetype:boss_tools_giselle_addon:extruding>.addJSONRecipe("extruding_test_1", {
"output": { "item": "minecraft:stick", count: 2 },
"input": { "ingredient": { "tag": "minecraft:planks" } },
"cookTime": 50
});
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 | processing duration [ticks] if empty, will be 50 |
Example
<recipetype:boss_tools_giselle_addon:extruding>.addRecipe("extruding_test_2",
<item:minecraft:string> * 4,
<tag:items:minecraft:wool>
);