-
Notifications
You must be signed in to change notification settings - Fork 15
CraftTweaker Support
TheDarkDnKTv edited this page May 7, 2022
·
1 revision
From version 4.16.40 we implemented CraftTweaker support (MineTweaker3)
For now CT integration supports full recipes change, to use it you need to get familiar with GT recipe sst
| Name | Package | Description |
|---|---|---|
| RecipeMaps | mods.gregtechmod.recipe.RecipeMaps | Contains all GT recipe maps |
| RecipeMap | mods.gregtechmod.recipe.RecipeMap | Unified Object that contains all recipes and logic for searching of them |
| Recipe | mods.gregtechmod.recipe.Recipe | Unified Object represent a machine recipe. All inputs, outputs, chances, energy and time |
| RecipeFactory | mods.gregtechmod.recipe.RecipeFactory | Helps to create new Recipe instance and register it |
| Ingredient | mods.gregtechmod.recipe.Ingredient | Represents ingredient of recipe inputs (contains count and item variatns that suits) |
| ChancedOutput | mods.gregtechmod.recipe.ChancedOutput | Represents output that is result of chance |
Full documentation of CT classes
| Type | Description |
|---|---|
| getRecipeMap(mapName: String): RecipeMap | Will provide you with specified RecipeMap instance |
Information about inputs/outputs limit can bee seen in code here in order of (minInputs, maxInputs, minOutputs, maxOutputs, minFluidInputs, maxFluidInputs, minFluidOutputs, maxFluidOutputs)
| Name |
|---|
| FUSION_REACTOR |
| CENTRIFUGE |
| ELECTROLYZER |
| GRINDER |
| BLAST_FURNACE |
| BRONZE_BLAST_FURNACE |
| IMPLOSION_COMPRESSOR |
| SAWMILL |
| VACUUM_FREEZER |
| CHEMICAL |
| DISTILLATION |
| WIREMILL |
| BENDING |
| ALLOY_SMELTING |
| ASSEMBLING |
| CANNING |
| LATHE |
| CUTTING |
| EXTRUDING |
| HAMMER |
| PRINTER |
| PULVERIZING |
| DIESEL_FUELS |
| TURBINE_FUELS |
| HOT_FUELS |
| DENSE_FUELS |
| PLASMA_FUELS |
| MAGIC_FUELS |
| STEAM_FUELS |
val BENDING = RecipeMaps.getRecipeMap("BENDING");| Signature | Description |
|---|---|
| getRecipes(): Recipe[] | Get all recipes of RecipeMap |
| findRecipe(items: IItemStack[], fluids: ILiquidStack[]): Recipe | Find recipe that matches by selected items, and fluids. Recipe can be null (void) |
| register(recipe: Recipe): boolean | Register recipe for this RecipeMap, will return true if registered |
| remove(recipe: Recipe): boolean | Remove recipe from this RecipeMap, will return true if removed (Null input safe) |
| factory(): RecipeFactory | Return RecipeFactory instance |
| Signature |
|---|
| int minInputs |
| int maxInputs |
| int minOutputs |
| int maxOutputs |
| int minFluidInputs |
| int maxFluidInputs |
| int minFluidOutputs |
| int maxFluidOutputs |
| Signature | Description |
|---|---|
| EUt(amount: int): RecipeBuilder | EU/t |
| duration(ticks: int): RecipeBuilder | Duration in ticks |
| startEU(amount: int): RecipeBuilder | EU to start, will be consumed only from initial machine start (if was running, will not) |
| setShaped(value: boolean): RecipeBuilder | Shaped - it means that inputs should be in same order as in recipe |
| circuit(config: int): RecipeBuilder | Will add integrated circuit as non consumable at recipe input with specified config number |
| nonConsumable(item: IItemStack): RecipeBuilder | Non consumable input |
| input(item: IIngredient): RecipeBuilder | |
| inputs(items...IIngredient): RecipeBuilder | |
| fluidInput(fluid: ILiquidStack): RecipeBuilder | |
| fluidInputs(fluids...ILiquidStack): RecipeBuilder | |
| output(item: IItemStack): RecipeBuilder | |
| outputs(items...IItemStack): RecipeBuilder | |
| chancedOutput(item: IItemStack, chance: int): RecipeBuilder | Chance are specified in number from [0-10000], where 75_16 means 75.16% |
| fluidOutput(fluid: ILiquidStack): RecipeBuilder | |
| fluidOutputs(fluids...ILiquidStack): RecipeBuilder | |
| withMeta(key: String, value: int): RecipeBuilder | Recipe metadata required for some machines, like ElectricBlast Furnace |
| build(): Recipe | Will create Recipe instance |
| buildAndRegister(): void | Will create Recipe and register it on recipe map of this builder |
| Signature |
|---|
| int count |
| IItemStack[] variants |
| Signature |
|---|
| int chance |
| IItemStack stack |
| Signature | Description |
|---|---|
| getMeta(key: String): Object | Will return recipe meta value |
| getAllOutputs(): IItemStack[] | Get all possible recipe item outputs (chanced + usual) |
| Signature | Description |
|---|---|
| int EUt | |
| int duration | |
| int startEU | |
| boolean shaped | |
| boolean fluidRecipe | true if recipe inputs/outputs contains fluid |
| String[] metaKeys | All set meta keys of this recipe |
| Ingredient[] inputs | |
| IItemStack[] outputs | |
| ChancedOutput[] chancedOutputs | |
| ILiquidStack[] fluidInputs | |
| ILiquidStack[] fluidOutputs |
val LATHE_RECIPES = RecipeMaps.getRecipeMap("LATHE") as RecipeMap;
LATHE_RECIPES.factory()
.EUt(1)
.duration(1)
.input(<minecraft:dirt>)
.circuit(3)
.output(<minecraft:diamond>)
.buildAndRegister();RecipeMaps.getRecipeMap("BLAST_FURNACE").factory()
.EUt(15)
.duration(60)
.input(<minecraft:dirt>)
.output(<minecraft:diamond>)
.withMeta("minTemp", 750)
.buildAndRegister();
var factory = RecipeMaps.getRecipeMap("MAGIC_FUELS").factory() as RecipeFactory; // you can store factory in variable as well
factory.EUt(7);
factory.duration(100);
factory.input(<minecraft:blaze_rod> * 2);
factory.buildAndRegister();val BENDING = RecipeMaps.getRecipeMap("BENDING") as RecipeMap;
var recipe = BENDING.findRecipe([<IC2:itemIngot:4>, <gregtech_addon:integrated_circuit:1>], []);
BENDING.remove(recipe); // null safeRemove all recipes
val LATHE_RECIPES= RecipeMaps.getRecipeMap("lathe") as RecipeMap;
for recipe in LATHE_RECIPES.getRecipes() {
LATHE_RECIPES.remove(recipe);
}