exposure mod overhaul

This commit is contained in:
Pyritie 2025-12-27 21:37:51 +00:00
parent 2b5b3a28b7
commit 2bdabbfc54
9 changed files with 138 additions and 72 deletions

View file

@ -20,7 +20,7 @@
- Added recipes for smoke bombs, pet treats, and disguise kits, and added swapper pearls to the loot tables of various endermen @Pyritie - Added recipes for smoke bombs, pet treats, and disguise kits, and added swapper pearls to the loot tables of various endermen @Pyritie
- Added a little saltpeter to cassiterite veins @Pyritie - Added a little saltpeter to cassiterite veins @Pyritie
- Removed the cleanroom requirement for level emitters since they were also craftable in a crafting grid (#2529) @Jeuvke - Removed the cleanroom requirement for level emitters since they were also craftable in a crafting grid (#2529) @Jeuvke
- Added recipes for developing film in sealed barrels @Pyritie - Overhauled photographic film development @Pyritie
### Bug fixes ### Bug fixes
- Fix for food stacking everywhere! @Mqrius - Fix for food stacking everywhere! @Mqrius
- Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius - Fixed the grappling hook crashing and sending you to the void if you use it while travelling between dimensions (#2514) @Mqrius

View file

@ -5,6 +5,14 @@
group: "19428C6E7A36D463" group: "19428C6E7A36D463"
icon: "tfg:terra_firma_greg" icon: "tfg:terra_firma_greg"
id: "5DD2C08324B24805" id: "5DD2C08324B24805"
images: [{
height: 2.0d
image: "tfg:textures/gui/tfg_logo_title_4181x688_with_shadow.png"
rotation: 0.0d
width: 12.15406976744186d
x: 0.0d
y: -3.0d
}]
order_index: 0 order_index: 0
quest_links: [ ] quest_links: [ ]
quests: [ quests: [

View file

@ -1882,12 +1882,12 @@
id: "15AD11C9C5249AAF" id: "15AD11C9C5249AAF"
subtitle: "{quests.tfg_tips.camera_attachments.subtitle}" subtitle: "{quests.tfg_tips.camera_attachments.subtitle}"
tasks: [{ tasks: [{
id: "79F9084E031CFAF3" id: "4DD87BA6E5997784"
item: { item: {
Count: 1 Count: 1
id: "ftbfiltersystem:smart_filter" id: "ftbfiltersystem:smart_filter"
tag: { tag: {
"ftbfiltersystem:filter": "or(item(minecraft:redstone_lamp)item(minecraft:spyglass))" "ftbfiltersystem:filter": "or(item(minecraft:spyglass)item_tag(exposure:flashes))"
} }
} }
title: "{quests.tfg_tips.camera_attachments.task}" title: "{quests.tfg_tips.camera_attachments.task}"

View file

@ -84,6 +84,9 @@
{ {
"id": "toomanyrecipeviewers:/create/potions" "id": "toomanyrecipeviewers:/create/potions"
}, },
{
"id": "toomanyrecipeviewers:/exposure/sequenced_black_and_white_film_developing"
},
{ {
"id": "toomanyrecipeviewers:/exposure/sequenced_color_film_developing" "id": "toomanyrecipeviewers:/exposure/sequenced_color_film_developing"
}, },

View file

@ -711,6 +711,8 @@
"fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes", "fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes",
"fluid.tfg.geyser_slurry": "Super Heated Slurry", "fluid.tfg.geyser_slurry": "Super Heated Slurry",
"fluid.tfg.cryogenized_fluix": "Cryogenized Fluix", "fluid.tfg.cryogenized_fluix": "Cryogenized Fluix",
"fluid.tfg.bw_photographic_developer": "Black and White Photographic Developer",
"fluid.tfg.color_photographic_developer": "Color Photographic Developer",
"item.tfg.antipoison_pill": "Antipoison Pill", "item.tfg.antipoison_pill": "Antipoison Pill",
"item.tfg.haste_pill": "Haste Pill", "item.tfg.haste_pill": "Haste Pill",
"item.tfg.night_vision_pill": "Night Vision Pill", "item.tfg.night_vision_pill": "Night Vision Pill",
@ -1097,6 +1099,7 @@
"material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex",
"material.tfg.fluix": "Fluix", "material.tfg.fluix": "Fluix",
"material.tfg.conifer_pitch": "Conifer Pitch", "material.tfg.conifer_pitch": "Conifer Pitch",
"material.tfg.pyrogallol": "Pyrogallol",
"material.gtceu.lactose": "Lactose", "material.gtceu.lactose": "Lactose",
"material.tfg.gabbro": "Gabbro", "material.tfg.gabbro": "Gabbro",
"material.tfg.shale": "Shale", "material.tfg.shale": "Shale",

View file

@ -3,8 +3,12 @@
const registerExposureRecipes = (event) => { const registerExposureRecipes = (event) => {
const $ISPRecipeLogic = Java.loadClass("su.terrafirmagreg.core.common.data.tfgt.machine.trait.ISPOutputRecipeLogic")
event.remove({ id: 'exposure:sequenced_color_film_developing' }) event.remove({ id: 'exposure:sequenced_color_film_developing' })
event.replaceInput({ id: 'exposure:interplanar_projector' }, 'minecraft:ender_eye', '#forge:foils/silver')
// Lightroom // Lightroom
event.shaped('exposure:lightroom', [ event.shaped('exposure:lightroom', [
'AB', 'AB',
@ -23,11 +27,11 @@ const registerExposureRecipes = (event) => {
'FDF' 'FDF'
], { ], {
A: 'minecraft:lever', A: 'minecraft:lever',
B: 'gtceu:wrought_iron_gear', B: '#forge:small_gears',
C: '#minecraft:wooden_buttons', C: '#minecraft:wooden_buttons',
D: '#forge:plates/wrought_iron', D: '#forge:plates/wrought_iron',
E: 'tfc:lens', E: 'tfc:lens',
F: '#forge:screws/wrought_iron' F: '#forge:screws/any_bronze'
}).id('exposure:camera') }).id('exposure:camera')
// Album // Album
@ -35,11 +39,11 @@ const registerExposureRecipes = (event) => {
'minecraft:writable_book', 'minecraft:paper', 'minecraft:paper' 'minecraft:writable_book', 'minecraft:paper', 'minecraft:paper'
]).id('exposure:album') ]).id('exposure:album')
// Black and White Film // Film
event.shaped('exposure:black_and_white_film', [ event.shaped('exposure:black_and_white_film', [
'ABB', 'ABB',
'CDD', 'CDD',
'CEE' ' EE'
], { ], {
A: '#forge:rings/wrought_iron', A: '#forge:rings/wrought_iron',
B: '#forge:dyes/white', B: '#forge:dyes/white',
@ -48,16 +52,10 @@ const registerExposureRecipes = (event) => {
E: 'tfc:food/dried_kelp', E: 'tfc:food/dried_kelp',
}).id('exposure:black_and_white_film') }).id('exposure:black_and_white_film')
event.recipes.tfc.barrel_sealed(8000)
.inputs('exposure:black_and_white_film', Fluid.of('minecraft:water', 250))
.outputItem(TFC.isp.of('exposure:developed_black_and_white_film').simpleModifier('tfg:copy_nbt'))
.id('tfg:develop_black_and_white_film')
// Colored Film
event.shaped('exposure:color_film', [ event.shaped('exposure:color_film', [
'ABB', 'ABB',
'CDD', 'CDD',
'CEE' ' EE'
], { ], {
A: '#forge:rings/wrought_iron', A: '#forge:rings/wrought_iron',
B: '#forge:dyes/blue', B: '#forge:dyes/blue',
@ -66,64 +64,97 @@ const registerExposureRecipes = (event) => {
E: 'tfc:food/dried_kelp', E: 'tfc:food/dried_kelp',
}).id('exposure:color_film') }).id('exposure:color_film')
event.recipes.tfc.barrel_sealed(8000) // Creating the developer
.inputs('exposure:color_film', Fluid.of('tfc:spring_water', 250))
// Pyrogallol
event.recipes.tfc.pot(['tfc:powder/saltpeter'], Fluid.of('tfc:tannin', 500), 30 * 20, 750)
.itemOutput('tfg:pyrogallol_dust')
.id('tfg:pot/tannin_to_pyrogallol_saltpeter')
event.recipes.tfc.pot(['tfc:powder/soda_ash'], Fluid.of('tfc:tannin', 500), 30 * 20, 750)
.itemOutput('tfg:pyrogallol_dust')
.id('tfg:pot/tannin_to_pyrogallol_soda_ash')
event.recipes.firmalife.vat()
.inputs('tfc:powder/saltpeter', Fluid.of('tfc:tannin', 500))
.length(30 * 20)
.temperature(750)
.outputItem('tfg:pyrogallol_dust')
.id('tfg:vat/tannin_to_pyrogallol_saltpeter')
event.recipes.firmalife.vat()
.inputs('tfc:powder/soda_ash', Fluid.of('tfc:tannin', 500))
.length(30 * 20)
.temperature(750)
.outputItem('tfg:pyrogallol_dust')
.id('tfg:vat/tannin_to_soda_ash')
event.recipes.gtceu.chemical_reactor('tfg:tannin_to_pyrogallol_saltpeter')
.itemInputs('tfc:powder/saltpeter')
.inputFluids(Fluid.of('tfc:tannin', 500))
.itemOutputs('tfg:pyrogallol_dust')
.duration(200)
.EUt(7)
event.recipes.gtceu.chemical_reactor('tfg:tannin_to_pyrogallol_soda_ash')
.itemInputs('tfc:powder/soda_ash')
.inputFluids(Fluid.of('tfc:tannin', 500))
.itemOutputs('tfg:pyrogallol_dust')
.duration(200)
.EUt(7)
// Developer
event.recipes.tfc.pot(['#forge:dusts/pyrogallol', 'tfc:powder/soda_ash', 'tfc:powder/sulfur', '#exposure:black_printing_dyes'], Fluid.of('tfc:lye', 1000), 30 * 20, 750)
.fluidOutput(Fluid.of('tfg:bw_photographic_developer', 1000))
.id('tfg:pot/bw_developer')
event.recipes.gtceu.mixer('tfg:bw_developer')
.itemInputs('#forge:dusts/pyrogallol', 'tfc:powder/soda_ash', 'tfc:powder/sulfur', '#exposure:black_printing_dyes')
.inputFluids(Fluid.of('tfc:lye', 1000))
.outputFluids(Fluid.of('tfg:bw_photographic_developer', 1000))
.duration(200)
.EUt(7)
event.recipes.gtceu.mixer('tfg:color_developer')
.itemInputs('#forge:dusts/pyrogallol', 'tfc:powder/soda_ash', 'tfc:powder/sulfur', '#exposure:cyan_printing_dyes', '#exposure:yellow_printing_dyes', '#exposure:magenta_printing_dyes')
.inputFluids(Fluid.of('tfc:lye', 1000))
.outputFluids(Fluid.of('tfg:color_photographic_developer', 1000))
.duration(200)
.EUt(7)
// Developing film
event.recipes.tfc.barrel_sealed(4000)
.inputs('exposure:black_and_white_film', Fluid.of('tfg:bw_photographic_developer', 250))
.outputItem(TFC.isp.of('exposure:developed_black_and_white_film').simpleModifier('tfg:copy_nbt').asCanonClass())
.id('tfg:barrel/develop_black_and_white_film')
event.recipes.gtceu.food_processor('black_and_white_film')
.itemInputs('exposure:black_and_white_film')
.inputFluids(Fluid.of('tfg:bw_photographic_developer', 250))
.itemOutputs('exposure:developed_black_and_white_film')
.duration(60 * 20)
.EUt(2)
$ISPRecipeLogic.RegisterRecipeData('food_processor/black_and_white_film',
[Ingredient.of('exposure:black_and_white_film')],
TFC.isp.of('exposure:developed_black_and_white_film').simpleModifier('tfg:copy_nbt').asCanonClass(),
[])
// Developing color film
event.recipes.tfc.barrel_sealed(4000)
.inputs('exposure:color_film', Fluid.of('tfg:color_photographic_developer', 250))
.outputItem(TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt')) .outputItem(TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt'))
.id('tfg:develop_color_film') .id('tfg:barrel/develop_color_film')
// Developed Black and White Film event.recipes.gtceu.food_processor('color_film')
event.custom({ .itemInputs('exposure:color_film')
type: "exposure:film_developing", .inputFluids(Fluid.of('tfg:color_photographic_developer', 250))
film: { .itemOutputs('exposure:developed_color_film')
item: "exposure:black_and_white_film" .duration(60 * 20)
}, .EUt(2)
ingredients: [
{
type: "tfc:fluid_item",
fluid_ingredient: {
ingredient: "minecraft:water",
amount: 1000
}
},
],
result: {
item: "exposure:developed_black_and_white_film"
}
}).id('exposure:developing_black_and_white_film')
// Developed Color Film $ISPRecipeLogic.RegisterRecipeData('food_processor/color_film',
event.custom({ [Ingredient.of('exposure:color_film')],
type: "exposure:film_developing", TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt').asCanonClass(),
film: { [])
item: "exposure:color_film"
},
ingredients: [
{
type: "tfc:fluid_item",
fluid_ingredient: {
ingredient: "tfc:spring_water",
amount: 1000
}
},
{
type: "tfc:fluid_item",
fluid_ingredient: {
ingredient: "tfc:spring_water",
amount: 1000
}
},
{
type: "tfc:fluid_item",
fluid_ingredient: {
ingredient: "tfc:spring_water",
amount: 1000
}
},
],
result: {
item: "exposure:developed_color_film"
}
}).id('exposure:developing_color_film')
event.replaceInput({ id: 'exposure:interplanar_projector' }, 'minecraft:ender_eye', '#forge:foils/silver')
} }

View file

@ -11,4 +11,8 @@ const registerExposureItemTags = (evt) => {
evt.add('exposure:magenta_printing_dyes', '#forge:dyes/magenta') evt.add('exposure:magenta_printing_dyes', '#forge:dyes/magenta')
evt.add('exposure:photo_agers', '#forge:dyes/brown') evt.add('exposure:photo_agers', '#forge:dyes/brown')
evt.add('exposure:flashes', 'simplylight:illuminant_block')
evt.add('exposure:flashes', 'create:rose_quartz_lamp')
evt.add('exposure:flashes', 'gtceu:white_lamp')
} }

View file

@ -3,12 +3,22 @@
const registerTFGFluids = (event) => { const registerTFGFluids = (event) => {
event.create('tfg:bw_photographic_developer')
.thinTexture(0xa84d11)
.bucketColor(0xa84d11)
.noBlock()
event.create('tfg:color_photographic_developer')
.thinTexture(0xba6900)
.bucketColor(0xba6900)
.noBlock()
// Moon // Moon
event.create('tfg:cryogenized_fluix') event.create('tfg:cryogenized_fluix')
.thickTexture(0xde8cfb) .thickTexture(0xde8cfb)
.bucketColor(0xde8cfb) .bucketColor(0xde8cfb)
.luminosity(14)
.temperature(10) .temperature(10)
.noBlock()
// Mars // Mars
event.create('tfg:heavy_ammoniacal_water') event.create('tfg:heavy_ammoniacal_water')

View file

@ -88,4 +88,11 @@ function registerTFGPrimitiveMaterials(event) {
.color(0xEEB9AD) .color(0xEEB9AD)
.secondaryColor(0xF6A797) .secondaryColor(0xF6A797)
.formula("Al2Si2O5(OH)4") .formula("Al2Si2O5(OH)4")
// Film developing
event.create('tfg:pyrogallol')
.dust()
.color(0xf0ccb4)
.formula("C6H3(OH)3")
.iconSet('rough')
} }