Skip to content

CraftTweaker Guide (1.16.5)

gisellevonbingen edited this page Aug 20, 2022 · 16 revisions

Notice

  1. <recipetype:XXX:YYY>.removeRecipe(IItemStack) is not working
  2. getRecipesByOutput is not working too

Recipe Type List

name
1. Compressing
2. Fuel Refining
3. Generating
4. Oxygen Loader / Oxygen Bubble Distributor
5. NASA Workbenching
6. Space Station
7. Alien Trading

Recipe Type Description

1. Compressig

Uses at: Compressor, Advanced Compressor(Compressing Mode)

Methods

1. addJSONRecipe

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
});

image

2. addRecipe

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);

image

image

2. Fuel Refining

Uses at: Fuel Refinery

Methods

1. addJSONRecipe

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
	},
   
});

image

2. addRecipe

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);

image

image

3. Generating

Uses at: Coal Generator

Methods

1. addJSONRecipe

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" } } 
});

image

2. addRecipe

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>);

image

image

4. Oxygen Loader / Oxygen Bubble Distributor

Uses at: Oxygen Loader, Oxygen Bubble Distributor

Methods

1. addJSONRecipe

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

image

Oyxgen Bubble Distributor

image

2. addRecipe

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

image

Oxygen Bubble Distributor

image

3. addRecipePair

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

image

Oxygen Bubble Distributor

image

5. NASA Workbenching

Uses at: NASA Workbench

Rocket Parts

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>

image

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

1. addJSONRecipe

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" }
			]
		}
	}
});

image

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" }
			]
		}
	}
});

image

2. addRecipe

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>]
});

image

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>]
});

image

6. Space Station

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

1. setJSONRecipe

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 }
	]
});

image

image

2. setRecipe

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>
]);

image

image

7. Alien Trading

Change Alien's trade offer list

Methods

1. removeByJob

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>);

2. remoeByJobWithLevel

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.removeByJob("minecraft:fletcher");

boss_tools_alien_trading.removeByJob(<profession:minecraft:cleric>);

3. addJSONRecipe

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 }
});

image

Clone this wiki locally