diff --git a/kubejs/assets/tfg/textures/item/copper_spindle.png b/kubejs/assets/tfg/textures/item/copper_spindle.png new file mode 100644 index 000000000..3de579eaa Binary files /dev/null and b/kubejs/assets/tfg/textures/item/copper_spindle.png differ diff --git a/kubejs/assets/tfg/textures/item/copper_spindle_head.png b/kubejs/assets/tfg/textures/item/copper_spindle_head.png new file mode 100644 index 000000000..2b2a90732 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/copper_spindle_head.png differ diff --git a/kubejs/assets/tfg/textures/item/mold/fired/spindle_head_empty.png b/kubejs/assets/tfg/textures/item/mold/fired/spindle_head_empty.png new file mode 100644 index 000000000..df793d5f3 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/mold/fired/spindle_head_empty.png differ diff --git a/kubejs/assets/tfg/textures/item/mold/fired/spindle_head_overlay.png b/kubejs/assets/tfg/textures/item/mold/fired/spindle_head_overlay.png new file mode 100644 index 000000000..09ecc21d5 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/mold/fired/spindle_head_overlay.png differ diff --git a/kubejs/assets/tfg/textures/item/mold/unfired/unfired_spindle_head_mold.png b/kubejs/assets/tfg/textures/item/mold/unfired/unfired_spindle_head_mold.png new file mode 100644 index 000000000..6952b0804 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/mold/unfired/unfired_spindle_head_mold.png differ diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index fb3fca949..c337062d3 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -137,6 +137,8 @@ const registerFirmaLifeRecipes = (event) => { .itemOutputs('8x firmalife:pineapple_yarn') .duration(50) .EUt(7) + + event.remove({ id: 'firmalife:crafting/pineapple_yarn' }) // Pineapple Leather event.recipes.gtceu.assembler(`tfg:firmalife/pineapple_leather`) diff --git a/kubejs/server_scripts/tfc/recipes.removes.js b/kubejs/server_scripts/tfc/recipes.removes.js index 985346d0a..e8d2f3755 100644 --- a/kubejs/server_scripts/tfc/recipes.removes.js +++ b/kubejs/server_scripts/tfc/recipes.removes.js @@ -143,4 +143,6 @@ function removeTFCRecipes(event) { event.remove({ id: 'tfc:heating/metal/weak_red_steel_ingot' }) event.remove({ id: 'tfc:casting/weak_red_steel_ingot' }) event.remove({ id: 'tfc:casting/weak_red_steel_fire_ingot' }) + + event.remove({ id: 'tfc:crafting/wool_yarn' }) } diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 9bf8ab910..b68fb8710 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -53,6 +53,7 @@ function registerTFGHeatData(event) { event.itemHeat('tfg:food/cooked_burger_patty', 1.0, null, null); event.itemHeat('tfg:unfired_rod_mold', 1.0, null, null); + event.itemHeat('tfg:unfired_spindle_head_mold', 1.0, null, null); event.itemHeat('tfg:unfired_small_gear_mold', 1.0, null, null); event.itemHeat('tfg:unfired_nugget_mold', 1.0, null, null); @@ -329,9 +330,11 @@ function registerTFGItemSize(event) { event.itemSize( orArray([ "tfg:unfired_rod_mold", + "tfg:unfired_spindle_head_mold", "tfg:unfired_small_gear_mold", "tfg:unfired_nugget_mold", "tfg:rod_mold", + "tfg:spindle_head_mold", "tfg:small_gear_mold", "tfg:nugget_mold" ]), diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index 9c72f2dfe..b49beb0e9 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -146,9 +146,9 @@ function registerTFGMarsRecipes(event) { .EUt(4) event.recipes.tfc.damage_inputs_shapeless_crafting( - event.shapeless('8x tfc:wool_yarn', [ - 'tfc:spindle', - 'tfg:glacian_wool' + event.shapeless('8x tfc:wool_yarn', [ + 'tfg:glacian_wool', + '#tfg:tools/spindles' ]).id('tfg:shapeless/glacian_wool_to_yarn')) event.recipes.gtceu.wiremill('tfg:glacian_wool_yarn') diff --git a/kubejs/server_scripts/tfg/primitive/recipes.clay.js b/kubejs/server_scripts/tfg/primitive/recipes.clay.js index 9641000c8..173ce01a2 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.clay.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.clay.js @@ -51,6 +51,7 @@ function registerTFGClayRecipes(event) { { input: "firmalife:oven_bottom", output: "firmalife:cured_oven_bottom", name: "oven_bottom" }, { input: "firmalife:oven_hopper", output: "firmalife:cured_oven_hopper", name: "oven_hopper" }, { input: "tfg:unfired_rod_mold", output: "tfg:rod_mold", name: "rod_mold" }, + { input: "tfg:unfired_spindle_head_mold", output: "tfg:spindle_head_mold", name: "spindle_head_mold" }, { input: "tfg:unfired_small_gear_mold", output: "tfg:small_gear_mold", name: "small_gear_mold" }, { input: "tfg:unfired_nugget_mold", output: "tfg:nugget_mold", name: "nugget_mold" } ]); @@ -216,6 +217,8 @@ function registerTFGClayRecipes(event) { // heating event.recipes.tfc.heating('tfg:unfired_rod_mold', 1399) .resultItem('tfg:rod_mold') + event.recipes.tfc.heating('tfg:unfired_spindle_head_mold', 1399) + .resultItem('tfg:spindle_head_mold') event.recipes.tfc.heating('tfg:unfired_small_gear_mold', 1399) .resultItem('tfg:small_gear_mold') event.recipes.tfc.heating('tfg:unfired_nugget_mold', 1399) diff --git a/kubejs/server_scripts/tfg/primitive/recipes.cloth.js b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js index 725c86449..0e1ebcf9a 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.cloth.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.cloth.js @@ -51,10 +51,23 @@ function registerTFGClothRecipes(event) { 'tfg:block/polycaprolactam_fabric_block' ) + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('8x firmalife:pineapple_yarn', [ + 'firmalife:pineapple_fiber', + '#tfg:tools/spindles' + ]).id('tfg:shapeless/pineapple_yarn') + ) + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('8x tfc:wool_yarn', [ + 'tfc:wool', + '#tfg:tools/spindles' + ]).id('tfg:shapeless/wool_yarn') + ) + event.recipes.tfc.damage_inputs_shapeless_crafting( event.shapeless('16x tfg:phantom_thread', [ 'minecraft:phantom_membrane', - 'tfc:spindle' + '#tfg:tools/spindles' ]).id('tfg:shapeless/phantom_thread')) // Wool Yarn @@ -110,6 +123,39 @@ function registerTFGClothRecipes(event) { generateMixerRecipe(event, 'tfc:jute', "#tfg:clean_water 200", 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber') + + //#region Spindle Recipes + + event.shaped('tfg:copper_spindle', [ + 'A', + 'B' + ], { + A: 'tfg:copper_spindle_head', + B: '#forge:rods/wooden' + }).id('tfg:shaped/copper_spindle') + + event.recipes.tfc.casting( + 'tfg:copper_spindle_head', + 'tfg:spindle_head_mold', + TFC.fluidStackIngredient('gtceu:copper', 72), + .1 + ).id('tfg:casting/copper_spindle_head') + + event.recipes.tfc.anvil( + 'tfg:copper_spindle_head', + 'gtceu:copper_rod', + [ + 'shrink_last', + 'upset_second_last', + 'shrink_third_last' + ] + ).bonus(true) + .tier(1) + .id('tfg:anvil/copper_spindle_head') + + //#endregion + + //#region flax stuff event.shapeless('1x tfg:flax_bundle', ['9x tfg:flax_product']) @@ -210,7 +256,7 @@ function registerTFGClothRecipes(event) { event.recipes.tfc.damage_inputs_shapeless_crafting( event.shapeless('4x tfg:linen_thread', [ 'tfg:flax_line', - 'tfc:spindle' + '#tfg:tools/spindles' ]).id('tfg:shapeless/linen_thread') ) @@ -254,4 +300,5 @@ function registerTFGClothRecipes(event) { .duration(100) .EUt(4) //#endregion + } diff --git a/kubejs/server_scripts/tfg/primitive/recipes.knapping.js b/kubejs/server_scripts/tfg/primitive/recipes.knapping.js index 7518c3dcc..a227a874b 100644 --- a/kubejs/server_scripts/tfg/primitive/recipes.knapping.js +++ b/kubejs/server_scripts/tfg/primitive/recipes.knapping.js @@ -372,5 +372,16 @@ function registerTFGKnappingRecipes(event) { ]) .ingredient('5x minecraft:clay_ball') .id('tfg:fire_clay_knapping/unfired_nugget_mold') + + event.recipes.tfc.knapping('tfg:unfired_spindle_head_mold', 'tfc:clay', [ + "XXXXX", + "XX XX", + " ", + "XX XX", + "XXXXX" + ]) + .ingredient('5x minecraft:clay_ball') + .id('tfg:clay_knapping/unfired_spindle_head_mold') + } diff --git a/kubejs/server_scripts/tfg/primitive/tags.primitive.js b/kubejs/server_scripts/tfg/primitive/tags.primitive.js index 776a5a08b..bbcee5021 100644 --- a/kubejs/server_scripts/tfg/primitive/tags.primitive.js +++ b/kubejs/server_scripts/tfg/primitive/tags.primitive.js @@ -39,6 +39,8 @@ function registerTFGPrimitiveItemTags(event) { event.add('tfg:tools/ore_prospectors/black_steel', 'tfc:metal/propick/black_steel') event.add('tfg:tools/ore_prospectors/blue_steel', 'tfc:metal/propick/blue_steel') event.add('tfg:tools/ore_prospectors/red_steel', 'tfc:metal/propick/red_steel') + + event.add('tfg:tools/spindles', 'tfc:spindle') // Paper from wood event.add('tfg:hardwood_strips', 'tfg:hardwood_strip') @@ -126,4 +128,5 @@ function registerTFGPrimitiveFluidTags(event) { event.add('tfg:usable_in_nugget_mold', material.getFluid().getFluidType().toString()) } }) + event.add('tfg:usable_in_spindle_head_mold', 'gtceu:copper'); } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/primitive/items.primitive.js b/kubejs/startup_scripts/tfg/primitive/items.primitive.js index 2d2888bbb..eca21bec9 100644 --- a/kubejs/startup_scripts/tfg/primitive/items.primitive.js +++ b/kubejs/startup_scripts/tfg/primitive/items.primitive.js @@ -38,6 +38,14 @@ function registerTFGPrimitiveItems(event) { event.create('tfg:armor_stand_arms') + event.create('tfg:copper_spindle') + .tag('tfg:tools/spindles') + .maxDamage(120) + .texture('tfg:item/copper_spindle') + event.create('tfg:copper_spindle_head') + .texture('tfg:item/copper_spindle_head') + + event.create('tfg:harvest_basket') .parentModel('tfg:item/harvest_basket') .maxDamage(256) @@ -172,6 +180,31 @@ function registerTFGPrimitiveItems(event) { "XXXXXXXXXXXXXX" ]) + + event.create('tfg:spindle_head_mold', 'tfc:mold') + .capacity(72) + .texture("base", "tfg:item/mold/fired/spindle_head_empty") + .texture("fluid", "tfg:item/mold/fired/spindle_head_overlay") + .tag('tfc:fired_molds') + .tag('tfc:molds') + .fluidTagAccept('tfg:usable_in_spindle_head_mold') + .tfcccAllowedInMoldTable([ + "XXXXXXXXXXXXXX", + "XXXXXXXXXXXXXX", + "XXXXXXXXXX XX", + "XXXXXXXXX XX", + "XXXXXX XXX", + "XXXXX XXXX", + "XXXX XXXXX", + "XXXX XXXXXX", + "XXXX XXXXXXX", + "XXX XXXXXXXX", + "XX XXXXXXXXX", + "XX XXXXXXXXXX", + "XXXXXXXXXXXXXX", + "XXXXXXXXXXXXXX" + ]) + event.create('tfg:small_gear_mold', 'tfc:mold') .capacity(144) .texture("base", "tfg:item/mold/fired/small_gear_mold_empty") @@ -227,6 +260,13 @@ function registerTFGPrimitiveItems(event) { .tag('tfc:fire_clay_recycle_5') .tag('tfc:molds') .tag('tfc:unfired_pottery') + + event.create('tfg:unfired_spindle_head_mold') + .texture("tfg:item/mold/unfired/unfired_spindle_head_mold") + .tag('tfc:unfired_molds') + .tag('tfc:clay_recycle_5') + .tag('tfc:molds') + .tag('tfc:unfired_pottery') event.create('tfg:unfired_small_gear_mold') .texture("tfg:item/mold/unfired/unfired_small_gear_mold")