perfect gem refactor and nq balance

This commit is contained in:
tracer4b 2022-04-27 17:29:38 +08:00
parent 8cd617a419
commit c493e0d9a5
3 changed files with 49 additions and 8 deletions

View File

@ -1,6 +1,11 @@
import mods.gregtech.recipe.RecipeMap; import mods.gregtech.recipe.RecipeMap;
import crafttweaker.item.IItemStack; import crafttweaker.item.IItemStack;
import crafttweaker.item.IIngredient; import crafttweaker.item.IIngredient;
import mods.gregtech.ore.OrePrefix;
import mods.gregtech.ore.IOreRecipeHandler;
import mods.gregtech.material.Material;
import mods.gregtech.recipe.helpers;
import mods.gregtech.recipe.IRecipeUtils;
import crafttweaker.data.IData; import crafttweaker.data.IData;
recipes.remove(<thermalexpansion:satchel:2>); recipes.remove(<thermalexpansion:satchel:2>);
@ -134,3 +139,15 @@ recipes.addShaped(<draconicevolution:info_tablet>, [
[<ore:stone>, <ore:stone>, <ore:stone>] [<ore:stone>, <ore:stone>, <ore:stone>]
]); ]);
// Perfect Gems
val gemPerfect as OrePrefix = OrePrefix.getPrefix("gemPerfect");
gemPerfect.generateRecipes(function(orePrefix as OrePrefix, material as Material) {
val utils as IRecipeUtils = IRecipeUtils.utils;
<recipemap:cutter>.recipeBuilder()
.inputs(utils.item(orePrefix, material))
.fluidInputs(<liquid:lubricant> * 100)
.outputs(utils.ore("gemExquisite", material))
.duration(100).EUt(1920).buildAndRegister();
} as IOreRecipeHandler);

View File

@ -1,5 +1,4 @@
#loader gregtech #loader gregtech
#packmode normal
import mods.gregtech.material.MaterialBuilder; import mods.gregtech.material.MaterialBuilder;
import mods.gregtech.material.MaterialRegistry; import mods.gregtech.material.MaterialRegistry;
@ -8,10 +7,6 @@ import mods.gregtech.material.Material;
import mods.gregtech.material.Elements; import mods.gregtech.material.Elements;
import mods.gregtech.ore.OrePrefix; import mods.gregtech.ore.OrePrefix;
val gemPerfect as OrePrefix = OrePrefix.registerOrePrefix("gemPerfect", 8, "gemPerfect", 1);
gemPerfect.setGenerationPredicate(IMaterialPredicate.hasGem);
gemPerfect.createMaterialItem();
var element_omnium = Elements.add(130, 234, -1, null, "Omnium", "Nm", false); var element_omnium = Elements.add(130, 234, -1, null, "Omnium", "Nm", false);
var element_draconium = Elements.add(149, 264, -1, null, "Draconium", "Dc", false); var element_draconium = Elements.add(149, 264, -1, null, "Draconium", "Dc", false);
var element_draconium_awakened = Elements.add(149, 267, -1, null, "AwakenedDraconium", "Dc*", false); var element_draconium_awakened = Elements.add(149, 267, -1, null, "AwakenedDraconium", "Dc*", false);
@ -402,12 +397,11 @@ var snowchestite = MaterialBuilder(32059, "snowchestite")
.flags("disable_decomposition") .flags("disable_decomposition")
.color(0x274c9f).iconSet("shiny") .color(0x274c9f).iconSet("shiny")
.components([<material:naquadah_oxide> * 3, <material:pyromorphite> * 1]) .components([<material:naquadah_oxide> * 3, <material:pyromorphite> * 1])
.addOreByproducts(<material:chalcopyrite>, <material:vanadium_magnetite>, <material:naquadah>) .addOreByproducts(<material:chalcopyrite>, <material:vanadium_magnetite>, <material:naquadah_hydroxide>)
.build(); .build();
var naquadah_hydroxide = MaterialBuilder(32060, "naquadah_hydroxide") var naquadah_hydroxide = MaterialBuilder(32060, "naquadah_hydroxide")
.dust() .dust()
.flags("disable_decomposition")
.color(0x1941a6).iconSet("dull") .color(0x1941a6).iconSet("dull")
.components([<material:naquadah> * 1, <material:hydrogen> * 3, <material:oxygen> * 3]) .components([<material:naquadah> * 1, <material:hydrogen> * 3, <material:oxygen> * 3])
.build(); .build();
@ -783,7 +777,7 @@ var taranium = MaterialBuilder(32109, "taranium")
<material:gold>.addFlags(["generate_gear"]); <material:gold>.addFlags(["generate_gear"]);
<material:lead>.addFlags(["generate_gear"]); <material:lead>.addFlags(["generate_gear"]);
<material:nickel>.addFlags(["generate_gear"]); <material:nickel>.addFlags(["generate_gear"]);
<material:platinum>.addFlags(["generate_gear", ]); <material:platinum>.addFlags(["generate_gear"]);
<material:silver>.addFlags(["generate_gear"]); <material:silver>.addFlags(["generate_gear"]);
<material:emerald>.addFlags(["generate_gear"]); <material:emerald>.addFlags(["generate_gear"]);

View File

@ -0,0 +1,30 @@
#loader gregtech
#priority 10
import mods.gregtech.material.MaterialBuilder;
import mods.gregtech.material.MaterialRegistry;
import mods.gregtech.material.IMaterialPredicate;
import mods.gregtech.material.Material;
import mods.gregtech.material.Elements;
import mods.gregtech.ore.OrePrefix;
import mods.gregtech.recipe.helpers;
import mods.gregtech.ore.IOreRecipeHandler;
import mods.gregtech.MaterialFlag;
import mods.gregtech.recipe.RecipeMap;
import mods.gregtech.MaterialFlagBuilder;
val gemPerfectFlag = MaterialFlagBuilder.create("generate_perfect")
.requireGem()
.build();
<material:diamond>.addFlags(["generate_perfect"]);
<material:emerald>.addFlags(["generate_perfect"]);
<material:ruby>.addFlags(["generate_perfect"]);
<material:topaz>.addFlags(["generate_perfect"]);
val gemPerfect as OrePrefix = OrePrefix.registerOrePrefix("gemPerfect", 8, "gemPerfect", 1);
gemPerfect.setGenerationPredicate(function(mat as Material) as bool {
return mat.hasFlag(gemPerfectFlag);
} as IMaterialPredicate);
gemPerfect.createMaterialItem();