Skip to content
This repository has been archived by the owner on Sep 17, 2022. It is now read-only.

CraftTweaker Machines

TechLord22 edited this page Mar 13, 2021 · 4 revisions

This mod adds expands on the amount of machines in Gregtech and adds large variants of the others. Almost all of the machines added by this mod can be used in Crafttweaker recipes. For basic GTCE CraftTweaker syntax please see this link.

Most machines can be accessed using:

import mods.gregtech.recipe.RecipeMap;
import mods.gtadditions.recipe.GARecipeMaps;

val cluster_mill as RecipeMap = RecipeMap.findByName("cluster_mill")
val cluster_mill as RecipeMap = GARecipeMaps.CLUSTER_MILL_RECIPES;

Both methods give the same result.

Here are the recipe maps that this mod registers:

  • cluster_mill / CLUSTER_MILL_RECIPES
  • assembly_line / ASSEMBLY_LINE_RECIPES
  • mass_fab / MASS_FAB_RECIPES
  • replicator / REPLICATOR_RECIPES
  • cracker_unit / CRACKER_UNIT_RECIPES
  • circuit_assembler / CIRCUIT_ASSEMBLER_RECIPES
  • electric_sieve / SIEVE_RECIPES
  • attractor / ATTRACTOR_RECIPES
  • chemical_dehydrator / CHEMICAL_DEHYDRATOR_RECIPES
  • chemical_plant / CHEMICAL_PLANT_RECIPES
  • blast_alloy / BLAST_ALLOY_RECIPES
  • simple_ore_washer / SIMPLE_ORE_WASHER_RECIPES
  • nuclear_reactor / NUCLEAR_REACTOR_RECIPES
  • nuclear_breeder / NUCLEAR_BREEDER_RECIPES
  • decay_chamber / DECAY_CHAMBERS_RECIPES

Fuel Recipe Maps

  • rocket_fuel / ROCKET_FUEL_RECIPES
  • naquadah_reactor / NAQUADAH_REACTOR_FUELS

Hot coolant turbine recipe map

  • hot_coolant_turbine / HOT_COOLANT_TURBINE_FUELS

available from version 0.21

  • bio_reactor / BIO_REACTOR_RECIPES
  • qubit_generator / SIMPLE_QUBIT_GENERATOR
  • stellar_forge / STELLAR_FORGE_RECIPES
  • plasma_condenser / PLASMA_CONDENSER_RECIPES
  • gas_centrifuge / GAS_CENTRIFUGE_RECIPES
  • adv_fusion / ADV_FUSION_RECIPES

As we can see only a few of the large machines currently have their own individual recipe maps. These can be used to register recipes that can not be processed in a singleblock variant of the machine.

Large Machine recipe

Only works in 0.21

Some Large machine have there own RecipeMap because of reasons.

Getting the Map

These are all LargeRecipeMaps in GARecipeMaps:

  • large_chemical_reactor / LARGE_CHEMICAL_RECIPES
  • large_mixer / LARGE_MIXER_RECIPES
  • large_forge_hammer / LARGE_FORGE_HAMMER_RECIPES
  • large_centrifuge / LARGE_CENTRIFUGE_RECIPES
  • large_engraver / LARGE_ENGRAVER_RECIPES (0.21 only)
import mods.gtadditions.recipe.LargeRecipeMap;
import mods.gtadditions.recipe.GARecipeMaps;

val largemixer = LargeRecipeMap.getByName("large_mixer");
val largemixer = LargeRecipeMap.of(GARecipeMaps.LARGE_MIXER_RECIPES);

Both examples are the same result. However the second way is preferred.

Building the Recipe

LargeRecipeMap is exactly the same as default RecipeMap from GTCE. The only things is a new method called dupeForSmall(), it will duplicate large recipe for small machine (that will avoid you to create 2 recipes one for small machine, one for large machine).

Keep in mind: you can only duplicate recipe if and only if the recipe is compatible with small recipe. For example, large mixer has 9 item slots instead of 4 from small mixer, so, a duplicate recipe with more than 4 items will crash your file.

largemixer.recipeBuilder()
   .inputs([<ore:dustTin>, <ore:dustIron>])
   .outputs(<ore:dustTinAlloy>.firstItem * 2)
   .duration(200)
   .EUt(8)
   .dupeForSmall()
   .buildAndRegister();

Casting

You can also cast LargeRecipeMaps into normal RecipeMaps like this:

largemixer.asRecipeMap();
largemixer as RecipeMap;