custom gregtech machines and logic to handle TFC recipes (#1160)

* Change lv chem reactor quest to require any container with rubber instead of a rubber bucket

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>

* Add placeholder assets for food machines (copied from gtceu)

* remove greenhouse definition from kubejs

* change greenhouse recipe

* Rework recipes file

---------

Signed-off-by: ofoxsmith <77560533+ofoxsmith@users.noreply.github.com>
Signed-off-by: Pyritie <pyritie@gmail.com>
Co-authored-by: Pyritie <pyritie@gmail.com>
This commit is contained in:
ofoxsmith 2025-06-12 22:32:10 +10:00 committed by GitHub
parent c83dae8b7d
commit f822289573
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 489 additions and 531 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 B

View file

@ -0,0 +1,5 @@
{
"animation":{
"frametime":1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B

View file

@ -0,0 +1,5 @@
{
"animation":{
"frametime": 2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B

View file

@ -0,0 +1,5 @@
{
"animation":{
"frametime": 2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 B

View file

@ -0,0 +1,5 @@
{
"animation":{
"frametime": 2
}
}

View file

@ -745,7 +745,7 @@ function registerGTCEuMachineRecipes(event) {
// #endregion
// Контроллер теплицы
event.shaped('gtceu:greenhouse', [
event.shaped('tfg:electric_greenhouse', [
'ABA',
'CDC',
'BCB'

File diff suppressed because it is too large Load diff

View file

@ -14,4 +14,5 @@ const registerTFGRecipes = (event) => {
registerTFGSupportRecipes(event)
registerTFGFishingNetsRecipes(event)
registerTFGConvertingRecipes(event)
registerTFGFoodRecipes(event)
}

View file

@ -1,7 +1,5 @@
// priority: 0
//#region Greenhouse
const registerGTCEuMachines = (event) => {
GTMachineUtils.registerCrate(GTMaterials.BismuthBronze, 54, "Bismuth Bronze Crate");
@ -12,66 +10,6 @@ const registerGTCEuMachines = (event) => {
const $SteamMulti = Java.loadClass('com.gregtechceu.gtceu.common.machine.multiblock.steam.SteamParallelMultiblockMachine');
const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags")
event.create('greenhouse', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.recipeType('greenhouse')
.recipeModifiers([GTRecipeModifiers.OC_PERFECT])
.appearanceBlock(GTBlocks.CASING_STEEL_SOLID)
.pattern(definition => FactoryBlockPattern.start()
.aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ")
.aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ")
.aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ")
.aisle("CDDDDDC", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "F#####F", "FFFFFFF")
.aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ")
.aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ")
.aisle("CCCYCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ")
.where('X', Predicates.blocks('ae2:quartz_glass'))
.where('F', Predicates.frames('steel'))
.where('D', Predicates.blocks('tfc:grass/silt')
.or(Predicates.blocks('tfc:dirt/loam'))
.or(Predicates.blocks('tfc:dirt/sandy_loam'))
.or(Predicates.blocks('tfc:dirt/silty_loam'))
.or(Predicates.blocks('tfc:grass/silt'))
.or(Predicates.blocks('tfc:grass/loam'))
.or(Predicates.blocks('tfc:grass/sandy_loam'))
.or(Predicates.blocks('tfc:grass/silty_loam')))
.where('C', Predicates.blocks('gtceu:steel_machine_casing').or(Predicates.autoAbilities(definition.getRecipeTypes())))
.where('#', Predicates.air()
.or(Predicates.blockTag($Tags.block("minecraft:logs")))
.or(Predicates.blockTag($Tags.block("minecraft:leaves"))))
.where(' ', Predicates.any())
.where('Y', Predicates.controller(Predicates.blocks(definition.get())))
.build()
)
.shapeInfo(controller => MultiblockShapeInfo.builder()
.aisle("CCCCCCC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ")
.aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ")
.aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X##L##X", "X#LLL#X", "X##L##X", "X#####X", " XXFXX ")
.aisle("CDDDDDC", "F##W##F", "F##W##F", "F##W##F", "F#LWL#F", "F#LWL#F", "F#LLL#F", "F#####F", "FFFFFFF")
.aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X##L##X", "X#LLL#X", "X##L##X", "X#####X", " XXFXX ")
.aisle("CDDDDDC", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", "X#####X", " XXFXX ")
.aisle("CitYfeC", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", "XXXFXXX", " F ")
.where('Y', controller, Direction.SOUTH)
.where('C', GTBlocks.STEEL_HULL.get())
.where('D', Block.getBlock('tfc:grass/silt'))
.where('F', Block.getBlock('gtceu:steel_frame'))
.where('X', Block.getBlock('ae2:quartz_glass'))
.where('W', Block.getBlock('tfc:wood/log/oak'))
.where('L', Block.getBlock('tfc:wood/leaves/oak'))
.where(' ', Block.getBlock('minecraft:air'))
.where('i', GTMachines.ITEM_IMPORT_BUS[GTValues.ULV], Direction.SOUTH)
.where('t', GTMachines.ITEM_EXPORT_BUS[GTValues.ULV], Direction.SOUTH)
.where('f', GTMachines.FLUID_IMPORT_HATCH[GTValues.ULV], Direction.SOUTH)
.where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.LV], Direction.SOUTH)
.build()
)
.workableCasingRenderer(
'gtceu:block/casings/solid/machine_casing_solid_steel',
'gtceu:block/multiblock/implosion_compressor', false
)
//#endregion
//#region Nether Dome
event.create('nether_dome', 'multiblock')

View file

@ -1,13 +1,6 @@
// priority: 0
const registerGTCEuRecipeTypes = (event) => {
event.create('greenhouse')
.category('greenhouse')
.setEUIO('in')
.setMaxIOSize(3, 4, 1, 0)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.BATH)
event.create('nether_dome')
.category('nether_dome')
.setEUIO('in')

View file

@ -852,7 +852,7 @@ global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = [
{ input: 'tfc:volcanic_glass_batch', output: 'tfc:volcanic_glass_bottle', name: 'volcanic_glass_bottle' },
];
global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS = [
global.TFC_MEAT_RECIPE_COMPONENTS = [
{ input: 'tfc:food/horse_meat', output: 'tfc:food/cooked_horse_meat', name: 'cooked_horse_meat' },
{ input: 'tfc:food/bear', output: 'tfc:food/cooked_bear', name: 'cooked_bear' },
{ input: 'tfc:food/mutton', output: 'tfc:food/cooked_mutton', name: 'cooked_mutton' },