Merge branch 'main' into trims
Signed-off-by: Dmitry <52341158+Exzept1on@users.noreply.github.com>
This commit is contained in:
commit
29fe3d4e66
12 changed files with 269 additions and 32 deletions
10
.github/workflows/build.yml
vendored
10
.github/workflows/build.yml
vendored
|
|
@ -152,7 +152,7 @@ jobs:
|
|||
- name: 📈 Upload Diff
|
||||
id: upload_diff
|
||||
if: ${{ steps.read_diff.outputs.diff != '' }} && steps.check_pakku_lock_prev.outputs.file_found == 'true'
|
||||
uses: actions/upload-artifact@v4.5.0
|
||||
uses: actions/upload-artifact@v4.6.0
|
||||
with:
|
||||
name: Mods-diff
|
||||
path: PROJECTS_DIFF.md
|
||||
|
|
@ -212,7 +212,7 @@ jobs:
|
|||
mv *.zip $(basename -s .zip *.zip)-curseforge.zip
|
||||
|
||||
- name: 🚀 Upload artifact CurseForge
|
||||
uses: actions/upload-artifact@v4.5.0
|
||||
uses: actions/upload-artifact@v4.6.0
|
||||
with:
|
||||
name: ${{ needs.info.outputs.project_full_name }}-curseforge
|
||||
path: ./build/curseforge/${{ needs.info.outputs.project_full_name }}-curseforge.zip
|
||||
|
|
@ -224,7 +224,7 @@ jobs:
|
|||
mv *.mrpack $(basename -s .mrpack *.mrpack)-modrinth.mrpack
|
||||
|
||||
- name: 🚀 Upload artifact modrinth
|
||||
uses: actions/upload-artifact@v4.5.0
|
||||
uses: actions/upload-artifact@v4.6.0
|
||||
with:
|
||||
name: ${{ needs.info.outputs.project_full_name }}-modrinth
|
||||
path: ./build/modrinth/${{ needs.info.outputs.project_full_name }}-modrinth.mrpack
|
||||
|
|
@ -267,7 +267,7 @@ jobs:
|
|||
mv *.zip $(basename -s .zip *.zip)-serverpack.zip
|
||||
|
||||
- name: 🚀 Upload artifact server
|
||||
uses: actions/upload-artifact@v4.5.0
|
||||
uses: actions/upload-artifact@v4.6.0
|
||||
with:
|
||||
name: ${{ needs.info.outputs.project_full_name }}-serverpack
|
||||
path: ./build/serverpack/${{ needs.info.outputs.project_full_name }}-serverpack.zip
|
||||
|
|
@ -317,7 +317,7 @@ jobs:
|
|||
zip -r ${{ needs.info.outputs.project_full_name }}-multimc.zip icon.png mmc-pack.json instance.cfg .minecraft/ flame/
|
||||
|
||||
- name: 🚀 Upload zip multimc
|
||||
uses: actions/upload-artifact@v4.5.0
|
||||
uses: actions/upload-artifact@v4.6.0
|
||||
with:
|
||||
name: ${{ needs.info.outputs.project_full_name }}-multimc
|
||||
path: .pakku/multimc-overrides/${{ needs.info.outputs.project_full_name }}-multimc.zip
|
||||
|
|
|
|||
6
defaultconfigs/firmalife-server.toml
Normal file
6
defaultconfigs/firmalife-server.toml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
[general]
|
||||
#If true, the tumbler and the pumping station work magically with a redstone signal and no power required.
|
||||
mechanicalPowerCheatMode = true
|
||||
#If true, sprinkler will not accept firmalife pipes and will instead require something that exposes a fluid capability, eg. a barrel.
|
||||
usePipesForSprinklers = false
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
"__comment__": "This file was automatically created by mcresources",
|
||||
"name": "Irrigation",
|
||||
"category": "tfc:firmalife",
|
||||
"icon": "firmalife:sprinkler",
|
||||
"pages": [
|
||||
{
|
||||
"type": "patchouli:text",
|
||||
"text": "The $(thing)Sprinkler$() is a device that sprinkles water in a 5x6x5 area centered on the block below the sprinkler block. You know it is working when it drips out water particles. Sprinklers placed facing up irrigate the same 5x6x5 area above."
|
||||
},
|
||||
{
|
||||
"type": "tfc:anvil_recipe",
|
||||
"recipe": "firmalife:anvil/sprinkler",
|
||||
"text": "The sprinkler is made with a $(thing)Copper Plate$()."
|
||||
},
|
||||
{
|
||||
"type": "patchouli:text",
|
||||
"text": "Sprinklers must be connected to a system of pipes that feed it water in order to work. This is done by connecting a series of $(thing)Copper Pipes$() to them. Copper Pipes transport water up to 32 blocks to a sprinkler. They are connected to $(thing)Pumping Stations$()."
|
||||
},
|
||||
{
|
||||
"type": "tfc:anvil_recipe",
|
||||
"recipe": "firmalife:anvil/copper_pipe",
|
||||
"text": "The copper pipe is made with a plate."
|
||||
},
|
||||
{
|
||||
"type": "patchouli:multiblock",
|
||||
"multiblock": {
|
||||
"pattern": [
|
||||
[
|
||||
"X"
|
||||
],
|
||||
[
|
||||
"0"
|
||||
]
|
||||
],
|
||||
"mapping": {
|
||||
"X": "firmalife:pumping_station"
|
||||
}
|
||||
},
|
||||
"name": "",
|
||||
"text": "",
|
||||
"enable_visualize": false
|
||||
},
|
||||
{
|
||||
"type": "patchouli:crafting",
|
||||
"recipe": "tfg:shaped/pumping_station",
|
||||
"text": "Pumping stations must be above a source block of water in order to work. Activate them with a redstone signal."
|
||||
},
|
||||
{
|
||||
"type": "patchouli:crafting",
|
||||
"recipe": "firmalife:crafting/oxidized_copper_pipe",
|
||||
"text": "Oxidized pipes are the same as regular copper pipes, except they do not connect to the other kind of pipe."
|
||||
},
|
||||
{
|
||||
"type": "patchouli:crafting",
|
||||
"recipe": "firmalife:crafting/greenhouse/iron_greenhouse_port",
|
||||
"text": "Greenhouse ports have a single pipe inside of them. They can be used to pass water through the walls of greenhouses!"
|
||||
}
|
||||
],
|
||||
"read_by_default": true,
|
||||
"sortnum": 8
|
||||
}
|
||||
|
|
@ -1217,4 +1217,96 @@ const registerCreateRecipes = (event) => {
|
|||
.EUt(20)
|
||||
|
||||
//#endregion
|
||||
|
||||
// #region So-called "Shit Glass"
|
||||
|
||||
event.shaped('4x create:framed_glass',
|
||||
[
|
||||
'AA',
|
||||
'AA'
|
||||
], {
|
||||
A: 'minecraft:glass'
|
||||
}).id('tfg:create/framed_glass')
|
||||
|
||||
event.shaped('4x create:tiled_glass',
|
||||
[
|
||||
'A A',
|
||||
' ',
|
||||
'A A'
|
||||
], {
|
||||
A: 'minecraft:glass'
|
||||
}).id('tfg:create/tiled_glass')
|
||||
|
||||
event.shaped('4x create:horizontal_framed_glass',
|
||||
[
|
||||
'AA',
|
||||
' ',
|
||||
'AA'
|
||||
], {
|
||||
A: 'minecraft:glass'
|
||||
}).id('tfg:create/horizontal_framed_glass')
|
||||
|
||||
event.shaped('4x create:vertical_framed_glass',
|
||||
[
|
||||
'A A',
|
||||
'A A'
|
||||
], {
|
||||
A: 'minecraft:glass'
|
||||
}).id('tfg:create/vertical_framed_glass')
|
||||
|
||||
const CREATE_FRAMED_GLASS_WINDOWS =
|
||||
[
|
||||
'framed_glass',
|
||||
'tiled_glass',
|
||||
'horizontal_framed_glass',
|
||||
'vertical_framed_glass'
|
||||
]
|
||||
|
||||
CREATE_FRAMED_GLASS_WINDOWS.forEach(x => {
|
||||
event.shapeless(`2x create:${x}_pane`,
|
||||
[
|
||||
`create:${x}`,
|
||||
'#forge:tools/saws'
|
||||
])
|
||||
.id(`tfg:create/shapeless/${x}_pane`)
|
||||
|
||||
event.recipes.gtceu.cutter(`tfg:create/${x}_pane`)
|
||||
.itemInputs(`3x create:${x}`)
|
||||
.itemOutputs(`8x create:${x}_pane`)
|
||||
.duration(40)
|
||||
.EUt(20)
|
||||
})
|
||||
|
||||
const CREATE_OTHER_GLASS_WINDOWS =
|
||||
[
|
||||
[ 'dark_oak', 'tfc:wood/lumber/hickory' ],
|
||||
[ 'mangrove', 'tfc:wood/lumber/mangrove' ],
|
||||
[ 'ornate_iron', 'gtceu:wrought_iron_rod' ]
|
||||
]
|
||||
|
||||
CREATE_OTHER_GLASS_WINDOWS.forEach(x => {
|
||||
event.shaped(`2x create:${x[0]}_window`,
|
||||
[
|
||||
' B ',
|
||||
'BAB'
|
||||
], {
|
||||
A: 'minecraft:glass',
|
||||
B: x[1]
|
||||
}).id(`tfg:create/shaped/${x[0]}_window`)
|
||||
|
||||
event.shapeless(`2x create:${x[0]}_window_pane`,
|
||||
[
|
||||
`create:${x[0]}_window`,
|
||||
'#forge:tools/saws'
|
||||
])
|
||||
.id(`tfg:create/shapeless/${x[0]}_window_pane`)
|
||||
|
||||
event.recipes.gtceu.cutter(`tfg:create/${x[0]}_window_pane`)
|
||||
.itemInputs(`3x create:${x[0]}_window`)
|
||||
.itemOutputs(`8x create:${x[0]}_window_pane`)
|
||||
.duration(40)
|
||||
.EUt(20)
|
||||
})
|
||||
|
||||
// #endregion
|
||||
}
|
||||
|
|
|
|||
22
kubejs/server_scripts/every_compat/recipes.js
Normal file
22
kubejs/server_scripts/every_compat/recipes.js
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
// priority: 0
|
||||
|
||||
const registerEveryCompatRecipes = (event) => {
|
||||
|
||||
global.TFC_WOOD_TYPES.forEach(wood =>
|
||||
{
|
||||
event.remove({ id: `everycomp:c/tfc/${wood}_window_pane` })
|
||||
|
||||
event.shapeless(`2x everycomp:c/tfc/${wood}_window_pane`,
|
||||
[
|
||||
`everycomp:c/tfc/${wood}_window`,
|
||||
'#forge:tools/saws'
|
||||
])
|
||||
.id(`tfg:everycompat/shapeless/${wood}_window_pane`)
|
||||
|
||||
event.recipes.gtceu.cutter(`tfg:everycompat/shapeless/${wood}_window_pane`)
|
||||
.itemInputs(`3x everycomp:c/tfc/${wood}_window`)
|
||||
.itemOutputs(`8x everycomp:c/tfc/${wood}_window_pane`)
|
||||
.duration(40)
|
||||
.EUt(20)
|
||||
})
|
||||
}
|
||||
9
kubejs/server_scripts/every_compat/tags.js
Normal file
9
kubejs/server_scripts/every_compat/tags.js
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// priority: 0
|
||||
|
||||
const registerEveryCompatItemTags = (event) => {
|
||||
|
||||
event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window')
|
||||
event.removeAllTagsFrom('everycomp:c/gtceu/rubber_window_pane')
|
||||
event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window')
|
||||
event.add('c:hidden_from_recipe_viewers', 'everycomp:c/gtceu/rubber_window_pane')
|
||||
}
|
||||
|
|
@ -134,6 +134,56 @@ const registerFirmaLifeRecipes = (event) => {
|
|||
//#region Рецепты теплиц
|
||||
|
||||
//#region Медная
|
||||
|
||||
event.shaped('firmalife:pumping_station',
|
||||
[
|
||||
' B ',
|
||||
'ACA',
|
||||
' D '
|
||||
], {
|
||||
A: 'firmalife:copper_pipe',
|
||||
B: 'gtceu:bronze_plate',
|
||||
C: '#tfc:barrels',
|
||||
D: 'create:mechanical_pump'
|
||||
}).id('tfg:shaped/pumping_station')
|
||||
|
||||
event.shaped('firmalife:pumping_station',
|
||||
[
|
||||
' B ',
|
||||
'ACA',
|
||||
' D '
|
||||
], {
|
||||
A: 'firmalife:copper_pipe',
|
||||
B: 'gtceu:black_bronze_plate',
|
||||
C: '#tfc:barrels',
|
||||
D: 'create:mechanical_pump'
|
||||
}).id('tfg:shaped/pumping_station2')
|
||||
|
||||
event.shaped('firmalife:pumping_station',
|
||||
[
|
||||
' B ',
|
||||
'ACA',
|
||||
' D '
|
||||
], {
|
||||
A: 'firmalife:copper_pipe',
|
||||
B: 'gtceu:bismuth_bronze_plate',
|
||||
C: '#tfc:barrels',
|
||||
D: 'create:mechanical_pump'
|
||||
}).id('tfg:shaped/pumping_station3')
|
||||
|
||||
event.recipes.gtceu.bender('tfg:firmalife/copper_pipe')
|
||||
.itemInputs('gtceu:copper_plate')
|
||||
.itemOutputs('8x firmalife:copper_pipe')
|
||||
.circuit(3)
|
||||
.duration(40)
|
||||
.EUt(8)
|
||||
|
||||
event.recipes.gtceu.bender('tfg:firmalife/sprinkler')
|
||||
.itemInputs('gtceu:copper_plate')
|
||||
.itemOutputs('firmalife:sprinkler')
|
||||
.circuit(4)
|
||||
.duration(60)
|
||||
.EUt(8)
|
||||
|
||||
// Стена
|
||||
event.shaped('8x firmalife:copper_greenhouse_wall', [
|
||||
|
|
@ -204,7 +254,7 @@ const registerFirmaLifeRecipes = (event) => {
|
|||
}).id('firmalife:crafting/greenhouse/copper_greenhouse_door')
|
||||
|
||||
// Порт
|
||||
event.shaped('8x firmalife:copper_greenhouse_port', [
|
||||
event.shaped('firmalife:copper_greenhouse_port', [
|
||||
'AA',
|
||||
'BC',
|
||||
'AA'
|
||||
|
|
@ -287,7 +337,7 @@ const registerFirmaLifeRecipes = (event) => {
|
|||
}).id('firmalife:crafting/greenhouse/iron_greenhouse_door')
|
||||
|
||||
// Порт
|
||||
event.shaped('8x firmalife:iron_greenhouse_port', [
|
||||
event.shaped('firmalife:iron_greenhouse_port', [
|
||||
'AA',
|
||||
'BC',
|
||||
'AA'
|
||||
|
|
@ -367,6 +417,7 @@ const registerFirmaLifeRecipes = (event) => {
|
|||
.itemOutputs(element.output)
|
||||
.duration(300)
|
||||
.EUt(16)
|
||||
.circuit(2)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
|
@ -411,6 +462,7 @@ const registerFirmaLifeRecipes = (event) => {
|
|||
.itemOutputs('firmalife:food/pumpkin_pie_dough')
|
||||
.duration(300)
|
||||
.EUt(16)
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.create.mixing('firmalife:food/pumpkin_pie_dough', ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)]
|
||||
).id('firmalife:create/mixer/food/pumpkin_pie_dough')
|
||||
|
|
@ -433,6 +485,7 @@ const registerFirmaLifeRecipes = (event) => {
|
|||
.itemOutputs('firmalife:food/pie_dough')
|
||||
.duration(300)
|
||||
.EUt(16)
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.create.mixing('firmalife:food/pie_dough', ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)])
|
||||
.id('firmalife:create/mixer/food/pie_dough')
|
||||
|
|
@ -454,6 +507,7 @@ const registerFirmaLifeRecipes = (event) => {
|
|||
.itemOutputs('4x firmalife:food/hardtack_dough')
|
||||
.duration(300)
|
||||
.EUt(16)
|
||||
.circuit(2)
|
||||
|
||||
event.recipes.create.mixing('4x firmalife:food/hardtack_dough', ['tfc:powder/salt', '#tfc:foods/flour', Fluid.of('minecraft:water', 1000)])
|
||||
.id('firmalife:create/mixer/food/hardtack_dough')
|
||||
|
|
@ -465,6 +519,7 @@ const registerFirmaLifeRecipes = (event) => {
|
|||
.outputFluids('firmalife:yeast_starter', 600)
|
||||
.duration(1200)
|
||||
.EUt(8)
|
||||
.circuit(1)
|
||||
|
||||
event.recipes.create.mixing(Fluid.of('firmalife:yeast_starter', 600), ['#tfc:foods/flour', Fluid.of('firmalife:yeast_starter', 100)])
|
||||
.id('firmalife:create/mixer/yeast_starter')
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ ServerEvents.tags('item', event => {
|
|||
registerComputerCraftItemTags(event)
|
||||
registerCreateItemTags(event)
|
||||
registerCreateAdditionsItemTags(event)
|
||||
registerEveryCompatItemTags(event)
|
||||
registerExtendedAE2ItemTags(event)
|
||||
registerFirmaCivItemTags(event)
|
||||
registerFirmaLifeItemTags(event)
|
||||
|
|
@ -119,6 +120,7 @@ ServerEvents.recipes(event => {
|
|||
registerCreateRecipes(event)
|
||||
registerCreateAdditionsRecipes(event)
|
||||
registerCreateConnectedRecipes(event)
|
||||
registerEveryCompatRecipes(event)
|
||||
registerExtendedAE2Recipes(event)
|
||||
registerExposureRecipes(event)
|
||||
registerEtchedRecipes(event)
|
||||
|
|
|
|||
|
|
@ -2206,9 +2206,8 @@ const registerMinecraftRecipes = (event) => {
|
|||
|
||||
//#region Выход: Тонированное стекло
|
||||
|
||||
event.recipes.gtceu.chemical_bath('tfg:minecraft/tinted_glass')
|
||||
.itemInputs('minecraft:glass')
|
||||
.inputFluids(Fluid.of('gtceu:black_dye', 144))
|
||||
event.recipes.gtceu.alloy_smelter('tfg:minecraft/tinted_glass')
|
||||
.itemInputs('minecraft:glass', 'tfc:powder/amethyst')
|
||||
.itemOutputs('minecraft:tinted_glass')
|
||||
.duration(260)
|
||||
.EUt(16)
|
||||
|
|
@ -3227,4 +3226,8 @@ const registerMinecraftRecipes = (event) => {
|
|||
.EUt(32)
|
||||
|
||||
//#endregion
|
||||
|
||||
// Nether Brick
|
||||
|
||||
event.smelting('minecraft:nether_brick', 'minecraft:netherrack')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3001,6 +3001,7 @@ const registerTFCRecipes = (event) => {
|
|||
.itemOutputs(element.output)
|
||||
.duration(300)
|
||||
.EUt(16)
|
||||
.circuit(3)
|
||||
})
|
||||
|
||||
//#endregion
|
||||
|
|
|
|||
|
|
@ -322,33 +322,20 @@ global.CREATE_DISABLED_ITEMS = [
|
|||
'create:granite_pillar',
|
||||
|
||||
// Shit Glass
|
||||
'create:tiled_glass',
|
||||
'create:framed_glass',
|
||||
'create:horizontal_framed_glass',
|
||||
'create:vertical_framed_glass',
|
||||
'create:tiled_glass_pane',
|
||||
'create:horizontal_framed_glass_pane',
|
||||
'create:vertical_framed_glass_pane',
|
||||
'create:crimson_window',
|
||||
'create:warped_window',
|
||||
'create:oak_window',
|
||||
'create:spruce_window',
|
||||
'create:birch_window',
|
||||
'create:jungle_window',
|
||||
'create:acacia_window',
|
||||
'create:dark_oak_window',
|
||||
'create:mangrove_window',
|
||||
'create:crimson_window',
|
||||
'create:warped_window',
|
||||
'create:ornate_iron_window',
|
||||
'create:oak_window_pane',
|
||||
'create:spruce_window_pane',
|
||||
'create:birch_window_pane',
|
||||
'create:jungle_window_pane',
|
||||
'create:acacia_window_pane',
|
||||
'create:dark_oak_window_pane',
|
||||
'create:mangrove_window_pane',
|
||||
'create:crimson_window_pane',
|
||||
'create:crimson_window_pane',
|
||||
'create:warped_window_pane',
|
||||
'create:ornate_iron_window_pane',
|
||||
|
||||
// Blocks
|
||||
'create:zinc_block',
|
||||
|
|
@ -468,6 +455,5 @@ global.CREATE_DISABLED_ITEMS = [
|
|||
'create:empty_blaze_burner',
|
||||
'create:minecart_contraption',
|
||||
'create:furnace_minecart_contraption',
|
||||
'create:chest_minecart_contraption',
|
||||
'create:framed_glass_pane'
|
||||
];
|
||||
'create:chest_minecart_contraption'
|
||||
];
|
||||
|
|
|
|||
|
|
@ -33,8 +33,7 @@ global.FIRMALIFE_DISABLED_ITEMS = [
|
|||
'firmalife:metal/block/stainless_steel_slab',
|
||||
|
||||
// Other
|
||||
'firmalife:compost_tumbler',
|
||||
'firmalife:pumping_station'
|
||||
'firmalife:compost_tumbler'
|
||||
];
|
||||
|
||||
global.FIRMALIFE_HIDED_ITEMS = [
|
||||
|
|
@ -130,4 +129,4 @@ global.FIRMALIFE_FURNACE_FLATBREAD_RECIPE_COMPONENTS = [
|
|||
{ input: 'tfc:food/rice_dough', output: 'firmalife:food/rice_flatbread', name: 'rice_flatbread' },
|
||||
{ input: 'tfc:food/wheat_dough', output: 'firmalife:food/wheat_flatbread', name: 'wheat_flatbread' },
|
||||
{ input: 'firmalife:food/masa', output: 'firmalife:food/corn_tortilla', name: 'corn_tortilla' },
|
||||
];
|
||||
];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue