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 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
- Added recipes for developing film in sealed barrels @Pyritie
- Overhauled photographic film development @Pyritie
### Bug fixes
- 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

View file

@ -5,6 +5,14 @@
group: "19428C6E7A36D463"
icon: "tfg:terra_firma_greg"
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
quest_links: [ ]
quests: [

View file

@ -1882,12 +1882,12 @@
id: "15AD11C9C5249AAF"
subtitle: "{quests.tfg_tips.camera_attachments.subtitle}"
tasks: [{
id: "79F9084E031CFAF3"
id: "4DD87BA6E5997784"
item: {
Count: 1
id: "ftbfiltersystem:smart_filter"
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}"

View file

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

View file

@ -711,6 +711,8 @@
"fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes",
"fluid.tfg.geyser_slurry": "Super Heated Slurry",
"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.haste_pill": "Haste Pill",
"item.tfg.night_vision_pill": "Night Vision Pill",
@ -1097,6 +1099,7 @@
"material.tfg.vulcanized_latex": "Vulcanized Latex",
"material.tfg.fluix": "Fluix",
"material.tfg.conifer_pitch": "Conifer Pitch",
"material.tfg.pyrogallol": "Pyrogallol",
"material.gtceu.lactose": "Lactose",
"material.tfg.gabbro": "Gabbro",
"material.tfg.shale": "Shale",

View file

@ -3,8 +3,12 @@
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.replaceInput({ id: 'exposure:interplanar_projector' }, 'minecraft:ender_eye', '#forge:foils/silver')
// Lightroom
event.shaped('exposure:lightroom', [
'AB',
@ -23,11 +27,11 @@ const registerExposureRecipes = (event) => {
'FDF'
], {
A: 'minecraft:lever',
B: 'gtceu:wrought_iron_gear',
B: '#forge:small_gears',
C: '#minecraft:wooden_buttons',
D: '#forge:plates/wrought_iron',
E: 'tfc:lens',
F: '#forge:screws/wrought_iron'
F: '#forge:screws/any_bronze'
}).id('exposure:camera')
// Album
@ -35,11 +39,11 @@ const registerExposureRecipes = (event) => {
'minecraft:writable_book', 'minecraft:paper', 'minecraft:paper'
]).id('exposure:album')
// Black and White Film
// Film
event.shaped('exposure:black_and_white_film', [
'ABB',
'CDD',
'CEE'
' EE'
], {
A: '#forge:rings/wrought_iron',
B: '#forge:dyes/white',
@ -48,16 +52,10 @@ const registerExposureRecipes = (event) => {
E: 'tfc:food/dried_kelp',
}).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', [
'ABB',
'CDD',
'CEE'
' EE'
], {
A: '#forge:rings/wrought_iron',
B: '#forge:dyes/blue',
@ -66,64 +64,97 @@ const registerExposureRecipes = (event) => {
E: 'tfc:food/dried_kelp',
}).id('exposure:color_film')
event.recipes.tfc.barrel_sealed(8000)
.inputs('exposure:color_film', Fluid.of('tfc:spring_water', 250))
// Creating the developer
// 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'))
.id('tfg:develop_color_film')
.id('tfg:barrel/develop_color_film')
// Developed Black and White Film
event.custom({
type: "exposure:film_developing",
film: {
item: "exposure:black_and_white_film"
},
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')
event.recipes.gtceu.food_processor('color_film')
.itemInputs('exposure:color_film')
.inputFluids(Fluid.of('tfg:color_photographic_developer', 250))
.itemOutputs('exposure:developed_color_film')
.duration(60 * 20)
.EUt(2)
// Developed Color Film
event.custom({
type: "exposure:film_developing",
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')
$ISPRecipeLogic.RegisterRecipeData('food_processor/color_film',
[Ingredient.of('exposure:color_film')],
TFC.isp.of('exposure:developed_color_film').simpleModifier('tfg:copy_nbt').asCanonClass(),
[])
}

View file

@ -11,4 +11,8 @@ const registerExposureItemTags = (evt) => {
evt.add('exposure:magenta_printing_dyes', '#forge:dyes/magenta')
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) => {
event.create('tfg:bw_photographic_developer')
.thinTexture(0xa84d11)
.bucketColor(0xa84d11)
.noBlock()
event.create('tfg:color_photographic_developer')
.thinTexture(0xba6900)
.bucketColor(0xba6900)
.noBlock()
// Moon
event.create('tfg:cryogenized_fluix')
.thickTexture(0xde8cfb)
.bucketColor(0xde8cfb)
.luminosity(14)
.temperature(10)
.noBlock()
// Mars
event.create('tfg:heavy_ammoniacal_water')

View file

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