Greenhouse Rework Finishing Touches (#2719)

* asset changes

* recipe changes

* lang and quests

* fixes

---------

Signed-off-by: Redeix <redeix.m@gmail.com>
This commit is contained in:
Redeix 2026-01-13 05:11:07 -06:00 committed by GitHub
parent f7cd09c4a0
commit e9e4ad90cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
45 changed files with 143 additions and 58 deletions

View file

@ -559,7 +559,7 @@
]
title: "{quests.high_voltage.fluorine.title}"
x: 1.5d
y: 4.5d
y: 4.0d
}
{
dependencies: [
@ -592,7 +592,7 @@
]
title: "{quests.high_voltage.ptfe.title}"
x: 0.0d
y: 4.5d
y: 5.0d
}
{
dependencies: ["5BACED5AE350EAB1"]
@ -617,8 +617,8 @@
}
]
title: "{quests.high_voltage.nitrobenzene.title}"
x: -3.0d
y: 5.0d
x: -3.5d
y: 6.0d
}
{
dependencies: ["7CC79617A4965F25"]
@ -653,7 +653,7 @@
]
title: "{quests.high_voltage.lcr.title}"
x: 0.0d
y: 6.0d
y: 7.0d
}
{
description: [
@ -777,8 +777,8 @@
}
]
title: "{quests.high_voltage.nitric_acid.title}"
x: -1.5d
y: 6.0d
x: -2.0d
y: 7.0d
}
{
dependencies: ["5BACED5AE350EAB1"]
@ -803,8 +803,8 @@
}
]
title: "{quests.high_voltage.cetane_diesel.title}"
x: -3.0d
y: 7.0d
x: -3.5d
y: 8.0d
}
{
dependencies: ["16B735F9C391D260"]
@ -902,7 +902,7 @@
}
]
title: "{quests.high_voltage.ammonia.title}"
x: -1.5d
x: -2.0d
y: 4.5d
}
{
@ -1265,8 +1265,8 @@
type: "checkmark"
}]
title: "{quests.high_voltage.linked_quest_energy.title}"
x: -4.5d
y: 6.0d
x: -5.0d
y: 7.0d
}
{
description: ["{quests.high_voltage.kaolinite_powder.desc}"]
@ -1671,6 +1671,41 @@
x: 5.0d
y: -10.0d
}
{
dependencies: ["7CC79617A4965F25"]
description: [
"{quests.high_voltage.pisciculture.desc.1}"
"{@pagebreak}"
"{quests.high_voltage.pisciculture.desc.2}"
]
icon: {
Count: 1
ForgeCaps: {
"tfc:food": {
creationDate: -9223372036854775808L
traits: [ ]
}
"tfc:item_heat": {
heat: 0.0f
ticks: 0L
}
}
id: "tfc:food/tropical_fish"
}
id: "04ADA3B900F182A0"
optional: true
shape: "heart"
size: 1.5d
subtitle: "{quests.high_voltage.pisciculture.subtitle}"
tasks: [{
id: "63DC421339C9BB42"
item: "tfg:pisciculture_fishery"
type: "item"
}]
title: "{quests.high_voltage.pisciculture.title}"
x: 2.0d
y: 6.0d
}
]
subtitle: ["{quests.high_voltage.subtitle}"]
title: "{quests.high_voltage}"

View file

@ -1197,8 +1197,8 @@
type: "item"
}]
title: "{quests.low_voltage.lv_rock_crusher.title}"
x: 4.0d
y: 1.0d
x: 3.5d
y: 0.5d
}
{
dependencies: ["3E6DC423FE4A99F7"]
@ -1228,34 +1228,6 @@
x: 9.0d
y: -0.5d
}
{
dependencies: ["22510C5F2386B453"]
description: ["{quests.low_voltage.lv_fisher.desc}"]
icon: "gtceu:lv_fisher"
id: "3B26CA44EA955B07"
optional: true
shape: "heart"
size: 1.0d
subtitle: "{quests.low_voltage.lv_fisher.subtitle}"
tasks: [{
id: "54B46E0C5903092F"
item: {
Count: 1
id: "ftbfiltersystem:smart_filter"
tag: {
display: {
Name: "{\"text\":\"Any Fisher\"}"
}
"ftbfiltersystem:filter": "or(item(gtceu:lv_fisher)item(gtceu:mv_fisher)item(gtceu:hv_fisher)item(gtceu:ev_fisher))"
}
}
title: "{quests.low_voltage.lv_fisher.task}"
type: "item"
}]
title: "{quests.low_voltage.lv_fisher.title}"
x: 3.0d
y: 0.5d
}
{
dependencies: ["22510C5F2386B453"]
description: ["{quests.low_voltage.lv_mixer.desc}"]
@ -1459,12 +1431,14 @@
dependencies: ["0DBC148D92A9F69F"]
description: [
"{quests.low_voltage.lv_greenhouse.desc.1}"
"\\n"
"{image:tfg:textures/quests/electric_greenhouse.png width:250 height:150 align:center}"
"{@pagebreak}"
"{quests.low_voltage.lv_greenhouse.desc.2}"
"{@pagebreak}"
"{quests.low_voltage.lv_greenhouse.desc.3}"
]
icon: "minecraft:oak_sapling"
icon: "tfc:plant/orange_sapling"
id: "1F41C35890E2C44F"
optional: true
shape: "heart"

View file

@ -1214,7 +1214,11 @@
}
{
dependencies: ["2EFB241490502DB3"]
description: ["{quests.tfg_tips.greenhouse.desc}"]
description: [
"{quests.tfg_tips.greenhouse.desc}"
"\\n"
"{image:tfg:textures/quests/firmalife_greenhouse.png width:250 height:150 align:center}"
]
guide_page: "tfc:field_guide tfc:firmalife/greenhouse"
icon: "firmalife:large_planter"
id: "07FBA022050DA24A"

View file

@ -694,6 +694,31 @@
"block.tfg.sandstone.fluorapatite.yellow": "Cut Yellow Fluorapatite Sandstone",
"block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Chiseled Yellow Fluorapatite Sandstone",
"block.tfg.large_nest_box": "Large Crimson Nest",
"block.tfg.cultivation_monitor": "Cultivation Monitor",
"block.tfg.egh_planter": "Horticulture Planter",
"block.tfg.grow_light": "Grow Light",
"block.tfg.casings.machine_casing_egh": "Horticulture Casing",
"block.tfg.pisciculture_core": "Pisciculture Core Rotor",
"block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_0": "§nFlawless§r Wax-Treated Wood Greenhouse Wall",
"block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_1": "§nVertical§r Wax-Treated Wood Greenhouse Wall",
"block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_2": "§nHorizontal§r Wax-Treated Wood Greenhouse Wall",
"block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_3": "§nNubio§r Wax-Treated Wood Greenhouse Wall",
"block.tfg.casings.greenhouse.treated_wood_greenhouse_casing_4": "§nOrnate§r Wax-Treated Wood Greenhouse Wall",
"block.tfg.casings.greenhouse.copper_greenhouse_casing_0": "§nFlawless§r Copper Greenhouse Wall",
"block.tfg.casings.greenhouse.copper_greenhouse_casing_1": "§nVertical§r Copper Greenhouse Wall",
"block.tfg.casings.greenhouse.copper_greenhouse_casing_2": "§nHorizontal§r Copper Greenhouse Wall",
"block.tfg.casings.greenhouse.copper_greenhouse_casing_3": "§nNubio§r Copper Greenhouse Wall",
"block.tfg.casings.greenhouse.copper_greenhouse_casing_4": "§nOrnate§r Copper Greenhouse Wall",
"block.tfg.casings.greenhouse.iron_greenhouse_casing_0": "§nFlawless§r Iron Greenhouse Wall",
"block.tfg.casings.greenhouse.iron_greenhouse_casing_1": "§nVertical§r Iron Greenhouse Wall",
"block.tfg.casings.greenhouse.iron_greenhouse_casing_2": "§nHorizontal§r Iron Greenhouse Wall",
"block.tfg.casings.greenhouse.iron_greenhouse_casing_3": "§nNubio§r Iron Greenhouse Wall",
"block.tfg.casings.greenhouse.iron_greenhouse_casing_4": "§nOrnate§r Iron Greenhouse Wall",
"block.tfg.casings.greenhouse.stainless_greenhouse_casing_0": "§nFlawless§r Stainless Steel Greenhouse Wall",
"block.tfg.casings.greenhouse.stainless_greenhouse_casing_1": "§nVertical§r Stainless Steel Greenhouse Wall",
"block.tfg.casings.greenhouse.stainless_greenhouse_casing_2": "§nHorizontal§r Stainless Steel Greenhouse Wall",
"block.tfg.casings.greenhouse.stainless_greenhouse_casing_3": "§nNubio§r Stainless Steel Greenhouse Wall",
"block.tfg.casings.greenhouse.stainless_greenhouse_casing_4": "§nOrnate§r Stainless Steel Greenhouse Wall",
"tfg.block_entity.large_nest_box": "Large Nest Box",
"block.tfg.large_nest_box_warped": "Large Warped Nest",
"block.tfg.cultivation_monitor": "Cultivation Monitor",

View file

@ -30,7 +30,7 @@
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "tfg:block/casings/machine_casing_egh_inactive",
"all": "tfg:block/casings/machine_casing_egh_active",
"overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active",
"overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive"
}
@ -40,7 +40,7 @@
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "tfg:block/casings/machine_casing_egh_inactive",
"all": "tfg:block/casings/machine_casing_egh_active",
"overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active",
"overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive"
}
@ -70,7 +70,7 @@
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "tfg:block/casings/machine_casing_egh_inactive",
"all": "tfg:block/casings/machine_casing_egh_active",
"overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active",
"overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive"
}
@ -80,7 +80,7 @@
"model": {
"parent": "gtceu:block/machine/template/cube_all/sided",
"textures": {
"all": "tfg:block/casings/machine_casing_egh_inactive",
"all": "tfg:block/casings/machine_casing_egh_active",
"overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active",
"overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 355 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 412 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 355 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 463 B

After

Width:  |  Height:  |  Size: 543 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 355 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 463 B

After

Width:  |  Height:  |  Size: 531 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 605 B

After

Width:  |  Height:  |  Size: 557 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 317 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

After

Width:  |  Height:  |  Size: 373 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 317 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 416 B

After

Width:  |  Height:  |  Size: 495 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 317 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 404 B

After

Width:  |  Height:  |  Size: 477 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 545 B

After

Width:  |  Height:  |  Size: 504 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 960 B

After

Width:  |  Height:  |  Size: 957 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 375 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 B

After

Width:  |  Height:  |  Size: 422 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 375 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 468 B

After

Width:  |  Height:  |  Size: 561 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 375 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 557 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 605 B

After

Width:  |  Height:  |  Size: 572 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 437 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 554 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 437 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 825 B

After

Width:  |  Height:  |  Size: 905 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 389 B

After

Width:  |  Height:  |  Size: 437 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 774 B

After

Width:  |  Height:  |  Size: 857 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 666 B

After

Width:  |  Height:  |  Size: 639 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 310 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

View file

@ -27,9 +27,8 @@ const registerTooltips = (event) => {
event.addAdvanced(['tfg:electric_greenhouse'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.machine.electric_greenhouse_1'));
text.add(2, Text.translate('tfg.tooltip.machine.electric_greenhouse_2'));
text.add(3, Text.translate('tfg.tooltip.machine.perfect_overclock'));
text.add(3, Text.translate('tfg.tooltip.machine.customize_greenhouse'));
text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches'));
text.add(5, Text.translate('tfg.tooltip.machine.customize_interior'));
})
event.addAdvanced(['tfg:growth_chamber'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.machine.growth_chamber_1'));
@ -116,6 +115,45 @@ const registerTooltips = (event) => {
text.add(3, Text.translate('tfg.tooltip.machine.coil_speed_discount'));
text.add(4, Text.translate('tfg.tooltip.machine.one_energy_hatch'));
})
event.addAdvanced(['tfg:hydroponics_facility'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.machine.hydroponics_facility_1'));
text.add(2, Text.translate('tfg.tooltip.machine.hydroponics_facility_2'));
text.add(3, Text.translate('tfg.tooltip.machine.parallel'));
text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches'));
})
event.addAdvanced(['tfg:pisciculture_fishery'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.machine.pisciculture_fishery_1'));
text.add(2, Text.translate('tfg.tooltip.machine.pisciculture_fishery_2'));
text.add(3, Text.translate('tfg.tooltip.machine.parallel'));
text.add(4, Text.translate('tfg.tooltip.machine.two_energy_hatches'));
})
event.addAdvanced(['tfg:grow_light'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.grow_light_disapointment'));
})
event.addAdvanced(['tfg:rotten_voiding_cover'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.rotten_voiding_cover'));
})
event.addAdvanced(['firmalife:climate_station'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block'));
})
event.addAdvanced(['firmalife:large_planter'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block'));
})
event.addAdvanced(['firmalife:quad_planter'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block'));
})
event.addAdvanced(['firmalife:hydroponic_planter'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block'));
})
event.addAdvanced(['firmalife:bonsai_planter'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block'));
})
event.addAdvanced(['firmalife:hanging_planter'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block'));
})
event.addAdvanced(['firmalife:trellis_planter'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.firmalife_greenhouse.oxygen_required.block'));
})
// Hot or not containers
event.addAdvanced(['#tfg:insulating_container'], (item, advanced, text) => {

View file

@ -450,13 +450,14 @@ const registerTFGGreenhouseRecipes = (event) => {
}).addMaterialInfo().id('tfg:shaped/egh_planter');
// Horticulture Casings
// TODO: Venus; swap the frame to calorite.
event.recipes.gtceu.assembler('tfg:casings/machine_casing_egh')
.itemInputs('gtceu:plascrete', '#forge:frames/calorite')
.itemInputs('gtceu:plascrete', '#forge:frames/ostrum')
.inputFluids(Fluid.of('tfg:chloroplasts', 100))
.itemOutputs('2x tfg:casings/machine_casing_egh')
.duration(8*20)
.circuit(6)
.EUt(GTValues.VA[GTValues.HV])
.EUt(GTValues.VA[GTValues.EV])
.addMaterialInfo(true);
//#endregion

View file

@ -25,10 +25,10 @@ const pisciculture_base_duration = Math.max(1, greenhouse_base_duration * greenh
/** @type {DimensionIndex[]} - Dimension settings array */
const pisciculture_dimension_index = [
// Overworld settings are also used as the default when no dimension is specified.
{id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true},
{id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true},
{id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 15, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true},
{id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 15, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true},
// The moon has no fish yet :(
{id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null}
{id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 15, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null}
];
//#endregion
@ -76,8 +76,8 @@ const pisciculture_dimension_index = [
let a = event.recipes.gtceu.pisciculture_fishery(`tfg:${id}`)
.itemInputs(input)
.perTick(true)
.chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0)
.chancedFluidOutput(`${resolvedFluidOut} 1`, resolvedChance, 0)
.chancedFluidInput(`${resolvedFluid} 5`, resolvedChance, 0)
.chancedFluidOutput(`${resolvedFluidOut} 5`, resolvedChance, 0)
.perTick(false)
.itemOutputs(output)
.duration(pisciculture_base_duration)
@ -205,7 +205,7 @@ const registerTFGPiscicultureRecipes = (event) => {
Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(),
'2x #tfg:advanced_fish_food'
], [
`15x ${fish.item}`,
`24x ${fish.item}`,
Item.of(`5x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT()
],
`${linuxUnfucker(fish.id)}/advanced_food/roe_to_roe`

View file

@ -25,6 +25,14 @@ global.GTCEU_DISABLED_ITEMS = /** @type {const} */ ([
"gtceu:lp_steam_solar_boiler",
"gtceu:charcoal_pile_igniter",
// Fishers
"gtceu:lv_fisher",
"gtceu:mv_fisher",
"gtceu:hv_fisher",
"gtceu:ev_fisher",
"gtceu:iv_fisher",
"gtceu:luv_fisher",
// Примитивная помпа (Primitive Pump)
"gtceu:infinite_water_cover",
"gtceu:ender_item_link_cover",