This commit is contained in:
Pyritie 2025-05-21 20:59:36 +01:00
commit ae4abcadec
207 changed files with 2521 additions and 1286 deletions

View file

@ -1,64 +1,261 @@
// priority: 0
function registerTFCLoots(event)
{
function registerTFCLoots(event) {
// Hostile animals
event.addEntityLootModifier('tfc:black_bear')
.addWeightedLoot([8,12], ['tfc:food/bear'])
.addWeightedLoot([8, 12], ['tfc:food/bear'])
event.addEntityLootModifier('tfc:black_bear')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([4, 6], ['tfc:food/bear'])
event.addEntityLootModifier('tfc:grizzly_bear')
.addWeightedLoot([10,16], ['tfc:food/bear'])
.addWeightedLoot([10, 16], ['tfc:food/bear'])
event.addEntityLootModifier('tfc:grizzly_bear')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([5, 8], ['tfc:food/bear'])
event.addEntityLootModifier('tfc:polar_bear')
.addWeightedLoot([14,20], ['tfc:food/bear'])
.addWeightedLoot([2,5], ['tfc:blubber'])
.addWeightedLoot([14, 20], ['tfc:food/bear'])
.addWeightedLoot([2, 5], ['tfc:blubber'])
event.addEntityLootModifier('tfc:polar_bear')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([7, 10], ['tfc:food/bear'])
event.addEntityLootModifier('tfc:cougar')
.addWeightedLoot([6,10], ['tfc:food/gran_feline'])
.addWeightedLoot([6, 10], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:cougar')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([3, 5], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:panther')
.addWeightedLoot([6,10], ['tfc:food/gran_feline'])
.addWeightedLoot([6, 10], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:panther')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([3, 5], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:sabertooth')
.addWeightedLoot([9,14], ['tfc:food/gran_feline'])
.addWeightedLoot([9, 14], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:sabertooth')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([4, 7], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:lion')
.addWeightedLoot([9,14], ['tfc:food/gran_feline'])
.addWeightedLoot([9, 14], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:lion')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([4, 7], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:tiger')
.addWeightedLoot([9,14], ['tfc:food/gran_feline'])
.addWeightedLoot([9, 14], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:tiger')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([4, 7], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:ocelot')
.addWeightedLoot([2,5], ['tfc:food/gran_feline'])
.addWeightedLoot([2, 5], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:ocelot')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 2], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:cat')
.addWeightedLoot([2,5], ['tfc:food/gran_feline'])
.addWeightedLoot([2, 5], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:cat')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 2], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:sabertooth')
.addWeightedLoot([9,14], ['tfc:food/gran_feline'])
.addWeightedLoot([9, 14], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:sabertooth')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([4, 7], ['tfc:food/gran_feline'])
event.addEntityLootModifier('tfc:dog')
.addWeightedLoot([5,9], ['tfc:food/wolf'])
.addWeightedLoot([5, 8], ['tfc:food/wolf'])
event.addEntityLootModifier('tfc:dog')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 4], ['tfc:food/wolf'])
event.addEntityLootModifier('tfc:wolf')
.addWeightedLoot([5,9], ['tfc:food/wolf'])
.addWeightedLoot([5, 8], ['tfc:food/wolf'])
event.addEntityLootModifier('tfc:wolf')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 4], ['tfc:food/wolf'])
event.addEntityLootModifier('tfc:direwolf')
.addWeightedLoot([10,15], ['tfc:food/wolf'])
.addWeightedLoot([8, 12], ['tfc:food/wolf'])
event.addEntityLootModifier('tfc:direwolf')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([4, 6], ['tfc:food/wolf'])
event.addEntityLootModifier('tfc:wolf')
.addWeightedLoot([5,9], ['tfc:food/wolf'])
event.addEntityLootModifier('tfc:hyena')
.addWeightedLoot([5,9], ['tfc:food/hyena'])
.addWeightedLoot([4, 7], ['tfc:food/hyena'])
event.addEntityLootModifier('tfc:hyena')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 4], ['tfc:food/hyena'])
event.addEntityLootModifier('tfc:fox')
.addWeightedLoot([5,9], ['tfc:food/fox'])
.addWeightedLoot([4, 7], ['tfc:food/fox'])
event.addEntityLootModifier('tfc:fox')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 4], ['tfc:food/fox'])
event.addEntityLootModifier('tfc:crocodile')
.addWeightedLoot([5,10], ['tfc:food/bluegill', 'tfc:food/crappie', 'tfc:food/lake_trout', 'tfc:food/rainbow_trout', 'tfc:food/frog_legs'])
.addWeightedLoot([5, 10], ['tfc:food/bluegill', 'tfc:food/crappie', 'tfc:food/lake_trout', 'tfc:food/rainbow_trout', 'tfc:food/frog_legs'])
.addSequenceLoot(LootEntry.of('tfc:metal/fish_hook/copper').when(c => c.randomChance(0.2)))
event.addEntityLootModifier('tfc:crocodile')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 5], ['tfc:food/bluegill', 'tfc:food/crappie', 'tfc:food/lake_trout', 'tfc:food/rainbow_trout', 'tfc:food/frog_legs'])
// Passive animals
event.addEntityLootModifier('tfc:alpaca')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([5, 10], ['tfc:food/camelidae'])
event.addEntityLootModifier('tfc:boar')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 4], ['tfc:food/pork'])
event.addEntityLootModifier('tfc:bongo')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 4], ['tfc:food/venison'])
event.addEntityLootModifier('tfc:caribou')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([3, 5], ['tfc:food/venison'])
event.addEntityLootModifier('tfc:chicken')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 3], ['tfc:food/chicken'])
event.addEntityLootModifier('tfc:cow')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([8, 12], ['tfc:food/beef'])
event.addEntityLootModifier('tfc:deer')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 4], ['tfc:food/camelidae'])
event.addEntityLootModifier('tfc:deer')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 5], ['tfc:food/venison'])
event.addEntityLootModifier('tfc:donkey')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([7, 10], ['tfc:food/horse_meat'])
event.addEntityLootModifier('tfc:duck')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 3], ['tfc:food/duck'])
event.addEntityLootModifier('tfc:frog')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 2], ['tfc:food/frog_legs'])
event.addEntityLootModifier('tfc:gazelle')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([2, 4], ['tfc:food/venison'])
event.addEntityLootModifier('tfc:goat')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([4, 6], ['tfc:food/chevon'])
event.addEntityLootModifier('tfc:grouse')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 2], ['tfc:food/grouse'])
event.addEntityLootModifier('tfc:horse')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([7, 10], ['tfc:food/horse_meat'])
event.addEntityLootModifier('tfc:moose')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([5, 10], ['tfc:food/venison'])
event.addEntityLootModifier('tfc:mule')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([7, 10], ['tfc:food/horse_meat'])
event.addEntityLootModifier('tfc:musk_ox')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([7, 10], ['tfc:food/mutton'])
event.addEntityLootModifier('tfc:peafowl')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 2], ['tfc:food/peafowl'])
event.addEntityLootModifier('tfc:pheasant')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 2], ['tfc:food/pheasant'])
event.addEntityLootModifier('tfc:pig')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([5, 7], ['tfc:food/pork'])
event.addEntityLootModifier('tfc:quail')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 3], ['tfc:food/quail'])
event.addEntityLootModifier('tfc:rabbit')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addLoot('tfc:food/rabbit')
event.addEntityLootModifier('tfc:sheep')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([6, 9], ['tfc:food/mutton'])
event.addEntityLootModifier('tfc:turkey')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([1, 2], ['tfc:food/turkey'])
event.addEntityLootModifier('tfc:turtle')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addLoot('tfc:food/turtle')
event.addEntityLootModifier('tfc:wildebeest')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([4, 7], ['tfc:food/beef'])
event.addEntityLootModifier('tfc:yak')
.randomChanceWithEnchantment('minecraft:looting', [0, 0.3, 0.6, 1])
.addWeightedLoot([7, 10], ['tfc:food/chevon'])
// Blocks
event.addBlockLootModifier('minecraft:ice')
.removeLoot(ItemFilter.ALWAYS_TRUE)
@ -66,11 +263,11 @@ function registerTFCLoots(event)
event.addBlockLootModifier('minecraft:packed_ice')
.not(n => n.matchMainHand("#forge:tools/saws"))
.addWeightedLoot([4,6], ['firmalife:ice_shavings'])
.addWeightedLoot([4, 6], ['firmalife:ice_shavings'])
event.addBlockLootModifier('minecraft:blue_ice')
.not(n => n.matchMainHand("#forge:tools/saws"))
.addWeightedLoot([8,12], ['firmalife:ice_shavings'])
.addWeightedLoot([8, 12], ['firmalife:ice_shavings'])
event.addBlockLootModifier('tfc:sea_ice')
.removeLoot(ItemFilter.ALWAYS_TRUE)

View file

@ -201,7 +201,7 @@ const registerTFCRecipes = (event) => {
.id('tfg:tfc/pot/salt')
// Salt Water
generateMixerRecipe(event, ['#forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], null, Fluid.of('tfc:salt_water', 1000), 40, 7, 64, 'tfg:tfc/salt_water')
generateMixerRecipe(event, ['#forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], 2, Fluid.of('tfc:salt_water', 1000), 40, 7, 64, 'tfg:tfc/salt_water')
// Seaweed and kelp

View file

@ -320,19 +320,19 @@ function registerTFCMachineRecipes(event) {
global.TFC_ALCOHOL.forEach(alcohol => {
event.recipes.gtceu.fermenter(`tfg:tfc/vinegar/${alcohol.id.replace(':', '_')}`)
.itemInputs('#tfc:foods/fruits')
.inputFluids(Fluid.of(alcohol.id, 250))
.outputFluids(Fluid.of('tfc:vinegar', 250))
.duration(600)
.EUt(28)
.itemInputs('#tfc:foods/fruits')
.inputFluids(Fluid.of(alcohol.id, 250))
.outputFluids(Fluid.of('tfc:vinegar', 250))
.duration(600)
.EUt(28)
})
event.recipes.gtceu.mixer('tfg:tfc/brine')
.inputFluids(Fluid.of('tfc:salt_water', 900))
.inputFluids(Fluid.of('tfc:vinegar', 100))
.outputFluids(Fluid.of('tfc:brine', 1000))
.duration(100)
.EUt(16)
.inputFluids(Fluid.of('tfc:salt_water', 900))
.inputFluids(Fluid.of('tfc:vinegar', 100))
.outputFluids(Fluid.of('tfc:brine', 1000))
.duration(100)
.EUt(16)
//#endregion
@ -505,4 +505,43 @@ function registerTFCMachineRecipes(event) {
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.duration(20)
.EUt(2)
// Humus and compost
event.recipes.gtceu.extractor('tfg:humus_from_leaves')
.itemInputs('#minecraft:leaves')
.itemOutputs('tfc:groundcover/humus')
.duration(600)
.EUt(2)
event.recipes.gtceu.extractor('tfg:humus_from_fallen_leaves')
.itemInputs('#tfc:fallen_leaves')
.itemOutputs('tfc:groundcover/humus')
.duration(600)
.EUt(2)
event.recipes.gtceu.fermenter('tfg:fertilizer_to_compost')
.itemInputs('4x gtceu:fertilizer')
.itemOutputs('tfc:compost')
.duration(1200)
.EUt(2)
const BROWNS = [ '16x #tfc:compost_browns_low', '4x #tfc:compost_browns_high' ];
const GREENS = [ '16x #tfc:compost_greens_low', '4x #tfc:compost_greens_high' ];
let i = 0;
BROWNS.forEach(brown => {
GREENS.forEach(green => {
event.recipes.gtceu.mixer(`tfg:compost_${i++}`)
.itemInputs(brown, green)
.itemOutputs('tfc:compost')
.duration(1200)
.EUt(2)
})
})
event.recipes.gtceu.centrifuge('tfg:soot')
.itemInputs('tfc:soot')
.itemOutputs('#forge:dusts/carbon')
.duration(20)
.EUt(2)
}

View file

@ -279,6 +279,9 @@ function registerTFCMetalsRecipes(event) {
event.recipes.tfc.anvil('gtceu:small_steel_gear', '#forge:ingots/steel', ['hit_last', 'shrink_second_last', 'draw_third_last'])
.tier(4)
.id('tfc:anvil/small_steel_gear')
event.recipes.tfc.anvil('gtceu:small_iron_gear', '#forge:ingots/iron', ['hit_last', 'shrink_second_last', 'draw_third_last'])
.tier(2)
.id('tfc:anvil/small_iron_gear')
event.recipes.tfc.anvil('gtceu:small_brass_gear', '#forge:ingots/brass', ['hit_last', 'shrink_second_last', 'draw_third_last'])
.tier(2)
.id('tfc:anvil/small_brass_gear')
@ -291,6 +294,9 @@ function registerTFCMetalsRecipes(event) {
event.recipes.tfc.anvil('gtceu:small_black_bronze_gear', '#forge:ingots/black_bronze', ['hit_last', 'shrink_second_last', 'draw_third_last'])
.tier(2)
.id('tfc:anvil/small_black_bronze_gear')
event.recipes.tfc.anvil('gtceu:small_red_alloy_gear', '#forge:ingots/red_alloy', ['hit_last', 'shrink_second_last', 'draw_third_last'])
.tier(2)
.id('tfc:anvil/small_red_alloy_gear')
// Cast iron -> Raw Iron Bloom
event.recipes.tfc.bloomery('tfc:raw_iron_bloom', 'minecraft:charcoal', Fluid.of('gtceu:iron', 144), 15000)
@ -330,4 +336,4 @@ function registerTFCMetalsRecipes(event) {
.EUt(GTValues.VA[GTValues.LV])
})})
//#endregion
}
}

View file

@ -33,19 +33,18 @@ function registerTFCStoneRecipes(event) {
// ? -> Сырая нажимная пластина
event.shaped(`tfc:rock/pressure_plate/${stone}`, [
'ABA',
' B ',
'CDC',
'AEA'
' E '
], {
A: '#forge:screws/wrought_iron',
B: '#tfc:hammers',
C: `tfc:rock/raw/${stone}_slab`,
D: '#forge:springs',
D: '#forge:small_springs',
E: '#forge:tools/screwdrivers'
}).id(`tfc:crafting/rock/${stone}_pressure_plate`)
event.recipes.gtceu.assembler(`${stone}_raw_pressure_plate`)
.itemInputs('#forge:springs', `2x tfc:rock/raw/${stone}_slab`)
.itemInputs('#forge:small_springs', `2x tfc:rock/raw/${stone}_slab`)
.circuit(0)
.itemOutputs(`2x tfc:rock/pressure_plate/${stone}`)
.duration(50)
@ -468,6 +467,14 @@ function registerTFCStoneRecipes(event) {
//#region Стена
event.recipes.tfc.chisel(`tfc:rock/raw/${stone}_wall`, `tfc:rock/raw/${stone}_slab`, 'smooth')
event.recipes.tfc.chisel(`tfc:rock/cobble/${stone}_wall`, `tfc:rock/cobble/${stone}_slab`, 'smooth')
event.recipes.tfc.chisel(`tfc:rock/smooth/${stone}_wall`, `tfc:rock/smooth/${stone}_slab`, 'smooth')
event.recipes.tfc.chisel(`tfc:rock/bricks/${stone}_wall`, `tfc:rock/bricks/${stone}_slab`, 'smooth')
event.recipes.tfc.chisel(`tfc:rock/cracked_bricks/${stone}_wall`, `tfc:rock/cracked_bricks/${stone}_slab`, 'smooth')
event.recipes.tfc.chisel(`tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}_slab`, 'smooth')
event.recipes.tfc.chisel(`tfc:rock/mossy_bricks/${stone}_wall`, `tfc:rock/mossy_bricks/${stone}_slab`, 'smooth')
// Сырой
event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_wall`)

View file

@ -26,19 +26,18 @@ function registerTFCWoodRecipes(event) {
// ? -> Деревянная нажимная пластина
event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [
'ABA',
' B ',
'CDC',
'AEA'
' E '
], {
A: '#forge:screws/wood',
B: '#tfc:hammers',
C: `tfc:wood/planks/${wood}_slab`,
D: '#forge:springs',
D: '#forge:small_springs',
E: '#forge:tools/screwdrivers'
}).id(`tfc:crafting/wood/${wood}_pressure_plate`)
event.recipes.gtceu.assembler(`${wood}_pressure_plate`)
.itemInputs('#forge:springs', `2x tfc:wood/planks/${wood}_slab`)
.itemInputs('#forge:small_springs', `2x tfc:wood/planks/${wood}_slab`)
.circuit(0)
.itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`)
.duration(50)