Unify thaumcraft plates

This commit is contained in:
jchung01
2025-05-20 20:21:53 -07:00
parent e51f3aa8ba
commit e8aa75b05b
6 changed files with 168 additions and 14 deletions
+1
View File
@@ -245,6 +245,7 @@ resources {
minecraft:gold_ingot_from_block minecraft:gold_ingot_from_block
minecraft:gold_ingot_from_nuggets minecraft:gold_ingot_from_nuggets
minecraft:gold_block minecraft:gold_block
immersiveengineering:compat/plate_thaumium_brass
> >
# Recipe names that you want to be removed. # Recipe names that you want to be removed.
+11 -14
View File
@@ -45,12 +45,15 @@ recipes.addShapeless(<techreborn:ingot:1>*9, [<ore:blockBrass>]);
val brassplate = <ore:plateBrass>; val brassplate = <ore:plateBrass>;
brassplate.remove(<railcraft:plate:11>); brassplate.remove(<railcraft:plate:11>);
brassplate.remove(<thaumcraft:plate:0>);
recipes.removeByRecipeName("thaumcraft:brassplate");
mods.immersiveengineering.MetalPress.removeRecipe(<railcraft:plate:11>); mods.immersiveengineering.MetalPress.removeRecipe(<railcraft:plate:11>);
mods.immersiveengineering.MetalPress.addRecipe(<techreborn:plates:18>, <ore:ingotBrass>, <immersiveengineering:mold:0>, 2000); mods.immersiveengineering.MetalPress.addRecipe(<techreborn:plates:18>, <ore:ingotBrass>, <immersiveengineering:mold:0>, 2000);
recipes.removeShapeless(<techreborn:plates:18>, [<immersiveengineering:tool:0>], true); recipes.removeShapeless(<thaumcraft:plate:0>, [<immersiveengineering:tool:0>], true);
recipes.addShapeless(<techreborn:plates:18>, recipes.addShapeless("plate_brass_ie", <techreborn:plates:18>,
[<immersiveengineering:tool:0>, [<immersiveengineering:tool:0>,
<ore:ingotBrass>]); <ore:ingotBrass>]);
@@ -68,8 +71,6 @@ recipes.addShaped(<techreborn:ingot:1>,
mods.immersiveengineering.ArcFurnace.removeRecipe(<railcraft:ingot:9>); mods.immersiveengineering.ArcFurnace.removeRecipe(<railcraft:ingot:9>);
mods.immersiveengineering.ArcFurnace.addRecipe(<techreborn:ingot:1>, <ore:ingotZinc>, null, 100, 512, [<ore:dustCopper>*3]); mods.immersiveengineering.ArcFurnace.addRecipe(<techreborn:ingot:1>, <ore:ingotZinc>, null, 100, 512, [<ore:dustCopper>*3]);
mods.immersiveengineering.ArcFurnace.addRecipe(<techreborn:ingot:1>, <ore:dustZinc>, null, 100, 512, [<ore:ingotCopper>*3]); mods.immersiveengineering.ArcFurnace.addRecipe(<techreborn:ingot:1>, <ore:dustZinc>, null, 100, 512, [<ore:ingotCopper>*3]);
mods.immersiveengineering.ArcFurnace.addRecipe(<techreborn:ingot:1>, <ore:dustZinc>, null, 100, 512, [<ore:dustCopper>*3]);
mods.immersiveengineering.ArcFurnace.addRecipe(<techreborn:ingot:1>, <ore:ingotZinc>, null, 100, 512, [<ore:ingotCopper>*3]);
//================================================================== //==================================================================
@@ -286,11 +287,13 @@ silverplate.remove(<bewitchment:silver_plate>);
silverplate.remove(<immersiveengineering:metal:33>); silverplate.remove(<immersiveengineering:metal:33>);
silverplate.remove(<railcraft:plate:5>); silverplate.remove(<railcraft:plate:5>);
recipes.removeByRecipeName("bewitchment:compat/silver_plate");
mods.immersiveengineering.MetalPress.removeRecipe(<immersiveengineering:metal:33>); mods.immersiveengineering.MetalPress.removeRecipe(<immersiveengineering:metal:33>);
mods.immersiveengineering.MetalPress.addRecipe(<thermalfoundation:material:322>, <ore:ingotSilver>, <immersiveengineering:mold:0>, 2000); mods.immersiveengineering.MetalPress.addRecipe(<thermalfoundation:material:322>, <ore:ingotSilver>, <immersiveengineering:mold:0>, 2000);
recipes.removeShapeless(<immersiveengineering:metal:33>, [<immersiveengineering:tool:0>], true); recipes.removeShapeless(<immersiveengineering:metal:33>, [<immersiveengineering:tool:0>], true);
recipes.addShapeless(<thermalfoundation:material:322>, recipes.addShapeless("plate_silver_ie", <thermalfoundation:material:322>,
[<immersiveengineering:tool:0>, [<immersiveengineering:tool:0>,
<ore:ingotSilver>]); <ore:ingotSilver>]);
@@ -691,26 +694,20 @@ irondust.remove(<careerbees:ingredients:4>);
val ironplate = <ore:plateIron>; val ironplate = <ore:plateIron>;
ironplate.remove(<immersiveengineering:metal:39>); ironplate.remove(<immersiveengineering:metal:39>);
ironplate.remove(<railcraft:plate:0>); ironplate.remove(<railcraft:plate:0>);
// ironplate.remove(<techreborn:plates:0>);
ironplate.remove(<thaumcraft:plate:1>); ironplate.remove(<thaumcraft:plate:1>);
ironplate.remove(<libvulpes:productplate:1>); ironplate.remove(<libvulpes:productplate:1>);
recipes.remove(<thaumcraft:plate:1>); recipes.removeByRecipeName("thaumcraft:ironplate");
recipes.addShaped(<thermalfoundation:material:32>*3,
[[<ore:ingotIron>,<ore:ingotIron>,<ore:ingotIron>]]);
mods.immersiveengineering.MetalPress.removeRecipe(<immersiveengineering:metal:39>); mods.immersiveengineering.MetalPress.removeRecipe(<immersiveengineering:metal:39>);
mods.immersiveengineering.MetalPress.addRecipe(<thermalfoundation:material:32>, <ore:ingotIron>, <immersiveengineering:mold:0>, 2000); mods.immersiveengineering.MetalPress.addRecipe(<thermalfoundation:material:32>, <ore:ingotIron>, <immersiveengineering:mold:0>, 2000);
recipes.removeShapeless(<immersiveengineering:metal:39>, [<immersiveengineering:tool:0>], true); recipes.removeShapeless(<immersiveengineering:metal:39>, [<immersiveengineering:tool:0>], true);
recipes.addShapeless(<thermalfoundation:material:32>, recipes.addShapeless("plate_iron_ie", <thermalfoundation:material:32>,
[<immersiveengineering:tool:0>, [<immersiveengineering:tool:0>,
<ore:ingotIron>]); <ore:ingotIron>]);
recipes.addShapeless(<thaumcraft:plate:1>*3,
[<ore:plateIron>,
<ore:plateIron>,
<ore:plateIron>]);
mods.immersiveengineering.Crusher.removeRecipe(<immersiveengineering:metal:18>); mods.immersiveengineering.Crusher.removeRecipe(<immersiveengineering:metal:18>);
mods.immersiveengineering.Crusher.addRecipe(<thermalfoundation:material:0>*2, <ore:oreIron>, 2048, <thermalfoundation:material:69>, 0.1); mods.immersiveengineering.Crusher.addRecipe(<thermalfoundation:material:0>*2, <ore:oreIron>, 2048, <thermalfoundation:material:69>, 0.1);
mods.immersiveengineering.Crusher.addRecipe(<thermalfoundation:material:0>, <ore:ingotIron>, 2048); mods.immersiveengineering.Crusher.addRecipe(<thermalfoundation:material:0>, <ore:ingotIron>, 2048);
+28
View File
@@ -0,0 +1,28 @@
#modloaded thaumcraft techreborn
#loader mixin
import native.net.minecraft.item.Item;
import native.net.minecraft.item.ItemStack;
import native.techreborn.items.ingredients.ItemPlates as TRPlates;
/*
Unify plate drops for arcane bore.
Created by ChaosStrikez for Thaumcraft v6.1.BETA-26.
*/
#mixin {targets: "thaumcraft.common.entities.construct.EntityArcaneBore"}
zenClass mixinEntityArcaneBore {
#mixin Redirect
#{
# method: "func_70628_a",
# at: {
# value: "NEW",
# target: "(Lnet/minecraft/item/Item;)Lnet/minecraft/item/ItemStack;",
# ordinal: 5
# }
#}
function mbc_unifyBrassPlate(original as Item) as ItemStack {
return TRPlates.getPlateByName("brass");
}
}
@@ -0,0 +1,55 @@
#modloaded thaumcraft techreborn thermalfoundation
#loader mixin
import native.net.minecraft.item.Item;
import native.net.minecraft.item.ItemStack;
import native.cofh.thermalfoundation.item.ItemMaterial as ThermalPlates;
import native.techreborn.items.ingredients.ItemPlates as TRPlates;
/*
Unify plate drops for advanced crossbow turret.
Created by ChaosStrikez for Thaumcraft v6.1.BETA-26.
*/
#mixin {targets: "thaumcraft.common.entities.construct.EntityTurretCrossbowAdvanced"}
zenClass MixinEntityTurretCrossbowAdvanced {
#mixin Redirect
#{
# method: "func_70628_a",
# at: {
# value: "NEW",
# target: "(Lnet/minecraft/item/Item;II)Lnet/minecraft/item/ItemStack;",
# ordinal: 4
# }
#}
function mbc_unifyBrassPlate(original as Item, amount as int, meta as int) as ItemStack {
return TRPlates.getPlateByName("brass");
}
#mixin Redirect
#{
# method: "func_70628_a",
# at: {
# value: "NEW",
# target: "(Lnet/minecraft/item/Item;II)Lnet/minecraft/item/ItemStack;",
# ordinal: 5
# }
#}
function mbc_unifyIronPlate1(original as Item, amount as int, meta as int) as ItemStack {
return ThermalPlates.plateIron.copy();
}
#mixin Redirect
#{
# method: "func_70628_a",
# at: {
# value: "NEW",
# target: "(Lnet/minecraft/item/Item;II)Lnet/minecraft/item/ItemStack;",
# ordinal: 6
# }
#}
function mbc_unifyIronPlate2(original as Item, amount as int, meta as int) as ItemStack {
return ThermalPlates.plateIron.copy();
}
}
+60
View File
@@ -0,0 +1,60 @@
#modloaded thaumcraft
#loader lateAddTC
import native.net.minecraft.item.ItemStack;
import native.thaumcraft.api.golems.parts.GolemMaterial;
import native.thaumcraft.api.golems.parts.GolemHead;
import native.thaumcraft.api.golems.parts.GolemLeg;
import crafttweaker.item.IItemStack;
/*
Unify plates visually shown in the golem press.
*/
var unifiedPlates = {
<thaumcraft:plate:0>: <techreborn:plates:18>, // brass
<thaumcraft:plate:1>: <thermalfoundation:material:32>, // iron
<bewitchment:silver_plate>: <thermalfoundation:material:322>, // silver
} as IItemStack[IItemStack];
# Materials
for material in GolemMaterial.getMaterials() {
if (isStackValid(material.componentBase)) {
var baseComponent as IItemStack = material.componentBase.wrapper;
material.componentBase = unifyStack(baseComponent, unifiedPlates);
}
}
# Head
for head in GolemHead.getHeads() {
var components = head.components;
for i in 0 to components.length {
var component = components[i];
if (component instanceof ItemStack && isStackValid(component as ItemStack)) {
var stack as IItemStack = (component as ItemStack).wrapper;
components[i] = unifyStack(stack, unifiedPlates);
}
}
}
# Leg
for leg in GolemLeg.getLegs() {
var components = leg.components;
for i in 0 to components.length {
var component = components[i];
if (component instanceof ItemStack && isStackValid(component as ItemStack)) {
var stack as IItemStack = (component as ItemStack).wrapper;
components[i] = unifyStack(stack, unifiedPlates);
}
}
}
function isStackValid(stack as ItemStack) as bool {
return !(isNull(stack) || stack.isEmpty());
}
function unifyStack(stackIn as ItemStack, unifiedDict as IItemStack[IItemStack]) as ItemStack {
var stack as IItemStack = stackIn.wrapper;
for original, unified in unifiedDict {
if (stack.anyAmount().matches(original)) {
return (unified * stack.amount).native;
}
}
return stackIn;
}
@@ -92,6 +92,19 @@ registerInfusionRecipeFromAddon(`${tcAdditions}:crystal_crusher`, "TAR_CRYSTAL_C
] ]
); );
# Unify brass plates
registerInfusionRecipeFromAddon(`${tcAdditions}:crystal_bore`, "TAR_CRYSTAL_BORE",
<thaumadditions:crystal_bore>, 5,
[
<aspect:exitium> * 20, <aspect:terra> * 10, <aspect:perditio> * 30
],
<thaumcraft:morphic_resonator>,
[
<thaumcraft:stone_arcane>, <techreborn:plates:18>, <thaumcraft:stone_arcane>,
<techreborn:plates:18>, <thaumcraft:stone_arcane>, <thaumcraft:mechanism_complex>
]
);
/* /*
The same as Infusion.registerRecipe(), but allows a namespace in the resource location. The same as Infusion.registerRecipe(), but allows a namespace in the resource location.
ModTweaker only allows infusion recipes with the "thaumcraft" namespace, this allows any namespace. ModTweaker only allows infusion recipes with the "thaumcraft" namespace, this allows any namespace.