From e051ffeeb352c14776dc34c481ed7ffcbb1511cf Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 24 Jul 2025 12:03:09 +0100 Subject: [PATCH 01/50] mars loot tables --- .../gtceu/loot_tables/blocks/red_granite.json | 44 +++++++++++++++++++ .../blocks/grass/amber_mycelium.json | 20 +++++++++ .../loot_tables/blocks/grass/mars_dirt.json | 20 +++++++++ .../blocks/grass/rusticus_mycelium.json | 20 +++++++++ .../blocks/grass/sangnum_mycelium.json | 20 +++++++++ .../blocks/rock/hardened_red_granite.json | 30 +++++++++++++ 6 files changed, 154 insertions(+) create mode 100644 kubejs/data/gtceu/loot_tables/blocks/red_granite.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/grass/amber_mycelium.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/grass/mars_dirt.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/grass/rusticus_mycelium.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/grass/sangnum_mycelium.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json diff --git a/kubejs/data/gtceu/loot_tables/blocks/red_granite.json b/kubejs/data/gtceu/loot_tables/blocks/red_granite.json new file mode 100644 index 000000000..a5a4686e4 --- /dev/null +++ b/kubejs/data/gtceu/loot_tables/blocks/red_granite.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:alternatives", + "children": [ + { + "type": "minecraft:item", + "name": "gtceu:red_granite", + "conditions": [ + { + "condition": "tfc:is_isolated" + } + ] + }, + { + "type": "minecraft:item", + "name": "tfg:loose/red_granite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/grass/amber_mycelium.json b/kubejs/data/tfg/loot_tables/blocks/grass/amber_mycelium.json new file mode 100644 index 000000000..01040dcf2 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/grass/amber_mycelium.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:grass/mars_dirt" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/grass/mars_dirt.json b/kubejs/data/tfg/loot_tables/blocks/grass/mars_dirt.json new file mode 100644 index 000000000..01040dcf2 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/grass/mars_dirt.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:grass/mars_dirt" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/grass/rusticus_mycelium.json b/kubejs/data/tfg/loot_tables/blocks/grass/rusticus_mycelium.json new file mode 100644 index 000000000..01040dcf2 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/grass/rusticus_mycelium.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:grass/mars_dirt" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/grass/sangnum_mycelium.json b/kubejs/data/tfg/loot_tables/blocks/grass/sangnum_mycelium.json new file mode 100644 index 000000000..01040dcf2 --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/grass/sangnum_mycelium.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:grass/mars_dirt" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json new file mode 100644 index 000000000..c8819199b --- /dev/null +++ b/kubejs/data/tfg/loot_tables/blocks/rock/hardened_red_granite.json @@ -0,0 +1,30 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "name": "loot_pool", + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "tfg:loose/red_granite", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "min": 1, + "max": 4, + "type": "minecraft:uniform" + } + } + ] + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file From 2c28c1cfeb5768162a269ed40a96e19c788b4b99 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 24 Jul 2025 12:05:24 +0100 Subject: [PATCH 02/50] mars biomes constant --- kubejs/startup_scripts/tfg/constants.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 97e70a2bf..abfc5e567 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -68,8 +68,18 @@ global.MOON_BIOMES = [ ] global.MARS_BIOMES = [ - 'tfg:mars/martian_plains', + 'tfg:mars/martian_oasis', + 'tfg:mars/martian_deep_desert', + 'tfg:mars/martian_dunes', + 'tfg:mars/martian_dune_edge', + 'tfg:mars/martian_river', 'tfg:mars/martian_riverbed', + 'tfg:mars/amber_plains', + 'tfg:mars/amber_hills', + 'tfg:mars/rusticus_plains', + 'tfg:mars/rusticus_hills', + 'tfg:mars/sangnum_plains', + 'tfg:mars/sangnum_hills', 'tfg:mars/martian_mountains' ] From d19d8d2452764773f913f366488d2a35417d3eb4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 24 Jul 2025 23:20:08 +0100 Subject: [PATCH 03/50] update default options, good lord that's annoying without it --- pakku-lock.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 87cbf1a42..512ad1ec9 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -4425,7 +4425,7 @@ "files": [ { "type": "modrinth", - "file_name": "defaultoptions-forge-1.20.1-18.0.2.jar", + "file_name": "defaultoptions-forge-1.20.1-18.0.3.jar", "mc_versions": [ "1.20", "1.20.1" @@ -4434,22 +4434,22 @@ "forge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/WEg59z5b/versions/qCfqBSp6/defaultoptions-forge-1.20.1-18.0.2.jar", - "id": "qCfqBSp6", + "url": "https://cdn.modrinth.com/data/WEg59z5b/versions/vNF6Yrv4/defaultoptions-forge-1.20.1-18.0.3.jar", + "id": "vNF6Yrv4", "parent_id": "WEg59z5b", "hashes": { - "sha512": "fa1dce631b50ef18b8c2ec5ac942dbb1c3b775a85a6bed045d1e26aea4d5aa8c13877ddc4aed059aa829684932e986fd4450b2215273225b6b278af6d5a80fe2", - "sha1": "30fb48d3884b33175644235bfe6f6d29c4248d19" + "sha512": "d3c13262743fb06d481a4755da9daa78350cf1e3ffe88b7f8ff86ad6c5c7bd729483e5890e4f6e2969dacf08649765277598251d4d5dff20f68a5690f352c750", + "sha1": "bbc80fc1a7f0e17b64fca56fcf7d55562db9783d" }, "required_dependencies": [ "MBAkmtvl" ], - "size": 93386, - "date_published": "2025-07-22T15:03:48.450032Z" + "size": 94649, + "date_published": "2025-07-23T21:48:31.220228Z" }, { "type": "curseforge", - "file_name": "defaultoptions-forge-1.20.1-18.0.2.jar", + "file_name": "defaultoptions-forge-1.20.1-18.0.3.jar", "mc_versions": [ "1.20.1", "1.20" @@ -4458,18 +4458,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6799/217/defaultoptions-forge-1.20.1-18.0.2.jar", - "id": "6799217", + "url": "https://edge.forgecdn.net/files/6804/680/defaultoptions-forge-1.20.1-18.0.3.jar", + "id": "6804680", "parent_id": "232131", "hashes": { - "sha1": "2dcb222998a3194d14aab49112824b3f514d42bd", - "md5": "bf35ff9db893d713d9b7d8c8291333e5" + "sha1": "a7bffd6bd5cff19793cede8c1b8bb0450eb25059", + "md5": "10d4a6afe004f72a965d0263583576db" }, "required_dependencies": [ "531761" ], - "size": 93387, - "date_published": "2025-07-22T15:03:48.190Z" + "size": 94649, + "date_published": "2025-07-23T21:49:30.653Z" } ] }, From f860056940de5b847585fd9cdab7597f9b39b77f Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 01:31:25 +0100 Subject: [PATCH 04/50] Mars grass and water (#1437) * mars grass and water and all that fun stuff * removing the heavy water --- .../tfg/blockstates/grass/amber_mycelium.json | 256 + .../tfg/blockstates/grass/mars_dirt.json | 21 + .../blockstates/grass/rusticus_mycelium.json | 283 + .../blockstates/grass/sangnum_mycelium.json | 221 + .../semiheavy_ammoniacal_water.json | 7 + kubejs/assets/tfg/lang/en_us.json | 15 +- .../block/grass/amber_mycelium_side_1.json | 8 + .../block/grass/amber_mycelium_side_2.json | 8 + .../block/grass/amber_mycelium_side_3.json | 8 + .../block/grass/amber_mycelium_top.json | 27 + .../tfg/models/block/grass/mars_dirt.json | 6 + .../block/grass/mars_dirt_snowy_side.json | 6 + .../block/grass/rusticus_mycelium_side_1.json | 8 + .../block/grass/rusticus_mycelium_side_2.json | 8 + .../block/grass/rusticus_mycelium_top_1.json | 7 + .../block/grass/rusticus_mycelium_top_2.json | 7 + .../block/grass/sangnum_mycelium_side.json | 8 + .../block/grass/sangnum_mycelium_top.json | 7 + .../block/semiheavy_ammoniacal_water.json | 5 + .../tfg/models/item/grass/amber_mycelium.json | 36 + .../tfg/models/item/grass/mars_dirt.json | 3 + .../models/item/grass/rusticus_mycelium.json | 36 + .../models/item/grass/sangnum_mycelium.json | 36 + .../tfg/textures/block/grass/amber_side_1.png | Bin 0 -> 678 bytes .../tfg/textures/block/grass/amber_side_2.png | Bin 0 -> 676 bytes .../tfg/textures/block/grass/amber_side_3.png | Bin 0 -> 660 bytes .../tfg/textures/block/grass/amber_top.png | Bin 0 -> 450 bytes .../tfg/textures/block/grass/mars_dirt.png | Bin 0 -> 4790 bytes .../textures/block/grass/rusticus_side_1.png | Bin 0 -> 652 bytes .../textures/block/grass/rusticus_side_2.png | Bin 0 -> 621 bytes .../textures/block/grass/rusticus_top_1.png | Bin 0 -> 194 bytes .../textures/block/grass/rusticus_top_2.png | Bin 0 -> 197 bytes .../tfg/textures/block/grass/sangnum_side.png | Bin 0 -> 728 bytes .../tfg/textures/block/grass/sangnum_top.png | Bin 0 -> 540 bytes kubejs/data/ad_astra/dimension/mars.json | 20456 ++++++++-------- .../{martian_hills.json => amber_hills.json} | 0 ...martian_forests.json => amber_plains.json} | 0 .../worldgen/biome/mars/martian_river.json | 74 + .../worldgen/biome/mars/rusticus_hills.json | 75 + ...rtian_plains.json => rusticus_plains.json} | 0 .../worldgen/biome/mars/sangnum_hills.json | 75 + .../worldgen/biome/mars/sangnum_plains.json | 78 + .../mars/semiheavy_ammoniacal_water.json | 8 + .../density_function/mars/offset.json | 2 +- .../worldgen/noise_settings/mars_noise.json | 1360 +- .../mars/semiheavy_ammoniacal_water.json | 24 + kubejs/server_scripts/ad_astra/tags.js | 5 +- kubejs/server_scripts/tfg/recipes.collapse.js | 5 + kubejs/server_scripts/tfg/tags.js | 25 +- kubejs/startup_scripts/tfg/blocks.js | 350 +- kubejs/startup_scripts/tfg/fluids.js | 5 - 51 files changed, 12766 insertions(+), 10803 deletions(-) create mode 100644 kubejs/assets/tfg/blockstates/grass/amber_mycelium.json create mode 100644 kubejs/assets/tfg/blockstates/grass/mars_dirt.json create mode 100644 kubejs/assets/tfg/blockstates/grass/rusticus_mycelium.json create mode 100644 kubejs/assets/tfg/blockstates/grass/sangnum_mycelium.json create mode 100644 kubejs/assets/tfg/blockstates/semiheavy_ammoniacal_water.json create mode 100644 kubejs/assets/tfg/models/block/grass/amber_mycelium_side_1.json create mode 100644 kubejs/assets/tfg/models/block/grass/amber_mycelium_side_2.json create mode 100644 kubejs/assets/tfg/models/block/grass/amber_mycelium_side_3.json create mode 100644 kubejs/assets/tfg/models/block/grass/amber_mycelium_top.json create mode 100644 kubejs/assets/tfg/models/block/grass/mars_dirt.json create mode 100644 kubejs/assets/tfg/models/block/grass/mars_dirt_snowy_side.json create mode 100644 kubejs/assets/tfg/models/block/grass/rusticus_mycelium_side_1.json create mode 100644 kubejs/assets/tfg/models/block/grass/rusticus_mycelium_side_2.json create mode 100644 kubejs/assets/tfg/models/block/grass/rusticus_mycelium_top_1.json create mode 100644 kubejs/assets/tfg/models/block/grass/rusticus_mycelium_top_2.json create mode 100644 kubejs/assets/tfg/models/block/grass/sangnum_mycelium_side.json create mode 100644 kubejs/assets/tfg/models/block/grass/sangnum_mycelium_top.json create mode 100644 kubejs/assets/tfg/models/block/semiheavy_ammoniacal_water.json create mode 100644 kubejs/assets/tfg/models/item/grass/amber_mycelium.json create mode 100644 kubejs/assets/tfg/models/item/grass/mars_dirt.json create mode 100644 kubejs/assets/tfg/models/item/grass/rusticus_mycelium.json create mode 100644 kubejs/assets/tfg/models/item/grass/sangnum_mycelium.json create mode 100644 kubejs/assets/tfg/textures/block/grass/amber_side_1.png create mode 100644 kubejs/assets/tfg/textures/block/grass/amber_side_2.png create mode 100644 kubejs/assets/tfg/textures/block/grass/amber_side_3.png create mode 100644 kubejs/assets/tfg/textures/block/grass/amber_top.png create mode 100644 kubejs/assets/tfg/textures/block/grass/mars_dirt.png create mode 100644 kubejs/assets/tfg/textures/block/grass/rusticus_side_1.png create mode 100644 kubejs/assets/tfg/textures/block/grass/rusticus_side_2.png create mode 100644 kubejs/assets/tfg/textures/block/grass/rusticus_top_1.png create mode 100644 kubejs/assets/tfg/textures/block/grass/rusticus_top_2.png create mode 100644 kubejs/assets/tfg/textures/block/grass/sangnum_side.png create mode 100644 kubejs/assets/tfg/textures/block/grass/sangnum_top.png rename kubejs/data/tfg/worldgen/biome/mars/{martian_hills.json => amber_hills.json} (100%) rename kubejs/data/tfg/worldgen/biome/mars/{martian_forests.json => amber_plains.json} (100%) create mode 100644 kubejs/data/tfg/worldgen/biome/mars/martian_river.json create mode 100644 kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json rename kubejs/data/tfg/worldgen/biome/mars/{martian_plains.json => rusticus_plains.json} (100%) create mode 100644 kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json create mode 100644 kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/mars/semiheavy_ammoniacal_water.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/mars/semiheavy_ammoniacal_water.json diff --git a/kubejs/assets/tfg/blockstates/grass/amber_mycelium.json b/kubejs/assets/tfg/blockstates/grass/amber_mycelium.json new file mode 100644 index 000000000..492612761 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/grass/amber_mycelium.json @@ -0,0 +1,256 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfg:block/grass/amber_mycelium_top", + "x": 90 + } + }, + { + "when": { + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/amber_mycelium_top", + "x": 270, + "y": 90 + }, + { + "model": "tfg:block/grass/amber_mycelium_top", + "x": 270 + }, + { + "model": "tfg:block/grass/amber_mycelium_top", + "x": 270, + "y": 180 + }, + { + "model": "tfg:block/grass/amber_mycelium_top", + "x": 270, + "y": 270 + } + ] + }, + { + "when": { + "snowy": true + }, + "apply": [ + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270, + "y": 90 + }, + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270 + }, + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270, + "y": 180 + }, + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270, + "y": 270 + } + ] + }, + { + "when": { + "north": true, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/amber_mycelium_top" + } + }, + { + "when": { + "east": true, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/amber_mycelium_top", + "y": 90 + } + }, + { + "when": { + "south": true, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/amber_mycelium_top", + "y": 180 + } + }, + { + "when": { + "west": true, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/amber_mycelium_top", + "y": 270 + } + }, + { + "when": { + "north": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top" + } + }, + { + "when": { + "east": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "y": 90 + } + }, + { + "when": { + "south": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "y": 180 + } + }, + { + "when": { + "west": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "y": 270 + } + }, + { + "when": { + "north": false, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/amber_mycelium_side_1" + }, + { + "model": "tfg:block/grass/amber_mycelium_side_2" + }, + { + "model": "tfg:block/grass/amber_mycelium_side_3" + } + ] + }, + { + "when": { + "east": false, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/amber_mycelium_side_1", + "y": 90 + }, + { + "model": "tfg:block/grass/amber_mycelium_side_2", + "y": 90 + }, + { + "model": "tfg:block/grass/amber_mycelium_side_3", + "y": 90 + } + ] + }, + { + "when": { + "south": false, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/amber_mycelium_side_1", + "y": 180 + }, + { + "model": "tfg:block/grass/amber_mycelium_side_2", + "y": 180 + }, + { + "model": "tfg:block/grass/amber_mycelium_side_3", + "y": 180 + } + ] + }, + { + "when": { + "west": false, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/amber_mycelium_side_1", + "y": 270 + }, + { + "model": "tfg:block/grass/amber_mycelium_side_2", + "y": 270 + }, + { + "model": "tfg:block/grass/amber_mycelium_side_3", + "y": 270 + } + ] + }, + { + "when": { + "north": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side" + } + }, + { + "when": { + "east": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side", + "y": 90 + } + }, + { + "when": { + "south": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side", + "y": 180 + } + }, + { + "when": { + "west": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side", + "y": 270 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/grass/mars_dirt.json b/kubejs/assets/tfg/blockstates/grass/mars_dirt.json new file mode 100644 index 000000000..70ecbec7e --- /dev/null +++ b/kubejs/assets/tfg/blockstates/grass/mars_dirt.json @@ -0,0 +1,21 @@ +{ + "variants": { + "": [ + { + "model": "tfg:block/grass/mars_dirt" + }, + { + "model": "tfg:block/grass/mars_dirt", + "y": 90 + }, + { + "model": "tfg:block/grass/mars_dirt", + "y": 180 + }, + { + "model": "tfg:block/grass/mars_dirt", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/grass/rusticus_mycelium.json b/kubejs/assets/tfg/blockstates/grass/rusticus_mycelium.json new file mode 100644 index 000000000..a33c06a2c --- /dev/null +++ b/kubejs/assets/tfg/blockstates/grass/rusticus_mycelium.json @@ -0,0 +1,283 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfg:block/grass/rusticus_mycelium_top_1", + "x": 90 + } + }, + { + "when": { + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/rusticus_mycelium_top_1", + "x": 270, + "y": 90 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_1", + "x": 270 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_1", + "x": 270, + "y": 180 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_1", + "x": 270, + "y": 270 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_2", + "x": 270, + "y": 90 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_2", + "x": 270 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_2", + "x": 270, + "y": 180 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_2", + "x": 270, + "y": 270 + } + ] + }, + { + "when": { + "snowy": true + }, + "apply": [ + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270, + "y": 90 + }, + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270 + }, + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270, + "y": 180 + }, + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270, + "y": 270 + } + ] + }, + { + "when": { + "north": true, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/rusticus_mycelium_top_1" + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_2" + } + ] + }, + { + "when": { + "east": true, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/rusticus_mycelium_top_1", + "y": 90 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_2", + "y": 90 + } + ] + }, + { + "when": { + "south": true, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/rusticus_mycelium_top_1", + "y": 180 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_2", + "y": 180 + } + ] + }, + { + "when": { + "west": true, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/rusticus_mycelium_top_1", + "y": 270 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_top_2", + "y": 270 + } + ] + }, + { + "when": { + "north": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top" + } + }, + { + "when": { + "east": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "y": 90 + } + }, + { + "when": { + "south": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "y": 180 + } + }, + { + "when": { + "west": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "y": 270 + } + }, + { + "when": { + "north": false, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/rusticus_mycelium_side_1" + }, + { + "model": "tfg:block/grass/rusticus_mycelium_side_2" + } + ] + }, + { + "when": { + "east": false, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/rusticus_mycelium_side_1", + "y": 90 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_side_2", + "y": 90 + } + ] + }, + { + "when": { + "south": false, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/rusticus_mycelium_side_1", + "y": 180 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_side_2", + "y": 180 + } + ] + }, + { + "when": { + "west": false, + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/rusticus_mycelium_side_1", + "y": 270 + }, + { + "model": "tfg:block/grass/rusticus_mycelium_side_2", + "y": 270 + } + ] + }, + { + "when": { + "north": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side" + } + }, + { + "when": { + "east": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side", + "y": 90 + } + }, + { + "when": { + "south": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side", + "y": 180 + } + }, + { + "when": { + "west": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side", + "y": 270 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/grass/sangnum_mycelium.json b/kubejs/assets/tfg/blockstates/grass/sangnum_mycelium.json new file mode 100644 index 000000000..eeb37da68 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/grass/sangnum_mycelium.json @@ -0,0 +1,221 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfg:block/grass/sangnum_mycelium_top", + "x": 90 + } + }, + { + "when": { + "snowy": false + }, + "apply": [ + { + "model": "tfg:block/grass/sangnum_mycelium_top", + "x": 270, + "y": 90 + }, + { + "model": "tfg:block/grass/sangnum_mycelium_top", + "x": 270 + }, + { + "model": "tfg:block/grass/sangnum_mycelium_top", + "x": 270, + "y": 180 + }, + { + "model": "tfg:block/grass/sangnum_mycelium_top", + "x": 270, + "y": 270 + } + ] + }, + { + "when": { + "snowy": true + }, + "apply": [ + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270, + "y": 90 + }, + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270 + }, + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270, + "y": 180 + }, + { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "x": 270, + "y": 270 + } + ] + }, + { + "when": { + "north": true, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/sangnum_mycelium_top" + } + }, + { + "when": { + "east": true, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/sangnum_mycelium_top", + "y": 90 + } + }, + { + "when": { + "south": true, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/sangnum_mycelium_top", + "y": 180 + } + }, + { + "when": { + "west": true, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/sangnum_mycelium_top", + "y": 270 + } + }, + { + "when": { + "north": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top" + } + }, + { + "when": { + "east": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "y": 90 + } + }, + { + "when": { + "south": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "y": 180 + } + }, + { + "when": { + "west": true, + "snowy": true + }, + "apply": { + "model": "tfc:block/grass/sandy_loam/snowy_top", + "y": 270 + } + }, + { + "when": { + "north": false, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/sangnum_mycelium_side" + } + }, + { + "when": { + "east": false, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/sangnum_mycelium_side", + "y": 90 + } + + }, + { + "when": { + "south": false, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/sangnum_mycelium_side", + "y": 180 + } + + }, + { + "when": { + "west": false, + "snowy": false + }, + "apply": { + "model": "tfg:block/grass/sangnum_mycelium_side", + "y": 270 + } + + }, + { + "when": { + "north": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side" + } + }, + { + "when": { + "east": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side", + "y": 90 + } + }, + { + "when": { + "south": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side", + "y": 180 + } + }, + { + "when": { + "west": false, + "snowy": true + }, + "apply": { + "model": "tfg:block/grass/mars_dirt_snowy_side", + "y": 270 + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/semiheavy_ammoniacal_water.json b/kubejs/assets/tfg/blockstates/semiheavy_ammoniacal_water.json new file mode 100644 index 000000000..16293b69d --- /dev/null +++ b/kubejs/assets/tfg/blockstates/semiheavy_ammoniacal_water.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/fluid/semiheavy_ammoniacal_water" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index 2ac0094af..143cf58dc 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -296,13 +296,14 @@ "block.tfg.electromagnetic_accelerator": "Electromagnetic Accelerator", "block.tfg.superconductor_coil_large": "Large Superconductor Coil", "block.tfg.superconductor_coil_small": "Small Superconductor Coil", - "tfg:nether_slurry": "Nether Slurry", - "tfg:enriched_nether_slurry": "Enriched Nether Slurry", - "tfg:ender_slurry": "Ender Slurry", - "tfg:enriched_ender_slurry": "Enriched Ender Slurry", - "tfg:semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", - "tfg:sulfur_fumes": "Sulfur Fumes", - "tfg:super_heated_slurry": "Super Heated Slurry", + "fluid.tfg.nether_slurry": "Nether Slurry", + "fluid.tfg.enriched_nether_slurry": "Enriched Nether Slurry", + "fluid.tfg.ender_slurry": "Ender Slurry", + "fluid.tfg.enriched_ender_slurry": "Enriched Ender Slurry", + "fluid.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water", + "fluid.tfg.heavy_water": "Heavy Water", + "fluid.tfg.sulfur_fumes": "Sulfur Fumes", + "fluid.tfg.super_heated_slurry": "Super Heated Slurry", "item.tfg.antipoison_pill": "Antipoison Pill", "item.tfg.haste_pill": "Haste Pill", "item.tfg.night_vision_pill": "Night Vision Pill", diff --git a/kubejs/assets/tfg/models/block/grass/amber_mycelium_side_1.json b/kubejs/assets/tfg/models/block/grass/amber_mycelium_side_1.json new file mode 100644 index 000000000..bfb4c765d --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/amber_mycelium_side_1.json @@ -0,0 +1,8 @@ +{ + "parent": "tfc:block/grass_side", + "textures": { + "texture": "tfg:block/grass/mars_dirt", + "overlay": "tfg:block/grass/amber_side_1", + "particle": "tfg:block/grass/amber_side_1" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/amber_mycelium_side_2.json b/kubejs/assets/tfg/models/block/grass/amber_mycelium_side_2.json new file mode 100644 index 000000000..39c37fa6f --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/amber_mycelium_side_2.json @@ -0,0 +1,8 @@ +{ + "parent": "tfc:block/grass_side", + "textures": { + "texture": "tfg:block/grass/mars_dirt", + "overlay": "tfg:block/grass/amber_side_2", + "particle": "tfg:block/grass/amber_side_2" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/amber_mycelium_side_3.json b/kubejs/assets/tfg/models/block/grass/amber_mycelium_side_3.json new file mode 100644 index 000000000..1e71138aa --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/amber_mycelium_side_3.json @@ -0,0 +1,8 @@ +{ + "parent": "tfc:block/grass_side", + "textures": { + "texture": "tfg:block/grass/mars_dirt", + "overlay": "tfg:block/grass/amber_side_3", + "particle": "tfg:block/grass/amber_side_3" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/amber_mycelium_top.json b/kubejs/assets/tfg/models/block/grass/amber_mycelium_top.json new file mode 100644 index 000000000..6f6ccea9b --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/amber_mycelium_top.json @@ -0,0 +1,27 @@ +{ + "parent": "block/block", + "textures": { + "overlay": "tfg:block/grass/amber_top", + "particle": "tfg:block/grass/amber_top" + }, + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 0 + ], + "faces": { + "north": { + "texture": "#overlay", + "cullface": "north" + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/mars_dirt.json b/kubejs/assets/tfg/models/block/grass/mars_dirt.json new file mode 100644 index 000000000..bb240938d --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/mars_dirt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/grass/mars_dirt" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/mars_dirt_snowy_side.json b/kubejs/assets/tfg/models/block/grass/mars_dirt_snowy_side.json new file mode 100644 index 000000000..332dd9835 --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/mars_dirt_snowy_side.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/grass_snowy_side", + "textures": { + "texture": "tfg:block/grass/mars_dirt" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_side_1.json b/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_side_1.json new file mode 100644 index 000000000..bef471ab6 --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_side_1.json @@ -0,0 +1,8 @@ +{ + "parent": "tfc:block/grass_side", + "textures": { + "texture": "tfg:block/grass/mars_dirt", + "overlay": "tfg:block/grass/rusticus_side_1", + "particle": "tfg:block/grass/rusticus_side_1" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_side_2.json b/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_side_2.json new file mode 100644 index 000000000..1ce8295c5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_side_2.json @@ -0,0 +1,8 @@ +{ + "parent": "tfc:block/grass_side", + "textures": { + "texture": "tfg:block/grass/mars_dirt", + "overlay": "tfg:block/grass/rusticus_side_2", + "particle": "tfg:block/grass/rusticus_side_2" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_top_1.json b/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_top_1.json new file mode 100644 index 000000000..ee4f06f09 --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_top_1.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/grass_top", + "textures": { + "overlay": "tfg:block/grass/rusticus_top_1", + "particle": "tfg:block/grass/rusticus_top_1" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_top_2.json b/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_top_2.json new file mode 100644 index 000000000..1be4ea162 --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/rusticus_mycelium_top_2.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/grass_top", + "textures": { + "overlay": "tfg:block/grass/rusticus_top_2", + "particle": "tfg:block/grass/rusticus_top_2" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/sangnum_mycelium_side.json b/kubejs/assets/tfg/models/block/grass/sangnum_mycelium_side.json new file mode 100644 index 000000000..66be91d17 --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/sangnum_mycelium_side.json @@ -0,0 +1,8 @@ +{ + "parent": "tfc:block/grass_side", + "textures": { + "texture": "tfg:block/grass/mars_dirt", + "overlay": "tfg:block/grass/sangnum_side", + "particle": "tfg:block/grass/sangnum_side" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/grass/sangnum_mycelium_top.json b/kubejs/assets/tfg/models/block/grass/sangnum_mycelium_top.json new file mode 100644 index 000000000..9fda23833 --- /dev/null +++ b/kubejs/assets/tfg/models/block/grass/sangnum_mycelium_top.json @@ -0,0 +1,7 @@ +{ + "parent": "tfc:block/grass_top", + "textures": { + "overlay": "tfg:block/grass/sangnum_top", + "particle": "tfg:block/grass/sangnum_top" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/semiheavy_ammoniacal_water.json b/kubejs/assets/tfg/models/block/semiheavy_ammoniacal_water.json new file mode 100644 index 000000000..f298cabc3 --- /dev/null +++ b/kubejs/assets/tfg/models/block/semiheavy_ammoniacal_water.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "minecraft:block/water_still" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/grass/amber_mycelium.json b/kubejs/assets/tfg/models/item/grass/amber_mycelium.json new file mode 100644 index 000000000..7ec055dbc --- /dev/null +++ b/kubejs/assets/tfg/models/item/grass/amber_mycelium.json @@ -0,0 +1,36 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "0": "tfg:block/grass/mars_dirt", + "1": "tfg:block/grass/amber_side_1", + "2": "tfg:block/grass/amber_top", + "particle": "#2" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "north": { + "texture": "#1" + }, + "east": { + "texture": "#1" + }, + "south": { + "texture": "#1" + }, + "west": { + "texture": "#1" + }, + "up": { + "texture": "#2" + }, + "down": { + "texture": "#0" + } + } + } + ], + "display": {} +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/grass/mars_dirt.json b/kubejs/assets/tfg/models/item/grass/mars_dirt.json new file mode 100644 index 000000000..4839b278c --- /dev/null +++ b/kubejs/assets/tfg/models/item/grass/mars_dirt.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/grass/mars_dirt" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/grass/rusticus_mycelium.json b/kubejs/assets/tfg/models/item/grass/rusticus_mycelium.json new file mode 100644 index 000000000..795350fbe --- /dev/null +++ b/kubejs/assets/tfg/models/item/grass/rusticus_mycelium.json @@ -0,0 +1,36 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "0": "tfg:block/grass/mars_dirt", + "1": "tfg:block/grass/rusticus_side_1", + "2": "tfg:block/grass/rusticus_top_1", + "particle": "#2" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "north": { + "texture": "#1" + }, + "east": { + "texture": "#1" + }, + "south": { + "texture": "#1" + }, + "west": { + "texture": "#1" + }, + "up": { + "texture": "#2" + }, + "down": { + "texture": "#0" + } + } + } + ], + "display": {} +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/grass/sangnum_mycelium.json b/kubejs/assets/tfg/models/item/grass/sangnum_mycelium.json new file mode 100644 index 000000000..9feca48ba --- /dev/null +++ b/kubejs/assets/tfg/models/item/grass/sangnum_mycelium.json @@ -0,0 +1,36 @@ +{ + "parent": "minecraft:block/cube", + "textures": { + "0": "tfg:block/grass/mars_dirt", + "1": "tfg:block/grass/sangnum_side", + "2": "tfg:block/grass/sangnum_top", + "particle": "#2" + }, + "elements": [ + { + "from": [ 0, 0, 0 ], + "to": [ 16, 16, 16 ], + "faces": { + "north": { + "texture": "#1" + }, + "east": { + "texture": "#1" + }, + "south": { + "texture": "#1" + }, + "west": { + "texture": "#1" + }, + "up": { + "texture": "#2" + }, + "down": { + "texture": "#0" + } + } + } + ], + "display": {} +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/grass/amber_side_1.png b/kubejs/assets/tfg/textures/block/grass/amber_side_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3be4db86739e8121a066af8a3ad4ff2425c7e0af GIT binary patch literal 678 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_q`GPZ!4!i{8*ld-E;_h#arq>MNw~)_1w)!m-epl|sBqU6UF&h04xwe8d_dxc
  • uZbNU^esV-~67-&Hewk{?6uaUk|@q`=t8JA)U*w zSsHpzF+FfRf8z8Lu8l9|`=-v5;+*uPTIcH`37Mmk)2b#ejZ+ElF#Ke+*ur_8K=;2_ zPq++E9SA(YY4GXO|L|IV1zA4jK>H9a;{uT-fpZpaTRib*NapP8PLB=*&WLwu%Kc%S zAeMGAXVsxc8s`>-Y%W%@XRWiItRb4R>ZT>b<<~8Na}M&RJMhieT$sM|70aAm-XaZ+ ziwj=qX`0VBemD0Hud}K3ao+Tta;ra9R)=^KMV_y;Vq{=n&lli#SC!%RTs{V`zmn7c z$}{Xx+*A9#?F9dZQ|wb-SIJQOy`xq>bTZ?Mo5HiM zS=m-Mh5B9Ieth1F_R9<>Z(Yiadae0bHsY%3B85r@y{n~+VWu-57q`z^xRlE+(dG0S zgE?$2C!JLGCt2B*GgQo}W;t;6O`G^`e})N*QXEgON$9uDYIECucR}V_?hUI>ZaKrH zyZO-7H*R0}_s0vca-OQ4xk~Nvx7vrI4?bOZp1Qqp)yWWUt;3lLH>$s>{5>YRBi(<; zth*fCzpJffK3Q)y^IN<2Q&&?<-tNXLo7Eqgu8wi}xqC@!*p2(Q1+&)Z&duB1sHJ_Q zz9uAAI7@YP%n`Zj6`LkitxMZ@TyCO#hr(h7&+a|Q+m22WQ%mvv4FO#n#UFj@cr literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/grass/amber_side_2.png b/kubejs/assets/tfg/textures/block/grass/amber_side_2.png new file mode 100644 index 0000000000000000000000000000000000000000..781185261215b1087d4de05db719cc4d672f4dbe GIT binary patch literal 676 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_q`uPZ!4!i{8>nXZ>zFh_u?vB)>VP;rTgSWO0Qc=N+xCDPb3615Yno{f+e(L+tm` zUs88NMYESEDQfNXh?NlKGBhjf>UCE%jP=Pqxai*8kGAFejKAyE*6lB2R}h-(X?0v& zO1GBH;cNioj3uA{XNfAT4!hX7Vj;8fEn8s*)h>a~K7A9jEXk@!4`r+4!mV46_2w*a z5&XVCCjF|G%B3aKTdxGnnai&As&avy!{=7EgZup)d-P2Xxy&k7l5{*QF4d*Kg?;BC zmj~QGjjw+_o8D7@ti#3q^@}y8DQ^$#a+HiP&yby4cK(RCRQ|oaYCbH9N(F~|F23ss zt(7!CGh<2d6b+@-VVN(D_sMDN)ZTe@XYZ{OT|VL3(h_S$8Q!=}JwBJ~rHNXv_?z0B zi{q|kzTCWM=Odf?gAZRSpJNs^KT|MoTj3k4zS!g3N|!QwUbiyzl)3YtI5t`0YTWt< zb;2#3ItFKi+>SnZmD81cy>Raa1xpJX&8%U z#cR23@nvs@u&=2M>yGM1&-Qr10R=Q<6`Qd`@9XsxRb=ujv^X6Blbw_gr z6VrDeXH++eQdn$RCfi^VXCPA&_(}Yn<`sL%+SMn|m91Z}@wzq-du-37uJ74hfri{s zNAp5HHgPOgxqdTat;plkFE3R%TJ>(cuKj7#`*hZ&Su<2Q7Q`A`TJ2quZ_2&s_lce7 hxPQ%cj1OYy7$3O>)6 zPg)4}JTVF_=Hp=KIoZ-3a5sOaGF)Wm3&e^FZzVLzOs&%uN9+q1DP**S4^x)(B?)hlSVt;oN zZ|*zR-s_gG`4M=`W8Ea}_^SW!&gM?Kr#`ReUs7l|!;XJt%Ni?Jyw=~w`Q?C(;sI@I zo4T+kSq4WpaWmA|ObqdLP8T|>^7_EN*R~98k0lP@*0}V=i(yudXznD7rw2 zP0CRFXeGO6Q*)~Li?8}CcW&EcFiUmIE77*cGuq4cZ1UQFeLqXW-I^t9PD;n+*$2M% zy~Mh}H9+WZS#^N}@@A-)dM_7yFKkD%F3C&R@mnhh@+G Rz`(%3;OXk;vd$@?2>`%FCzb#J literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/grass/amber_top.png b/kubejs/assets/tfg/textures/block/grass/amber_top.png new file mode 100644 index 0000000000000000000000000000000000000000..b36de850dfa3f66553d03549b0375f16d170f214 GIT binary patch literal 450 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_s6wPZ!4!jft_7&aPVQAkeyhqLbH|Lv0BH@9wg0+H>CUy@kHm39}aMro9&;OnT2O z+H=-m-Imu^UVeVO-hRJ*d-1*9dbYXuiZWcHZ|`2$bun!2cAGiI58f}nY7|xb(yw8g z*oDf|IYME~U;o}+ex$)^QuK}05{-LbN91miYGCOJYk&5CCBu48hGnT+c3m&oId6fV ze{;$F*V0^PE;Bjke&5NIzVy1uoX>orJqs32yjURJ9yK9u^5WPt`^%h_kN;#z*&nZW zJy`Vdy;7TL7qjHNGeV-JqjE&UBaVL0o)mp!>)Fu6QoH(`tJhWLExsJPPF+4!t||M4 zX>Zu>YZp4QH-xU1;P%N04cmP_bUn{=n+e|Td)4+|3uC=Ab;``|u~t%NlP$_**gWfI zSDN|&gyZrn7S7l|<&Ut%o zU66^}Z+9bP0 Hl+XkKAKc9d literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/grass/mars_dirt.png b/kubejs/assets/tfg/textures/block/grass/mars_dirt.png new file mode 100644 index 0000000000000000000000000000000000000000..8ff05bee91967cba28d13e3d2da9915d80adf7fa GIT binary patch literal 4790 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s74pxOklmsP~D-;yvr)B1( zDwI?fq$;FVWTr7NRNTr9h~{Hf)cmb^G?_y@y?z zg%=xc{=s15&-PAjmElI-RNs^+rQpM7#6IQwt3Tkq9u_I2|71-f0|R4Arn7T^r?WH6 zGYkwBb808rdK`9;IT|0lR7q5jyGtWwgjEu)q_WCRyVI!;HYcZ!R^FdggY1enCm>^eRR{; z`}rP!nIu(DMLYF*CNG+f^v6t(t$Q3(67gWBqVnWf>U@ITNBO2%&zQz5o&qdF<>eajT-N|@~Guhgi>n_W<%6NMya0(h_X)I>q7K}0t@>!B$|LmcB;UCYU zlTWmoCnht7u9zTW|3m)IyK6c={yRMnN?iDxbX)$hLxOn5wcOvoZ)}^b-tb>?$E92U zvY2Q5R@r;++97v`|7Hb+cdtFMeNe}1OnC3`zAn+mIn+=ATHl0=1y+?>2(s|s5su(?)w#a19;eI*63l9Fs& zr3l{u1?T*tR0R_~6Fmc6*NV(CBPBa71)HLjG^-#NH>eRsDQUJ!86_nJR{Hwo<>h+i z#(Mch>H3D2mX`VkM*2oZxJ9 zL6DxATL9Kokz0VGvLrJN5m+d`0m*>9gY1xs+yc0{D5_z82P+1Lk(En+aw*7po-VdZ zAp5OS@{==DtRPH-)YPODb0b|t3$s*R6LX6c-9%%{WL*<;)6^u>WJ7a{6muk_JoAc6 z67!N%K}J>N7U*SWrdU}Tm{=qw8Kvr)nwpsDnwX~<=q4o^8tWRHnkSiu)S78XXjiAiQgx{1lj#wHe)X(owg z7GR@NlC9kGi*gf7Y?U%|6Vp@m3-Z#z5}*LLat!daRWi~uK!^n7B$lM*7vFnYA%q9v=466YD<~*{vxQY+GQ?gVn|Ih zNJ=y?HrGuxG)mGnF-BaeJCFO}lsgCKXc_p?= z?wPp-;ILBAfJT)js%y$KQbF-xU}UOmV6F=fG7~c;eTesL^g$&C%(piB7~ug?fK?k)_MK=947qYoGu7&r?&B8wRq zxP?KOkzv*x2?hoR_7YEDSN50e;)42mf${4t85o$nJY5_^EKY|`_RYKHAacC^pj&F! z#Ggi;ErOd*C{0UJ+~~3Ev|v@kyanMeBCEPRY+1OMOz}9kh}*qUqvmmvmB)i+-JR|) z*VyDg`}z0(e)IQFzTKXF{bB{5!)hH4z1u5PSRIy1GF;wz?{uH{pD8akzwy|AeW^k0 z@|JzauO5}uvKG4QFJZICK*mN{rn_RJ;*K2S+nNlY_uiH7c&C12xoLaVZPQTyY(6b( zrBmD1-CDC~(iE?i9)G4NGyxE&? z`UxKOPT9Qby``9$!_KdP>@n>R?}-OX`) zQK*>D^_45-j(YPN`u9Cjz5VxK#EzYI=_eL%+jikvQJmJEu18Bv#@mI@6NzX z?&D3Za*Hlj_`RrhyI6hlr(L_mQE#T359B+z<#_i>Zd<{?z`&Op;hE;^%b>-;z`y|- W2Vh`exD-4Y#PW3Yb6Mw<&;$Ss2K?6m literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/grass/rusticus_side_1.png b/kubejs/assets/tfg/textures/block/grass/rusticus_side_1.png new file mode 100644 index 0000000000000000000000000000000000000000..de9e80b28cb2b655d09a0a72961359a27deb3d40 GIT binary patch literal 652 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7I14-?iy0WWg+Z8+Vb&Z8 z1_mZOPZ!4!i{9Kx2mNk4NVM#~5iPw~Bj@Q7MK1<<0ii{T9o$nVJmCDrRXg$C@1QB( zeYO`kloS;ew{Z#x7+NTHb#9z2*E8MYZCu#z_h;Vx`Ja>b1Aop%5%>8Yw=~anW#GB3TYQUmX8iKI0xzXJ%-c(f89clngzD_+a&?@+@=r(9 z!fM|lg){XGm(C{cPMx*3P|HAFLzl7P?KDA2OJ)X-_=Mf5eSPaAVz+#a4b$eB>}Q@h z+q&mW8C%9yb(X+0NA^EYNdLG$C9`w8*)oYsLKV`>*iydDTD$RGaIA{YpK7i{DbF|a zE-0VqSJ{?TuE7z^uOt2JTbFaXO(S>ob>qJ6iOY0Z{!LlFHc0AzOw7!)r(Zc~eR7+! zuJM&C%RipQ#`7{Jy>hJ(^=@9O%CSgdy+-gxjk<1&;|6{KdpRDLnfe#M{M)=D?nr8> zVy$kM-;9uAC&)OW=*`5<-g(EYM#d|%05Z2whFD1pI|bL@y3^!dE2}gB7TRy z+A8!ls`L5u@L2nwrQVk!)V_Z{zWwITPanI4)boYkzn=4<{r7UgMEh&+7!Cy<%1h>b9P=~kthU#Y0XgY%M`O#URY5;AQ;#kRQZ;)ckbj_i!}FzH z=AuEWVj5b4f#F*@JUctOlh^Djd^@8xd-94iX(r|SexKc&zD{g^eQ=9oWBtq^-Sx>r zY~D*QF>*AkCeFJ0J#bp_j{6J_+oznqsgYPZw^wM%rHNk7TD%OITzmRDuN!7^H5+Jn zH7|b5J?qd8^$A{wgY?w@zP^-jG+-7JgZIu3t(`&)Cma$qr!RiYT_zP)8-8@wp$ES; z();JX2)#LVfqjI)GRf|QQxEGN?>~7-q&!#W;!@2IWxY`WQ_C;yU-z3Of+cv?p@jb{ zSp(izdG1_sS3AKs@y@|3FZjhGPOUw=S|Xrnn{PMWaJbU)`()X6mGc#bdsR;rooUwdoU{32 zu3}qV!}V!bes9;@dt6WYu2}eE%YQmcw%q(AlZ$`Djjx+~eHs3|YzyiPmgq4%9yQ@b$RQU93!> xJ@jQ_`=0I1uNx0#6z_>RW_=~^^qXyVTE$FmN8&$hWME)m@O1TaS?83{1OWC;Ns9mg literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/grass/rusticus_top_2.png b/kubejs/assets/tfg/textures/block/grass/rusticus_top_2.png new file mode 100644 index 0000000000000000000000000000000000000000..43d50bce963918d2385c3f290903f1ce06a3131e GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4rT@h1`S>QUvzJRmo2K|pcrnXi>)ZhSBW2&rZb|d*%30vYYZ~z?D%K(Gwa(o|+g|0B zrN7YiJGn>V#YE{4=grp+y^x8y5^Mc@-Cbti2Bx;J0oC~o3=9mOu6{1-oD!M<-@8ab literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/grass/sangnum_side.png b/kubejs/assets/tfg/textures/block/grass/sangnum_side.png new file mode 100644 index 0000000000000000000000000000000000000000..b856fcba16f5f722b783b67962a1e1a47d49bce5 GIT binary patch literal 728 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_q`sPZ!4!jfu7sZ8L-uC652!yL(CP{dqf0%KthD7gcB)I(hacZRILmxl&Y+-QG)` zJ$I_pLawION){HD9RUZI?&z4kh%YZ`;}-8|rDan$`zB3(HYuiR=MfcOnYfeRZ2mug z{Jp;7me`?(zPH&nB;IE9>dg{ucvF%!W!sk(ix?6#uLm(^OnLUYl!0NNIG0b(Rwjwh zKP?z?vO@wR5`!+A&2{bG zw&M>YjC>h(W=;K6voGv1(-b}NZicib$D1$zL~0r4_k2sr)?TGyeDJ}t-0Ue#59agn z@x^u4#Pn3M9(-IdXRbuuzto>QRBBJ8T+@BM?mqv6NSnI)ygv{8_C~J%{5)pe{*OK7 zUtSz~ROK@1U&S2rxu+&22F#m3uXo>{Jwcf!ZThY*3;&+{z5aNN-n&pGMu*Tl{qlD! z=K8dSSmsGcEj@iS$;bTNy*|B}&yFoOW!M~?oFAn5?&03<&$n+g6nTC=c*kPmk=78d z17BAkUiIjk%p|pSbAJYE2~LdnedBl6>b_b1^P*)Tav#c;e-5ks|6lmt-oIw%wTY%1 zxgR*RGarasTK369o}tb}h~wMIs%;OZ#2(G z)%x%17t>Y<1U;RRx1wuyM~z-4(}m5f4A$DuR(8zqsPR|#e6G9AZkaUG?in35KIY%F zOw%$`G&VHdf4L|0+%?9Q5J`udxB6TD#`u`uSg~qHYf|!o+qOm`2^v?`T@TeA;{LVG zQ)Oc0gOH`UQP%8ic literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/grass/sangnum_top.png b/kubejs/assets/tfg/textures/block/grass/sangnum_top.png new file mode 100644 index 0000000000000000000000000000000000000000..5598ba17268ac39bdc8081a577d8a17ae05e1695 GIT binary patch literal 540 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4kiW$h6xih%orFLI14-?iy0WWg+Z8+Vb&Z8 z1_s7+o-U3d8WVjdozA))AkbDXdv}qt;2Q4$#axezjOl_I;rF&#uk|jkYuyvJ@ce`D zf^Ctfwy;ETOj9*~ktQ3vYevC`p#L)^YmNV}{~J+z?<#M@nyi-N{LAGWGNLFJG8@QDy6aZ5GQ4 zzZBHFD=|#FcaK5i>4dkRk33zN8>m^hu8Fnb?EB|Ie2=ueV%F7v)o(psUb;AwL&tda ztNcfgAKT?0pD3|uRo?N9vzM*0iL(~}wftym!pz;fG^6PgytM%Os2Q%MG{=Ssts>^sm24PgE0H22WsQ`3$-Z4dT0^nTnCD75mndGA^8x_2gb v3q*Cy^eqLAM32SZ6=?R-ds*VU^;La!wdNzIx3b&}3=9mOu6{1-oD!M { event.add('ad_astra:mars_stone_replaceables', 'tfc:sand/black') event.add('ad_astra:mars_stone_replaceables', 'tfc:sand/red') event.add('ad_astra:mars_stone_replaceables', 'tfc:sand/pink') - + + event.add('tfc:can_carve', '#ad_astra:moon_stone_replaceables') + event.add('tfc:can_carve', '#ad_astra:mars_stone_replaceables') event.add('minecraft:rabbits_spawnable_on', '#ad_astra:moon_stone_replaceables') event.add('species:limpet_spawnable_on', '#ad_astra:moon_stone_replaceables') @@ -265,7 +267,6 @@ const registerAdAstraBlockTags = (event) => { event.add('tfg:rock_slabs', 'ad_astra:glacio_stone_slab') event.add('ad_astra:destroyed_in_space', '#minecraft:saplings') - event.remove('ad_astra:destroyed_in_space', 'ad_astra:glacian_leaves') } const registerAdAstraBiomeTags = (event) => { diff --git a/kubejs/server_scripts/tfg/recipes.collapse.js b/kubejs/server_scripts/tfg/recipes.collapse.js index 2d1fefc91..48501107c 100644 --- a/kubejs/server_scripts/tfg/recipes.collapse.js +++ b/kubejs/server_scripts/tfg/recipes.collapse.js @@ -58,5 +58,10 @@ function registerTFGCollapseRecipes(event) { event.recipes.tfc.collapse('gtceu:red_granite_cobblestone', 'gtceu:red_granite') event.recipes.tfc.collapse('gtceu:red_granite_cobblestone', 'tfg:rock/hardened_red_granite') event.recipes.tfc.collapse('gtceu:red_granite_cobblestone', '#forge:ores_in_ground/red_granite') + + event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/mars_dirt') + event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/amber_mycelium') + event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/rusticus_mycelium') + event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/sangnum_mycelium') // #endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 667b30fb3..6f37981ea 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -244,6 +244,12 @@ const registerTFGItemTags = (event) => { // #region Space blocks event.add('tfg:moon_plants', 'tfg:lunar_roots') event.add('tfg:moon_plants', 'tfg:lunar_sprouts') + + event.add('minecraft:dirt', 'tfg:grass/mars_dirt') + event.add('tfc:dirt', 'tfg:grass/mars_dirt') + event.add('tfc:grass', 'tfg:grass/amber_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') // #endregion // #region 0.7.19 -> 0.9 conversion @@ -356,8 +362,8 @@ const registerTFGBlockTags = (event) => { event.add('tfc:crops', 'tfg:sunflower') event.add('tfc:mineable_with_sharp_tool','tfg:sunflower') - // #region Nether blocks + // #region Nether blocks event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate') event.add('minecraft:moss_replaceable', 'tfg:rock/hardened_deepslate') event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_deepslate') @@ -376,6 +382,22 @@ const registerTFGBlockTags = (event) => { event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_dripstone') event.add('minecraft:base_stone_nether', 'tfg:rock/hardened_dripstone') event.add('tfc:rock/hardened', 'tfg:rock/hardened_dripstone') + // #endregion + + // #region Mars blocks + event.add('minecraft:dirt', 'tfg:grass/mars_dirt') + event.add('tfc:dirt', 'tfg:grass/mars_dirt') + event.add('tfc:grass', 'tfg:grass/amber_mycelium') + event.add('tfc:grass', 'tfg:grass/rusticus_mycelium') + event.add('tfc:grass', 'tfg:grass/sangnum_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/amber_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/rusticus_mycelium') + event.add('tfg:do_not_destroy_in_space', 'tfg:grass/sangnum_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/mars_dirt') + event.add('tfc:can_landslide', 'tfg:grass/amber_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/rusticus_mycelium') + event.add('tfc:can_landslide', 'tfg:grass/sangnum_mycelium') + // #endregion event.add('tfg:harvester_harvestable', '#tfc:fruit_tree_leaves') event.add('tfg:harvester_harvestable', '#tfc:berry_bushes') @@ -388,7 +410,6 @@ const registerTFGBlockTags = (event) => { event.add('forge:mineable/wrench', 'tfg:superconductor_coil_small') event.add('forge:mineable/wrench', 'tfg:electromagnetic_accelerator') - // #endregion } //#endregion diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index 760696f4d..feab89736 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -1,175 +1,175 @@ -"use strict"; - -const registerTFGBlocks = (event) => { - - registerTFGNetherBlocks(event) - registerTFGSpaceBlocks(event) - registerTFGSupportBlocks(event) - registerTFGCrops(event) - - event.create('tfg:artificial_end_portal_frame') - .stoneSoundType() - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - .fullBlock(true) - .item(item => { - item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) - }) - - event.create('tfg:dry_ice', 'tfg:particle_emitter') - .textureAll('tfg:block/dry_ice') - .soundType('bone_block') - .hardness(1) - .resistance(1) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfcambiental:cold_stuff') - .defaultTranslucent() - .mapColor('color_white') - .speedFactor(1.2) - .particleOffset(1, 1, 1) - .particleVelocity(0.05, 0, 0.05) - .particle('minecraft:campfire_cosy_smoke') - .particleCount(2) - .particleForced(false) - - // #region Machine Casings - - global.TFG_MACHINE_CASINGS.forEach(type => { - event.create(`tfg:casings/${type}`) - .translationKey(`block.tfg.casings.${type}`) - .model(`tfg:block/casings/${type}`) - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor('color_light_gray') - }) - - //#endregion - - // #region Decorative vases - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/loot_vase_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - - event.create(`tfg:decorative_vase/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/vase_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - .blockEntity(be => { - be.attach('tfc:inventory', { - width: 9, - height: 1, - size: size => size.isSmallerThan('large') - }) - be.rightClickOpensInventory() - }) - - event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/vase_unfired_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - }) - event.create('tfg:decorative_vase', 'cardinal') - .model('tfg:block/decorative_vase/vase') - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_gray`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - .blockEntity(be => { - be.attach('tfc:inventory', { - width: 9, - height: 1, - size: size => size.isSmallerThan('large') - }) - be.rightClickOpensInventory() - }) - - event.create('tfg:decorative_vase/unfired', 'cardinal') - .model('tfg:block/decorative_vase/vase_unfired') - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_gray`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - - // #endregion - - // #region Layer blocks - - event.create('tfg:ash_pile', 'tfg:layer_block') - .existingItem('tfc:powder/wood_ash') - .mapColor('color_light_gray') - - event.create('tfg:pile/black_sand', 'tfg:layer_block') - .existingItem('tfc:sand/black') - - event.create('tfg:pile/brown_sand', 'tfg:layer_block') - .existingItem('tfc:sand/brown') - - event.create('tfg:pile/green_sand', 'tfg:layer_block') - .existingItem('tfc:sand/green') - - event.create('tfg:pile/pink_sand', 'tfg:layer_block') - .existingItem('tfc:sand/pink') - - event.create('tfg:pile/red_sand', 'tfg:layer_block') - .existingItem('tfc:sand/red') - - event.create('tfg:pile/white_sand', 'tfg:layer_block') - .existingItem('tfc:sand/white') - - event.create('tfg:pile/yellow_sand', 'tfg:layer_block') - .existingItem('tfc:sand/yellow') - - event.create('tfg:pile/mars_sand', 'tfg:layer_block') - .existingItem('ad_astra:mars_sand') - - event.create('tfg:pile/moon_sand', 'tfg:layer_block') - .existingItem('ad_astra:moon_sand') - - event.create('tfg:pile/venus_sand', 'tfg:layer_block') - .existingItem('ad_astra:venus_sand') - - - // #endregion - - // #region Deprecated - - event.create('treetap:tap') - .requiresTool(false) - .textureAll('tfg:item/deprecated') - - event.create('tfcea:refrigerator') - .requiresTool(false) - .textureAll('tfg:item/deprecated') - - // #endregion -} +"use strict"; + +const registerTFGBlocks = (event) => { + + registerTFGNetherBlocks(event) + registerTFGSpaceBlocks(event) + registerTFGSupportBlocks(event) + registerTFGCrops(event) + + event.create('tfg:artificial_end_portal_frame') + .stoneSoundType() + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + .fullBlock(true) + .item(item => { + item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) + }) + + event.create('tfg:dry_ice', 'tfg:particle_emitter') + .textureAll('tfg:block/dry_ice') + .soundType('bone_block') + .hardness(1) + .resistance(1) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfcambiental:cold_stuff') + .defaultTranslucent() + .mapColor('color_white') + .speedFactor(1.2) + .particleOffset(1, 1, 1) + .particleVelocity(0.05, 0, 0.05) + .particle('minecraft:campfire_cosy_smoke') + .particleCount(2) + .particleForced(false) + + // #region Machine Casings + + global.TFG_MACHINE_CASINGS.forEach(type => { + event.create(`tfg:casings/${type}`) + .translationKey(`block.tfg.casings.${type}`) + .model(`tfg:block/casings/${type}`) + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor('color_light_gray') + }) + + //#endregion + + // #region Decorative vases + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/loot_vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + + event.create(`tfg:decorative_vase/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_unfired_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + }) + event.create('tfg:decorative_vase', 'cardinal') + .model('tfg:block/decorative_vase/vase') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create('tfg:decorative_vase/unfired', 'cardinal') + .model('tfg:block/decorative_vase/vase_unfired') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + + // #endregion + + // #region Layer blocks + + event.create('tfg:ash_pile', 'tfg:layer_block') + .existingItem('tfc:powder/wood_ash') + .mapColor('color_light_gray') + + event.create('tfg:pile/black_sand', 'tfg:layer_block') + .existingItem('tfc:sand/black') + + event.create('tfg:pile/brown_sand', 'tfg:layer_block') + .existingItem('tfc:sand/brown') + + event.create('tfg:pile/green_sand', 'tfg:layer_block') + .existingItem('tfc:sand/green') + + event.create('tfg:pile/pink_sand', 'tfg:layer_block') + .existingItem('tfc:sand/pink') + + event.create('tfg:pile/red_sand', 'tfg:layer_block') + .existingItem('tfc:sand/red') + + event.create('tfg:pile/white_sand', 'tfg:layer_block') + .existingItem('tfc:sand/white') + + event.create('tfg:pile/yellow_sand', 'tfg:layer_block') + .existingItem('tfc:sand/yellow') + + event.create('tfg:pile/mars_sand', 'tfg:layer_block') + .existingItem('ad_astra:mars_sand') + + event.create('tfg:pile/moon_sand', 'tfg:layer_block') + .existingItem('ad_astra:moon_sand') + + event.create('tfg:pile/venus_sand', 'tfg:layer_block') + .existingItem('ad_astra:venus_sand') + + + // #endregion + + // #region Deprecated + + event.create('treetap:tap') + .requiresTool(false) + .textureAll('tfg:item/deprecated') + + event.create('tfcea:refrigerator') + .requiresTool(false) + .textureAll('tfg:item/deprecated') + + // #endregion +} diff --git a/kubejs/startup_scripts/tfg/fluids.js b/kubejs/startup_scripts/tfg/fluids.js index 195cb2301..6e2670ff9 100644 --- a/kubejs/startup_scripts/tfg/fluids.js +++ b/kubejs/startup_scripts/tfg/fluids.js @@ -32,11 +32,6 @@ const registerTFGFluids = (event) => { .noBlock() //#region Mars - event.create('tfg:semiheavy_ammoniacal_water') - .thinTexture(0x704f786c) - .color(0x4f786c) - .temperature(213) - .renderType('translucent') //#endregion //#region Venus From 2fdb8570e92509e1cdf548a10e485d43f6622d63 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 01:32:39 +0100 Subject: [PATCH 05/50] thanks git --- kubejs/startup_scripts/tfg/blocks.js | 350 +++++++++++++-------------- 1 file changed, 175 insertions(+), 175 deletions(-) diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index 760696f4d..feab89736 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -1,175 +1,175 @@ -"use strict"; - -const registerTFGBlocks = (event) => { - - registerTFGNetherBlocks(event) - registerTFGSpaceBlocks(event) - registerTFGSupportBlocks(event) - registerTFGCrops(event) - - event.create('tfg:artificial_end_portal_frame') - .stoneSoundType() - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - .fullBlock(true) - .item(item => { - item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) - }) - - event.create('tfg:dry_ice', 'tfg:particle_emitter') - .textureAll('tfg:block/dry_ice') - .soundType('bone_block') - .hardness(1) - .resistance(1) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfcambiental:cold_stuff') - .defaultTranslucent() - .mapColor('color_white') - .speedFactor(1.2) - .particleOffset(1, 1, 1) - .particleVelocity(0.05, 0, 0.05) - .particle('minecraft:campfire_cosy_smoke') - .particleCount(2) - .particleForced(false) - - // #region Machine Casings - - global.TFG_MACHINE_CASINGS.forEach(type => { - event.create(`tfg:casings/${type}`) - .translationKey(`block.tfg.casings.${type}`) - .model(`tfg:block/casings/${type}`) - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor('color_light_gray') - }) - - //#endregion - - // #region Decorative vases - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/loot_vase_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - - event.create(`tfg:decorative_vase/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/vase_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - .blockEntity(be => { - be.attach('tfc:inventory', { - width: 9, - height: 1, - size: size => size.isSmallerThan('large') - }) - be.rightClickOpensInventory() - }) - - event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/vase_unfired_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - }) - event.create('tfg:decorative_vase', 'cardinal') - .model('tfg:block/decorative_vase/vase') - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_gray`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - .blockEntity(be => { - be.attach('tfc:inventory', { - width: 9, - height: 1, - size: size => size.isSmallerThan('large') - }) - be.rightClickOpensInventory() - }) - - event.create('tfg:decorative_vase/unfired', 'cardinal') - .model('tfg:block/decorative_vase/vase_unfired') - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_gray`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - - // #endregion - - // #region Layer blocks - - event.create('tfg:ash_pile', 'tfg:layer_block') - .existingItem('tfc:powder/wood_ash') - .mapColor('color_light_gray') - - event.create('tfg:pile/black_sand', 'tfg:layer_block') - .existingItem('tfc:sand/black') - - event.create('tfg:pile/brown_sand', 'tfg:layer_block') - .existingItem('tfc:sand/brown') - - event.create('tfg:pile/green_sand', 'tfg:layer_block') - .existingItem('tfc:sand/green') - - event.create('tfg:pile/pink_sand', 'tfg:layer_block') - .existingItem('tfc:sand/pink') - - event.create('tfg:pile/red_sand', 'tfg:layer_block') - .existingItem('tfc:sand/red') - - event.create('tfg:pile/white_sand', 'tfg:layer_block') - .existingItem('tfc:sand/white') - - event.create('tfg:pile/yellow_sand', 'tfg:layer_block') - .existingItem('tfc:sand/yellow') - - event.create('tfg:pile/mars_sand', 'tfg:layer_block') - .existingItem('ad_astra:mars_sand') - - event.create('tfg:pile/moon_sand', 'tfg:layer_block') - .existingItem('ad_astra:moon_sand') - - event.create('tfg:pile/venus_sand', 'tfg:layer_block') - .existingItem('ad_astra:venus_sand') - - - // #endregion - - // #region Deprecated - - event.create('treetap:tap') - .requiresTool(false) - .textureAll('tfg:item/deprecated') - - event.create('tfcea:refrigerator') - .requiresTool(false) - .textureAll('tfg:item/deprecated') - - // #endregion -} +"use strict"; + +const registerTFGBlocks = (event) => { + + registerTFGNetherBlocks(event) + registerTFGSpaceBlocks(event) + registerTFGSupportBlocks(event) + registerTFGCrops(event) + + event.create('tfg:artificial_end_portal_frame') + .stoneSoundType() + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + .fullBlock(true) + .item(item => { + item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) + }) + + event.create('tfg:dry_ice', 'tfg:particle_emitter') + .textureAll('tfg:block/dry_ice') + .soundType('bone_block') + .hardness(1) + .resistance(1) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfcambiental:cold_stuff') + .defaultTranslucent() + .mapColor('color_white') + .speedFactor(1.2) + .particleOffset(1, 1, 1) + .particleVelocity(0.05, 0, 0.05) + .particle('minecraft:campfire_cosy_smoke') + .particleCount(2) + .particleForced(false) + + // #region Machine Casings + + global.TFG_MACHINE_CASINGS.forEach(type => { + event.create(`tfg:casings/${type}`) + .translationKey(`block.tfg.casings.${type}`) + .model(`tfg:block/casings/${type}`) + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor('color_light_gray') + }) + + //#endregion + + // #region Decorative vases + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/loot_vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + + event.create(`tfg:decorative_vase/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_unfired_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + }) + event.create('tfg:decorative_vase', 'cardinal') + .model('tfg:block/decorative_vase/vase') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create('tfg:decorative_vase/unfired', 'cardinal') + .model('tfg:block/decorative_vase/vase_unfired') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + + // #endregion + + // #region Layer blocks + + event.create('tfg:ash_pile', 'tfg:layer_block') + .existingItem('tfc:powder/wood_ash') + .mapColor('color_light_gray') + + event.create('tfg:pile/black_sand', 'tfg:layer_block') + .existingItem('tfc:sand/black') + + event.create('tfg:pile/brown_sand', 'tfg:layer_block') + .existingItem('tfc:sand/brown') + + event.create('tfg:pile/green_sand', 'tfg:layer_block') + .existingItem('tfc:sand/green') + + event.create('tfg:pile/pink_sand', 'tfg:layer_block') + .existingItem('tfc:sand/pink') + + event.create('tfg:pile/red_sand', 'tfg:layer_block') + .existingItem('tfc:sand/red') + + event.create('tfg:pile/white_sand', 'tfg:layer_block') + .existingItem('tfc:sand/white') + + event.create('tfg:pile/yellow_sand', 'tfg:layer_block') + .existingItem('tfc:sand/yellow') + + event.create('tfg:pile/mars_sand', 'tfg:layer_block') + .existingItem('ad_astra:mars_sand') + + event.create('tfg:pile/moon_sand', 'tfg:layer_block') + .existingItem('ad_astra:moon_sand') + + event.create('tfg:pile/venus_sand', 'tfg:layer_block') + .existingItem('ad_astra:venus_sand') + + + // #endregion + + // #region Deprecated + + event.create('treetap:tap') + .requiresTool(false) + .textureAll('tfg:item/deprecated') + + event.create('tfcea:refrigerator') + .requiresTool(false) + .textureAll('tfg:item/deprecated') + + // #endregion +} From 668f86fcfcc9655d8cafd52277283935cbc0c067 Mon Sep 17 00:00:00 2001 From: Redeix <59435925+Redeix@users.noreply.github.com> Date: Fri, 25 Jul 2025 03:17:21 -0500 Subject: [PATCH 06/50] Block interaction changes (#1434) * - Yeast recipe conflict fix * - Fixed seed oil voiding in barrels. And item weight inconsistency. * - Reduced loading screen logo size by 4MB * - Update Changelog * - Compressed loading screen images to maybe help with ram * - Added default gui scale to make the main menu look better on first launch * - Update Changelog * - Added utility script for adding circuits to existing recipes * fixed changelog conflict Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com> * - Added harvest baskets * - Fixed baked potato recipe mixing from oven * - Allowed elytras to be repaired regardless of damage * - Fixed sea water barrel recipe * - Gave plants tags to bushes so they can have other uses * - Pushed stubborn models * - updated Changelog * - Changelog typo * - Integrated Ad Astra wood * - Updated changelog * - Treated chipboard composite barrel lang * - Some Tacz fixes * - Jar dupe fix * - tacz data * - updated changelog * - we hate git * - Loading screen and main menu optimizations * - image push * - I think I got the title screen looking good on all resolutions * - Updated Changelog * - Added scale fix to loading screen too * - Fix pixel alignment * - Recipes, tags, assets+ for railgun * - Brick interaction events and new function for interacting with blocks * - Added parameter boolean to decide if blockstate should be copied * - Change for block interaction event constant that may fix linux crash * - Moved global array to the events file and some linter fixes. * - Updated Changelog --------- Signed-off-by: Redeix <59435925+Redeix@users.noreply.github.com> Signed-off-by: Pyritie Co-authored-by: Pyritie --- CHANGELOG.md | 4 + kubejs/server_scripts/tfg/events.js | 136 +++++++++++++++++++++--- kubejs/startup_scripts/tfg/constants.js | 98 ++++++----------- 3 files changed, 162 insertions(+), 76 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ae7fd916..d7a11d8e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog ## [Unreleased] +## Changes +- Added block interactions for mossy cobble (#1434) @Redeix +### Bug fixes +- Pushed a patch to fix registry errors on Linux machines. If you are still receiving these errors please report it [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues/1431) (#1434) @Redeix ## [0.10.3] - 23-07-2025 ### Changes diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js index f6d046e20..fec1c8e1f 100644 --- a/kubejs/server_scripts/tfg/events.js +++ b/kubejs/server_scripts/tfg/events.js @@ -18,7 +18,7 @@ pill_event.forEach(pill_event => { ItemEvents.rightClicked(event => { - const {item,server,player,player:{x,y,z,username}} = event + const {item,server,player,player:{x,y,z}} = event if (item.id != `tfg:${pill_event}_pill`) return item.count-- player.addItemCooldown(item, 100) @@ -27,7 +27,7 @@ }); ItemEvents.rightClicked(event => { - const {item,server,player,player:{x,y,z,username}} = event + const {item,server,player,player:{x,y,z}} = event if (item.id != `tfg:${pill_event}_tablet`) return item.count-- player.addItemCooldown(item, 100) @@ -37,7 +37,7 @@ }); ItemEvents.rightClicked(event => { - const {item,server,player,player:{x,y,z,username}} = event + const {item,server,player,player:{x,y,z}} = event if (item.id != `tfg:antipoison_pill`) return item.count-- player.addItemCooldown(item, 50) @@ -46,7 +46,7 @@ }); ItemEvents.rightClicked(event => { - const {item,server,player,player:{x,y,z,username}} = event + const {item,server,player,player:{x,y,z}} = event if (item.id != `tfg:antipoison_tablet`) return item.count-- player.addItemCooldown(item, 50) @@ -75,7 +75,7 @@ salvo_event.forEach(salvo_event => { ItemEvents.rightClicked(event => { - const {item,server,player,player:{x,y,z,username}} = event + const {item,server,player,player:{x,y,z}} = event if (item.id != `tfg:${salvo_event}_salvo`) return item.count-- player.addItemCooldown(item, 100) @@ -85,7 +85,7 @@ }); ItemEvents.rightClicked(event => { - const {item,server,player,player:{x,y,z,username}} = event + const {item,server,player,player:{x,y,z}} = event if (item.id != `tfg:absorption_salvo`) return item.count-- player.addItemCooldown(item, 200) @@ -94,7 +94,7 @@ ItemEvents.rightClicked(event => { }); ItemEvents.rightClicked(event => { - const {item,server,player,player:{x,y,z,username}} = event + const {item,server,player,player:{x,y,z}} = event if (item.id != `tfg:instant_health_salvo`) return item.count-- player.addItemCooldown(item, 100) @@ -107,7 +107,7 @@ ItemEvents.rightClicked(event => { // Vase Sounds global.MINECRAFT_DYE_NAMES.forEach(color => { BlockEvents.rightClicked(event => { - const {block,server,player,player:{x,y,z,username}} = event + const {block,server,player} = event if (block.id != `tfg:decorative_vase/${color}`) {return}{ server.runCommandSilent(`playsound tfc:block.quern.drag block ${player.username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`) }}) @@ -115,7 +115,7 @@ global.MINECRAFT_DYE_NAMES.forEach(color => { BlockEvents.rightClicked(event => { - const {block,server,player,player:{x,y,z,username}} = event + const {block,server,player} = event if (block.id != 'tfg:decorative_vase') {return}{ server.runCommandSilent(`playsound tfc:block.quern.drag block ${player.username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`) }}); @@ -246,12 +246,96 @@ function getTFGPersistentDataRoot(player) //#region Block Interactions +/** + * @typedef {Object} BrickVariant + * @property {string} brick_type - The name of the brick variant. + * @property {string|null} brick - Main brick block ID. + * @property {string|null} brick_stairs - Brick stairs block ID. + * @property {string|null} brick_slab - Brick slab block ID. + * @property {string|null} brick_wall - Brick wall block ID. + * @property {string|null} cracked_brick - Cracked brick block ID. + * @property {string|null} cracked_stairs - Cracked brick stairs block ID. + * @property {string|null} cracked_slab - Cracked brick slab block ID. + * @property {string|null} cracked_wall - Cracked brick wall block ID. + * @property {string|null} mossy_brick - Mossy brick block ID. + * @property {string|null} mossy_stairs - Mossy brick stairs block ID. + * @property {string|null} mossy_slab - Mossy brick slab block ID. + * @property {string|null} mossy_wall - Mossy brick wall block ID. + * @property {string|null} smooth_brick - Smooth brick block ID. + * @property {string|null} smooth_stairs - Smooth brick stairs block ID. + * @property {string|null} smooth_slab - Smooth brick slab block ID. + * @property {string|null} smooth_wall - Smooth brick wall block ID. + * @property {string|null} chiseled_brick - Chiseled brick block ID. + */ + +/** @type {BrickVariant[]} */ +global.BRICK_INDEX = (global.TFC_STONE_TYPES ?? []).map(tfc_stone => ({ + brick_type: tfc_stone, + brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`, + cracked_brick: `tfc:rock/cracked_bricks/${tfc_stone}`, cracked_stairs: `tfc:rock/cracked_bricks/${tfc_stone}_stairs`, cracked_slab: `tfc:rock/cracked_bricks/${tfc_stone}_slab`, cracked_wall: `tfc:rock/cracked_bricks/${tfc_stone}_wall`, + mossy_brick: `tfc:rock/mossy_bricks/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_bricks/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_bricks/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_bricks/${tfc_stone}_wall`, + smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`, + chiseled_brick: `tfc:rock/chiseled/${tfc_stone}` +})); +(global.CREATE_DECO_BRICK_TYPES ?? []).slice(0, -1).forEach(create_brick => { + global.BRICK_INDEX.push({ + brick_type: create_brick, + brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`, + cracked_brick: `createdeco:cracked_${create_brick}_bricks`, cracked_stairs: `createdeco:cracked_${create_brick}_brick_stairs`, cracked_slab: `createdeco:cracked_${create_brick}_brick_slab`, cracked_wall: `createdeco:cracked_${create_brick}_brick_wall`, + mossy_brick: `createdeco:mossy_${create_brick}_bricks`, mossy_stairs: `createdeco:mossy_${create_brick}_brick_stairs`, mossy_slab: `createdeco:mossy_${create_brick}_brick_slab`, mossy_wall: `createdeco:mossy_${create_brick}_brick_wall`, + smooth_brick: `createdeco:corner_${create_brick}_bricks`, smooth_stairs: `createdeco:corner_${create_brick}_brick_stairs`, smooth_slab: `createdeco:corner_${create_brick}_brick_slab`, smooth_wall: `createdeco:corner_${create_brick}_brick_wall`, + chiseled_brick: `createdeco:tiled_${create_brick}_bricks` + }) +}); +global.BRICK_INDEX = global.BRICK_INDEX.concat([ + // { + // brick_type: '', + // brick: '', brick_stairs: '', brick_slab: '', brick_wall: '', + // cracked_brick: '', cracked_stairs: '', cracked_slab: '', cracked_wall: '', + // mossy_brick: '', mossy_stairs: '', mossy_slab: '', mossy_wallL: '', + // smooth_brick: '', smooth_stairs: '', smooth_slab: '', smooth_wall: '', + // chiseled_brick: '' + // }, + { + brick_type: 'red', + brick: 'minecraft:bricks', brick_stairs: 'minecraft:brick_stairs', brick_slab: 'minecraft:brick_slab', brick_wall: 'minecraft:brick_wall', + cracked_brick: 'createdeco:cracked_red_bricks', cracked_stairs: 'createdeco:cracked_red_brick_stairs', cracked_slab: 'createdeco:cracked_red_brick_slab', cracked_wall: 'createdeco:cracked_red_brick_wall', + mossy_brick: 'createdeco:mossy_red_bricks', mossy_stairs: 'createdeco:mossy_red_brick_stairs', mossy_slab: 'createdeco:mossy_red_brick_slab', mossy_wall: 'createdeco:mossy_red_brick_wall', + smooth_brick: 'createdeco:corner_red_bricks', smooth_stairs: 'createdeco:corner_red_brick_stairs', smooth_slab: 'createdeco:corner_red_brick_slab', smooth_wall: 'createdeco:corner_red_brick_wall', + chiseled_brick: 'createdeco:tiled_red_bricks' + }, + { + brick_type: 'light_concrete', + brick: 'gtceu:light_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, + cracked_brick: 'gtceu:cracked_light_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, + mossy_brick: 'gtceu:mossy_light_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: 'gtceu:polished_light_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, + chiseled_brick: 'gtceu:chiseled_light_concrete' + }, + { + brick_type: 'dark_concrete', + brick: 'gtceu:dark_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, + cracked_brick: 'gtceu:cracked_dark_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, + mossy_brick: 'gtceu:mossy_dark_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: 'gtceu:polished_dark_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, + chiseled_brick: 'gtceu:chiseled_dark_concrete' + }, + { + brick_type: 'red_granite', + brick: 'gtceu:red_granite_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, + cracked_brick: 'gtceu:cracked_red_granite_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, + mossy_brick: 'gtceu:mossy_red_granite_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: 'gtceu:polished_red_granite', smooth_stairs: null, smooth_slab: null, smooth_wall: null, + chiseled_brick: 'gtceu:chiseled_red_granite' + } +]); + /** * Function for replacing a block with another block by crouch-right-clicking with a tool. - * + * * If input and output is null recipe will just return. * - * @param {*} event + * @param {*} event * @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended. * @param {string} outputBlock -Block ID of the replacement. * @param {string} toolId -Item ID of the tool. @@ -309,10 +393,10 @@ function transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTo /** * Function for replacing a block with another block by crouch-right-clicking with an item. - * + * * If input and output is null recipe will just return. * - * @param {*} event + * @param {*} event * @param {string} inputBlock -Block ID to be replaced. Accepts a Tag, but not recommended. * @param {string} outputBlock -Block ID of the replacement. * @param {string} itemId -Item ID of the consumed item. Accepts Tags. @@ -415,6 +499,32 @@ BlockEvents.rightClicked(event => { transformBlockWithTool(event, b.brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); transformBlockWithTool(event, b.mossy_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); transformBlockWithTool(event, b.cracked_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + // smooth -> + transformBlockWithTool(event, b.smooth_brick, b.cracked_brick, '#forge:tools/hammers',true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.smooth_brick, b.brick, '#forge:tools/files', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); } + //Other TFC Blocks + global.TFC_STONE_TYPES.forEach(stone => { + //cobble -> mossy + transformBlockWithItem(event, `tfc:rock/cobble/${stone}`, `tfc:rock/mossy_cobble/${stone}`, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/cobble/${stone}`, `tfc:rock/mossy_cobble/${stone}`, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/cobble/${stone}_stairs`, `tfc:rock/mossy_cobble/${stone}_stairs`, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/cobble/${stone}_stairs`, `tfc:rock/mossy_cobble/${stone}_stairs`, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/cobble/${stone}_slab`, `tfc:rock/mossy_cobble/${stone}_slab`, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/cobble/${stone}_slab`, `tfc:rock/mossy_cobble/${stone}_slab`, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}_wall`, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}_wall`, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + //mossy -> cobble + transformBlockWithTool(event, `tfc:rock/mossy_cobble/${stone}`, `tfc:rock/cobble/${stone}`, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/mossy_cobble/${stone}`, `tfc:rock/cobble/${stone}`, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, `tfc:rock/mossy_cobble/${stone}_stairs`, `tfc:rock/cobble/${stone}_stairs`, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/mossy_cobble/${stone}_stairs`, `tfc:rock/cobble/${stone}_stairs`, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, `tfc:rock/mossy_cobble/${stone}_slab`, `tfc:rock/cobble/${stone}_slab`, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/mossy_cobble/${stone}_slab`, `tfc:rock/cobble/${stone}_slab`, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, `tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/cobble/${stone}_wall`, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, `tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/cobble/${stone}_wall`, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + }); }); //#endregion \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index abfc5e567..1404c41ff 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -1,6 +1,8 @@ "use strict"; - +/** + * @type {string[]} - Item Names + */ global.AIRCRAFT_UPGRADES = [ "lv_aircraft_engine", "hv_aircraft_engine", @@ -22,6 +24,9 @@ global.AIRCRAFT_UPGRADES = [ "titanium_hull_reinforcement" ] +/** + * @type {string[]} - Item IDs + */ global.EXTRATERRESTRIAL_RAW_ROCKS = [ 'ad_astra:moon_stone', 'ad_astra:moon_deepslate', @@ -32,6 +37,9 @@ global.EXTRATERRESTRIAL_RAW_ROCKS = [ 'gtceu:red_granite' ] +/** + * @type {string[]} - Item IDs + */ global.EXTRATERRESTRIAL_HARDENED_ROCKS = [ 'tfg:rock/hardened_moon_stone', 'tfg:rock/hardened_moon_deepslate', @@ -42,6 +50,9 @@ global.EXTRATERRESTRIAL_HARDENED_ROCKS = [ 'tfg:rock/hardened_red_granite' ] +/** + * @type {string[]} - Stone Names + */ global.MOON_STONE_TYPES = [ "andesite", "basalt", @@ -54,6 +65,9 @@ global.MOON_STONE_TYPES = [ "rhyolite" ] +/** + * @type {string[]} - Biome IDs + */ global.MOON_BIOMES = [ 'tfg:moon/lunar_plains', 'tfg:moon/lunar_sands', @@ -67,6 +81,9 @@ global.MOON_BIOMES = [ 'tfg:moon/lunar_lights_sparse' ] +/** + * @type {string[]} - Biome IDs + */ global.MARS_BIOMES = [ 'tfg:mars/martian_oasis', 'tfg:mars/martian_deep_desert', @@ -83,6 +100,9 @@ global.MARS_BIOMES = [ 'tfg:mars/martian_mountains' ] +/** + * @type {string[]} - Block Names + */ global.TFG_MACHINE_CASINGS = [ //'machine_casing_clean_stainless_steel_desh', //'machine_casing_desh_ptfe', @@ -94,8 +114,22 @@ global.TFG_MACHINE_CASINGS = [ 'machine_casing_red_solar_panel' ]; +/** + * @type {string[]} - Circuit Tiers + */ global.UNIVERSAL_CIRCUIT_TIERS = ["ulv", "lv", "mv", "hv", "ev", "iv", "luv", "zpm", "uv", "uhv"]; +/** + * @typedef {Object} Fruit + * @property {string} name - Fruit Name + * @property {string} id - Fruit ID + * @property {number} saturation - Saturation Value + * @property {number} water - Water Value + * @property {number} fruit - Fruit Value + * @property {number} decay - Decay Modifier + */ + +/** @type {Fruit[]} */ global.FOOD_FRUIT = [ {name: 'red_grapes', id: 'firmalife:food/red_grapes', saturation: 0.4, water: 2, fruit: 0.5, decay: 2.25}, {name: 'white_grapes', id: 'firmalife:food/white_grapes', saturation: 0.4, water: 2, fruit: 0.5, decay: 2.25}, @@ -127,65 +161,3 @@ global.FOOD_FRUIT = [ {name: 'fig', id: 'firmalife:food/fig', saturation: 1, water: 5, fruit: 0.9, decay: 1}, {name: 'pineapple', id: 'firmalife:food/pineapple', saturation: 1, water: 1, fruit: 0.8, decay: 4.5} ]; - -/** @global */ -global.BRICK_INDEX = global.TFC_STONE_TYPES.map(tfc_stone => ({ - brick_type: tfc_stone, - brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`, - cracked_brick: `tfc:rock/cracked_bricks/${tfc_stone}`, cracked_stairs: `tfc:rock/cracked_bricks/${tfc_stone}_stairs`, cracked_slab: `tfc:rock/cracked_bricks/${tfc_stone}_slab`, cracked_wall: `tfc:rock/cracked_bricks/${tfc_stone}_wall`, - mossy_brick: `tfc:rock/mossy_bricks/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_bricks/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_bricks/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_bricks/${tfc_stone}_wall`, - smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`, - chiseled_brick: `tfc:rock/chiseled/${tfc_stone}` -})); -global.CREATE_DECO_BRICK_TYPES.slice(0, -1).forEach(create_brick => { - global.BRICK_INDEX.push({ - brick_type: create_brick, - brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`, - cracked_brick: `createdeco:cracked_${create_brick}_bricks`, cracked_stairs: `createdeco:cracked_${create_brick}_brick_stairs`, cracked_slab: `createdeco:cracked_${create_brick}_brick_slab`, cracked_wall: `createdeco:cracked_${create_brick}_brick_wall`, - mossy_brick: `createdeco:mossy_${create_brick}_bricks`, mossy_stairs: `createdeco:mossy_${create_brick}_brick_stairs`, mossy_slab: `createdeco:mossy_${create_brick}_brick_slab`, mossy_wall: `createdeco:mossy_${create_brick}_brick_wall`, - smooth_brick: `createdeco:corner_${create_brick}_bricks`, smooth_stairs: `createdeco:corner_${create_brick}_brick_stairs`, smooth_slab: `createdeco:corner_${create_brick}_brick_slab`, smooth_wall: `createdeco:corner_${create_brick}_brick_wall`, - chiseled_brick: `createdeco:tiled_${create_brick}_bricks` - }) -}); -global.BRICK_INDEX = global.BRICK_INDEX.concat([ - // { - // brick_type: '', - // brick: '', brick_stairs: '', brick_slab: '', brick_wall: '', - // cracked_brick: '', cracked_stairs: '', cracked_slab: '', cracked_wall: '', - // mossy_brick: '', mossy_stairs: '', mossy_slab: '', mossy_wallL: '', - // smooth_brick: '', smooth_stairs: '', smooth_slab: '', smooth_wall: '', - // chiseled_brick: '' - // }, - { - brick_type: 'red', - brick: 'minecraft:bricks', brick_stairs: 'minecraft:brick_stairs', brick_slab: 'minecraft:brick_slab', brick_wall: 'minecraft:brick_wall', - cracked_brick: 'createdeco:cracked_red_bricks', cracked_stairs: 'createdeco:cracked_red_brick_stairs', cracked_slab: 'createdeco:cracked_red_brick_slab', cracked_wall: 'createdeco:cracked_red_brick_wall', - mossy_brick: 'createdeco:mossy_red_bricks', mossy_stairs: 'createdeco:mossy_red_brick_stairs', mossy_slab: 'createdeco:mossy_red_brick_slab', mossy_wall: 'createdeco:mossy_red_brick_wall', - smooth_brick: 'createdeco:corner_red_bricks', smooth_stairs: 'createdeco:corner_red_brick_stairs', smooth_slab: 'createdeco:corner_red_brick_slab', smooth_wall: 'createdeco:corner_red_brick_wall', - chiseled_brick: 'createdeco:tiled_red_bricks' - }, - { - brick_type: 'light_concrete', - brick: 'gtceu:light_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_light_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_light_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_light_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_light_concrete' - }, - { - brick_type: 'dark_concrete', - brick: 'gtceu:dark_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_dark_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_dark_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_dark_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_dark_concrete' - }, - { - brick_type: 'red_granite', - brick: 'gtceu:red_granite_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_red_granite_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_red_granite_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_red_granite', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_red_granite' - } -]) \ No newline at end of file From 6bc6549d3017044174809b8ec69f4eff8ea970bf Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 13:22:13 +0500 Subject: [PATCH 07/50] Update pakku-lock.json --- pakku-lock.json | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 87cbf1a42..36c80844d 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -10437,7 +10437,7 @@ "3Hn4sTVbBvKyQJJS" ], "type": "MOD", - "side": "BOTH", + "side": "CLIENT", "slug": { "curseforge": "pick-up-notifier", "modrinth": "pick-up-notifier" @@ -12357,21 +12357,23 @@ ] }, { - "pakku_id": "zerUE7n4nmHdsmgn", + "pakku_id": "oKmbT8tEk75s2Dfq", "pakku_links": [ - "F6H99cZ4H6jZRpEK", - "fMkiGcRPRv1DdRC1", "64uacGcEw697jVGs" ], "type": "MOD", + "side": "BOTH", "slug": { - "curseforge": "tfc-grooming-station" + "curseforge": "tfc-grooming-station", + "modrinth": "tfc-grooming-station" }, "name": { - "curseforge": "TFC Grooming Station" + "curseforge": "TFC Grooming Station", + "modrinth": "TFC Grooming Station" }, "id": { - "curseforge": "1003785" + "curseforge": "1003785", + "modrinth": "2yZ8ZSeO" }, "files": [ { @@ -12396,6 +12398,27 @@ ], "size": 134178, "date_published": "2025-01-23T23:02:18.440Z" + }, + { + "type": "modrinth", + "file_name": "tfcgroomer-1.20.1-0.1.3.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://cdn.modrinth.com/data/2yZ8ZSeO/versions/XkumbkLd/tfcgroomer-1.20.1-0.1.3.jar", + "id": "XkumbkLd", + "parent_id": "2yZ8ZSeO", + "hashes": { + "sha512": "0748272427ca889f733f51e14bebfefcb0d8dc02734ed4be34a75ab55085a835b6e80864a0e857ab2f4c8ed48a7523272d41a008697dc4d7c347806c0376845e", + "sha1": "292c57951e1fe01e2159287e0392e4afda1d8153" + }, + "required_dependencies": [], + "size": 133849, + "date_published": "2025-07-20T10:58:34.516207Z" } ] }, From aa8ba96394b1f14c97b7799af56b040b10cfc742 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 13:24:52 +0500 Subject: [PATCH 08/50] Update build.yml --- .github/workflows/build.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fc30992b5..e267b1a1e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -186,26 +186,26 @@ jobs: ${{ steps.read_diff.outputs.diff }} ``` - - name: πŸ” Create Pull Request if tag not found - id: create_pr - if: ${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'true' && github.repository == 'TerraFirmaGreg-Team/Modpack-Modern' }} - uses: devops-infra/action-pull-request@v0.6.0 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - source_branch: dev - target_branch: main - title: 'Release: ${{ steps.changelog.outputs.version }}' - body: | - **This is an automated Pull Request from the dev branch.** + # - name: πŸ” Create Pull Request if tag not found + # id: create_pr + # if: ${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'true' && github.repository_owner == 'TerraFirmaGreg-Team' }} + # uses: devops-infra/action-pull-request@v0.6.0 + # with: + # github_token: ${{ secrets.GITHUB_TOKEN }} + # source_branch: dev + # target_branch: main + # title: 'Release: ${{ steps.changelog.outputs.version }}' + # body: | + # **This is an automated Pull Request from the dev branch.** - πŸ“ƒ **Name**: ${{ steps.check.outputs.project_name }} - πŸ“ƒ **Release**: `${{ steps.changelog.outputs.version }}` - πŸ“ƒ **Release Type**: `${{ steps.pakku_info.outputs.release_type }}` - πŸ“ƒ **Game Version**: `${{ steps.check.outputs.minecraft_version }}` + # πŸ“ƒ **Name**: ${{ steps.check.outputs.project_name }} + # πŸ“ƒ **Release**: `${{ steps.changelog.outputs.version }}` + # πŸ“ƒ **Release Type**: `${{ steps.pakku_info.outputs.release_type }}` + # πŸ“ƒ **Game Version**: `${{ steps.check.outputs.minecraft_version }}` - ${{ steps.changelog.outputs.description }} - reviewer: Xikaro - ignore_users: "dependabot" + # ${{ steps.changelog.outputs.description }} + # reviewer: Xikaro + # ignore_users: "dependabot" - name: πŸ“ Generate Github Summary uses: WcAServices/markdown-template-action@v1.1.1 From f5e7e48062c77a9bbd79b7eebba9e538f39da688 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 12:18:58 +0100 Subject: [PATCH 09/50] git pls --- kubejs/startup_scripts/tfg/blocks.js | 350 +++++++++++++-------------- 1 file changed, 175 insertions(+), 175 deletions(-) diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index 760696f4d..feab89736 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -1,175 +1,175 @@ -"use strict"; - -const registerTFGBlocks = (event) => { - - registerTFGNetherBlocks(event) - registerTFGSpaceBlocks(event) - registerTFGSupportBlocks(event) - registerTFGCrops(event) - - event.create('tfg:artificial_end_portal_frame') - .stoneSoundType() - .tagBlock('minecraft:mineable/pickaxe') - .requiresTool(true) - .fullBlock(true) - .item(item => { - item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) - }) - - event.create('tfg:dry_ice', 'tfg:particle_emitter') - .textureAll('tfg:block/dry_ice') - .soundType('bone_block') - .hardness(1) - .resistance(1) - .tagBlock('minecraft:mineable/pickaxe') - .tagBlock('tfcambiental:cold_stuff') - .defaultTranslucent() - .mapColor('color_white') - .speedFactor(1.2) - .particleOffset(1, 1, 1) - .particleVelocity(0.05, 0, 0.05) - .particle('minecraft:campfire_cosy_smoke') - .particleCount(2) - .particleForced(false) - - // #region Machine Casings - - global.TFG_MACHINE_CASINGS.forEach(type => { - event.create(`tfg:casings/${type}`) - .translationKey(`block.tfg.casings.${type}`) - .model(`tfg:block/casings/${type}`) - .soundType('copper') - .hardness(5) - .resistance(6) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor('color_light_gray') - }) - - //#endregion - - // #region Decorative vases - global.MINECRAFT_DYE_NAMES.forEach(color => { - event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/loot_vase_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - - event.create(`tfg:decorative_vase/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/vase_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - .blockEntity(be => { - be.attach('tfc:inventory', { - width: 9, - height: 1, - size: size => size.isSmallerThan('large') - }) - be.rightClickOpensInventory() - }) - - event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') - .model(`tfg:block/decorative_vase/vase_unfired_${color}`) - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_${color}`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - }) - event.create('tfg:decorative_vase', 'cardinal') - .model('tfg:block/decorative_vase/vase') - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_gray`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - .blockEntity(be => { - be.attach('tfc:inventory', { - width: 9, - height: 1, - size: size => size.isSmallerThan('large') - }) - be.rightClickOpensInventory() - }) - - event.create('tfg:decorative_vase/unfired', 'cardinal') - .model('tfg:block/decorative_vase/vase_unfired') - .soundType('decorated_pot') - .hardness(0.7) - .tagBlock('minecraft:mineable/pickaxe') - .mapColor(`color_gray`) - .box(2, 0, 2, 14, 20, 14) - .fullBlock(false) - .opaque(false) - .renderType('cutout') - - // #endregion - - // #region Layer blocks - - event.create('tfg:ash_pile', 'tfg:layer_block') - .existingItem('tfc:powder/wood_ash') - .mapColor('color_light_gray') - - event.create('tfg:pile/black_sand', 'tfg:layer_block') - .existingItem('tfc:sand/black') - - event.create('tfg:pile/brown_sand', 'tfg:layer_block') - .existingItem('tfc:sand/brown') - - event.create('tfg:pile/green_sand', 'tfg:layer_block') - .existingItem('tfc:sand/green') - - event.create('tfg:pile/pink_sand', 'tfg:layer_block') - .existingItem('tfc:sand/pink') - - event.create('tfg:pile/red_sand', 'tfg:layer_block') - .existingItem('tfc:sand/red') - - event.create('tfg:pile/white_sand', 'tfg:layer_block') - .existingItem('tfc:sand/white') - - event.create('tfg:pile/yellow_sand', 'tfg:layer_block') - .existingItem('tfc:sand/yellow') - - event.create('tfg:pile/mars_sand', 'tfg:layer_block') - .existingItem('ad_astra:mars_sand') - - event.create('tfg:pile/moon_sand', 'tfg:layer_block') - .existingItem('ad_astra:moon_sand') - - event.create('tfg:pile/venus_sand', 'tfg:layer_block') - .existingItem('ad_astra:venus_sand') - - - // #endregion - - // #region Deprecated - - event.create('treetap:tap') - .requiresTool(false) - .textureAll('tfg:item/deprecated') - - event.create('tfcea:refrigerator') - .requiresTool(false) - .textureAll('tfg:item/deprecated') - - // #endregion -} +"use strict"; + +const registerTFGBlocks = (event) => { + + registerTFGNetherBlocks(event) + registerTFGSpaceBlocks(event) + registerTFGSupportBlocks(event) + registerTFGCrops(event) + + event.create('tfg:artificial_end_portal_frame') + .stoneSoundType() + .tagBlock('minecraft:mineable/pickaxe') + .requiresTool(true) + .fullBlock(true) + .item(item => { + item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) + }) + + event.create('tfg:dry_ice', 'tfg:particle_emitter') + .textureAll('tfg:block/dry_ice') + .soundType('bone_block') + .hardness(1) + .resistance(1) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfcambiental:cold_stuff') + .defaultTranslucent() + .mapColor('color_white') + .speedFactor(1.2) + .particleOffset(1, 1, 1) + .particleVelocity(0.05, 0, 0.05) + .particle('minecraft:campfire_cosy_smoke') + .particleCount(2) + .particleForced(false) + + // #region Machine Casings + + global.TFG_MACHINE_CASINGS.forEach(type => { + event.create(`tfg:casings/${type}`) + .translationKey(`block.tfg.casings.${type}`) + .model(`tfg:block/casings/${type}`) + .soundType('copper') + .hardness(5) + .resistance(6) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor('color_light_gray') + }) + + //#endregion + + // #region Decorative vases + global.MINECRAFT_DYE_NAMES.forEach(color => { + event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/loot_vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + + event.create(`tfg:decorative_vase/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') + .model(`tfg:block/decorative_vase/vase_unfired_${color}`) + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_${color}`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + }) + event.create('tfg:decorative_vase', 'cardinal') + .model('tfg:block/decorative_vase/vase') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + .blockEntity(be => { + be.attach('tfc:inventory', { + width: 9, + height: 1, + size: size => size.isSmallerThan('large') + }) + be.rightClickOpensInventory() + }) + + event.create('tfg:decorative_vase/unfired', 'cardinal') + .model('tfg:block/decorative_vase/vase_unfired') + .soundType('decorated_pot') + .hardness(0.7) + .tagBlock('minecraft:mineable/pickaxe') + .mapColor(`color_gray`) + .box(2, 0, 2, 14, 20, 14) + .fullBlock(false) + .opaque(false) + .renderType('cutout') + + // #endregion + + // #region Layer blocks + + event.create('tfg:ash_pile', 'tfg:layer_block') + .existingItem('tfc:powder/wood_ash') + .mapColor('color_light_gray') + + event.create('tfg:pile/black_sand', 'tfg:layer_block') + .existingItem('tfc:sand/black') + + event.create('tfg:pile/brown_sand', 'tfg:layer_block') + .existingItem('tfc:sand/brown') + + event.create('tfg:pile/green_sand', 'tfg:layer_block') + .existingItem('tfc:sand/green') + + event.create('tfg:pile/pink_sand', 'tfg:layer_block') + .existingItem('tfc:sand/pink') + + event.create('tfg:pile/red_sand', 'tfg:layer_block') + .existingItem('tfc:sand/red') + + event.create('tfg:pile/white_sand', 'tfg:layer_block') + .existingItem('tfc:sand/white') + + event.create('tfg:pile/yellow_sand', 'tfg:layer_block') + .existingItem('tfc:sand/yellow') + + event.create('tfg:pile/mars_sand', 'tfg:layer_block') + .existingItem('ad_astra:mars_sand') + + event.create('tfg:pile/moon_sand', 'tfg:layer_block') + .existingItem('ad_astra:moon_sand') + + event.create('tfg:pile/venus_sand', 'tfg:layer_block') + .existingItem('ad_astra:venus_sand') + + + // #endregion + + // #region Deprecated + + event.create('treetap:tap') + .requiresTool(false) + .textureAll('tfg:item/deprecated') + + event.create('tfcea:refrigerator') + .requiresTool(false) + .textureAll('tfg:item/deprecated') + + // #endregion +} From 06ee7a8e4a25858d7757677f34514feeb601f865 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 12:22:11 +0100 Subject: [PATCH 10/50] made clipboard recipe cheaper #1432 --- kubejs/server_scripts/create/recipes.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index ddc7db17b..1a7ac3072 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -1215,13 +1215,14 @@ const registerCreateRecipes = (event) => { // Π”Π½Π΅Π²Π½ΠΈΠΊ event.shaped('create:clipboard', [ - 'A', - 'B', - 'C' + ' AD', + ' B ', + ' C ' ], { - A: '#forge:bolts/wrought_iron', - B: '#forge:plates/wood', - C: 'minecraft:paper' + A: '#forge:small_springs', + B: '#tfc:lumber', + C: 'minecraft:paper', + D: '#forge:bolts' }).id('tfg:create/shaped/clipboard') // ЛСстница ΠΈΠ· ΠΆΠ΅Π»Π΅Π·Π° From ce21c0b4c5f14035b52a69df0490b1428f6466de Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 12:25:48 +0100 Subject: [PATCH 11/50] fixes small spring melt amounts for #1435, also added melting recipe for nuggets --- kubejs/server_scripts/tfc/recipes.materials.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js index 07d576a39..37fb037eb 100644 --- a/kubejs/server_scripts/tfc/recipes.materials.js +++ b/kubejs/server_scripts/tfc/recipes.materials.js @@ -582,7 +582,7 @@ function registerTFCMaterialsRecipes(event) { if (!smallSpringItem.isEmpty() && !rodItem.isEmpty()) { event.recipes.tfc.heating(smallSpringItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) .id(`tfc:heating/metal/${material.getName()}_small_spring`) event.recipes.tfc.anvil(smallSpringItem, rodItem, ['hit_last', 'bend_second_last', 'bend_third_last']) @@ -593,9 +593,14 @@ function registerTFCMaterialsRecipes(event) { // Nugget let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 6) if (!nuggetItem.isEmpty()) { + + event.recipes.tfc.heating(`#forge:nuggets/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144/9)) + .id(`tfc:heating/metal/${material.getName()}_nugget`) + event.recipes.tfc.anvil(nuggetItem, ingotItem, ['punch_last', 'hit_second_last', 'punch_third_last']) .tier(tfcProperty.getTier()) - .id(`tfg:anvil/${material.getName()}_nugget`) + .id(`tfc:anvil/${material.getName()}_nugget`) } } From ab8d2c3e63d1a375d6d9848a517d698b26eb5310 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 12:28:18 +0100 Subject: [PATCH 12/50] fixes #1426 --- .../field_guide/en_us/entries/mechanics/papermaking.json | 2 +- .../field_guide/uk_ua/entries/mechanics/papermaking.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/papermaking.json b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/papermaking.json index b0b7f17e0..784a4245c 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/papermaking.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/en_us/entries/mechanics/papermaking.json @@ -5,7 +5,7 @@ "pages": [ { "type": "patchouli:text", - "text": "$(thing)Paper$() is either made from the processed stalk of the $(l:mechanics/crops#papyrus)Papyrus$() crop, from $(l:mechanics/papermaking#parchment)Animal Hides$(), or $(l:mechanics/papermaking/paperfromwood)from a lengthy process using specific types of Wood$(). Paper is useful for written materials like $(thing)Books$() and $(thing)Maps$()." + "text": "$(thing)Paper$() is either made from the processed stalk of the $(l:mechanics/crops#papyrus)Papyrus$() crop, from $(l:mechanics/papermaking#parchment)Animal Hides$(), or $(l:mechanics/papermaking#paperfromwood)from a lengthy process using specific types of Wood$(). Paper is useful for written materials like $(thing)Books$() and $(thing)Maps$()." }, { "type": "patchouli:crafting", diff --git a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/papermaking.json b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/papermaking.json index 5beabc2a4..1a0af4df0 100644 --- a/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/papermaking.json +++ b/kubejs/assets/tfc/patchouli_books/field_guide/uk_ua/entries/mechanics/papermaking.json @@ -5,7 +5,7 @@ "pages": [ { "type": "patchouli:text", - "text": "$(thing)ΠŸΠ°ΠΏΡ–Ρ€$() Π²ΠΈΠ³ΠΎΡ‚ΠΎΠ²Π»ΡΡ”Ρ‚ΡŒΡΡ Π· ΠΎΠ±Ρ€ΠΎΠ±Π»Π΅Π½ΠΈΡ… стСбСл $(l:mechanics/crops#papyrus)ΠŸΠ°ΠΏΡ–Ρ€ΡƒΡΡƒ$(), Π· $(l:mechanics/papermaking#parchment)Π¨ΠΊΡƒΡ€ Ρ‚Π²Π°Ρ€ΠΈΠ½$(), Π°Π±ΠΎ $(l:mechanics/papermaking/paperfromwood)Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ– Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΎΠ³ΠΎ процСсу Π· використанням ΠΏΠ΅Π²Π½ΠΈΡ… Π²ΠΈΠ΄Ρ–Π² Π΄Π΅Ρ€Π΅Π²ΠΈΠ½ΠΈ$(). ΠŸΠ°ΠΏΡ–Ρ€ корисний для ΠΏΠΈΡΡŒΠΌΠΎΠ²ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€Ρ–Π°Π»Ρ–Π², Ρ‚Π°ΠΊΠΈΡ… як $(thing)Книги$() Ρ– $(thing)ΠšΠ°Ρ€Ρ‚ΠΈ$()." + "text": "$(thing)ΠŸΠ°ΠΏΡ–Ρ€$() Π²ΠΈΠ³ΠΎΡ‚ΠΎΠ²Π»ΡΡ”Ρ‚ΡŒΡΡ Π· ΠΎΠ±Ρ€ΠΎΠ±Π»Π΅Π½ΠΈΡ… стСбСл $(l:mechanics/crops#papyrus)ΠŸΠ°ΠΏΡ–Ρ€ΡƒΡΡƒ$(), Π· $(l:mechanics/papermaking#parchment)Π¨ΠΊΡƒΡ€ Ρ‚Π²Π°Ρ€ΠΈΠ½$(), Π°Π±ΠΎ $(l:mechanics/papermaking#paperfromwood)Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ– Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΎΠ³ΠΎ процСсу Π· використанням ΠΏΠ΅Π²Π½ΠΈΡ… Π²ΠΈΠ΄Ρ–Π² Π΄Π΅Ρ€Π΅Π²ΠΈΠ½ΠΈ$(). ΠŸΠ°ΠΏΡ–Ρ€ корисний для ΠΏΠΈΡΡŒΠΌΠΎΠ²ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€Ρ–Π°Π»Ρ–Π², Ρ‚Π°ΠΊΠΈΡ… як $(thing)Книги$() Ρ– $(thing)ΠšΠ°Ρ€Ρ‚ΠΈ$()." }, { "type": "patchouli:crafting", From 8d4a7131af06d91b7cbf70f504fb00a1be7d5f34 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 12:31:54 +0100 Subject: [PATCH 13/50] changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d7a11d8e5..2dbcb4d5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,11 @@ ## [Unreleased] ## Changes - Added block interactions for mossy cobble (#1434) @Redeix +- Clipboards are now craftable earlier (#1432) @Pyritie ### Bug fixes - Pushed a patch to fix registry errors on Linux machines. If you are still receiving these errors please report it [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues/1431) (#1434) @Redeix +- Fixed a broken link in the papermaking field guide entry (#1426) @Pyritie +- Fixed small springs melting into twice as much as they should (#1435) @Pyritie ## [0.10.3] - 23-07-2025 ### Changes From fdf80ff7deb2c857220ed43760b549cfb0cfcb40 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 12:38:19 +0100 Subject: [PATCH 14/50] typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2dbcb4d5e..a1c642abb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog ## [Unreleased] -## Changes +### Changes - Added block interactions for mossy cobble (#1434) @Redeix - Clipboards are now craftable earlier (#1432) @Pyritie ### Bug fixes From 2764a81b53c5ffb36bedfc52431e6ae71a650ac3 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 13:16:10 +0100 Subject: [PATCH 15/50] fixed not being able to use framed chests on contraptions, and made mars water infinite via hose pulley --- kubejs/server_scripts/create/tags.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index 14176deba..1e80fb660 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -98,6 +98,7 @@ const registerCreateBlockTags = (event) => { event.add('create:fan_processing_catalysts/splashing', 'tfc:fluid/spring_water') event.add('create:chest_mounted_storage', '#forge:chests/wooden') + event.add('create:chest_mounted_storage', 'framedblocks:framed_chest') } @@ -123,5 +124,6 @@ const registerCreateFluidTags = (event) => { event.add('create:fan_processing_catalysts/splashing', 'tfc:spring_water') //Hose Pulley Infinites + event.add('create:bottomless/allow', 'tfg:semiheavy_ammoniacal_water') event.remove('create:bottomless/allow', 'minecraft:lava') } From 93c2fdbbc17fb59e2a0597ab41ed2dcd3d1093c6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 13:16:53 +0100 Subject: [PATCH 16/50] you can also use mars water for ore washing --- kubejs/server_scripts/create/tags.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js index 1e80fb660..051366d6b 100644 --- a/kubejs/server_scripts/create/tags.js +++ b/kubejs/server_scripts/create/tags.js @@ -96,6 +96,7 @@ const registerCreateBlockTags = (event) => { event.add('create:fan_processing_catalysts/splashing', 'tfc:fluid/river_water') event.add('create:fan_processing_catalysts/splashing', 'tfc:fluid/salt_water') event.add('create:fan_processing_catalysts/splashing', 'tfc:fluid/spring_water') + event.add('create:fan_processing_catalysts/splashing', 'tfg:semiheavy_ammoniacal_water') event.add('create:chest_mounted_storage', '#forge:chests/wooden') event.add('create:chest_mounted_storage', 'framedblocks:framed_chest') From 439a3564465256083af8a35d00c9e82f43e5e47c Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 22:28:11 +0500 Subject: [PATCH 17/50] Update build.yml --- .github/workflows/build.yml | 70 +++++++++++++++++++++++++------------ 1 file changed, 47 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e267b1a1e..92e61fc39 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,11 +12,13 @@ concurrency: env: DEV_ENVIRONMENT: ${{ github.ref_name != 'main' }} + IS_REPO_OWNER: ${{ github.repository_owner == 'TerraFirmaGreg-Team' }} jobs: info: name: πŸ–₯️ Project Info runs-on: ubuntu-latest + if: ${{ env.IS_REPO_OWNER }} outputs: project_version: ${{ steps.check.outputs.project_version }} project_name: ${{ steps.check.outputs.project_name }} @@ -27,6 +29,7 @@ jobs: diff: ${{ steps.read_diff.outputs.diff }} exists: ${{ steps.check.outputs.exists }} make_release: ${{ steps.check.outputs.make_release }} + make_pr: ${{ steps.check.outputs.make_pr }} steps: - name: Checkout @@ -161,8 +164,6 @@ jobs: id: check shell: bash run: | - echo "make_release=${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'false' }}" >> $GITHUB_OUTPUT - echo "exists=${{ steps.check_tag.outputs.exists }}" >> $GITHUB_OUTPUT echo "project_name=${{ steps.pakku_info.outputs.name }}" >> $GITHUB_OUTPUT MC_VERSIONS_JSON='${{ steps.pakku_lock_info.outputs.mc_versions }}' MINECRAFT_VERSION=$(echo "$MC_VERSIONS_JSON" | jq -r '.[0]' | tr -d '[]"') @@ -176,6 +177,9 @@ jobs: echo "release_type=${{ steps.pakku_info.outputs.release_type }}" >> $GITHUB_OUTPUT fi + echo "make_release=${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'false' }}" >> $GITHUB_OUTPUT + echo "make_pr=${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'true' }}" >> $GITHUB_OUTPUT + - name: πŸ“„ Format diff id: format_diff if: ${{ steps.read_diff.outputs.diff != '' }} @@ -186,29 +190,9 @@ jobs: ${{ steps.read_diff.outputs.diff }} ``` - # - name: πŸ” Create Pull Request if tag not found - # id: create_pr - # if: ${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'true' && github.repository_owner == 'TerraFirmaGreg-Team' }} - # uses: devops-infra/action-pull-request@v0.6.0 - # with: - # github_token: ${{ secrets.GITHUB_TOKEN }} - # source_branch: dev - # target_branch: main - # title: 'Release: ${{ steps.changelog.outputs.version }}' - # body: | - # **This is an automated Pull Request from the dev branch.** - - # πŸ“ƒ **Name**: ${{ steps.check.outputs.project_name }} - # πŸ“ƒ **Release**: `${{ steps.changelog.outputs.version }}` - # πŸ“ƒ **Release Type**: `${{ steps.pakku_info.outputs.release_type }}` - # πŸ“ƒ **Game Version**: `${{ steps.check.outputs.minecraft_version }}` - - # ${{ steps.changelog.outputs.description }} - # reviewer: Xikaro - # ignore_users: "dependabot" - name: πŸ“ Generate Github Summary - uses: WcAServices/markdown-template-action@v1.1.1 + uses: WcAServices/markdown-template-action@v1.1.0 with: template: | πŸ“ƒ **Name**: ${{ steps.check.outputs.project_name }} @@ -218,11 +202,51 @@ jobs: πŸ“ƒ **Dev Environment**: `${{ env.DEV_ENVIRONMENT }}` πŸ“ƒ **Tag Exists**: `${{ steps.check.outputs.exists }}` + πŸ“ƒ **Make Pull Request**: `${{ steps.check.outputs.make_pr }}` πŸ“ƒ **Make Release**: `${{ steps.check.outputs.make_release }}` ${{ steps.changelog_dev.outputs.description }} ${{ steps.format_diff.outputs.text }} + + create-pr: + name: 🀝 Create Release PR + needs: [info] + runs-on: ubuntu-latest + if: ${{ needs.info.outputs.make_pr == 'true' && needs.info.outputs.release_type != 'Unreleased' }} + steps: + + - name: πŸ” Check existing PRs + id: check_existing_pr + uses: actions/github-script@v7.0.1 + with: + script: | + const { data: prs } = await github.rest.pulls.list({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + head: 'dev', + base: 'main' + }); + + return prs.length > 0; + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: πŸ“„ Create Pull Request if tag not found + if: ${{ !steps.check_existing_pr.outputs.result }} + uses: devops-infra/action-pull-request@v0.6.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + source_branch: dev + target_branch: main + title: 'Release: ${{ needs.info.outputs.project_version }}' + body: | + **This is an automated Pull Request from the dev branch.** + πŸ“ƒ **Name**: ${{ needs.info.outputs.project_name }} + πŸ“ƒ **Release**: `${{ needs.info.outputs.project_version }}` + πŸ“ƒ **Release Type**: `${{ needs.info.outputs.release_type }}` + πŸ“ƒ **Game Version**: `${{ needs.info.outputs.mc_version }}` build-modpack: From e4a9a9f854789942e15e4f7646ec97a936c74b3c Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 22:29:08 +0500 Subject: [PATCH 18/50] Update build.yml --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 92e61fc39..849796863 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,13 +12,12 @@ concurrency: env: DEV_ENVIRONMENT: ${{ github.ref_name != 'main' }} - IS_REPO_OWNER: ${{ github.repository_owner == 'TerraFirmaGreg-Team' }} jobs: info: name: πŸ–₯️ Project Info runs-on: ubuntu-latest - if: ${{ env.IS_REPO_OWNER }} + if: ${{ github.repository_owner == 'TerraFirmaGreg-Team' }} outputs: project_version: ${{ steps.check.outputs.project_version }} project_name: ${{ steps.check.outputs.project_name }} From 238a626ab1e0e0caeef4cecb25c1a241a2532759 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 22:31:21 +0500 Subject: [PATCH 19/50] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 849796863..956af8190 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -176,6 +176,7 @@ jobs: echo "release_type=${{ steps.pakku_info.outputs.release_type }}" >> $GITHUB_OUTPUT fi + echo "exists=${{ steps.check_tag.outputs.exists }}" >> $GITHUB_OUTPUT echo "make_release=${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'false' }}" >> $GITHUB_OUTPUT echo "make_pr=${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'true' }}" >> $GITHUB_OUTPUT From af71ce6370a151f313c07b6c7c95b489e538ae79 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 22:33:55 +0500 Subject: [PATCH 20/50] test CHANGELOG --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1c642abb..f98d8ba4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog + ## [Unreleased] + +## [0.10.4] - 25-07-2025 ### Changes - Added block interactions for mossy cobble (#1434) @Redeix - Clipboards are now craftable earlier (#1432) @Pyritie From ba772b26d99011a4de712455b3b0813e6620e295 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 22:38:08 +0500 Subject: [PATCH 21/50] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 956af8190..1b9ec6d2e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -213,7 +213,7 @@ jobs: name: 🀝 Create Release PR needs: [info] runs-on: ubuntu-latest - if: ${{ needs.info.outputs.make_pr == 'true' && needs.info.outputs.release_type != 'Unreleased' }} + if: ${{ needs.info.outputs.make_pr == 'true' }} steps: - name: πŸ” Check existing PRs From 3b16e8abc210af3c8a4744ea21f239ca87b6ace2 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 22:45:03 +0500 Subject: [PATCH 22/50] Update build.yml --- .github/workflows/build.yml | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1b9ec6d2e..4e16276f1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -219,19 +219,30 @@ jobs: - name: πŸ” Check existing PRs id: check_existing_pr uses: actions/github-script@v7.0.1 - with: - script: | - const { data: prs } = await github.rest.pulls.list({ - owner: context.repo.owner, - repo: context.repo.repo, - state: 'open', - head: 'dev', - base: 'main' - }); - - return prs.length > 0; env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + script: | + try { + const { data: prs } = await github.rest.pulls.list({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + head: `${context.repo.owner}:dev`, + base: 'main' + }); + + if (prs.length > 0) { + console.log(`ℹ️ Found existing PR from dev to main: ${prs[0].html_url}`); + core.setOutput('exists', 'true'); + } else { + core.setOutput('exists', 'false'); + } + } catch (error) { + core.setFailed(`❌ Failed to check existing PRs: ${error}`); + core.setOutput('exists', 'error'); + } + - name: πŸ“„ Create Pull Request if tag not found if: ${{ !steps.check_existing_pr.outputs.result }} @@ -240,6 +251,8 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} source_branch: dev target_branch: main + reviewer: Xikaro + ignore_users: "dependabot" title: 'Release: ${{ needs.info.outputs.project_version }}' body: | **This is an automated Pull Request from the dev branch.** From e70aee5045e8baaaed94111a587b615c25a17124 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 22:50:18 +0500 Subject: [PATCH 23/50] Update build.yml --- .github/workflows/build.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4e16276f1..a39f88c90 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: make_pr: ${{ steps.check.outputs.make_pr }} steps: - - name: Checkout + - name: πŸ“¦ Checkout uses: actions/checkout@v4.2.2 with: fetch-depth: 0 @@ -215,6 +215,9 @@ jobs: runs-on: ubuntu-latest if: ${{ needs.info.outputs.make_pr == 'true' }} steps: + + - name: πŸ“¦ Checkout + uses: actions/checkout@v4.2.2 - name: πŸ” Check existing PRs id: check_existing_pr @@ -234,18 +237,18 @@ jobs: if (prs.length > 0) { console.log(`ℹ️ Found existing PR from dev to main: ${prs[0].html_url}`); - core.setOutput('exists', 'true'); - } else { core.setOutput('exists', 'false'); + } else { + core.setOutput('exists', 'true'); } } catch (error) { core.setFailed(`❌ Failed to check existing PRs: ${error}`); - core.setOutput('exists', 'error'); + core.setOutput('exists', 'false'); } - name: πŸ“„ Create Pull Request if tag not found - if: ${{ !steps.check_existing_pr.outputs.result }} + if: ${{ steps.check_existing_pr.outputs.result }} uses: devops-infra/action-pull-request@v0.6.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} From f40b02dc3d21fb0195ca9c3c146a8776a0e03bbf Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 22:55:59 +0500 Subject: [PATCH 24/50] Update build.yml --- .github/workflows/build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a39f88c90..80446e1b6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -237,18 +237,18 @@ jobs: if (prs.length > 0) { console.log(`ℹ️ Found existing PR from dev to main: ${prs[0].html_url}`); - core.setOutput('exists', 'false'); - } else { core.setOutput('exists', 'true'); + } else { + core.setOutput('exists', 'false'); } } catch (error) { core.setFailed(`❌ Failed to check existing PRs: ${error}`); - core.setOutput('exists', 'false'); + core.setOutput('exists', 'error'); } - name: πŸ“„ Create Pull Request if tag not found - if: ${{ steps.check_existing_pr.outputs.result }} + if: ${{ steps.check_existing_pr.outputs.exists == 'false' }} uses: devops-infra/action-pull-request@v0.6.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} From 58d7d99550a9274dc1d56b481fa3013fdc9ede21 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 22:59:38 +0500 Subject: [PATCH 25/50] build --- .github/workflows/build.yml | 98 ++++++++++++++++++------------------- CHANGELOG.md | 2 - 2 files changed, 49 insertions(+), 51 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 80446e1b6..94e8548eb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -209,60 +209,60 @@ jobs: ${{ steps.changelog_dev.outputs.description }} ${{ steps.format_diff.outputs.text }} - create-pr: - name: 🀝 Create Release PR - needs: [info] - runs-on: ubuntu-latest - if: ${{ needs.info.outputs.make_pr == 'true' }} - steps: + # create-pr: + # name: 🀝 Create Release PR + # needs: [info] + # runs-on: ubuntu-latest + # if: ${{ needs.info.outputs.make_pr == 'true' }} + # steps: - - name: πŸ“¦ Checkout - uses: actions/checkout@v4.2.2 + # - name: πŸ“¦ Checkout + # uses: actions/checkout@v4.2.2 - - name: πŸ” Check existing PRs - id: check_existing_pr - uses: actions/github-script@v7.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - script: | - try { - const { data: prs } = await github.rest.pulls.list({ - owner: context.repo.owner, - repo: context.repo.repo, - state: 'open', - head: `${context.repo.owner}:dev`, - base: 'main' - }); + # - name: πŸ” Check existing PRs + # id: check_existing_pr + # uses: actions/github-script@v7.0.1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # script: | + # try { + # const { data: prs } = await github.rest.pulls.list({ + # owner: context.repo.owner, + # repo: context.repo.repo, + # state: 'open', + # head: `${context.repo.owner}:dev`, + # base: 'main' + # }); - if (prs.length > 0) { - console.log(`ℹ️ Found existing PR from dev to main: ${prs[0].html_url}`); - core.setOutput('exists', 'true'); - } else { - core.setOutput('exists', 'false'); - } - } catch (error) { - core.setFailed(`❌ Failed to check existing PRs: ${error}`); - core.setOutput('exists', 'error'); - } + # if (prs.length > 0) { + # console.log(`ℹ️ Found existing PR from dev to main: ${prs[0].html_url}`); + # core.setOutput('exists', 'true'); + # } else { + # core.setOutput('exists', 'false'); + # } + # } catch (error) { + # core.setFailed(`❌ Failed to check existing PRs: ${error}`); + # core.setOutput('exists', 'error'); + # } - - name: πŸ“„ Create Pull Request if tag not found - if: ${{ steps.check_existing_pr.outputs.exists == 'false' }} - uses: devops-infra/action-pull-request@v0.6.0 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - source_branch: dev - target_branch: main - reviewer: Xikaro - ignore_users: "dependabot" - title: 'Release: ${{ needs.info.outputs.project_version }}' - body: | - **This is an automated Pull Request from the dev branch.** - πŸ“ƒ **Name**: ${{ needs.info.outputs.project_name }} - πŸ“ƒ **Release**: `${{ needs.info.outputs.project_version }}` - πŸ“ƒ **Release Type**: `${{ needs.info.outputs.release_type }}` - πŸ“ƒ **Game Version**: `${{ needs.info.outputs.mc_version }}` + # - name: πŸ“„ Create Pull Request if tag not found + # if: ${{ steps.check_existing_pr.outputs.exists == 'false' }} + # uses: devops-infra/action-pull-request@v0.6.0 + # with: + # github_token: ${{ secrets.GITHUB_TOKEN }} + # source_branch: dev + # target_branch: main + # reviewer: Xikaro + # ignore_users: "dependabot" + # title: 'Release: ${{ needs.info.outputs.project_version }}' + # body: | + # **This is an automated Pull Request from the dev branch.** + # πŸ“ƒ **Name**: ${{ needs.info.outputs.project_name }} + # πŸ“ƒ **Release**: `${{ needs.info.outputs.project_version }}` + # πŸ“ƒ **Release Type**: `${{ needs.info.outputs.release_type }}` + # πŸ“ƒ **Game Version**: `${{ needs.info.outputs.mc_version }}` build-modpack: diff --git a/CHANGELOG.md b/CHANGELOG.md index f98d8ba4b..7bda480fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,6 @@ # Changelog ## [Unreleased] - -## [0.10.4] - 25-07-2025 ### Changes - Added block interactions for mossy cobble (#1434) @Redeix - Clipboards are now craftable earlier (#1432) @Pyritie From 77cb3a0aa648e4401dfa1e35a01512676f2ca117 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:07:36 +0500 Subject: [PATCH 26/50] workflows --- .github/workflows/build.yml | 55 --------------------- .github/workflows/create-pr.yml | 84 +++++++++++++++++++++++++++++++++ 2 files changed, 84 insertions(+), 55 deletions(-) create mode 100644 .github/workflows/create-pr.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 94e8548eb..f1f67dc30 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -208,61 +208,6 @@ jobs: ${{ steps.changelog_dev.outputs.description }} ${{ steps.format_diff.outputs.text }} - - # create-pr: - # name: 🀝 Create Release PR - # needs: [info] - # runs-on: ubuntu-latest - # if: ${{ needs.info.outputs.make_pr == 'true' }} - # steps: - - # - name: πŸ“¦ Checkout - # uses: actions/checkout@v4.2.2 - - # - name: πŸ” Check existing PRs - # id: check_existing_pr - # uses: actions/github-script@v7.0.1 - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # with: - # script: | - # try { - # const { data: prs } = await github.rest.pulls.list({ - # owner: context.repo.owner, - # repo: context.repo.repo, - # state: 'open', - # head: `${context.repo.owner}:dev`, - # base: 'main' - # }); - - # if (prs.length > 0) { - # console.log(`ℹ️ Found existing PR from dev to main: ${prs[0].html_url}`); - # core.setOutput('exists', 'true'); - # } else { - # core.setOutput('exists', 'false'); - # } - # } catch (error) { - # core.setFailed(`❌ Failed to check existing PRs: ${error}`); - # core.setOutput('exists', 'error'); - # } - - - # - name: πŸ“„ Create Pull Request if tag not found - # if: ${{ steps.check_existing_pr.outputs.exists == 'false' }} - # uses: devops-infra/action-pull-request@v0.6.0 - # with: - # github_token: ${{ secrets.GITHUB_TOKEN }} - # source_branch: dev - # target_branch: main - # reviewer: Xikaro - # ignore_users: "dependabot" - # title: 'Release: ${{ needs.info.outputs.project_version }}' - # body: | - # **This is an automated Pull Request from the dev branch.** - # πŸ“ƒ **Name**: ${{ needs.info.outputs.project_name }} - # πŸ“ƒ **Release**: `${{ needs.info.outputs.project_version }}` - # πŸ“ƒ **Release Type**: `${{ needs.info.outputs.release_type }}` - # πŸ“ƒ **Game Version**: `${{ needs.info.outputs.mc_version }}` build-modpack: diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml new file mode 100644 index 000000000..e9322fa11 --- /dev/null +++ b/.github/workflows/create-pr.yml @@ -0,0 +1,84 @@ +name: Project Build +run-name: "πŸ‘Ύ Create Release PR" +on: + push: + branches: + - dev + paths-ignore: + - '**' + - '!CHANGELOG.md' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + create-pr: + name: 🀝 Create Release PR + runs-on: ubuntu-latest + steps: + + - name: Checkout + uses: actions/checkout@v4.2.2 + + - name: πŸ“Š Get Pakku Info + id: pakku_info + uses: ActionsTools/read-json-action@v1.0.5 + with: + file_path: "pakku.json" + + - name: πŸ“Š Get Pakku-lock Info + id: pakku_lock_info + uses: ActionsTools/read-json-action@v1.0.5 + with: + file_path: "pakku-lock.json" + + - name: πŸ“„ Changelog Parser + id: changelog + uses: coditory/changelog-parser@v1.0.2 + with: + path: CHANGELOG.md + continue-on-error: true + + - name: πŸ” Check if tag exists + uses: mukunku/tag-exists-action@v1.6.0 + id: check_tag + with: + tag: ${{ steps.changelog.outputs.version }} + + - name: πŸ” Check existing PRs + if: ${{ steps.check_tag.outputs.exists == 'false' }} + id: check_existing_pr + uses: actions/github-script@v7.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + script: | + const { data: prs } = await github.rest.pulls.list({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + head: `${context.repo.owner}:dev`, + base: 'main' + }); + + if (prs.length > 0) { + console.log(`ℹ️ Found existing PR from dev to main: ${prs[0].html_url}`); + core.setOutput('exists', 'true'); + } else { + core.setOutput('exists', 'false'); + } + + - name: πŸ” Create Pull Request if tag not found + if: ${{ !steps.check_existing_pr.outputs.exists }} + uses: devops-infra/action-pull-request@v0.6.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + source_branch: dev + target_branch: main + title: 'Release: ${{ steps.changelog.outputs.version }}' + body: | + **This is an automated Pull Request from the dev branch.** + πŸ“ƒ **Name**: ${{ steps.pakku_info.outputs.name }} + πŸ“ƒ **Release**: `${{ steps.changelog.outputs.version }}` + πŸ“ƒ **Release Type**: `${{ steps.pakku_info.outputs.release_type }}` \ No newline at end of file From 252eaaa39f2230b18d3c085d322ab9af84c7ddb9 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:08:07 +0500 Subject: [PATCH 27/50] test --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bda480fb..abcbf8bc3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ## [Unreleased] + +## [0.10.4] - 23-07-2025 ### Changes - Added block interactions for mossy cobble (#1434) @Redeix - Clipboards are now craftable earlier (#1432) @Pyritie From b8d622e4874dc6de7a2302f93fc8fc75197c7b1f Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:09:27 +0500 Subject: [PATCH 28/50] Update create-pr.yml --- .github/workflows/create-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index e9322fa11..48b3a0df5 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -9,7 +9,7 @@ on: - '!CHANGELOG.md' concurrency: - group: ${{ github.workflow }}-${{ github.ref }} + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} cancel-in-progress: true jobs: From 60ec1353d609c64994b311b34ab1b82e2f35ba27 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:09:59 +0500 Subject: [PATCH 29/50] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index abcbf8bc3..ed45b565d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## [Unreleased] -## [0.10.4] - 23-07-2025 +## [0.10.4] - 29-07-2025 ### Changes - Added block interactions for mossy cobble (#1434) @Redeix - Clipboards are now craftable earlier (#1432) @Pyritie From 0a29c844e11ffee4bf018fb2b13cad6800ccb630 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:14:54 +0500 Subject: [PATCH 30/50] Update create-pr.yml --- .github/workflows/create-pr.yml | 42 ++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index 48b3a0df5..fec3af7c4 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -4,9 +4,9 @@ on: push: branches: - dev - paths-ignore: - - '**' - - '!CHANGELOG.md' + # paths-ignore: + # - '**' + # - '!CHANGELOG.md' concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} @@ -20,6 +20,8 @@ jobs: - name: Checkout uses: actions/checkout@v4.2.2 + with: + fetch-depth: 0 - name: πŸ“Š Get Pakku Info id: pakku_info @@ -53,24 +55,32 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: + result-encoding: string script: | + try { const { data: prs } = await github.rest.pulls.list({ - owner: context.repo.owner, - repo: context.repo.repo, - state: 'open', - head: `${context.repo.owner}:dev`, - base: 'main' - }); + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + head: `${context.repo.owner}:dev`, + base: 'main' + }); - if (prs.length > 0) { - console.log(`ℹ️ Found existing PR from dev to main: ${prs[0].html_url}`); - core.setOutput('exists', 'true'); - } else { - core.setOutput('exists', 'false'); - } + core.setOutput('exists', prs.length > 0); + console.log(`ℹ️ PR exists: ${prs.length > 0}`); + } catch (error) { + core.setFailed(`❌ PR check failed: ${error}`); + core.setOutput('exists', true); + } + + - name: πŸ” Debug outputs + run: | + echo "Tag exists: ${{ steps.check_tag.outputs.exists }}" + echo "PR exists: ${{ steps.check_existing_pr.outputs.exists }}" + echo "Changelog version: ${{ steps.changelog.outputs.version }}" - name: πŸ” Create Pull Request if tag not found - if: ${{ !steps.check_existing_pr.outputs.exists }} + if: ${{ steps.check_existing_pr.outputs.exists == 'false' }} uses: devops-infra/action-pull-request@v0.6.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} From 45ace37a511c345e0a78192b68a287d174db42b8 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:16:39 +0500 Subject: [PATCH 31/50] Update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed45b565d..e566fa021 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ - Pushed a patch to fix registry errors on Linux machines. If you are still receiving these errors please report it [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues/1431) (#1434) @Redeix - Fixed a broken link in the papermaking field guide entry (#1426) @Pyritie - Fixed small springs melting into twice as much as they should (#1435) @Pyritie +- test ## [0.10.3] - 23-07-2025 ### Changes From 5614acab9088f7d6def512f00c83d0bbaf8c4af6 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:18:23 +0500 Subject: [PATCH 32/50] workflows --- .github/workflows/create-pr.yml | 6 +++--- CHANGELOG.md | 3 --- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index fec3af7c4..5e67493b5 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -4,9 +4,9 @@ on: push: branches: - dev - # paths-ignore: - # - '**' - # - '!CHANGELOG.md' + paths-ignore: + - '**' + - '!CHANGELOG.md' concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} diff --git a/CHANGELOG.md b/CHANGELOG.md index e566fa021..7bda480fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,6 @@ # Changelog ## [Unreleased] - -## [0.10.4] - 29-07-2025 ### Changes - Added block interactions for mossy cobble (#1434) @Redeix - Clipboards are now craftable earlier (#1432) @Pyritie @@ -10,7 +8,6 @@ - Pushed a patch to fix registry errors on Linux machines. If you are still receiving these errors please report it [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues/1431) (#1434) @Redeix - Fixed a broken link in the papermaking field guide entry (#1426) @Pyritie - Fixed small springs melting into twice as much as they should (#1435) @Pyritie -- test ## [0.10.3] - 23-07-2025 ### Changes From 8fb40f147e75cca51714b6c565b191962d1eff47 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:19:23 +0500 Subject: [PATCH 33/50] Update create-pr.yml --- .github/workflows/create-pr.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index 5e67493b5..6cb77faa8 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -86,6 +86,8 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} source_branch: dev target_branch: main + reviewer: Xikaro + ignore_users: "dependabot" title: 'Release: ${{ steps.changelog.outputs.version }}' body: | **This is an automated Pull Request from the dev branch.** From 63d76d7450dc59b8308b72856968ff0bb1080819 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:23:32 +0500 Subject: [PATCH 34/50] Update create-pr.yml --- .github/workflows/create-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index 6cb77faa8..d886eee3e 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -1,4 +1,4 @@ -name: Project Build +name: Create Release PR run-name: "πŸ‘Ύ Create Release PR" on: push: From 1e986c07ee58f1c79d8745aebf033c41a61e7910 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:24:55 +0500 Subject: [PATCH 35/50] Update create-pr.yml --- .github/workflows/create-pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index d886eee3e..e4cce62cc 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -15,6 +15,7 @@ concurrency: jobs: create-pr: name: 🀝 Create Release PR + if: ${{ github.repository_owner == 'TerraFirmaGreg-Team' }} runs-on: ubuntu-latest steps: From c49a73189e04ed91f23232f699371bacce305018 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:28:47 +0500 Subject: [PATCH 36/50] Update create-pr.yml --- .github/workflows/create-pr.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index e4cce62cc..e336d7ba6 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -6,6 +6,7 @@ on: - dev paths-ignore: - '**' + - '.github/workflows/create-pr.yml' - '!CHANGELOG.md' concurrency: @@ -74,12 +75,6 @@ jobs: core.setOutput('exists', true); } - - name: πŸ” Debug outputs - run: | - echo "Tag exists: ${{ steps.check_tag.outputs.exists }}" - echo "PR exists: ${{ steps.check_existing_pr.outputs.exists }}" - echo "Changelog version: ${{ steps.changelog.outputs.version }}" - - name: πŸ” Create Pull Request if tag not found if: ${{ steps.check_existing_pr.outputs.exists == 'false' }} uses: devops-infra/action-pull-request@v0.6.0 From c8f1c1a11513fd5eb0ddd9331fa171215698c603 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:30:34 +0500 Subject: [PATCH 37/50] Update create-pr.yml --- .github/workflows/create-pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index e336d7ba6..d743510bd 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -6,7 +6,7 @@ on: - dev paths-ignore: - '**' - - '.github/workflows/create-pr.yml' + - '!.github/workflows/create-pr.yml' - '!CHANGELOG.md' concurrency: From 843a060162585469ea25d102f0f02b58bc45f53f Mon Sep 17 00:00:00 2001 From: Xikaro Date: Fri, 25 Jul 2025 23:48:54 +0500 Subject: [PATCH 38/50] workflows --- .github/workflows/build.yml | 61 +++++++++++++++++++++- .github/workflows/create-pr.yml | 92 --------------------------------- 2 files changed, 60 insertions(+), 93 deletions(-) delete mode 100644 .github/workflows/create-pr.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f1f67dc30..e79267e76 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -190,7 +190,6 @@ jobs: ${{ steps.read_diff.outputs.diff }} ``` - - name: πŸ“ Generate Github Summary uses: WcAServices/markdown-template-action@v1.1.0 with: @@ -209,6 +208,66 @@ jobs: ${{ steps.changelog_dev.outputs.description }} ${{ steps.format_diff.outputs.text }} + create-pr: + name: 🀝 Create Release PR + needs: [info] + if: ${{ needs.info.outputs.make_pr == 'true' }} + runs-on: ubuntu-latest + steps: + + - name: Checkout + uses: actions/checkout@v4.2.2 + with: + fetch-depth: 0 + + - name: πŸ“„ Changelog Parser + id: changelog + uses: coditory/changelog-parser@v1.0.2 + with: + path: CHANGELOG.md + continue-on-error: true + + - name: πŸ” Check existing PRs + id: check_existing_pr + uses: actions/github-script@v7.0.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + result-encoding: string + script: | + try { + const { data: prs } = await github.rest.pulls.list({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + head: `${context.repo.owner}:dev`, + base: 'main' + }); + + core.setOutput('exists', prs.length > 0); + console.log(`ℹ️ PR exists: ${prs.length > 0}`); + } catch (error) { + core.setFailed(`❌ PR check failed: ${error}`); + core.setOutput('exists', true); + } + + - name: πŸ” Create Pull Request if tag not found + if: ${{ steps.check_existing_pr.outputs.exists == 'false' }} + uses: devops-infra/action-pull-request@v0.6.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + source_branch: dev + target_branch: main + reviewer: Xikaro + ignore_users: "dependabot" + title: 'Release: ${{ needs.info.outputs.project_version }}' + body: | + **This is an automated Pull Request from the dev branch.** + πŸ“ƒ **Name**: ${{ needs.info.outputs.project_name }} + πŸ“ƒ **Release**: `${{ needs.info.outputs.project_version }}` + πŸ“ƒ **Release Type**: `${{ needs.info.outputs.release_type }}` + + ${{ needs.info.outputs.changelog }} build-modpack: name: πŸ“¦ Build Modpack diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml deleted file mode 100644 index d743510bd..000000000 --- a/.github/workflows/create-pr.yml +++ /dev/null @@ -1,92 +0,0 @@ -name: Create Release PR -run-name: "πŸ‘Ύ Create Release PR" -on: - push: - branches: - - dev - paths-ignore: - - '**' - - '!.github/workflows/create-pr.yml' - - '!CHANGELOG.md' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name }} - cancel-in-progress: true - -jobs: - create-pr: - name: 🀝 Create Release PR - if: ${{ github.repository_owner == 'TerraFirmaGreg-Team' }} - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v4.2.2 - with: - fetch-depth: 0 - - - name: πŸ“Š Get Pakku Info - id: pakku_info - uses: ActionsTools/read-json-action@v1.0.5 - with: - file_path: "pakku.json" - - - name: πŸ“Š Get Pakku-lock Info - id: pakku_lock_info - uses: ActionsTools/read-json-action@v1.0.5 - with: - file_path: "pakku-lock.json" - - - name: πŸ“„ Changelog Parser - id: changelog - uses: coditory/changelog-parser@v1.0.2 - with: - path: CHANGELOG.md - continue-on-error: true - - - name: πŸ” Check if tag exists - uses: mukunku/tag-exists-action@v1.6.0 - id: check_tag - with: - tag: ${{ steps.changelog.outputs.version }} - - - name: πŸ” Check existing PRs - if: ${{ steps.check_tag.outputs.exists == 'false' }} - id: check_existing_pr - uses: actions/github-script@v7.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - result-encoding: string - script: | - try { - const { data: prs } = await github.rest.pulls.list({ - owner: context.repo.owner, - repo: context.repo.repo, - state: 'open', - head: `${context.repo.owner}:dev`, - base: 'main' - }); - - core.setOutput('exists', prs.length > 0); - console.log(`ℹ️ PR exists: ${prs.length > 0}`); - } catch (error) { - core.setFailed(`❌ PR check failed: ${error}`); - core.setOutput('exists', true); - } - - - name: πŸ” Create Pull Request if tag not found - if: ${{ steps.check_existing_pr.outputs.exists == 'false' }} - uses: devops-infra/action-pull-request@v0.6.0 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - source_branch: dev - target_branch: main - reviewer: Xikaro - ignore_users: "dependabot" - title: 'Release: ${{ steps.changelog.outputs.version }}' - body: | - **This is an automated Pull Request from the dev branch.** - πŸ“ƒ **Name**: ${{ steps.pakku_info.outputs.name }} - πŸ“ƒ **Release**: `${{ steps.changelog.outputs.version }}` - πŸ“ƒ **Release Type**: `${{ steps.pakku_info.outputs.release_type }}` \ No newline at end of file From 39fc153b5893be55bbefc1041b795b65768f9e11 Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sat, 26 Jul 2025 00:49:31 +0500 Subject: [PATCH 39/50] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e79267e76..2a72d4586 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -260,11 +260,11 @@ jobs: target_branch: main reviewer: Xikaro ignore_users: "dependabot" - title: 'Release: ${{ needs.info.outputs.project_version }}' + title: 'Release: ${{ steps.changelog.outputs.version }}' body: | **This is an automated Pull Request from the dev branch.** πŸ“ƒ **Name**: ${{ needs.info.outputs.project_name }} - πŸ“ƒ **Release**: `${{ needs.info.outputs.project_version }}` + πŸ“ƒ **Release**: `${{ steps.changelog.outputs.version }}` πŸ“ƒ **Release Type**: `${{ needs.info.outputs.release_type }}` ${{ needs.info.outputs.changelog }} From ddefb3bf604f7d23610cc1319ca357ac557a60f6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 21:46:56 +0100 Subject: [PATCH 40/50] pakku --- pakku-lock.json | 98 ++++++++++++++++++++++++------------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/pakku-lock.json b/pakku-lock.json index 0cc986379..e318bebcf 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -5617,7 +5617,7 @@ "files": [ { "type": "curseforge", - "file_name": "ftb-library-forge-2001.2.9.jar", + "file_name": "ftb-library-forge-2001.2.10.jar", "mc_versions": [ "1.20.1" ], @@ -5625,18 +5625,18 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6164/53/ftb-library-forge-2001.2.9.jar", - "id": "6164053", + "url": "https://edge.forgecdn.net/files/6807/424/ftb-library-forge-2001.2.10.jar", + "id": "6807424", "parent_id": "404465", "hashes": { - "sha1": "42639a90f91c79d6b323ede5e229a79c050f4dc7", - "md5": "cdf8b270d3ee2c403a26206b10e0a749" + "sha1": "9472bb30d0e38cb774b9cc7852bdd8dbf845622b", + "md5": "ae5292127a5a0d85d793bbce8f1e24dd" }, "required_dependencies": [ "419699" ], - "size": 791841, - "date_published": "2025-02-06T12:34:16.087Z" + "size": 791875, + "date_published": "2025-07-24T16:54:08.133Z" } ] }, @@ -11830,30 +11830,9 @@ "modrinth": "qyVF9oeo" }, "files": [ - { - "type": "curseforge", - "file_name": "sound-physics-remastered-forge-1.20.1-1.4.13.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "alpha", - "url": "https://edge.forgecdn.net/files/6399/601/sound-physics-remastered-forge-1.20.1-1.4.13.jar", - "id": "6399601", - "parent_id": "535489", - "hashes": { - "sha1": "0851097c159a0498620e8cd307ab7d26c6fcc57b", - "md5": "60f4782d630d473a4bc6547369c286db" - }, - "required_dependencies": [], - "size": 204480, - "date_published": "2025-04-08T16:04:46.963Z" - }, { "type": "modrinth", - "file_name": "sound-physics-remastered-forge-1.20.1-1.4.13.jar", + "file_name": "sound-physics-remastered-forge-1.20.1-1.4.15.jar", "mc_versions": [ "1.20.1" ], @@ -11861,16 +11840,37 @@ "forge" ], "release_type": "alpha", - "url": "https://cdn.modrinth.com/data/qyVF9oeo/versions/fqgMU03D/sound-physics-remastered-forge-1.20.1-1.4.13.jar", - "id": "fqgMU03D", + "url": "https://cdn.modrinth.com/data/qyVF9oeo/versions/o4QlRA76/sound-physics-remastered-forge-1.20.1-1.4.15.jar", + "id": "o4QlRA76", "parent_id": "qyVF9oeo", "hashes": { - "sha512": "3840428a7b9e065e380b5fc59a134e7c9aa3b46c0c491724534274eb709a1927be5ab6473a8a38f60bdb16e128174a1bae432e81e86a622b7d2b75e4aa961998", - "sha1": "d662aa77d89d48ce254421d064476d0f15c3f11f" + "sha512": "bf13d3ab4df46d446067b8bf648a84c57a5c0aa134118967a85397fc732df4689e6fa15db1728995ae06c39e0bdbd54bbdff7ee044b67a1f3f513a289e47fe60", + "sha1": "990bd9caa7c4394e66d379263139495a27147a67" }, "required_dependencies": [], - "size": 204480, - "date_published": "2025-04-08T16:04:58.342578Z" + "size": 204487, + "date_published": "2025-07-25T07:23:13.030771Z" + }, + { + "type": "curseforge", + "file_name": "sound-physics-remastered-forge-1.20.1-1.4.15.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "alpha", + "url": "https://edge.forgecdn.net/files/6809/408/sound-physics-remastered-forge-1.20.1-1.4.15.jar", + "id": "6809408", + "parent_id": "535489", + "hashes": { + "sha1": "a1678721a328eb2e68c259b208e8043cca606dd5", + "md5": "bf2e072b924a55422849f6c126bd2455" + }, + "required_dependencies": [], + "size": 204486, + "date_published": "2025-07-25T07:22:50.880Z" } ] }, @@ -13374,7 +13374,7 @@ "files": [ { "type": "modrinth", - "file_name": "TerraFirmaGreg-Core-Modern-0.7.4.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.7.5.jar", "mc_versions": [ "1.20.1" ], @@ -13383,23 +13383,23 @@ "neoforge" ], "release_type": "release", - "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/WS91llWg/TerraFirmaGreg-Core-Modern-0.7.4.jar", - "id": "WS91llWg", + "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/k3OZlwbT/TerraFirmaGreg-Core-Modern-0.7.5.jar", + "id": "k3OZlwbT", "parent_id": "lNttW2Xl", "hashes": { - "sha512": "9bc36f5bfcd91d8feedd3b8c4a4f16a73a66e6bd29d5aa69019ba542b6d52a982ddc002266514c65ba4760d3c191a579e269bc6a07c84381f47ba710b93aeca4", - "sha1": "80831501fc25852f9b8bc682efb84cf1d6477b25" + "sha512": "5092b312fd99c514096151737a01f846aab134c7ea3fd63398d18596fadb0452b1291f55d943249bf3f9e5e3d870dc78f7f21a73b812e5674cf55463a1acee67", + "sha1": "e601fec291fdcb93110d880b73a647201ab260b5" }, "required_dependencies": [ "JaCEZUhg", "7tG215v7" ], - "size": 453335, - "date_published": "2025-07-23T19:10:58.887028Z" + "size": 459039, + "date_published": "2025-07-25T20:21:55.177760Z" }, { "type": "curseforge", - "file_name": "TerraFirmaGreg-Core-Modern-0.7.4.jar", + "file_name": "TerraFirmaGreg-Core-Modern-0.7.5.jar", "mc_versions": [ "1.20.1" ], @@ -13408,19 +13408,19 @@ "forge" ], "release_type": "release", - "url": "https://edge.forgecdn.net/files/6804/121/TerraFirmaGreg-Core-Modern-0.7.4.jar", - "id": "6804121", + "url": "https://edge.forgecdn.net/files/6811/416/TerraFirmaGreg-Core-Modern-0.7.5.jar", + "id": "6811416", "parent_id": "513402", "hashes": { - "sha1": "80831501fc25852f9b8bc682efb84cf1d6477b25", - "md5": "f86aea5b855207ba7a50616e74c86579" + "sha1": "e601fec291fdcb93110d880b73a647201ab260b5", + "md5": "21d09a094c8f86f31f702113c6c3bf61" }, "required_dependencies": [ "890405", "302973" ], - "size": 453335, - "date_published": "2025-07-23T19:10:57.027Z" + "size": 459039, + "date_published": "2025-07-25T20:21:53.920Z" } ] }, From dabc75b332b26ebe3bd49b7a2a008413caa895cd Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 21:48:45 +0100 Subject: [PATCH 41/50] moved clipboard to metallurgy age, added link in tools --- .../quests/chapters/questsmetallurgy.snbt | 26 +++++++++++++++++++ .../quests/chapters/questssteam_age.snbt | 26 ------------------- .../quests/chapters/tips__tools.snbt | 6 +++++ 3 files changed, 32 insertions(+), 26 deletions(-) diff --git a/config/ftbquests/quests/chapters/questsmetallurgy.snbt b/config/ftbquests/quests/chapters/questsmetallurgy.snbt index d2ffcdfec..af71cddaf 100644 --- a/config/ftbquests/quests/chapters/questsmetallurgy.snbt +++ b/config/ftbquests/quests/chapters/questsmetallurgy.snbt @@ -1223,6 +1223,32 @@ x: 0.0d y: -34.0d } + { + dependencies: ["72B3EA6588E18CCC"] + dependency_requirement: "one_completed" + description: ["{quests.steam_age.organization.desc}"] + icon: "create:clipboard" + id: "044DD42F4F1E900F" + optional: true + shape: "heart" + subtitle: "{quests.steam_age.organization.subtitle}" + tasks: [ + { + id: "5833752A9D35D343" + item: "create:clipboard" + type: "item" + } + { + id: "1196FF8041001E3B" + item: "create:crafting_blueprint" + optional_task: true + type: "item" + } + ] + title: "{quests.steam_age.organization.title}" + x: 17.0d + y: -29.5d + } ] subtitle: ["{quests.metal_age.subtitle}"] title: "{quests.metal_age}" diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt index a256864da..0937164c4 100644 --- a/config/ftbquests/quests/chapters/questssteam_age.snbt +++ b/config/ftbquests/quests/chapters/questssteam_age.snbt @@ -1515,32 +1515,6 @@ x: -25.0d y: 6.0d } - { - dependencies: ["3E175E20C91F168B"] - dependency_requirement: "one_completed" - description: ["{quests.steam_age.organization.desc}"] - icon: "create:clipboard" - id: "03CCE899894A3364" - optional: true - shape: "heart" - subtitle: "{quests.steam_age.organization.subtitle}" - tasks: [ - { - id: "2F56DA36512D2363" - item: "create:clipboard" - type: "item" - } - { - id: "6A41DD1F9FFD1781" - item: "create:crafting_blueprint" - optional_task: true - type: "item" - } - ] - title: "{quests.steam_age.organization.title}" - x: -16.5d - y: 10.5d - } { dependencies: ["32046292AA5B0E30"] description: ["{quests.steam_age.rotation_speed_controller.desc}"] diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt index db26ca11f..ccefacc26 100644 --- a/config/ftbquests/quests/chapters/tips__tools.snbt +++ b/config/ftbquests/quests/chapters/tips__tools.snbt @@ -30,6 +30,12 @@ x: -4.5d y: 8.5d } + { + id: "338395C5F9B3A67D" + linked_quest: "044DD42F4F1E900F" + x: 2.5d + y: 3.5d + } ] quests: [ { From 4984ddb14aaaca1cfbbe0006e35156116c57c2fb Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 21:51:56 +0100 Subject: [PATCH 42/50] fixes #1429 --- kubejs/client_scripts/tooltips.js | 9 ++++----- kubejs/startup_scripts/gtceu/materials.js | 3 +++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js index 993708ef3..33a90df9b 100644 --- a/kubejs/client_scripts/tooltips.js +++ b/kubejs/client_scripts/tooltips.js @@ -75,7 +75,7 @@ const registerTooltips = (event) => text.add(3, text.of('Β§7Wear the full set to be Β§eFully InsulatedΒ§7 from ambient temperatures.')) }) - //supports + // Supports global.TFC_WOOD_TYPES.forEach(wood => { event.addAdvanced([`tfc:wood/support/${wood}`], (item, advanced, text) => { text.add(1, text.of('Β§79 x 5 x 9')) @@ -112,17 +112,16 @@ const registerTooltips = (event) => }) - // Solar Panel - + // Solar Panel event.addAdvanced(['ad_astra:solar_panel'], (item, advanced, text) => { text.add(1, text.of('Produces Β§664 Eu/tΒ§r on the Β§6moonΒ§r during the Β§6dayΒ§r')) }) // MEGA Deprecated 0.10 event.addAdvanced(['#megacells:mega_interface'], (item, advanced, text) => { - text.add(1, text.of('Β§cDeprecated cannot be craft anymore')) + text.add(1, text.of('Β§cDeprecated, cannot be crafted any more')) }) event.addAdvanced(['#megacells:mega_pattern_provider'], (item, advanced, text) => { - text.add(1, text.of('Β§cDeprecated cannot be craft anymore')) + text.add(1, text.of('Β§cDeprecated, cannot be crafted any more')) }) } \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index d7a23d192..a7ab35ad1 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -272,6 +272,9 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Bismuth.setProperty(PropertyKey.ITEM_PIPE, new $ITEM_PIPE_PROPERTY(16384, 0.125)); // Bis bronze fluid pipe - same stats as bronze GTMaterials.BismuthBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); + // Black bronze is already an item pipe (default gregtech), but you need a fluid pipe in order + // for the drum to have temperature containment data + GTMaterials.BlackBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); // Red steel fluid pipe - same flow rate as aluminium, bad heat tolerance (same as PE) but can do cryo GTMaterials.RedSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 75, true, false, true, false)); // Blue steel fluid pipe - same flow rate as aluminium, same temp tolerance as tungsten From 9a9a66b69d5cec4eaa85ec81781a28873983485d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 21:59:39 +0100 Subject: [PATCH 43/50] fixes #1427 Related Work Items: #142 --- .../server_scripts/framed_blocks/recipes.js | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/kubejs/server_scripts/framed_blocks/recipes.js b/kubejs/server_scripts/framed_blocks/recipes.js index 0300b5122..260d3f25b 100644 --- a/kubejs/server_scripts/framed_blocks/recipes.js +++ b/kubejs/server_scripts/framed_blocks/recipes.js @@ -565,4 +565,54 @@ const registerFramedBlocksRecipes = (event) => { count: 1 } }).id('framedblocks:framing_saw/framed_glowing_cube') + + // Item Frame + + event.shaped('4x framedblocks:framed_item_frame', [ + 'AAA', + 'ABA', + 'AAA' + ], { + A: 'framedblocks:framed_cube', + B: '#forge:leather' + }).id('framedblocks:framed_item_frame') + + event.custom({ + type: "framedblocks:frame", + additives: [ + { + "count": 1, + "ingredient": { tag: "forge:leather" } + } + ], + material: 6144*8, + result: { + item: "framedblocks:framed_item_frame", + count: 4 + } + }).id('framedblocks:framing_saw/framed_item_frame') + + // Glow Item Frame + + event.shapeless('framedblocks:framed_glowing_item_frame', ['framedblocks:framed_item_frame', 'minecraft:glowstone_dust']) + .id('framedblocks:framed_glowing_item_frame') + + event.custom({ + type: "framedblocks:frame", + additives: [ + { + "count": 1, + "ingredient": { tag: "forge:leather" } + }, + { + "count": 4, + "ingredient": { item: "minecraft:glowstone_dust" } + } + ], + material: 6144*8, + result: { + item: "framedblocks:framed_glowing_item_frame", + count: 4 + } + }).id('framedblocks:framing_saw/framed_glowing_item_frame') } From c1efdb722dc354cf5ad1159e533f50f1fde51e3e Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 22:12:52 +0100 Subject: [PATCH 44/50] added a workaround for #1361 --- kubejs/server_scripts/create/events.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 kubejs/server_scripts/create/events.js diff --git a/kubejs/server_scripts/create/events.js b/kubejs/server_scripts/create/events.js new file mode 100644 index 000000000..a5d25f3a2 --- /dev/null +++ b/kubejs/server_scripts/create/events.js @@ -0,0 +1,13 @@ +"use strict"; + +PlayerEvents.tick((event) => { + const { player } = event; + if (player.age % 100 == 0 + && player.headArmorItem == 'create:netherite_diving_helmet' + && player.chestArmorItem == 'create:netherite_backtank' + && player.legsArmorItem == 'minecraft:netherite_leggings' + && player.feetArmorItem == 'create:netherite_diving_boots') + { + player.potionEffects.add("minecraft:fire_resistance", 350, 1, true, false); + } +}); From 5d2d61014aeb50216edd2c275767a4815423727d Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 22:13:03 +0100 Subject: [PATCH 45/50] fixed recipe conflict with kao clay --- kubejs/server_scripts/tfc/recipes.js | 1 + 1 file changed, 1 insertion(+) diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index cf6cfaa29..d1bb9ef04 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -141,6 +141,7 @@ const registerTFCRecipes = (event) => { // Kaolinite Clay - regular smelting recipes can't have multiple inputs event.recipes.gtceu.alloy_smelter('tfg:kaolinite') .itemInputs('tfc:kaolin_clay') + .circuit(1) .chancedOutput('tfc:powder/kaolinite', 2000, 0) .duration(100) .EUt(16) From c2222868156d181d63dc2ea4cbba3bcdb5baf2e1 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 22:14:43 +0100 Subject: [PATCH 46/50] removed mixing bowl recipes involving more than 5 outputs --- kubejs/server_scripts/firmalife/recipes.js | 29 ---------------------- 1 file changed, 29 deletions(-) diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index ed6cc1c4e..d0877d564 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -551,16 +551,6 @@ const registerFirmaLifeRecipes = (event) => { .outputItem(`4x firmalife:food/${grain}_dough`) .id(`tfg:mixing_bowl/${grain}_dough`) - event.recipes.firmalife.mixing_bowl() - .ingredients([ - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - '#tfc:sweetener', - '#tfc:sweetener'], - Fluid.of('firmalife:yeast_starter', 400)) - .outputItem(`8x firmalife:food/${grain}_dough`) - .id(`tfg:mixing_bowl/${grain}_dough_2`) - event.recipes.firmalife.mixing_bowl() .ingredients([ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`)], @@ -575,25 +565,6 @@ const registerFirmaLifeRecipes = (event) => { Fluid.of('minecraft:water', 200)) .outputItem(`4x tfc:food/${grain}_dough`) .id(`tfg:mixing_bowl/${grain}_flatbread_dough_2`) - - event.recipes.firmalife.mixing_bowl() - .ingredients([ - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`)], - Fluid.of('minecraft:water', 300)) - .outputItem(`6x tfc:food/${grain}_dough`) - .id(`tfg:mixing_bowl/${grain}_flatbread_dough_3`) - - event.recipes.firmalife.mixing_bowl() - .ingredients([ - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`), - TFC.ingredient.notRotten(`tfc:food/${grain}_flour`)], - Fluid.of('minecraft:water', 400)) - .outputItem(`6x tfc:food/${grain}_dough`) - .id(`tfg:mixing_bowl/${grain}_flatbread_dough_4`) }) event.recipes.firmalife.mixing_bowl() From 4ba64772c8654b98d66e96dbfc4fcb4c6af77d62 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 22:15:42 +0100 Subject: [PATCH 47/50] changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bda480fb..118a7151e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,9 +5,15 @@ - Added block interactions for mossy cobble (#1434) @Redeix - Clipboards are now craftable earlier (#1432) @Pyritie ### Bug fixes +- Fixed key bindings being reverted every time you started the game (#1430) - Pushed a patch to fix registry errors on Linux machines. If you are still receiving these errors please report it [here](https://github.com/TerraFirmaGreg-Team/Modpack-Modern/issues/1431) (#1434) @Redeix +- Added a temporary workaround for the blue steel diving suit not protecting from lava (#1361) @Pyritie - Fixed a broken link in the papermaking field guide entry (#1426) @Pyritie - Fixed small springs melting into twice as much as they should (#1435) @Pyritie +- Fixed black bronze drums not having a temperature limit (#1429) @Pyritie +- Fixed framed item frames having the same crafting ratio as regular ones (#1427) @Pyritie +- Fixed a recipe conflict with kaolinite powder and fire clay in an alloy smelter @Pyritie +- Fixed some mixing bowl recipes with too many outputs @Pyritie ## [0.10.3] - 23-07-2025 ### Changes From 2af4a2304bddbd5ed40332bae660f44a4b7dc9a2 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 22:23:14 +0100 Subject: [PATCH 48/50] revert, apparently this isn't possible --- CHANGELOG.md | 1 - kubejs/startup_scripts/gtceu/materials.js | 3 --- 2 files changed, 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 118a7151e..18f47333c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,6 @@ - Added a temporary workaround for the blue steel diving suit not protecting from lava (#1361) @Pyritie - Fixed a broken link in the papermaking field guide entry (#1426) @Pyritie - Fixed small springs melting into twice as much as they should (#1435) @Pyritie -- Fixed black bronze drums not having a temperature limit (#1429) @Pyritie - Fixed framed item frames having the same crafting ratio as regular ones (#1427) @Pyritie - Fixed a recipe conflict with kaolinite powder and fire clay in an alloy smelter @Pyritie - Fixed some mixing bowl recipes with too many outputs @Pyritie diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index a7ab35ad1..d7a23d192 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -272,9 +272,6 @@ const registerGTCEuMaterialModification = (event) => { GTMaterials.Bismuth.setProperty(PropertyKey.ITEM_PIPE, new $ITEM_PIPE_PROPERTY(16384, 0.125)); // Bis bronze fluid pipe - same stats as bronze GTMaterials.BismuthBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); - // Black bronze is already an item pipe (default gregtech), but you need a fluid pipe in order - // for the drum to have temperature containment data - GTMaterials.BlackBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false)); // Red steel fluid pipe - same flow rate as aluminium, bad heat tolerance (same as PE) but can do cryo GTMaterials.RedSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 75, true, false, true, false)); // Blue steel fluid pipe - same flow rate as aluminium, same temp tolerance as tungsten From 188f52cdc1ec66fffebaa9e351b9add60b00e280 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Fri, 25 Jul 2025 22:27:06 +0100 Subject: [PATCH 49/50] release --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18f47333c..76445838f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] ### Changes +### Bug fixes + +## [0.10.4] - 25-07-2025 +### Changes - Added block interactions for mossy cobble (#1434) @Redeix - Clipboards are now craftable earlier (#1432) @Pyritie ### Bug fixes From fa0a9d870cf83b7875fa34aae122ddda9660448c Mon Sep 17 00:00:00 2001 From: Xikaro Date: Sat, 26 Jul 2025 02:34:22 +0500 Subject: [PATCH 50/50] Update build.yml --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2a72d4586..bd72f0b86 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -170,12 +170,11 @@ jobs: if ${{ env.DEV_ENVIRONMENT == 'true' }}; then echo "project_version=build_#${{ github.run_number }}" >> $GITHUB_OUTPUT - echo "release_type=Unreleased" >> $GITHUB_OUTPUT else echo "project_version=${{ steps.changelog.outputs.version }}" >> $GITHUB_OUTPUT - echo "release_type=${{ steps.pakku_info.outputs.release_type }}" >> $GITHUB_OUTPUT fi + echo "release_type=${{ steps.pakku_info.outputs.release_type }}" >> $GITHUB_OUTPUT echo "exists=${{ steps.check_tag.outputs.exists }}" >> $GITHUB_OUTPUT echo "make_release=${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'false' }}" >> $GITHUB_OUTPUT echo "make_pr=${{ steps.check_tag.outputs.exists == 'false' && env.DEV_ENVIRONMENT == 'true' }}" >> $GITHUB_OUTPUT