From d19d8d2452764773f913f366488d2a35417d3eb4 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Thu, 24 Jul 2025 23:20:08 +0100 Subject: [PATCH 1/4] 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 2/4] 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 zcmV;X0$KfuP)k;m z!YtG41b~go0^mW<$jjskvFM*oWu6)dlH_|V^`aOY#Tk}*k)>WFSBNq4GNU*{t`Lj< z>f{PB%D_>;2{7{V|5tqvARP`PQ9o2FGjJ57QJkT+qmkKEX`9zV;=oauUqpg!_%mP@ zX31=-!r~~-pj5MSBtHdyJCi6CWUARY0MqM)QJldIXFv{^vvFs+>I9s+OB8^Cqj2gj zDL0=p?w#BXLp3|c4QFh3I{Z31!VO^*=czgY00*xQP)^+?0Nb4o080HCm;E0AxFNiK z_lC$1u*wIN>N=l4eZdV=TN}XI$M>&qqhx_qE>f!NxP2d0lL6@26PngKJ$r&xPSdx? zo~Vb@0Lj|YX!s>3N5q3)$B&}55Hd!1qsT1 znW`q^_I=?M;PTMtWw(K<$y5s}!)YMcd-f###ud0{Pq>=h2n+jrI~?*mwKh(zt@4V3 zgl@Zm)UzkzHLF}i`MacLR@mR$5o)Y0oo>5!7aA>n20+bF0hpxo|7sN=t5(s8sG$Qh+C38hC5jMG{Quhb0Qf*!xtKgFSG}_ z!bIQ;`7_t`&1Z~%#)w2m>*%aCWbMGZK^a Rt)&%_rRZ{EEoOax&faKntz?ub== z88^(Bq;r%gBCA$u=`+3_D=dB7>fF8B$cju?D;pTC6#(o;mB*b5=`<#d7wmo6qh8i& z>9eA_;yi!B;prpJ0~I&SaGtht>^hEJ#|t9TX^iWI0E~7=56H%o7}Z{{;C>T?i7YV8 z5=O=3>THT**KxhDAUQZZDQfnAT+p|gEPeX$_RddI`c{+iBqm+Vi*ecwIkuzIO8{2& zWdN?lEnAyU3nJPzli{F?W7i9_VV3AyP5M@oYjIngAMF1ojTfl*F%7fC z)!7sPFObW0aWLiOu!~`qXq64dleoCu^+LIcx!LtXuElK;VQ0I?0VgtAAfq{U9e^}m zFdTGI@)yo2)IS-0tI5uGub{ElD+~u+jFO7?Yl=}Z3tGi)RPllcqa@eaXss0E%jwd1 zK{}1G*DLa}?`H+2YM3Pmpj|ULI=!TCH4CEq$hpoR(e*+cyUt(EK`D_LBF|<30000< KMNUMnLSTY9wk_iT literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/grass/amber_side_3.png b/kubejs/assets/tfg/textures/block/grass/amber_side_3.png new file mode 100644 index 0000000000000000000000000000000000000000..64a6b310484c43d3218409052422b63f44cdbc30 GIT binary patch literal 660 zcmV;F0&D$=P) z!(5X9$eGDFS&$#s68h~T6uQnF2P1y~$Q*~vaWr@&m;VE2jsw6rSt#;kg80&31yCSN z<^#z%5sc(ARdWsq0F23mi%{Kfxf#Rr7!U{rLU+u`52fdmNBueN`X4gKp$7C$=LkQ_ zXqF6y=P@I>N;H#zq**cmp&J8ixh5B(;3=xEngZc#mtoTvJNUoAAUwZ%U&25t2C!UP{VpUfFxc+vgfqAIwFSZHvz&s(qD?2=XR^)0h z#j*X9@<=}81Kgx(^l4vIJIvu>S zgJl=!^)IQpwz4pqCA8`lhU1urcD%Amzt_J6VBLJAtjQZ*Za-1$P0|IedW9gIP;+g% z?FLP+q{)_DpjEHXs#my{H~Rkg^G}jEMKrwv+nmZUf6MP+hYa zj$=LD4MlFh24KoEt$kwQw$!iHcF?%f5lyw5T3I4>5+HiRpJ zz0g=Rjm)CF%`mRC>(uG<+FP;P0c=GFpA< zPJp%+(0R*j5>^BC{oSX;fI^a6*sBJc}j8=!{|EU14NdTs0w7S=Hxt^d- zPlI%y>l+Hp(*i&(_qhURrPnl^^A1&vprMh`a2tnOkY1CcUCh6BLnFue1Z2NoF4t2P z7RqtjikCm&TFf@|nCjaIwX z(1>fWRjU{aOl(zFyU$gx4Cg$MOGmvXzt&a-+?AA>_gy*~&0{!r90o~#nmU{mK9}dv zlHpODC!3xI>dOu)IN~Xi9Op#-^Zg{La=D(o+Rz+czdqh>9c13} sYdX4esRERbV#clep|=SV8s;tk1rE?41r57|g8%>k07*qoM6N<$f*;(?2mk;8 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 zcmeHKdsGu=79XLD2!ci|j}~DFD9D=ki$nrg0wh8JAt1h1CzA<`=4CQK#8px70jy6D ztXjK(4^-5qoU*=Mu`F2Mc8dyyB2dK_)K%*PlztNs@odl8<2l>^n4FpKoBQ4S`|kbS zd%u&(i;scERFVM3vE*%U2cF(f`VcUj%~GTg2}mYvFzVH~27`$u1`Ni` zxEg}YjoSD*&bB`Gy?4ipZEOO)>K--j7IZ!?aBQm7`Y-nM@}RgMxofL)Df-B7ChgF8 zuCy?+Ik&9bduP1!1}M(baXS%?wlqI1E$$3`GRke=zvVv{Y;Gz4>d@**w~x$^>~Oo1 zx3}e7#cE2STY@{$=UTk?*{jvsR)=S{g_0YV6>STfnyOBnljOLRv#MS|!Ett7lMb*f zPMBOZo0@p;qU(S3asI7NHr+bouz3-hdERm z_6J@er&}V-#m|q0Mt!+O;L+-mR~{pn(&p55OCEjqWSpmRqRc16e;2oN)wdhxmdsn; zK9@*o{oKd5aJ#=VrJ&Zicgl z{QAUjqhF}JG#+ZX(z(O<&sN&i6L)@XXso+uyQ%bWu|7K|d_kG?)&sBZu6qw3{lq!+ zW;t|on(<1}ik=6c=rV9nTq*Jx5vteH5tUwv(al-|s5%G=4mBGPbP-0tN-P!EiK*Qu z&QM`oC8o~g$(eFPIF^P>vy50`R;&WeT7(K!)X)%zV6zASXfXnT&03AlBr=PsR$LL7 zlVS!HwyF?|#MBgdJRGh!VlbD^r88*}W;}yU4RL^jjViS$K@vFt0p7&aG=eaQ7>vx! zOnN4Vt~aJKSVEzY!DKVoY#Pv@nU?4X#7xtfd`XCY3<+jJjktlp^*WfuM3nk;LQJKC zb@;7+T7z6Z2(L2@umJdAm=ObmMQ1X!TE-}^e7_%GwIWfC>D`{ z=?LGU5Gr)g-jHt8Si@1F3`~P*fvO4Y%6f0hD49Hd(1N5O71tW9R)FmHGznb&j;!~5 zBUh~940QyU58}S3{Wf;1GSHICMG`%lPP!+Ph^gfMB9$J+RigeW6T_4$0h`7O;$t+f zAV@_+I6@T6c$kuhvVcG^1WKke5r_`ONGJeK#{rIz$qiB}*%*z-3W-1XTM?k|^Y$c7$Lpd}h#^=)zt`Jdkl^}mue?1MNoAhcT6ER}b zQUQ;ED^Q?TuHb-yR84;0o6Izf%mbi|#uU&7DdX~~jDcVoUw0czBZ!;&+&?VY)tufe%t1uC8IaK8S%2QXa0Z z{~KKn?>?q59ry>72|kswYiurq&n!D-bd&_TPW~S5t!)L8Q3mNO69hTBkoO2^`%ZTt z97)LJ5hL%7bfYlnGv*%=LXgdLnPi$G=t5GVT-O*jzHY_YNGyNzOLkr^rK+Ap&jzw`2S-x)!7$FEH# zH?EnT!wycdr#Dsj{V8mZ2lV|nEf+RK_ZD?lJ(Qlgv4=TtU+(F;A8I`Ur;clma}Per z^bGd(EHGPqj%qkflc6W4n!VR``QO~fTbtFyONv|M95|KwUG?F{%Cap*)Avhzi{O>h z_pj3=j|i}@YpZ({r`S%Zx2v&?EnffKh6*mq-L<3YRxG79T2*zRTj7-7|$5BY|K{mXs_kCE57C{jolbV?&+vK3cpQG zMMp~SMDq{ctob_6?Njp;K5%rlH)OwTV^&i{kZa(jihs;oletlP;OWwN$%T?R^?k|u z6P1%j)mWgvt^e`)!Y$kGAC%P)UnFdrP!h(EVWw`*xls5(TVl4bps02s2(Ykwe(0IY z8TnVAZ#$f*$mqS|y8up}9syPN*v@oIJ-!}L^vdh8@*IAt^rr{o>et9FPX*pLy*~Tx z+MHCycH~USWX}sPE}lI-+9l-K3H!RTB-fZ5`}cd*Mmw?MHndFynkh$*g{0P(S65$c zF#aX*($gs&W2iHczBkdGOMjgE<)^%_+pl-0Q;Ow)*12^Rw0iYcvt?S!@$#}~D}kR? zK0A^W+e^2MzqL5s(vvp>cdT2r+NVEWC$^e*n_WVY_9Tt#K+aCnzlefbEtM894(0NMB&PWsZ)oSY5RBT~;dylTJ5b zn>&omb_Qs*Cj?Q<#J}fYXYs#eX^FQsrWn!^cpIh$WcHe^vF=k{BuxB!3c_UPvkjnk zkxqGrYIi6IQx7Z~=Jtw1XFP!mTh}v=w_&C&1pbt#tx_7_TwIyW%j!ZZ@E%iW$ZU zXV(ujm*98#0|jByYEQ8Cs|@1=BTQoIwGyfykTjM7*z{bUwn_k4`&H_-67^b%=a*Mq zKlyb_(pV<<^T)T@x$^Of5+`pGj*_&UegME-XTX=;HJrSO>JHMczLHu#SALp8Mm|?Q z&o8ffh=+UYobZSHrx9U4*6skpQNnIx4dYz-TFom;#BfTzR^o7PoyVK^7k3+LIHo{# z2RKW4oV>~7%>ctIN>o3$K0000eZ7k8HDe!iUT2PgD(!Z|z1Xu)9n!;fJsRdB) zdP%vc-78>CVcfyg=nocH%B{_-9BzHc*t14FK;QVy5209w$_?Ibql;vvx0m3x9HwR_xpUyn!mJD_p)*8St%~&-JgQ9NB zQZDDG6QV5V%jXHdpKPLidi%PFvYh<+7Pe!M#5n-3w5UwJ8{>+Dw_9?#dAY^V570h- zcvmEGj_nu>{eV9=w>7ZCc{%r!9fu^(crm>t%5uzuE=ioT(QP4yet_4O)cdz7y~i#a z-4<8lIsPo9x81^SISdD50D3J4h`Aci(Y?0BpM}^)S)%>W!k>jC^SCUzElJ{>WFF&f zw*YD*0AV`@%)ou%@b$+po;}(uMSf7e=Bc%_*Ov9U=PCXI(gFz8WZCmBBXQoXK(dL8k1 z+ve>oC$yX&D4Xr+;uuoF$a;{Gk->nc*`R7h{b~Of5h-W*EadHKbdtAxXW7mt^!-_w zoX^8;Upi-VrF>$^WeB!7ZgW7l{Ak(UMz@2hTKS)3v@bmH%zGBGFfVKR>nCpyeVN$4 rXM6MO#zPs!dm@fmU&%ZDW}BT>F_YVo_zxR_)-rgy`njxgN@xNA_DxBP 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!ia0vp^0wB!63?wyl`GbL!P=HT}>+imlFV((JGJLLtdL8k1 z+ve@OnMb)BD4XZ$;uuoF$a;{Gk%58dkizqt|EJpDTuRj|Ww-29DCtXMJy^zWJndGV zT*&0?kv(V=VHn5%y}P7+-=4WNcl|&Ua(F2*LP?EcwF-5q zsTC0iKT0PDZIwcy3WBR5I5;_oP{F0Rh?}AgZep>tOIsqQm9tG^ljf3Kdbz|TO&ngy z_B{XRrVcP*pjcOHu>~w0Bw)Ci?0AMNCQUPd`=IeC;0KOLrOl-9R z81wl!0BmbiQCMM8(>82-Qq#HwL8CN4X=^fW7`%@V!f}M-)-0>pY!Z$m&1M_Wtk)}z zhR5MpGED%vYL)VQzE)4bF78z#0YFvUk00H5olJ&QIc^vl zrOU-)OgHY{jxL$z#-}v^vr}VlQYr4?y^HhP+W>M&^TFIWk;H{m3c&TN!>Z!;9Fiuk zo%vBJ5s_a_>`vV}-!^~ea;8)s@OG#3R(b#b6W+c3HaC4?HL(leK!*dsUZr;ONFM-x zG!h8*$$GZnm0gGXd)-73h4#}Y`iaPUI!Ldpb33;e?2|J^JN>KZmZ%U?<(O`$ikpah zE@=YLvjqS6lFMq_P!NWH9o?cM5v)s4A#F&}0cR0tSKhWetxI=) zg}hdw&)`>Zwpq%w1X>7|B{%419bLMZaPU(9nHhaE|F8X6ecsg#fUIhS#}B6-KxkWu z%axwS5divRN(GR(yp#g~0Ndh7qACTD-rg_(G&PMQdRQ+-RyFIT@J%Cex$wB^%=Wqd zfjf@Q9GyMAR`WbNI&0tqajt>|fX(mcQV!xON?fjg^)H3TcXgv_2rM(J>TlxX z<34Z4kr=Y7ZpX2krmQ?(I~V$=#bscbySgcQscC4((V3^fGP`M_|CDlYboS*c_|tYz zuN5Ou-!#%VI!98~w1C2UyV80oe*StE9w#aq|F=5{k3-69=VDhkfn{nM^zZNA5r**i zwm5dv)Q%%9Q1p^G&!;d7!a2rzDM~pUPQ7m$q^Q@dY8V+#{+DuC1&eH-li#6j`KCeU zgtkS8W?9ux1^Ggq!sE)8#N~%mPccj5h*1)$+c%BPOMdP&-Eb8wHZM65G8M*M-4KIH eF6nelwd#L+dnw{V?HvmM0000 { 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 3/4] 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 4/4] 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