From 96188e761d0e766c585953127decf7fac8984200 Mon Sep 17 00:00:00 2001 From: Adrien Vidal Date: Tue, 9 Sep 2025 01:16:27 +0200 Subject: [PATCH] TFG-fication of all exotic stone types (#1764) * Deepslate, Blackstone and Dripstone + hammer crushing refactor * crackrack and space stones * tags + stonecutting + fixes * Moon deepslate set + QoL recipes + tags fixes * pyroxenite tags * Update tags.js * Update constants.js * Update constants.js --------- Signed-off-by: Pyritie Co-authored-by: Pyritie --- .../textures/block/polished_mercury_stone.png | Bin 0 -> 938 bytes .../tfg/blockstates/loose/crackrack.json | 55 +++ .../rock/bricks_moon_deepslate.json | 7 + .../rock/chiseled_bricks_moon_deepslate.json | 7 + .../blockstates/rock/cobble_blackstone.json | 7 + .../blockstates/rock/cobble_crackrack.json | 7 + .../blockstates/rock/cobble_dripstone.json | 7 + .../rock/cobble_moon_deepslate.json | 7 + .../blockstates/rock/cobble_permafrost.json | 7 + .../rock/cracked_bricks_moon_deepslate.json | 7 + .../blockstates/rock/gravel_blackstone.json | 7 + .../blockstates/rock/gravel_crackrack.json | 7 + .../blockstates/rock/gravel_deepslate.json | 7 + .../blockstates/rock/gravel_dripstone.json | 7 + .../tfg/blockstates/rock/gravel_glacio.json | 7 + .../tfg/blockstates/rock/gravel_mars.json | 7 + .../tfg/blockstates/rock/gravel_mercury.json | 7 + .../tfg/blockstates/rock/gravel_moon.json | 7 + .../rock/gravel_moon_deepslate.json | 7 + .../blockstates/rock/gravel_permafrost.json | 7 + .../blockstates/rock/gravel_red_granite.json | 7 + .../tfg/blockstates/rock/gravel_venus.json | 7 + .../rock/pillar_moon_deepslate.json | 16 + .../blockstates/rock/polished_crackrack.json | 7 + .../rock/polished_moon_deepslate.json | 7 + .../tfg/models/block/loose/crackrack_1.json | 6 + .../tfg/models/block/loose/crackrack_2.json | 6 + .../tfg/models/block/loose/crackrack_3.json | 6 + .../block/rock/bricks_moon_deepslate.json | 6 + .../rock/chiseled_bricks_moon_deepslate.json | 6 + .../models/block/rock/cobble_blackstone.json | 6 + .../models/block/rock/cobble_crackrack.json | 6 + .../models/block/rock/cobble_dripstone.json | 6 + .../models/block/rock/cobble_permafrost.json | 6 + .../rock/cracked_bricks_moon_deepslate.json | 6 + .../models/block/rock/gravel_blackstone.json | 6 + .../models/block/rock/gravel_crackrack.json | 6 + .../models/block/rock/gravel_deepslate.json | 6 + .../models/block/rock/gravel_dripstone.json | 6 + .../tfg/models/block/rock/gravel_glacio.json | 6 + .../tfg/models/block/rock/gravel_mars.json | 6 + .../tfg/models/block/rock/gravel_mercury.json | 6 + .../tfg/models/block/rock/gravel_moon.json | 6 + .../block/rock/gravel_moon_deepslate.json | 6 + .../models/block/rock/gravel_permafrost.json | 6 + .../models/block/rock/gravel_red_granite.json | 6 + .../tfg/models/block/rock/gravel_venus.json | 6 + .../block/rock/pillar_moon_deepslate.json | 7 + .../pillar_moon_deepslate_horizontal.json | 7 + .../models/block/rock/polished_crackrack.json | 6 + .../block/rock/polished_moon_deepslate.json | 6 + .../block/rock/bricks_moon_deepslate.png | Bin 0 -> 753 bytes .../rock/chiseled_bricks_moon_deepslate.png | Bin 0 -> 799 bytes .../textures/block/rock/cobble_crackrack.png | Bin 0 -> 1019 bytes .../textures/block/rock/cobble_dripstone.png | Bin 0 -> 1024 bytes .../block/rock/cobble_moon_deepslate.png | Bin 0 -> 936 bytes .../rock/cracked_bricks_moon_deepslate.png | Bin 0 -> 815 bytes .../textures/block/rock/gravel_blackstone.png | Bin 0 -> 1018 bytes .../textures/block/rock/gravel_crackrack.png | Bin 0 -> 1069 bytes .../textures/block/rock/gravel_deepslate.png | Bin 0 -> 638 bytes .../textures/block/rock/gravel_dripstone.png | Bin 0 -> 1107 bytes .../tfg/textures/block/rock/gravel_glacio.png | Bin 0 -> 1079 bytes .../tfg/textures/block/rock/gravel_mars.png | Bin 0 -> 1041 bytes .../textures/block/rock/gravel_mercury.png | Bin 0 -> 1101 bytes .../tfg/textures/block/rock/gravel_moon.png | Bin 0 -> 1085 bytes .../block/rock/gravel_moon_deepslate.png | Bin 0 -> 1038 bytes .../textures/block/rock/gravel_permafrost.png | Bin 0 -> 1090 bytes .../block/rock/gravel_red_granite.png | Bin 0 -> 1167 bytes .../tfg/textures/block/rock/gravel_venus.png | Bin 0 -> 1064 bytes .../block/rock/pillar_moon_deepslate.png | Bin 0 -> 715 bytes .../block/rock/pillar_moon_deepslate_top.png | Bin 0 -> 748 bytes .../block/rock/polished_crackrack.png | Bin 0 -> 898 bytes .../block/rock/polished_moon_deepslate.png | Bin 0 -> 881 bytes .../textures/item/brick/moon_deepslate.png | Bin 0 -> 811 bytes .../tfg/textures/item/brick/red_granite.png | Bin 0 -> 877 bytes .../tfg/textures/item/loose/crackrack.png | Bin 0 -> 5863 bytes .../tfg/textures/item/loose/red_granite.png | Bin 0 -> 882 bytes .../beneath/loot_tables/blocks/crackrack.json | 2 +- .../blocks/rock/bricks_moon_deepslate.json | 20 + .../rock/chiseled_bricks_moon_deepslate.json | 20 + .../blocks/rock/cobble_blackstone.json | 20 + .../blocks/rock/cobble_crackrack.json | 20 + .../blocks/rock/cobble_dripstone.json | 20 + .../blocks/rock/cobble_moon_deepslate.json | 20 + .../blocks/rock/cobble_permafrost.json | 20 + .../rock/cracked_bricks_moon_deepslate.json | 20 + .../blocks/rock/gravel_blackstone.json | 70 ++++ .../blocks/rock/gravel_crackrack.json | 70 ++++ .../blocks/rock/gravel_deepslate.json | 70 ++++ .../blocks/rock/gravel_dripstone.json | 70 ++++ .../blocks/rock/gravel_glacio.json | 70 ++++ .../loot_tables/blocks/rock/gravel_mars.json | 70 ++++ .../blocks/rock/gravel_mercury.json | 70 ++++ .../loot_tables/blocks/rock/gravel_moon.json | 70 ++++ .../blocks/rock/gravel_moon_deepslate.json | 70 ++++ .../blocks/rock/gravel_permafrost.json | 70 ++++ .../blocks/rock/gravel_red_granite.json | 70 ++++ .../loot_tables/blocks/rock/gravel_venus.json | 70 ++++ .../blocks/rock/pillar_moon_deepslate.json | 20 + .../blocks/rock/polished_crackrack.json | 20 + .../blocks/rock/polished_moon_deepslate.json | 20 + kubejs/server_scripts/gregtech/loot.js | 118 +----- .../gregtech/recipes.removes.js | 10 + kubejs/server_scripts/tfg/recipes.collapse.js | 49 ++- kubejs/server_scripts/tfg/recipes.rocks.js | 198 +++++++++- kubejs/server_scripts/tfg/tags.js | 368 +++++++++++++++++- kubejs/startup_scripts/beneath/constants.js | 1 + kubejs/startup_scripts/tfg/blocks.nether.js | 124 +++++- kubejs/startup_scripts/tfg/blocks.space.js | 198 ++++++++++ kubejs/startup_scripts/tfg/constants.js | 79 +++- kubejs/startup_scripts/tfg/items.js | 4 + 111 files changed, 2462 insertions(+), 132 deletions(-) create mode 100644 kubejs/assets/ad_astra/textures/block/polished_mercury_stone.png create mode 100644 kubejs/assets/tfg/blockstates/loose/crackrack.json create mode 100644 kubejs/assets/tfg/blockstates/rock/bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/chiseled_bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json create mode 100644 kubejs/assets/tfg/blockstates/rock/cracked_bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_glacio.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_mars.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_mercury.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_moon.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json create mode 100644 kubejs/assets/tfg/blockstates/rock/gravel_venus.json create mode 100644 kubejs/assets/tfg/blockstates/rock/pillar_moon_deepslate.json create mode 100644 kubejs/assets/tfg/blockstates/rock/polished_crackrack.json create mode 100644 kubejs/assets/tfg/blockstates/rock/polished_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/loose/crackrack_1.json create mode 100644 kubejs/assets/tfg/models/block/loose/crackrack_2.json create mode 100644 kubejs/assets/tfg/models/block/loose/crackrack_3.json create mode 100644 kubejs/assets/tfg/models/block/rock/bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/chiseled_bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/cobble_blackstone.json create mode 100644 kubejs/assets/tfg/models/block/rock/cobble_crackrack.json create mode 100644 kubejs/assets/tfg/models/block/rock/cobble_dripstone.json create mode 100644 kubejs/assets/tfg/models/block/rock/cobble_permafrost.json create mode 100644 kubejs/assets/tfg/models/block/rock/cracked_bricks_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_blackstone.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_crackrack.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_dripstone.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_glacio.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_mars.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_mercury.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_moon.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_permafrost.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_red_granite.json create mode 100644 kubejs/assets/tfg/models/block/rock/gravel_venus.json create mode 100644 kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate.json create mode 100644 kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate_horizontal.json create mode 100644 kubejs/assets/tfg/models/block/rock/polished_crackrack.json create mode 100644 kubejs/assets/tfg/models/block/rock/polished_moon_deepslate.json create mode 100644 kubejs/assets/tfg/textures/block/rock/bricks_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/chiseled_bricks_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_crackrack.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_dripstone.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cobble_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/cracked_bricks_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_blackstone.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_crackrack.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_dripstone.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_glacio.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_mars.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_mercury.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_moon.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_permafrost.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_red_granite.png create mode 100644 kubejs/assets/tfg/textures/block/rock/gravel_venus.png create mode 100644 kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate_top.png create mode 100644 kubejs/assets/tfg/textures/block/rock/polished_crackrack.png create mode 100644 kubejs/assets/tfg/textures/block/rock/polished_moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/item/brick/moon_deepslate.png create mode 100644 kubejs/assets/tfg/textures/item/brick/red_granite.png create mode 100644 kubejs/assets/tfg/textures/item/loose/crackrack.png create mode 100644 kubejs/assets/tfg/textures/item/loose/red_granite.png create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/bricks_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/chiseled_bricks_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_blackstone.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_crackrack.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_dripstone.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cobble_permafrost.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/cracked_bricks_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_blackstone.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_crackrack.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_dripstone.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_glacio.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_mars.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_mercury.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_permafrost.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_red_granite.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/gravel_venus.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/pillar_moon_deepslate.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/polished_crackrack.json create mode 100644 kubejs/data/tfg/loot_tables/blocks/rock/polished_moon_deepslate.json diff --git a/kubejs/assets/ad_astra/textures/block/polished_mercury_stone.png b/kubejs/assets/ad_astra/textures/block/polished_mercury_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..30b5f76907900ec4ae6964d3948c49bc71694737 GIT binary patch literal 938 zcmV;b16BNqP)EX>4Tx04R}tkv&MmKpe$iQ^g_`1v`i+WT;MdQ4!rr6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Kg)$ED_s%9Cf zcudUZR>huI1TcyL%po8#Q%|H9Gw>W=_we!cF2b|C&;2?2l)T9RpGX{Kx?vG-5YKE{ zI_G`j5GzRv@j3B?K^G)`9%C|}6B ztZ?4qtX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z z91EyIh2;3b|KNAGW?^d5O$x??&Kfh(=;uQq_$Ptxmc zEqny@Zvz+CZB5<-E_Z;TCtWfmNAlAY3I*W(jJ_!c4Bi60Yi@6?eVjf38R}~J1~@nb z#*37_?(yzGXK(+WY4!I5=Yew7r(Ly900006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EPY7#!#3{Z;?~02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00DwYL_t(I%Z-!4YTPgsMUSzDk)t>PPZ+w%zJHQ+{;5CL zWp{yg=S^^8L86f*GcxW%mSSf@sWukqz014jJ{Lb89%t=508J&)&eK$q|2f)ugmxZ% zp0VDc&vSe@JNma1QHh!G&;|aMhFF=X}1K{cTee-xc)F@e@Wb|%B06;0R6|gpZ8B^DrY)vV_ zeSMYL#6GiSkc!t)t#{+kyTf|7wV<8PO#scV$V~u0+n1&EgZ{=sQ%U50$ja7pK|K*q zXMGnbwnR8ZXs!9@8keGA3Ujn@xV@%-i!miDU%~vm(p|qmwBF@ST<4u^91k^JZ#IBa z5*IN}Va5|JB`$uPP)eX=MYAht&5*4MeU4N=i=?H=;6lLK?T-ZT7Y|bOp^Vg=^#A|> M07*qoM6N<$g30`!$^ZZW literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/blockstates/loose/crackrack.json b/kubejs/assets/tfg/blockstates/loose/crackrack.json new file mode 100644 index 000000000..568f8180c --- /dev/null +++ b/kubejs/assets/tfg/blockstates/loose/crackrack.json @@ -0,0 +1,55 @@ +{ + "variants": { + "count=1": [ + { + "model": "tfg:block/loose/crackrack_1", + "y": 90 + }, + { + "model": "tfg:block/loose/crackrack_1" + }, + { + "model": "tfg:block/loose/crackrack_1", + "y": 180 + }, + { + "model": "tfg:block/loose/crackrack_1", + "y": 270 + } + ], + "count=2": [ + { + "model": "tfg:block/loose/crackrack_2", + "y": 90 + }, + { + "model": "tfg:block/loose/crackrack_2" + }, + { + "model": "tfg:block/loose/crackrack_2", + "y": 180 + }, + { + "model": "tfg:block/loose/crackrack_2", + "y": 270 + } + ], + "count=3": [ + { + "model": "tfg:block/loose/crackrack_3", + "y": 90 + }, + { + "model": "tfg:block/loose/crackrack_3" + }, + { + "model": "tfg:block/loose/crackrack_3", + "y": 180 + }, + { + "model": "tfg:block/loose/crackrack_3", + "y": 270 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/bricks_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/bricks_moon_deepslate.json new file mode 100644 index 000000000..989f9a714 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/bricks_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/bricks_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/chiseled_bricks_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/chiseled_bricks_moon_deepslate.json new file mode 100644 index 000000000..f5883f881 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/chiseled_bricks_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/chiseled_bricks_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json b/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json new file mode 100644 index 000000000..9322f89aa --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_blackstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_blackstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json b/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json new file mode 100644 index 000000000..a8af00981 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_crackrack.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_crackrack" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json b/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json new file mode 100644 index 000000000..7e4bb7c74 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_dripstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_dripstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json new file mode 100644 index 000000000..4f72b9333 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json b/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json new file mode 100644 index 000000000..56363869d --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cobble_permafrost.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cobble_permafrost" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/cracked_bricks_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/cracked_bricks_moon_deepslate.json new file mode 100644 index 000000000..c411c524a --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/cracked_bricks_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/cracked_bricks_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json b/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json new file mode 100644 index 000000000..e769228fe --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_blackstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_blackstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json b/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json new file mode 100644 index 000000000..c10b6e510 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_crackrack.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_crackrack" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json b/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json new file mode 100644 index 000000000..640736aee --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json b/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json new file mode 100644 index 000000000..7a2db502e --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_dripstone.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_dripstone" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json b/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json new file mode 100644 index 000000000..e167ee620 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_glacio.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_glacio" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_mars.json b/kubejs/assets/tfg/blockstates/rock/gravel_mars.json new file mode 100644 index 000000000..1185ce5ae --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_mars.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_mars" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json b/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json new file mode 100644 index 000000000..8c62c0b65 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_mercury.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_mercury" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_moon.json b/kubejs/assets/tfg/blockstates/rock/gravel_moon.json new file mode 100644 index 000000000..9a5fa93f9 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_moon.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_moon" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json new file mode 100644 index 000000000..004ac267c --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json b/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json new file mode 100644 index 000000000..f8718974d --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_permafrost.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_permafrost" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json b/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json new file mode 100644 index 000000000..4d87c4591 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_red_granite.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_red_granite" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/gravel_venus.json b/kubejs/assets/tfg/blockstates/rock/gravel_venus.json new file mode 100644 index 000000000..6b76d8654 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/gravel_venus.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/gravel_venus" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/pillar_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/pillar_moon_deepslate.json new file mode 100644 index 000000000..ebd02974c --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/pillar_moon_deepslate.json @@ -0,0 +1,16 @@ +{ + "variants": { + "axis=x": { + "model": "tfg:block/rock/pillar_moon_deepslate_horizontal", + "x": 90, + "y": 90 + }, + "axis=y": { + "model": "tfg:block/rock/pillar_moon_deepslate" + }, + "axis=z": { + "model": "tfg:block/rock/pillar_moon_deepslate_horizontal", + "x": 90 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/polished_crackrack.json b/kubejs/assets/tfg/blockstates/rock/polished_crackrack.json new file mode 100644 index 000000000..35bbb9db2 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/polished_crackrack.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/polished_crackrack" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rock/polished_moon_deepslate.json b/kubejs/assets/tfg/blockstates/rock/polished_moon_deepslate.json new file mode 100644 index 000000000..ccdcf0f9a --- /dev/null +++ b/kubejs/assets/tfg/blockstates/rock/polished_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "tfg:block/rock/polished_moon_deepslate" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/crackrack_1.json b/kubejs/assets/tfg/models/block/loose/crackrack_1.json new file mode 100644 index 000000000..977e3cf5c --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/crackrack_1.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_igneous_intrusive_1", + "textures": { + "texture": "beneath:block/crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/crackrack_2.json b/kubejs/assets/tfg/models/block/loose/crackrack_2.json new file mode 100644 index 000000000..1293c8e27 --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/crackrack_2.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_igneous_intrusive_2", + "textures": { + "texture": "beneath:block/crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/loose/crackrack_3.json b/kubejs/assets/tfg/models/block/loose/crackrack_3.json new file mode 100644 index 000000000..a0f2061df --- /dev/null +++ b/kubejs/assets/tfg/models/block/loose/crackrack_3.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/rock/loose_igneous_intrusive_3", + "textures": { + "texture": "beneath:block/crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/bricks_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/bricks_moon_deepslate.json new file mode 100644 index 000000000..7732302b1 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/bricks_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/bricks_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/chiseled_bricks_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/chiseled_bricks_moon_deepslate.json new file mode 100644 index 000000000..55e323eb3 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/chiseled_bricks_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/chiseled_bricks_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cobble_blackstone.json b/kubejs/assets/tfg/models/block/rock/cobble_blackstone.json new file mode 100644 index 000000000..ad6cfdcc5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cobble_blackstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "minecraft:block/blackstone_top" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cobble_crackrack.json b/kubejs/assets/tfg/models/block/rock/cobble_crackrack.json new file mode 100644 index 000000000..95432bb09 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cobble_crackrack.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/cobble_crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cobble_dripstone.json b/kubejs/assets/tfg/models/block/rock/cobble_dripstone.json new file mode 100644 index 000000000..e6ae2b798 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cobble_dripstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/cobble_dripstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cobble_permafrost.json b/kubejs/assets/tfg/models/block/rock/cobble_permafrost.json new file mode 100644 index 000000000..ff942aee9 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cobble_permafrost.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "ad_astra:block/permafrost_top" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/cracked_bricks_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/cracked_bricks_moon_deepslate.json new file mode 100644 index 000000000..421d73f2b --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/cracked_bricks_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/cracked_bricks_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_blackstone.json b/kubejs/assets/tfg/models/block/rock/gravel_blackstone.json new file mode 100644 index 000000000..d9ee63774 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_blackstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_blackstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_crackrack.json b/kubejs/assets/tfg/models/block/rock/gravel_crackrack.json new file mode 100644 index 000000000..681590d51 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_crackrack.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_deepslate.json b/kubejs/assets/tfg/models/block/rock/gravel_deepslate.json new file mode 100644 index 000000000..8ff04f18c --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_dripstone.json b/kubejs/assets/tfg/models/block/rock/gravel_dripstone.json new file mode 100644 index 000000000..9d72e117f --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_dripstone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_dripstone" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_glacio.json b/kubejs/assets/tfg/models/block/rock/gravel_glacio.json new file mode 100644 index 000000000..644584b76 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_glacio.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_glacio" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_mars.json b/kubejs/assets/tfg/models/block/rock/gravel_mars.json new file mode 100644 index 000000000..f3d68f422 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_mars.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_mars" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_mercury.json b/kubejs/assets/tfg/models/block/rock/gravel_mercury.json new file mode 100644 index 000000000..2b8a2a169 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_mercury.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_mercury" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_moon.json b/kubejs/assets/tfg/models/block/rock/gravel_moon.json new file mode 100644 index 000000000..f87fb5702 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_moon.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_moon" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/gravel_moon_deepslate.json new file mode 100644 index 000000000..d8ab793b1 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_permafrost.json b/kubejs/assets/tfg/models/block/rock/gravel_permafrost.json new file mode 100644 index 000000000..af6e7933d --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_permafrost.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_permafrost" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_red_granite.json b/kubejs/assets/tfg/models/block/rock/gravel_red_granite.json new file mode 100644 index 000000000..288781d1e --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_red_granite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_red_granite" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/gravel_venus.json b/kubejs/assets/tfg/models/block/rock/gravel_venus.json new file mode 100644 index 000000000..d20e4d522 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/gravel_venus.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/gravel_venus" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate.json new file mode 100644 index 000000000..153a1d6bd --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "tfg:block/rock/pillar_moon_deepslate_top", + "side": "tfg:block/rock/pillar_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate_horizontal.json b/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate_horizontal.json new file mode 100644 index 000000000..4e3026807 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/pillar_moon_deepslate_horizontal.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column_horizontal", + "textures": { + "end": "tfg:block/rock/pillar_moon_deepslate_top", + "side": "tfg:block/rock/pillar_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/polished_crackrack.json b/kubejs/assets/tfg/models/block/rock/polished_crackrack.json new file mode 100644 index 000000000..4ebed1bc8 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/polished_crackrack.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/polished_crackrack" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/rock/polished_moon_deepslate.json b/kubejs/assets/tfg/models/block/rock/polished_moon_deepslate.json new file mode 100644 index 000000000..2f59b3be5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/rock/polished_moon_deepslate.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/rock/polished_moon_deepslate" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/rock/bricks_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/bricks_moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..981465dfadc1df69c1749a6b8739b46a2248d1ba GIT binary patch literal 753 zcmVEX>4Tx04R}tkv&MmKpe$iQ^g_`5j%(oW~eUOMMWG-6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Kg)$ED_s%9Cf zcudUZR>huI1Tcyq1~4HpQ%|H9Gw>W=_we!cF2b|C&;2?2l)T9RpGX{Kx?vG-5YKK} zI_G`j5GzRv@j3CNK^G)`9%C|}6B ztZ?4qtX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z z91EyIh2;3b|KNAGW?_2DO$x??&Kfh(=;uQq_WPtxmc zEqny@Zvz+CZB5<-E_Z;TCtWfmNAlAY3I*W(jJ_!c4Bi60Yi@6?eVjf38R}~J1~@nb z#*37_?(yzGXK(+WY4!I5)xvVlspx+b00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EVT8Yw;ycQF6}02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{007BJL_t(I%dL{#5`rKQg-^PQI`#tjE_K)YzewX980=16 z6b|4|rJWmQVa@{kox}NZeW*&IEC`|Mxo;mD zh0H%?i>zaiV+#cZ0FWOV+HdJ9QJz;ZRuw zl;>mZk$a?+ayCXsxnPmikkPI07oYBLwvMAYg<086ftJ{N&V$it+v8$R{*!|>&YyBZ jj_oXS&pFJAKMOri4@6|BF%0vn00000NkvXXu0mjfOe{bu literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/chiseled_bricks_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/chiseled_bricks_moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..580db5bfa5f8d571b0864144fd417a9f529837c0 GIT binary patch literal 799 zcmV+)1K|9LP)EX>4Tx04R}tkv&MmKpe$iQ^g_`5j%(oW~eUOMMWG-6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Kg)$ED_s%9Cf zcudUZR>huI1Tcyq1~4HpQ%|H9Gw>W=_we!cF2b|C&;2?2l)T9RpGX{Kx?vG-5YKK} zI_G`j5GzRv@j3CNK^G)`9%C|}6B ztZ?4qtX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z z91EyIh2;3b|KNAGW?_2DO$x??&Kfh(=;uQq_WPtxmc zEqny@Zvz+CZB5<-E_Z;TCtWfmNAlAY3I*W(jJ_!c4Bi60Yi@6?eVjf38R}~J1~@nb z#*37_?(yzGXK(+WY4!I5)xvVlspx+b00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EVT9S|;5Y5o8J02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{008$%L_t(I%Z-vtZ^AGTguh}-#1^Fr{cG*1zn>nl1d(n0 zPofOO6hVgewitQSkM?Ly#VBXoLtva{qO}JJr>UB}$z&%I+e2!z+UDI;8gC35* z$7Z-aqV5b13+1wz-g;%P1?#UI#&Nz4=PcG=pRe&`Ok?w83>dR|l{3L^_ueFy-@O4g d1idqT1^)>Il96S_&4d5|002ovPDHLkV1iT4T6+Kh literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/cobble_crackrack.png b/kubejs/assets/tfg/textures/block/rock/cobble_crackrack.png new file mode 100644 index 0000000000000000000000000000000000000000..ffb7644741302ebcac776383f40553912966701d GIT binary patch literal 1019 zcmVEX>4Tx04R}tkv&MmKpe$iQ^g_`1v`i+WT;MdQ4!rr6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Kg)$ED_s%9Cf zcudUZR>huI1TcyL%po8#Q%|H9Gw>W=_we!cF2b|C&;2?2l)T9RpGX{Kx?vG-5YKE{ zI_G`j5GzRv@j3B?K^G)`9%C|}6B ztZ?4qtX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z z91EyIh2;3b|KNAGW?^d5O$x??&Kfh(=;uQq_$Ptxmc zEqny@Zvz+CZB5<-E_Z;TCtWfmNAlAY3I*W(jJ_!c4Bi60Yi@6?eVjf38R}~J1~@nb z#*37_?(yzGXK(+WY4!I5=Yew7r(Ly900006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EPW1T(3`Njv}m02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00GlUL_t(I%XO1YtJ6Rfh97N&lBS3Fysv{xxD+=X~? zQw8tRAK?G-pDD=Qh~h$M>B6SgbkQ)ha+?gHwdf+8Ln=6%NrpLJ&->23w=duP0f;vV zH`fzBef>gc45_uec=jCM_W_vBX9Pi$EZY-xFR;5U0QUh>YXPvktp?|(0^j#>&M}?O zNUbHy_Iei}%l3HjCeee%G6o<&6#zKrSpNK>31zptt={z-wK}0OjE5tfbJ|*#?e#l9 z6*OvfO}tpfdgi^JywYlRwe0?nhx8Z2{$#t;NedhL#m zBf+b6LTW9ZRFGM#)uQeNzVE97skKDiGLbB=3JIW5tDo(wb)rlJV0A2SJRC6|mJGxL zqPH+fttB+(OeyW4O1`RZ5HyvCc;jD~K*>PhiPoVpES52$F&aFG`e!huh$q#n6~tUs z*Y(;Rrt_If+;4SCC;qR^o9l_bgAcbK6=rp%)>3=u`S0>m!Lc|H8bd2=k>6!Jy?nxI zo$$c(IQ~9zI2?#K3BU5Y(v{AYDo8f5vygVqsXs&&k#`XF_1_yreZGA!U)y+C>Ykqp p-haNO-|CQBt3DC(;zs8je*v4MXRi{ysY3t&002ovPDHLkV1gYx%FO@( literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/cobble_dripstone.png b/kubejs/assets/tfg/textures/block/rock/cobble_dripstone.png new file mode 100644 index 0000000000000000000000000000000000000000..8b03e73a0d622eaa8ca05012ad91787182292377 GIT binary patch literal 1024 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_blackstone.png b/kubejs/assets/tfg/textures/block/rock/gravel_blackstone.png new file mode 100644 index 0000000000000000000000000000000000000000..d395af4814ee9f7c347ec5e8d02f8e869ecf4620 GIT binary patch literal 1018 zcmVEX>4Tx04R}tkv&MmKpe$iQ^hJ32Q#RMWT;MdQ4z;d#UfZJZG~1HOfLO`CJjl8 zi=*ILaPVWX>fqw6tAnc`2!4RL3r>nIQsV!TLW>v=j{EWM-sA2aAT-KMv$`UHrdQ2m zEGlKPt5VM^0vLvfG4#sJGUBPlG(5-GJ$!t<3-c`RbAOJ0HD@uvClN=OVOEJZh-Wve z2IqZZkric?_?&psqze*1a$RxxjdQ_afoFY30SO9fD4~oh!nEq7SV+=-)WbjG_!Hz($W;O( z#{w$QAUl5WKlt6Pm7kt+lY&v8`^C0D#(|z)pjo%=?_=9;o&f%5;7V`%D-B@olk|F9 z3mpLi+rY(jTT}Lc%N=0o$&gLik^D4;d>(i|qi@OrgSSB6n%i4zAEysMnz~xP0S*p< zi2`M>d%Qc)+1tNoTK)Y1rjc^Hdu@mt00006VoOIv0D%C10DtPzVVwW~010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=?EDWFEdx)i{1bL02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00GiTL_t(I%Ts;n{*cD3CAlh-qpMJoqJ`>_pjTwK`j=9*Eax~^^zD9&RO=G zE!rD$=+WK);G8AKL=HVy_xBH9F(!bEp$bJ8QW1wd(6-l9DCC$E*{RIN8Pqf$q&%B*Jy8O zRzI0L!+x{HIZM|aIK`gF$EV^@doxl1IK`fUGtOB~u`ipaL_{PvImLbqA_B=ea3;n? zg(~8Z2edahXIZUo%iPu7-Jh@N2FWT#5fXA}$u1;R4x{zjTblK>mUi&BY$X_aSU=`^u8#8ft)P`H~Pq~n47`bM)}mTolbC8|PE zdrKD*yWM-)FeQ_Y2R=WJXg`t>v@xd9!Q2^YKr=Q>ZjdL~qEX>4Tx04R}tkv&MmKpe$iQ>9fa4t5ZA$WWc^q9Pqj6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2ziIPS;0dyl(!fY7Kg)$EA^s%9Cf zcudUZRz=?{{1`(Y1`v^$sVCBl8FU?A_wexbF3hvKpZjwRDtVIu9+5c8bi*RvAfDT_ zbk6(4K~|C!;&b9DgDyz?$aUG}H_ke3JS*_Gq>z@3DfxNbo<~q%B#Ib|~k`N)IhB7L!5T;cl#YBqsV_p2Cjz38*nOtQs zax9<<6_Voz|AXJ%nuVEZHz^PUdS7h&V*>E)0?oQ@e;?a+^91ld16NwxUu^)9Ptxmc zEp!A7Z37qAZB5<-E_Z;DCtWfmNAl7X3I*W(jJ_!c4BrC%Yi@6?eVjf38R}~J1~@nb zCX1B4-sRo?&ffk#)9UXB)sk|~SD3Wu00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EJQH4+o2TNnTU02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00IR`L_t(I%T<#@Zq0IET?10HrFt9~qouasT-%-jBp(w8s09LY7yTr|=FyAxpv>C}c^i8uEBKf(ltO zI0t~WHA+<&t!b7k3RxmDk(dJH@nCIDvs@(>eSbn^BC%7dqVG?5KVogoWjf>iNIp16 zAxkdPna9V+#0I#Mb~tuPhR6hkECEy)+|IOXx9y44qT=)N>zk8 z;ND*Ge#B@^m_sry`V?_FK$rs}6G>|{sE{RvEb03bQ+UT{jZzisPd4FFjE7^#;2aN| zElO3XSRxY`t%+sxe&ok~mpobw&SB74TO%@&v_@ZIBV+TdtubgsCg@(C$zwf5CJ1v# zavnBYn&pbYIS$8;LY5eExlw?#|BjhW)Z00000NkvXXu0mjfBo)zp literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_deepslate.png b/kubejs/assets/tfg/textures/block/rock/gravel_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a1bde4032a8abf0bc21adb54e31caaf91517b7 GIT binary patch literal 638 zcmV-^0)hRBP)uB9w&?qBI^JE0t-n* zK~y-)Rg+C?8!;3`j}whf8iwQV}#D(a?Grts=vDP9)an(Ew9{>nZ;C+t}1x>R=SZe`tkq`x4cLqQyg)s&xOX|8thytxE zLI|WI(nTpnUDsJf2m!4t(g0%&Aq1?oD5Z#T{I9g@&InNukG5lEmD?9Su)kSLhB0ed-{{d7=!mc&N-~LNLk{2pMy&SQk?+szDMgS zd(8of0wId5P|6Zx44cg+*WKLR-Tj;D#F98pSLc}-j-B4Zp$8x$#?$TZ=Za!B{}dc|(HqwCIe z-5I46QkKLxW|U{MTc&9piG{SLG+Bs(<@XiNzH`_gXqshaqiL21AqtdIgb+9$k2&EK zZj2+&zSEz4{wHm_&nl)#azZ$LmPBK+n8-^T@xI3x!!(4DF-|fQB&o4K`74WcU6cC$ Y0id8(yz#%u?*IS*07*qoM6N<$f}Qsm;s5{u literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_dripstone.png b/kubejs/assets/tfg/textures/block/rock/gravel_dripstone.png new file mode 100644 index 0000000000000000000000000000000000000000..f03870d92e65e7f1acb2d3f49e494cf6e0f5db63 GIT binary patch literal 1107 zcmV-Z1g!gsP)EX>4Tx04R}tkv&MmKpe$iTg4(3K{H5E$WWc^q9Tr^ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jf7n~Gbq{ROvg%&X$9QWhhy~o`6^Clbe)Zdk+{#Iu{0 z&Uv3$U}Z@mJ|~_u=z_$LT$f#b<6Lss&oc!ho1P~Yh{aMD%U#UMhDtm`98pw_^8GoN z70z3n)oPu!@5x^nDrhSiuG1Vv0!v6D1rajpsGtf9QCc-pOr&W)?%@wR{uH@na#g^{ zv49#>NRA);4}N!R7N@7&q);5_eX;G2aiDJ(Xf(d0egat9cB(j`N3qySBSu?W1M(KqFR;ai}8&F!tdkJASrOIDJc?(N?*?f!lMyz+9y`{@&^00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EGUI|E2k)l2{Y02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00JvXL_t(I%T<%VYTG~n#(z4DLV|i1kd!H$@E}Se98DPv z?bM;9bKam&&wW(8vA?)H z#jGFL)hz&%=@?Tr$SB}uc2APVtd=E78UrAs08=%rmL=l-hjYAEpiUG3Ng89ShTiY? zz`MsM0D8ZpHiq8sm`ukAQ#AnYQtx-HmL&i>3z1PklE&n@ruRFPloX3C_7nD?vyeR3 zjzzK9qNK$BKt=(@VvDI7bQa>Z0#h}J)v~1bJG@rlcW*H32gksI0d8jZPKJ__-tPby z?H->;`=JUci{5qMkTBA;s+lh_V zRL#IZNr}!NX@wh0vD}Z%HqRzf8-t1@!uI>%SyBJ3DHdD2R*EX>4Tx04R}tkv&MmKpe$iQ>9fa4t5ZA$WWc^q9Pqj6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2ziIPS;0dyl(!fY7Kg)$EA^s%9Cf zcudUZRz=?{{1`(Y1`v^$sVCBl8FU?A_wexbF3hvKpZjwRDtVIu9+5c8bi*RvAfDT_ zbk6(4K~|C!;&b9DgDyz?$aUG}H_ke3JS*_Gq>z@3DfxNbo<~q%B#Ib|~k`N)IhB7L!5T;cl#YBqsV_p2Cjz38*nOtQs zax9<<6_Voz|AXJ%nuVEZHz^PUdS7h&V*>E)0?oQ@e;?a+^91ld16NwxUu^)9Ptxmc zEp!A7Z37qAZB5<-E_Z;DCtWfmNAl7X3I*W(jJ_!c4BrC%Yi@6?eVjf38R}~J1~@nb zCX1B4-sRo?&ffk#)9UXB)sk|~SD3Wu00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EJU3L)W@N+tjR02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00Iw5L_t(I%T<%jYTG~*g})eq8400i7zhIFCKG~Ny9o|${Tb9C|f)3?|8)r>5g@pyL+ zz;eAnml{yKAmYJjt$sT9| zBx3Sj+}RUTISK&MT%rm^D1;ZsNkm;4f62rh(p-|s7=TcWug6J*dq5S6x-#feljf4a zSahkG^wu(!g27nkA6I1A%x~bt0Q=p6&Yt}0&PveP6QQxAsDaz>zlcOYnoB>dOU>qb zL(|k}7x&gOnP1Jke}GKJghH@b&54tU{qBG&6irjp9y@;jEd7R|5Cm}&5hoGtvE%vS z2~{ZCV@K1}=u#63L3`{xILFD&1pw`_BTga)V}0&}vEFB086Tr66qlDN+nX(+5dUM` z?+*0Vvbo-%3gv}y5)lf){A%X?Z*R7q(WJMQ!C2Bh=GP}zqWH1Js6vs^EH zHxumWPFQ)Z`9o)f;{dj(OA`}8$Y9FmG^|(QtL}RXR)I{&%eC(<4} xRG|p!%J>@7z~kLLp%7=n=Z7a>ch?1{`v(KAO56f?$QA$q002ovPDHLkV1h7N>Hq)$ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_mars.png b/kubejs/assets/tfg/textures/block/rock/gravel_mars.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf7192bd4d3a51366a651d90bb1a94f3349d2d1 GIT binary patch literal 1041 zcmV+s1n&EZP)EX>4Tx04R}tkv&MmKpe$iQ^g_`1v`i+WT;MdQ4!rr6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Kg)$ED_s%9Cf zcudUZR>huI1TcyL%po8#Q%|H9Gw>W=_we!cF2b|C&;2?2l)T9RpGX{Kx?vG-5YKE{ zI_G`j5GzRv@j3B?K^G)`9%C|}6B ztZ?4qtX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z z91EyIh2;3b|KNAGW?^d5O$x??&Kfh(=;uQq_$Ptxmc zEqny@Zvz+CZB5<-E_Z;TCtWfmNAlAY3I*W(jJ_!c4Bi60Yi@6?eVjf38R}~J1~@nb z#*37_?(yzGXK(+WY4!I5=Yew7r(Ly900006VoOIv0Av7L09y&6Bi{f3010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EPXA_6&rbb9~*02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00HSqL_t(I%T<%jYTPgo$A6v`N^CVzLZGadKq0i(zDb{> z&({}9ZeHimZ0#T`2qX0{mP>sSo{{GNHO;S|Kg!*M;mQb?2>|+&VIC8=N6UFwagqsH zaFPMIJzC~55waj(o;sQc>0OIXGV_=yE&p9k9|?fc!Zc~UKN(~mwNRT%t7m}DWp0la zCz<=sP+IWbvIMOIn0n}3#)+Y9C_<2(N`-wMR+^aT95fN;n2?Z#(&~@n_eZXb>* zP&$={_mLMNLmPk!$+^O#`s9AxJ@k2EX>4Tx04R}tkv&MmKpe$iQ^g_`1v`i+WT;MdQ4!rr6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Kg)$ED_s%9Cf zcudUZR>huI1TcyL%po8#Q%|H9Gw>W=_we!cF2b|C&;2?2l)T9RpGX{Kx?vG-5YKE{ zI_G`j5GzRv@j3B?K^G)`9%C|}6B ztZ?4qtX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z z91EyIh2;3b|KNAGW?^d5O$x??&Kfh(=;uQq_$Ptxmc zEqny@Zvz+CZB5<-E_Z;TCtWfmNAlAY3I*W(jJ_!c4Bi60Yi@6?eVjf38R}~J1~@nb z#*37_?(yzGXK(+WY4!I5=Yew7r(Ly900006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EPY9|t1BqJ01W02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00JdRL_t(I%T<#-Z`wc@$A4fG+c|<&Tew-sgpw^D88TGL zQYl-%QHOr6j+Gb@ODmA5YE^1XjKa%tXT_E~m^+1Ae8cm9?*Hb_)9pi(#8*VU4vUvP z0F%*>S-v4nBBt3I-*eDqjqf=Cq)Egq-=NEy&bQBBnpwU9I2#gvK(Reoa9uSB;UfG1 zbH;;!?t5@uH3&aImo)%!*e6XQe9y7q@t|F7PS;%Gu#XTf0KVr?Y!8eF0p@`;i72)Q zX8DFV>?5^emT&0lvPSp;QY)VB1yQeK85l6YG+R?wjiqj+xOLSawL+IQ^Hsyoe>)tv zLmc+)@GRf(cz1(5s5(`?OTG(;X1%bg-G_Bd__-*fOi z2X{PZjalv#+5SkHL@aj-d2BWMp2Kpdta0{%)0_*i+^LqTRyOyUR#vBBD1=LzM2O3P z@4x=wdk#)K`1tk0?Xk#Tsp^KuyBng59?w#-mnHW}NKux27zo~~if5@}@ey;b4EO)IGx7Z$RjpwUN7B72S5(CWkM_YH(1%vw!1;tu1 TvG)if00000NkvXXu0mjf36k=P literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_moon.png b/kubejs/assets/tfg/textures/block/rock/gravel_moon.png new file mode 100644 index 0000000000000000000000000000000000000000..a06e310ad0bec7654d5a471e7719a1b348951190 GIT binary patch literal 1085 zcmV-D1j74?P)EX>4Tx04R}tkv&MmKpe$iQ>9fa4t5ZA$WWc^q9Pqj6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2ziIPS;0dyl(!fY7Kg)$EA^s%9Cf zcudUZRz=?{{1`(Y1`v^$sVCBl8FU?A_wexbF3hvKpZjwRDtVIu9+5c8bi*RvAfDT_ zbk6(4K~|C!;&b9DgDyz?$aUG}H_ke3JS*_Gq>z@3DfxNbo<~q%B#Ib|~k`N)IhB7L!5T;cl#YBqsV_p2Cjz38*nOtQs zax9<<6_Voz|AXJ%nuVEZHz^PUdS7h&V*>E)0?oQ@e;?a+^91ld16NwxUu^)9Ptxmc zEp!A7Z37qAZB5<-E_Z;DCtWfmNAl7X3I*W(jJ_!c4BrC%Yi@6?eVjf38R}~J1~@nb zCX1B4-sRo?&ffk#)9UXB)sk|~SD3Wu00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EJS4Gt5%Z^8fo02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00I?BL_t(I%WacAZ`&{wMUNDdRw>$+TZBMh2S$)|&QIvr zrT-r&nzV=^52fM69}J_Cu+>2p)1jO=y!-g>;eFYcuix6~%{7%QSpIwjU{p`9|Md8f80Aff1Zx@3XN;;z^4fFh6WN27#!yH> z>m0AIf5`iIw$71ho$M@b?WU9su@)i2GSVhe?Ud=$#mEBO%~XCnf9bPH;UeOQEr_}QI^Ie2LEPW8k6?q z7*AwcBa~v$Z`|VZXWq^$T}Y8uR~mz@mnrUj*m~Vx<0eLFMvRr000000NkvXXu0mjf DYsK(S literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/gravel_moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..ce10141ef965ec3c11746f70974334851c78b372 GIT binary patch literal 1038 zcmV+p1o8WcP)EX>4Tx04R}tkv&MmKpe$iQ>9fa4t5ZA$WWc^q9Pqj6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2ziIPS;0dyl(!fY7Kg)$EA^s%9Cf zcudUZRz=?{{1`(Y1`v^$sVCBl8FU?A_wexbF3hvKpZjwRDtVIu9+5c8bi*RvAfDT_ zbk6(4K~|C!;&b9DgDyz?$aUG}H_ke3JS*_Gq>z@3DfxNbo<~q%B#Ib|~k`N)IhB7L!5T;cl#YBqsV_p2Cjz38*nOtQs zax9<<6_Voz|AXJ%nuVEZHz^PUdS7h&V*>E)0?oQ@e;?a+^91ld16NwxUu^)9Ptxmc zEp!A7Z37qAZB5<-E_Z;DCtWfmNAl7X3I*W(jJ_!c4BrC%Yi@6?eVjf38R}~J1~@nb zCX1B4-sRo?&ffk#)9UXB)sk|~SD3Wu00006VoOIv04)G705eR}FaZDn010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EJS9Xk)qxv&5L02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00HJnL_t(I%T<%hP8%^4hQH1^9y{rbln?@lERq+fy6F4A z3#9^4HGxVqB=*==yGZR4ue>;y|8_oo`TFh8_4<~%v%J2&0nl|l!3V6fjN^dOmY61t zwg6aX2|f_hM00m{PmYOUcn82}OYi|PdeJxmY1aQ4##~E4J#IFy#lZ)5+a3GE;bL%16V3Jd_CloPVujI`yPF$S zgmE0O&ayuoNICQJ@>~%bZBZ4e8;9W?>ntf}_J;$(2aL9)oU3rl#j0wOa;5=DIin(# zYmTW}DMs<9V-?Uk%Vu+5>#B|8I1tmsZo9)e3xGczQ4x%`T(55{|A+4n|26vPxr$V- zMVGR*B=4iR`(Hn4iuWo)%DK|nZFejetBZgcZOJj!fnC?1gA~(*x>v|e7ikr>xrz3B_4^`nJZjK4>_YA{(y^~^X@ZpR=MQW7GvBWf8 zTwqCFairWy<4;F|4_qxa^!;c2=}3+Vqir2nF11ixE>@JjzZ&I4S;4BoX#fBK07*qo IM6N<$g1ySoKmY&$ literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_permafrost.png b/kubejs/assets/tfg/textures/block/rock/gravel_permafrost.png new file mode 100644 index 0000000000000000000000000000000000000000..f0989b893129368aec506384a9f11aedaed5e3a4 GIT binary patch literal 1090 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/gravel_venus.png b/kubejs/assets/tfg/textures/block/rock/gravel_venus.png new file mode 100644 index 0000000000000000000000000000000000000000..cb17e4fa07bb24df668982cd993491f6076815a9 GIT binary patch literal 1064 zcmV+@1lRkCP)EX>4Tx04R}tkv&MmKpe$iQ^g_`1v`i+WT;MdQ4!rr6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Kg)$ED_s%9Cf zcudUZR>huI1TcyL%po8#Q%|H9Gw>W=_we!cF2b|C&;2?2l)T9RpGX{Kx?vG-5YKE{ zI_G`j5GzRv@j3B?K^G)`9%C|}6B ztZ?4qtX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z z91EyIh2;3b|KNAGW?^d5O$x??&Kfh(=;uQq_$Ptxmc zEqny@Zvz+CZB5<-E_Z;TCtWfmNAlAY3I*W(jJ_!c4Bi60Yi@6?eVjf38R}~J1~@nb z#*37_?(yzGXK(+WY4!I5=Yew7r(Ly900006VoOIv0Av7L09y&6Bi{f3010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EPXCn4sN@k{^!02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00IC>L_t(I%UzSfYTG~*MNfo{L7K{lfCfyosEA^+aqzZ< z(m&|8bko1+&$K^K3hk=k)H_$8EL0Rm#Rw}Sfzcveh&Q#X)hy<|dH39_i_ah4JjdA; zD)1@u2LP7q6=hzKWGTDN7GEiPYw?u=Ajwk7yr8$1i-%9|pUb=eIJ-0p1DeV>@z4#- zb;K+TkT2F6?^HZ=1G6xow-$hCp-Hk7UnwV!wWg_z8{)|!T4?4v0>D>_rZU7@BM&55 zN>driydYX=j%`Po7kIt3%))?U+Y#N}p#tA+AYy>sX3NkGZgsIT8M=XE+tFLgWnEF+ z|6&?Ui5A*jF7tv{Z(p-NJe>{htz{BtS2UGz)5XT^%{BYO6T8ip<$A^b@I-A4b^e=a zFvV92U#T$#fZ7<2ZAX%&)aKm3BqDr-No@=h5yx6nwuQ^RYzya8Hk|8-BulxRzu^0q zZ{r4EKfZfDeL=iRQKVD?TD(gVUT^J~z(SvSm0n0A1@tTo@RcIgnuBSWh^JUWw+V7RD@HR7fgfc$e_2@K?Eq_*=>7uec~l{{Gzs7U0000EX>4Tx04R}tkv&MmKpe$iQ^g_`5j%(oW~eUOMMWG-6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Kg)$ED_s%9Cf zcudUZR>huI1Tcyq1~4HpQ%|H9Gw>W=_we!cF2b|C&;2?2l)T9RpGX{Kx?vG-5YKK} zI_G`j5GzRv@j3CNK^G)`9%C|}6B ztZ?4qtX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z z91EyIh2;3b|KNAGW?_2DO$x??&Kfh(=;uQq_WPtxmc zEqny@Zvz+CZB5<-E_Z;TCtWfmNAlAY3I*W(jJ_!c4Bi60Yi@6?eVjf38R}~J1~@nb z#*37_?(yzGXK(+WY4!I5)xvVlspx+b00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EVT94r_hBsc&702y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{005&&L_t(I%e|9L4#FT1Mn5M&t(HYSknVc_tF$H7!X&yX zfm#rM;#*CC%)A+3cfNG@YF_~Wj2Y218UQfgW@vqcbqr%hoZ1%F@zXkCg_6R@b$!4V z*0GNX2^`zhR#b#as!E}fHc5k0Gs>x^2yG}gtP%)c@}C5`Iela>P1iU)uvAn{;m@3kOysfJ>r7#m$(1`002ovPDHLkV1lWiEUW+k literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate_top.png b/kubejs/assets/tfg/textures/block/rock/pillar_moon_deepslate_top.png new file mode 100644 index 0000000000000000000000000000000000000000..f96def315c6f6848136e1671e086bdf55a8ef3b0 GIT binary patch literal 748 zcmVEX>4Tx04R}tkv&MmKpe$iQ^g_`5j%(oW~eUOMMWG-6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2zhIPS;0dyl(!fY7Kg)$ED_s%9Cf zcudUZR>huI1Tcyq1~4HpQ%|H9Gw>W=_we!cF2b|C&;2?2l)T9RpGX{Kx?vG-5YKK} zI_G`j5GzRv@j3CNK^G)`9%C|}6B ztZ?4qtX68Qbx;1nU|w5EbDic0;#figNr;e9Lm3rVh|sE$Vj@NRF%SQ+<4=-HCRZ7Z z91EyIh2;3b|KNAGW?_2DO$x??&Kfh(=;uQq_WPtxmc zEqny@Zvz+CZB5<-E_Z;TCtWfmNAlAY3I*W(jJ_!c4Bi60Yi@6?eVjf38R}~J1~@nb z#*37_?(yzGXK(+WY4!I5)xvVlspx+b00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EVT91u58Sib-O02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{006{EL_t(I%f(Z>4#OY}yb>qD9`kMO)c;?D)B)2rsGUd& z0y=c)Nk~Y3+}Rwb^X2+d^~k|2sG*iesvfIzuq>cq002CmH}tT@h@c(|00IEZ0GjA~-PHR5~KjQxl zsO7TWGV@$h7M2U^#Z>*#2bSeyqy}vH?5XoK62#8CNqSb!YbZIeoV)j-az_%gU?~#5 eednZ>S?~rQ-eiUu5l?0S0000EX>4Tx04R}tkv&MmKpe$iQ>9fa4t5ZA$WWc^q9Pqj6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2ziIPS;0dyl(!fY7Kg)$EA^s%9Cf zcudUZRz=?{{1`(Y1`v^$sVCBl8FU?A_wexbF3hvKpZjwRDtVIu9+5c8bi*RvAfDT_ zbk6(4K~|C!;&b9DgDyz?$aUG}H_ke3JS*_Gq>z@3DfxNbo<~q%B#Ib|~k`N)IhB7L!5T;cl#YBqsV_p2Cjz38*nOtQs zax9<<6_Voz|AXJ%nuVEZHz^PUdS7h&V*>E)0?oQ@e;?a+^91ld16NwxUu^)9Ptxmc zEp!A7Z37qAZB5<-E_Z;DCtWfmNAl7X3I*W(jJ_!c4BrC%Yi@6?eVjf38R}~J1~@nb zCX1B4-sRo?&ffk#)9UXB)sk|~SD3Wu00009a7bBm000XT000XT0n*)m`~Uy|8FWQh zbVF}#ZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b0e?wEK~y-6b&^4D+b|GCpGYli zivj{cju%Pmw5wjA>z<=G=mmP+HZHQUO)v&TNm-au7wRyS;Le63HS_1s|C9av{$u1u z9Nig!UA4XWZ&z(Ox-)s2+_xRZlsvy2sP8J)#RmK8;vL{*E&KgP?5pE&_=8H3jVTFZ zV7Lwd=uG2%!*CrirUXFcQ%M*Dz{Eh3)36seyN5BbE;iK3TN~ac2GU8s@9UcSuELlS zW6Icd30&wE>gdj~Sk81DAkGgkTnBWfBV)Czw%Ci~WbJIW|AopG-Z%Vu{!JU+CJmk* z_cI2@lz88;E;chjo#`lW1Wdcid`lMg;^^BB?;BLEFs9`5)29hQc3@c~wn^7iJjpHe zid;5I1cLX4>f0_B%9trgv@sP(XF3YHE;f94ctqujFov4~tD`$dONQ%kGbyz(jY6*` z8<%lkzweuXi}%6~{%xYnuQQFx6@A-rvKH?f`nCg@6{Vm6*|#rW#}u*9t9YjGLV5Z2 Y7uy-xS(G5M&Hw-a07*qoM6N<$g8ZGBpa1{> literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/rock/polished_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/polished_moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5661bbdd4ffaf25539df338980b30910fa6ee7 GIT binary patch literal 881 zcmV-%1CIQOP)EX>4Tx04R}tkv&MmKpe$iQ>9fa4t5ZA$WWc^q9Pqj6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|E;uQ=NQwVT3N2ziIPS;0dyl(!fY7Kg)$EA^s%9Cf zcudUZRz=?{{1`(Y1`v^$sVCBl8FU?A_wexbF3hvKpZjwRDtVIu9+5c8bi*RvAfDT_ zbk6(4K~|C!;&b9DgDyz?$aUG}H_ke3JS*_Gq>z@3DfxNbo<~q%B#Ib|~k`N)IhB7L!5T;cl#YBqsV_p2Cjz38*nOtQs zax9<<6_Voz|AXJ%nuVEZHz^PUdS7h&V*>E)0?oQ@e;?a+^91ld16NwxUu^)9Ptxmc zEp!A7Z37qAZB5<-E_Z;DCtWfmNAl7X3I*W(jJ_!c4BrC%Yi@6?eVjf38R}~J1~@nb zCX1B4-sRo?&ffk#)9UXB)sk|~SD3Wu00006VoOIv04)G705eR}FaZDn010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EJS8wBt0GYbF!02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00Bu!L_t(I%YBm3Qo=A0MUOOvS{l$1hHuj+|5^P3eL}!O zQ$kDI(FaV}6m(}YnIyY+@7|l6$EW9Su0&Dn0GLdsf4&*BM*+OPy#SD9n&dVGple#1 z_Q+SB0}!hr08y+wP`=%q0A}+AUDF0#WTHHGO&h!ot|hn?#mcWV8TlgFYyeOltS``d z9Do6&$p~B3LE(C}JOjjP=)3e2yQamMeZVN+ZpbnXfGUa|QLIjhzrx9IqDm(BcMn9d zqAU$+GMQqlPfy!{_2<=k9I$h{a-O^4%-I!bmn(Gt z!G-FJXw3dX2j`Bh>Wk4-nvAeQAPLwPum9Qn2+jf5O@ehzi|y%AmL?pbX^+HeNYfqz zkL8`z!P&T8El(rJ$TCe?ngC=rUj(zu@szD<|1D)mn*YTQxqI4aVtvC600000NkvXX Hu0mjfX%2v9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/brick/moon_deepslate.png b/kubejs/assets/tfg/textures/item/brick/moon_deepslate.png new file mode 100644 index 0000000000000000000000000000000000000000..480f3150ea6e1c87926228879911dd8eb4e25221 GIT binary patch literal 811 zcmV+`1JwM9P)EX>4Tx04R}tkv&MmKpe$iQ>8^J4(%W!nxS^Gi;6gwDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RR9%C|}66 zS>e3JS*_Mt=brq9fr7S@;X2JxB(Q`eQV=1djtZ)<5T#Wk#YCF+<1YRY$DbmXOs)zT zITlcZ3d!+<|H1EW&EoV_J1Gzc`d@7OV*>E)0jdyV16NwtUuyz$pQJas zTKEVU+6FGJyPCWQT zL`sys?(%MbZ*Tve>Gbyl`&)9|wx8x;00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=?EVaE&-?Y$Z-Gw02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{009F@L_t(I%hi&>Y63A3Kwn5!O>WZfQ4sdDAMBwNY764` zRB0xgO-K)tR4v+TJC{kqyvIx!_&2fXhqCF1a{I1+gX-C6&8#!{F!K7cRd)rKkXy_t zC={h-;7X$ILC#vdNQ0fVi1;Qtoj!Sgdsb@G59MjO#EUfOHdhINvlf7l6p7yuEE zv#vq4u)@~5Hlm0pPKlH=Q;L`rBT;MMTT%s8CgSm7Y@eBO#%O)MS96?FlUzcz@D?7c z5Fq7@Tg>rcq@a)xu7JyPo)SSk0EhifDS*|wFJ?BwXie93NC;POo)S}vt&_uk_j3=b pq;~QMy1R+1bzjaSrH9bpiZ3jGuoHUK!w>)f002ovPDHLkV1o9@V-f%W literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/brick/red_granite.png b/kubejs/assets/tfg/textures/item/brick/red_granite.png new file mode 100644 index 0000000000000000000000000000000000000000..dd7760715230e5854e27692c0ccb4f3c3304dda3 GIT binary patch literal 877 zcmV-z1CsoSP)EX>4Tx04R}tkv&MmKpe$iQ>8^J4i*#<$xxl_q9Wo{s#pXIrLEAagUO{ILX(Ch z#l=x@EjakGSaoo5*44pP5ClI!+yy5^7b)?7NufoI2gm(*ckglc4iFj@rkY(bK-DZG zorsIM{E8TOMGzwhU;wicGxcO*kxkDLhl#~f2g@DI%7#ijMI2F7jq-(@ z%L?Z$&T6H`TKD8H3>CEH4A*H6BY{OEk%9;rHEf^)3sG7%QcR?2Kknfla{MWB$>iDq zBgZ_dP$4;f@IUz7ty!F$aFarDp!>zPKSqJTF3_yo_V=-EH%|cnGjOG~{nZ9A^GSNW ztwoN2zHQ**x~<83z~v4w_@qmQdXVvYkwU5&WAWK~>-2exN zz*vd0*F4@G?CkB|Gp+u90Q(1W-E9)sVE_OC24YJ`L;(K){{a7>y{D4^000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2k8hN2O&31L@n+B000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003*Nkl6ovWyBz8xdbVCRU zTUXwJD{uv`;NDAc3bsT7D-udgOk^lvI_1xXy3p2E18((g=4F!ao8Qbl_&3$AmZNsH z9DU!{euLuP&;{pbr?_&?!(gKA6{MkxS)!optdvStAS2QCLBg^LNBsmAmW}Ln6VYJu z!sGZ=J8oCYQSJ7Qi)c%w)&#XoU}4#ymLDgpB`5hj!m<%p*X$NkZt_R>IRM$~Vmgg4 z2r>ywr;%Jy_PPY?ExrnoGf8ft7ctgbNJ(OWux!L90$+tx%o47gQyBFbj=c4~{-4xlr^00000NkvXXu0mjf Dj4go9 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/loose/crackrack.png b/kubejs/assets/tfg/textures/item/loose/crackrack.png new file mode 100644 index 0000000000000000000000000000000000000000..725717a0f083f6a5048364753ff071ac1988b1e1 GIT binary patch literal 5863 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 THXEuA7>w@VW}mxeThzY+NeLxW literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/loose/red_granite.png b/kubejs/assets/tfg/textures/item/loose/red_granite.png new file mode 100644 index 0000000000000000000000000000000000000000..2a68bc48b65c349128eec49ca623a80a13b5a786 GIT binary patch literal 882 zcmV-&1C9KNP)EX>4Tx04R}tkv&MmKpe$iQ>8^J4i*#<$xxl_q9Wo{s#pXIrLEAagUO{ILX(Ch z#l=x@EjakGSaoo5*44pP5ClI!+yy5^7b)?7NufoI2gm(*ckglc4iFj@rkY(bK-DZG zorsIM{E8TOMGzwhU;wicGxcO*kxkDLhl#~f2g@DI%7#ijMI2F7jq-(@ z%L?Z$&T6H`TKD8H3>CEH4A*H6BY{OEk%9;rHEf^)3sG7%QcR?2Kknfla{MWB$>iDq zBgZ_dP$4;f@IUz7ty!F$aFarDp!>zPKSqJTF3_yo_V=-EH%|cnGjOG~{nZ9A^GSNW ztwoN2zHQ**x~<83z~v4w_@qmQdXVvYkwU5&WAWK~>-2exN zz*vd0*F4@G?CkB|Gp+u90Q(1W-E9)sVE_OC24YJ`L;(K){{a7>y{D4^000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2k8hN2PhRt=GQ|2000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003=NklhR}2Y}KEEJDhz zpj5~aNkyrUJJn#LHA*LxU15>|lFgerMKOQ!p8Y&$3IPaLirem;8R22_2*5IYJ_Xp+ zaHRlf`%R;P@B)0TKjJPg4CF|}v~p^ZR7V0Y { // Have to define these here because normal loot table jsons don't support checking for hammers - event.addBlockLootModifier('minecraft:deepslate') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('minecraft:cobbled_deepslate') - - event.addBlockLootModifier('minecraft:blackstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/black') - - event.addBlockLootModifier('minecraft:dripstone_block') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/brown') - - event.addBlockLootModifier('tfg:rock/hardened_blackstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/black') - - event.addBlockLootModifier('tfg:rock/hardened_deepslate') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('minecraft:cobbled_deepslate') - - event.addBlockLootModifier('tfg:rock/hardened_dripstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/brown') - - event.addBlockLootModifier('minecraft:gilded_blackstone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addSequenceLoot( - LootEntry.of('tfc:sand/black'), - LootEntry.of('tfc:powder/native_gold') - ) - - event.addBlockLootModifier('beneath:crackrack') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/pink') - - event.addBlockLootModifier('ad_astra:moon_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:moon_cobblestone') - - event.addBlockLootModifier('ad_astra:moon_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:moon_sand') - - event.addBlockLootModifier('ad_astra:moon_deepslate') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:moon_sand') - - event.addBlockLootModifier('ad_astra:mars_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:mars_cobblestone') - - event.addBlockLootModifier('ad_astra:mars_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:mars_sand') - - event.addBlockLootModifier('ad_astra:venus_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:venus_cobblestone') - - event.addBlockLootModifier('ad_astra:venus_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:venus_sand') - - event.addBlockLootModifier('ad_astra:mercury_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:mercury_cobblestone') - - event.addBlockLootModifier('ad_astra:mercury_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/red') - - event.addBlockLootModifier('ad_astra:glacio_stone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('ad_astra:glacio_cobblestone') - - event.addBlockLootModifier('ad_astra:glacio_cobblestone') - .matchMainHand('#forge:tools/hammers') - .removeLoot(ItemFilter.ALWAYS_TRUE) - .addLoot('tfc:sand/white') // Crush raw rock into cobble global.TFC_STONE_TYPES.forEach(stoneType => { @@ -142,6 +46,22 @@ const registerGTCEULoots = (event) => { .addLoot(STONE_TYPES_TO_COBBLE[stoneType]); }) + // Defined in kubejs/startup_scripts/tfg/constants.js + global.HAMMERING.forEach(x => { + event.addBlockLootModifier(x.raw) + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addLoot(x.hammered) + }) + + event.addBlockLootModifier('minecraft:gilded_blackstone') + .matchMainHand('#forge:tools/hammers') + .removeLoot(ItemFilter.ALWAYS_TRUE) + .addSequenceLoot( + LootEntry.of('tfg:rock/cobble_blackstone'), + LootEntry.of('tfc:powder/native_gold') + ) + // Go through all materials forEachMaterial(material => { if (material.hasProperty(PropertyKey.ORE)) { diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js index b668b69c1..4be69d99c 100644 --- a/kubejs/server_scripts/gregtech/recipes.removes.js +++ b/kubejs/server_scripts/gregtech/recipes.removes.js @@ -666,6 +666,16 @@ function removeGTCEURecipes(event) { event.remove({ id: 'gtceu:forming_press/form_purpur_slab_into_pillar' }) event.remove({ id: 'gtceu:rock_breaker/red_granite' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_bricks' }) + event.remove({ id: 'gtceu:laser_extruder/extrude_red_granite_bricks' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_tile' }) + event.remove({ id: 'gtceu:laser_engraver/gtceu_red_granite_tile' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_small_tile' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_windmill_a' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_red_granite_windmill_b' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_small_red_granite_bricks' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_square_red_granite_bricks' }) + event.remove({ id: 'gtceu:laser_engraver/engrave_chiseled_red_granite' }) event.remove({ id: 'gtceu:lathe/stone_rod_from_cobblestone' }) diff --git a/kubejs/server_scripts/tfg/recipes.collapse.js b/kubejs/server_scripts/tfg/recipes.collapse.js index 4d2de6a9c..62e039d47 100644 --- a/kubejs/server_scripts/tfg/recipes.collapse.js +++ b/kubejs/server_scripts/tfg/recipes.collapse.js @@ -9,18 +9,28 @@ function registerTFGCollapseRecipes(event) { // #region Nether event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'minecraft:deepslate') event.recipes.tfc.collapse('minecraft:cobbled_deepslate', 'tfg:rock/hardened_deepslate') - event.recipes.tfc.collapse('minecraft:blackstone', 'minecraft:blackstone') - event.recipes.tfc.collapse('minecraft:blackstone', 'tfg:rock/hardened_blackstone') - event.recipes.tfc.collapse('minecraft:dripstone_block', 'minecraft:dripstone_block') - event.recipes.tfc.collapse('minecraft:dripstone_block', 'tfg:rock/hardened_dripstone') - + event.recipes.tfc.collapse('tfg:rock/cobble_blackstone', 'minecraft:blackstone') + event.recipes.tfc.collapse('tfg:rock/cobble_blackstone', 'tfg:rock/hardened_blackstone') + event.recipes.tfc.collapse('tfg:rock/cobble_dripstone', 'minecraft:dripstone_block') + event.recipes.tfc.collapse('tfg:rock/cobble_dripstone', 'tfg:rock/hardened_dripstone') + event.recipes.tfc.collapse('tfg:rock/cobble_crackrack', 'beneath:crackrack') event.recipes.tfc.collapse('tfc:rock/cobble/basalt', 'minecraft:basalt') + event.recipes.tfc.collapse('minecraft:cobbled_deepslate', '#forge:ores_in_ground/deepslate') - event.recipes.tfc.collapse('minecraft:blackstone', '#forge:ores_in_ground/pyroxenite') - event.recipes.tfc.collapse('minecraft:dripstone_block', '#forge:ores_in_ground/dripstone') + event.recipes.tfc.collapse('tfg:rock/cobble_blackstone', '#forge:ores_in_ground/pyroxenite') + event.recipes.tfc.collapse('tfg:rock/cobble_dripstone', '#forge:ores_in_ground/dripstone') event.recipes.tfc.landslide('tfg:ash_pile', 'tfg:ash_pile') event.recipes.tfc.landslide('minecraft:cobbled_deepslate', 'minecraft:cobbled_deepslate') + event.recipes.tfc.landslide('tfg:rock/cobble_blackstone', 'tfg:rock/cobble_blackstone') + event.recipes.tfc.landslide('tfg:rock/cobble_dripstone', 'tfg:rock/cobble_dripstone') + event.recipes.tfc.landslide('tfg:rock/cobble_crackrack', 'tfg:rock/cobble_crackrack') + + event.recipes.tfc.landslide('tfg:rock/gravel_deepslate', 'tfg:rock/gravel_deepslate') + event.recipes.tfc.landslide('tfg:rock/gravel_blackstone', 'tfg:rock/gravel_blackstone') + event.recipes.tfc.landslide('tfg:rock/gravel_dripstone', 'tfg:rock/gravel_dripstone') + event.recipes.tfc.landslide('tfg:rock/gravel_crackrack', 'tfg:rock/gravel_crackrack') + // #endregion Nether // #region Space @@ -28,44 +38,59 @@ function registerTFGCollapseRecipes(event) { event.recipes.tfc.collapse('ad_astra:moon_cobblestone', 'tfg:rock/hardened_moon_stone') event.recipes.tfc.landslide('ad_astra:moon_cobblestone', 'ad_astra:moon_cobblestone') event.recipes.tfc.collapse('ad_astra:moon_cobblestone', '#forge:ores_in_ground/moon_stone') - event.recipes.tfc.landslide('ad_astra:moon_sand', 'ad_astra:moon_sand') + event.recipes.tfc.landslide('tfg:rock/gravel_moon', 'tfg:rock/gravel_moon') event.recipes.tfc.collapse('ad_astra:moon_deepslate', 'ad_astra:moon_deepslate') event.recipes.tfc.collapse('ad_astra:moon_deepslate', 'tfg:rock/hardened_moon_deepslate') event.recipes.tfc.collapse('ad_astra:moon_deepslate', '#forge:ores_in_ground/moon_deepslate') + event.recipes.tfc.landslide('tfg:rock/cobble_moon_deepslate', 'tfg:rock/cobble_moon_deepslate') + event.recipes.tfc.landslide('tfg:rock/gravel_moon_deepslate', 'tfg:rock/gravel_moon_deepslate') + + event.recipes.tfc.landslide('ad_astra:moon_sand', 'ad_astra:moon_sand') + + event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'ad_astra:glacio_stone') + event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'tfg:rock/hardened_glacio_stone') + event.recipes.tfc.landslide('ad_astra:glacio_cobblestone', 'ad_astra:glacio_cobblestone') + event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', '#forge:ores_in_ground/glacio_stone') + event.recipes.tfc.landslide('tfg:rock/gravel_glacio', 'tfg:rock/gravel_glacio') event.recipes.tfc.collapse('ad_astra:mars_cobblestone', 'ad_astra:mars_stone') event.recipes.tfc.collapse('ad_astra:mars_cobblestone', 'tfg:rock/hardened_mars_stone') event.recipes.tfc.landslide('ad_astra:mars_cobblestone', 'ad_astra:mars_cobblestone') event.recipes.tfc.collapse('ad_astra:mars_cobblestone', '#forge:ores_in_ground/mars_stone') + event.recipes.tfc.landslide('tfg:rock/gravel_mars', 'tfg:rock/gravel_mars') event.recipes.tfc.landslide('ad_astra:mars_sand', 'ad_astra:mars_sand') event.recipes.tfc.collapse('ad_astra:venus_cobblestone', 'ad_astra:venus_stone') event.recipes.tfc.collapse('ad_astra:venus_cobblestone', 'tfg:rock/hardened_venus_stone') event.recipes.tfc.landslide('ad_astra:venus_cobblestone', 'ad_astra:venus_cobblestone') event.recipes.tfc.collapse('ad_astra:venus_cobblestone', '#forge:ores_in_ground/venus_stone') + event.recipes.tfc.landslide('tfg:rock/gravel_venus', 'tfg:rock/gravel_venus') event.recipes.tfc.landslide('ad_astra:venus_sand', 'ad_astra:venus_sand') event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', 'ad_astra:mercury_stone') event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', 'tfg:rock/hardened_mercury_stone') event.recipes.tfc.landslide('ad_astra:mercury_cobblestone', 'ad_astra:mercury_cobblestone') event.recipes.tfc.collapse('ad_astra:mercury_cobblestone', '#forge:ores_in_ground/mercury_stone') + event.recipes.tfc.landslide('tfg:rock/gravel_mercury', 'tfg:rock/gravel_mercury') - event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'ad_astra:glacio_stone') - event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', 'tfg:rock/hardened_glacio_stone') - event.recipes.tfc.landslide('ad_astra:glacio_cobblestone', 'ad_astra:glacio_cobblestone') - event.recipes.tfc.collapse('ad_astra:glacio_cobblestone', '#forge:ores_in_ground/glacio_stone') + event.recipes.tfc.collapse('tfg:rock/cobble_permafrost', 'ad_astra:permafrost') + event.recipes.tfc.landslide('tfg:rock/cobble_permafrost', 'tfg:rock/cobble_permafrost') + event.recipes.tfc.collapse('tfg:rock/cobble_permafrost', '#forge:ores_in_ground/permafrost') + event.recipes.tfc.landslide('tfg:rock/gravel_permafrost', 'tfg:rock/gravel_permafrost') event.recipes.tfc.landslide('minecraft:red_sand', 'minecraft:red_sand') event.recipes.tfc.landslide('gtceu:red_granite_cobblestone', 'gtceu:red_granite_cobblestone') 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:rock/gravel_red_granite', 'tfg:rock/gravel_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') + event.recipes.tfc.landslide('tfg:grass/mars_clay_dirt', 'tfg:grass/mars_clay_dirt') event.recipes.tfc.landslide('tfg:grass/mars_clay_dirt', 'tfg:grass/amber_clay_mycelium') event.recipes.tfc.landslide('tfg:grass/mars_clay_dirt', 'tfg:grass/rusticus_clay_mycelium') diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index b850e8dad..4b81426f5 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -14,18 +14,24 @@ function registerTFGRockRecipes(event) { { loose: 'tfg:loose/deepslate', block: 'minecraft:cobbled_deepslate' }, { loose: 'beneath:blackstone_pebble', block: 'minecraft:blackstone' }, { loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' }, - { loose: 'tfg:loose/dripstone', block: 'minecraft:dripstone_block' }, + { loose: 'tfg:loose/dripstone', block: 'tfg:rock/cobble_dripstone' }, + { loose: 'tfg:loose/crackrack', block: 'tfg:rock/cobble_crackrack' }, { loose: 'tfg:loose/moon_stone', block: 'ad_astra:moon_cobblestone' }, { loose: 'tfg:brick/moon_stone', block: '4x ad_astra:moon_stone_bricks' }, + { loose: 'tfg:loose/moon_deepslate', block: 'tfg:rock/cobble_moon_deepslate' }, + { loose: 'tfg:brick/moon_deepslate', block: '4x tfg:rock/bricks_moon_deepslate' }, { loose: 'tfg:loose/moon_deepslate', block: 'ad_astra:moon_deepslate' }, { loose: 'tfg:loose/mars_stone', block: 'ad_astra:mars_cobblestone' }, { loose: 'tfg:brick/mars_stone', block: '4x ad_astra:mars_stone_bricks' }, { loose: 'tfg:loose/venus_stone', block: 'ad_astra:venus_cobblestone' }, { loose: 'tfg:brick/venus_stone', block: '4x ad_astra:venus_stone_bricks' }, + { loose: 'tfg:loose/red_granite', block: 'gtceu:red_granite_cobblestone' }, + { loose: 'tfg:brick/red_granite', block: '4x gtceu:red_granite_bricks' }, { loose: 'tfg:loose/mercury_stone', block: 'ad_astra:mercury_cobblestone' }, { loose: 'tfg:brick/mercury_stone', block: '4x ad_astra:mercury_stone_bricks' }, { loose: 'tfg:loose/glacio_stone', block: 'ad_astra:glacio_cobblestone' }, { loose: 'tfg:brick/glacio_stone', block: '4x ad_astra:glacio_stone_bricks' }, + { loose: 'tfg:loose/permafrost', block: 'tfg:rock/cobble_permafrost' }, { loose: 'tfg:brick/permafrost', block: '4x ad_astra:permafrost_bricks' }, { loose: 'minecraft:popped_chorus_fruit', block: '4x minecraft:purpur_block' } ] @@ -49,11 +55,49 @@ function registerTFGRockRecipes(event) { .EUt(2) }) + // Cobble to loose + + const COBBLE_TO_LOOSE = [ + { cobble: 'minecraft:blackstone', loose: 'beneath:blackstone_pebble' }, + { cobble: 'tfg:rock/cobble_dripstone', loose: 'tfg:loose/dripstone' }, + { cobble: 'tfg:rock/cobble_crackrack', loose: 'tfg:loose/crackrack' }, + { cobble: 'tfg:rock/cobble_moon_deepslate', loose: 'tfg:loose/moon_deepslate' }, + { cobble: 'gtceu:red_granite_cobblestone', loose: 'tfg:brick/red_granite' }, + { cobble: 'tfg:rock/cobble_permafrost', loose: 'tfg:loose/permafrost' }, + ] + + COBBLE_TO_LOOSE.forEach(x => { + event.shapeless(`4x ${x.loose}`, [x.cobble]) + }) + + // loose to gravel + + const LOOSE_TO_GRAVEL = [ + { loose: 'tfg:loose/deepslate', gravel: 'tfg:rock/gravel_deepslate' }, + { loose: 'beneath:blackstone_pebble', gravel: 'tfg:rock/gravel_blackstone' }, + { loose: 'tfg:loose/dripstone', gravel: 'tfg:rock/gravel_dripstone' }, + { loose: 'tfg:loose/crackrack', gravel: 'tfg:rock/gravel_crackrack' }, + { loose: 'tfg:loose/moon_stone', gravel: 'tfg:rock/gravel_moon' }, + { loose: 'tfg:loose/moon_deepslate', gravel: 'tfg:rock/gravel_moon_deepslate' }, + { loose: 'tfg:loose/glacio_stone', gravel: 'tfg:rock/gravel_glacio' }, + { loose: 'tfg:loose/mars_stone', gravel: 'tfg:rock/gravel_mars' }, + { loose: 'tfg:loose/venus_stone', gravel: 'tfg:rock/gravel_venus' }, + { loose: 'tfg:loose/mercury_stone', gravel: 'tfg:rock/gravel_mercury' }, + { loose: 'tfg:loose/permafrost', gravel: 'tfg:rock/gravel_permafrost' } + ] + + LOOSE_TO_GRAVEL.forEach(x => { + event.shapeless(x.gravel, [`4x ${x.loose}`]) + event.shapeless(`16x ${x.loose}`, [`4x ${x.gravel}`]) + }) + // loose to bricks const LOOSE_TO_BRICKS = [ { loose: 'tfg:loose/deepslate', brick: 'tfg:brick/deepslate' }, + { loose: 'tfg:loose/crackrack', brick: 'minecraft:nether_brick' }, { loose: 'tfg:loose/moon_stone', brick: 'tfg:brick/moon_stone' }, + { loose: 'tfg:loose/moon_deepslate', brick: 'tfg:brick/moon_deepslate' }, { loose: 'tfg:loose/mars_stone', brick: 'tfg:brick/mars_stone' }, { loose: 'tfg:loose/venus_stone', brick: 'tfg:brick/venus_stone' }, { loose: 'tfg:loose/mercury_stone', brick: 'tfg:brick/mercury_stone' }, @@ -76,35 +120,90 @@ function registerTFGRockRecipes(event) { // raw to polished const RAW_TO_POLISHED = [ + // Beneath { raw: 'minecraft:deepslate', polished: 'minecraft:polished_deepslate' }, - { raw: 'minecraft:blackstone', polished: 'minecraft:polished_blackstone' }, + { raw: 'tfg:rock/hardened_deepslate', polished: 'minecraft:polished_deepslate' }, { raw: 'minecraft:deepslate_bricks', polished: 'minecraft:deepslate_tiles' }, { raw: 'minecraft:deepslate_tiles', polished: 'minecraft:chiseled_deepslate' }, + { raw: 'minecraft:chiseled_deepslate', polished: 'minecraft:deepslate_bricks' }, + + { raw: 'minecraft:blackstone', polished: 'minecraft:polished_blackstone' }, + { raw: 'tfg:rock/hardened_blackstone', polished: 'minecraft:polished_blackstone' }, { raw: 'minecraft:polished_blackstone_bricks', polished: 'minecraft:chiseled_polished_blackstone' }, + { raw: 'minecraft:chiseled_polished_blackstone', polished: 'minecraft:polished_blackstone_bricks' }, + + { raw: 'minecraft:dripstone_block', polished: 'create:polished_cut_dripstone' }, + { raw: 'tfg:rock/hardened_dripstone', polished: 'create:polished_cut_dripstone' }, + { raw: 'create:cut_dripstone_bricks', polished: 'create:small_dripstone_bricks' }, + { raw: 'create:small_dripstone_bricks', polished: 'create:cut_dripstone_bricks' }, + + { raw: 'beneath:crackrack', polished: 'tfg:rock/polished_crackrack' }, + { raw: 'minecraft:basalt', polished: 'minecraft:smooth_basalt' }, { raw: 'minecraft:smooth_basalt', polished: 'minecraft:polished_basalt' }, + + // Moon { raw: 'ad_astra:moon_stone', polished: 'ad_astra:polished_moon_stone' }, + { raw: 'tfg:rock/hardened_moon_stone', polished: 'ad_astra:polished_moon_stone' }, { raw: 'ad_astra:moon_stone_bricks', polished: 'ad_astra:chiseled_moon_stone_bricks' }, + { raw: 'ad_astra:chiseled_moon_stone_bricks', polished: 'ad_astra:moon_stone_bricks' }, + + { raw: 'ad_astra:moon_deepslate', polished: 'tfg:rock/polished_moon_deepslate' }, + { raw: 'tfg:rock/hardened_moon_deepslate', polished: 'tfg:rock/polished_moon_deepslate' }, + { raw: 'tfg:rock/bricks_moon_deepslate', polished: 'tfg:rock/chiseled_bricks_moon_deepslate' }, + { raw: 'tfg:rock/chiseled_bricks_moon_deepslate', polished: 'tfg:rock/bricks_moon_deepslate' }, + + { raw: 'ad_astra:glacio_stone', polished: 'ad_astra:polished_glacio_stone' }, + { raw: 'tfg:rock/hardened_glacio_stone', polished: 'ad_astra:polished_glacio_stone' }, + { raw: 'ad_astra:glacio_stone_bricks', polished: 'ad_astra:chiseled_glacio_stone_bricks' }, + { raw: 'ad_astra:chiseled_glacio_stone_bricks', polished: 'ad_astra:glacio_stone_bricks' }, + + // Mars { raw: 'ad_astra:mars_stone', polished: 'ad_astra:polished_mars_stone' }, + { raw: 'tfg:rock/hardened_mars_stone', polished: 'ad_astra:polished_mars_stone' }, { raw: 'ad_astra:mars_stone_bricks', polished: 'ad_astra:chiseled_mars_stone_bricks' }, + { raw: 'ad_astra:chiseled_mars_stone_bricks', polished: 'ad_astra:mars_stone_bricks' }, + { raw: 'ad_astra:venus_stone', polished: 'ad_astra:polished_venus_stone' }, + { raw: 'tfg:rock/hardened_venus_stone', polished: 'ad_astra:polished_venus_stone' }, { raw: 'ad_astra:venus_stone_bricks', polished: 'ad_astra:chiseled_venus_stone_bricks' }, { raw: 'ad_astra:venus_sandstone', polished: 'ad_astra:venus_sandstone_bricks' }, + { raw: 'ad_astra:venus_sandstone_bricks', polished: 'ad_astra:venus_sandstone' }, + + { raw: 'gtceu:red_granite', polished: 'gtceu:polished_red_granite' }, + { raw: 'tfg:rock/hardened_red_granite', polished: 'gtceu:polished_red_granite' }, + { raw: 'gtceu:red_granite_bricks', polished: 'gtceu:red_granite_tile' }, + { raw: 'gtceu:red_granite_tile', polished: 'gtceu:square_red_granite_bricks' }, + { raw: 'gtceu:square_red_granite_bricks', polished: 'gtceu:red_granite_windmill_a' }, + { raw: 'gtceu:red_granite_windmill_a', polished: 'gtceu:red_granite_windmill_b' }, + { raw: 'gtceu:red_granite_windmill_b', polished: 'gtceu:small_red_granite_bricks' }, + { raw: 'gtceu:small_red_granite_bricks', polished: 'gtceu:red_granite_small_tile' }, + { raw: 'gtceu:red_granite_small_tile', polished: 'gtceu:chiseled_red_granite' }, + { raw: 'gtceu:chiseled_red_granite', polished: 'gtceu:red_granite_bricks' }, + + // Mercury { raw: 'ad_astra:mercury_stone', polished: 'ad_astra:polished_mercury_stone' }, + { raw: 'tfg:rock/hardened_mercury_stone', polished: 'ad_astra:polished_mercury_stone' }, { raw: 'ad_astra:mercury_stone_bricks', polished: 'ad_astra:chiseled_mercury_stone_bricks' }, - { raw: 'ad_astra:glacio_stone', polished: 'ad_astra:polished_glacio_stone' }, - { raw: 'ad_astra:glacio_stone_bricks', polished: 'ad_astra:chiseled_glacio_stone_bricks' }, - { raw: 'ad_astra:conglomerate', polished: 'ad_astra:polished_conglomerate' }, + { raw: 'ad_astra:chiseled_mercury_stone_bricks', polished: 'ad_astra:mercury_stone_bricks' }, + + // Europa { raw: 'ad_astra:permafrost', polished: 'ad_astra:polished_permafrost' }, { raw: 'ad_astra:permafrost_bricks', polished: 'ad_astra:chiseled_permafrost_bricks' }, { raw: 'ad_astra:chiseled_permafrost_bricks', polished: 'ad_astra:permafrost_tiles' }, + { raw: 'ad_astra:permafrost_tiles', polished: 'ad_astra:chiseled_permafrost_bricks' }, + + // Misc { raw: 'ae2:sky_stone_block', polished: 'ae2:smooth_sky_stone_block' }, { raw: 'ae2:smooth_sky_stone_block', polished: 'ae2:sky_stone_brick' }, { raw: 'ae2:sky_stone_brick', polished: 'ae2:sky_stone_small_brick' }, - { raw: 'gtceu:certus_quartz_block', polished: 'ae2:cut_quartz_block' }, + { raw: 'ae2:sky_stone_small_brick', polished: 'ae2:smooth_sky_stone_block' }, + { raw: 'gtceu:certus_quartz_block', polished: 'ae2:cut_quartz_block' } ] RAW_TO_POLISHED.forEach(x => { + event.recipes.tfc.chisel(`${x.polished}`, `${x.raw}`, 'smooth') + event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless( x.polished, [x.raw, '#tfc:chisels'] )) @@ -125,6 +224,49 @@ function registerTFGRockRecipes(event) { //}).id(`tfg:vi/laser/tfg/${x.raw.replace(/:/g, '_')}_to_${x.polished.replace(/:/g, '_')}`) }) + // Stone Cutter Sets + const red_granite_cutter_set = Ingredient.of('#tfg:red_granite_cutter_set').itemIds.toArray().map(String); + red_granite_cutter_set.forEach(block => { + event.stonecutting(block, + Ingredient.of('#tfg:red_granite_cutter_set').subtract(block) + ).id(`tfg:stonecutter/${block.replace(/:/g, "/")}`) + + }) + + const moon_deepslate_cutter_set = Ingredient.of('#tfg:moon_deepslate_cutter_set').itemIds.toArray().map(String); + moon_deepslate_cutter_set.forEach(block => { + event.stonecutting(block, + Ingredient.of('#tfg:moon_deepslate_cutter_set').subtract(block) + ).id(`tfg:stonecutter/${block.replace(/:/g, "/")}`) + + }) + + // pillar shaped recipes + event.shaped( + Item.of('create:deepslate_pillar', 2), [ ' A ', ' A ' ], { A: 'minecraft:polished_deepslate' } + ) + event.shaped( + Item.of('create:layered_deepslate', 2), [ 'AA ' ], { A: 'minecraft:polished_deepslate' } + ) + + event.shaped( + Item.of('create:dripstone_pillar', 2), [ ' A ', ' A ' ], { A: 'create:polished_cut_dripstone' } + ) + event.shaped( + Item.of('create:layered_dripstone', 2), [ 'AA ' ], { A: 'create:polished_cut_dripstone' } + ) + + event.shaped( + Item.of('create:dripstone_pillar', 2), [ ' A ', ' A ' ], { A: 'create:polished_cut_dripstone' } + ) + event.shaped( + Item.of('create:layered_dripstone', 2), [ 'AA ' ], { A: 'create:polished_cut_dripstone' } + ) + + event.shaped( + Item.of('tfg:rock/pillar_moon_deepslate', 2), [ ' A ', ' A ' ], { A: 'tfg:rock/bricks_moon_deepslate' } + ) + // cracked bricks const CRACKING = [ @@ -134,9 +276,12 @@ function registerTFGRockRecipes(event) { { raw: 'ad_astra:mars_stone_bricks', cracked: 'ad_astra:cracked_mars_stone_bricks' }, { raw: 'ad_astra:venus_stone_bricks', cracked: 'ad_astra:cracked_venus_stone_bricks' }, { raw: 'ad_astra:venus_sandstone_bricks', cracked: 'ad_astra:cracked_venus_sandstone_bricks' }, + { raw: 'gtceu:red_granite_bricks', cracked: 'gtceu:cracked_red_granite_bricks' }, { raw: 'ad_astra:mercury_stone_bricks', cracked: 'ad_astra:cracked_mercury_stone_bricks' }, { raw: 'ad_astra:glacio_stone_bricks', cracked: 'ad_astra:cracked_glacio_stone_bricks' }, - { raw: 'ad_astra:permafrost_bricks', cracked: 'ad_astra:cracked_permafrost_bricks' } + { raw: 'ad_astra:permafrost_bricks', cracked: 'ad_astra:cracked_permafrost_bricks' }, + { raw: 'tfg:rock/bricks_moon_deepslate', cracked: 'tfg:rock/cracked_bricks_moon_deepslate' } + ] CRACKING.forEach(x => { @@ -155,8 +300,7 @@ function registerTFGRockRecipes(event) { .id(`greate:pressing/${x.raw}_to_${x.cracked}`.replace(/:/g, '_')) }) - // forge hammer - + // forge hammer / mechanical press const HAMMERING = [ { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, { raw: 'minecraft:cobbled_deepslate', hammered: 'tfc:sand/black', duration: 20*3.5, eu: 2 }, @@ -185,7 +329,8 @@ function registerTFGRockRecipes(event) { { raw: 'ad_astra:permafrost', hammered: '4x gtceu:ice_dust', duration: 20, eu: 2 } ] - HAMMERING.forEach(x => { + // Defined in kubejs/startup_scripts/tfg/constants.js + global.HAMMERING.forEach(x => { event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_')) .itemInputs(x.raw) .itemOutputs(x.hammered) @@ -641,7 +786,11 @@ function registerTFGRockRecipes(event) { 'minecraft:deepslate', 'minecraft:cobbled_deepslate', 'minecraft:blackstone', + 'tfg:rock/cobble_blackstone', 'minecraft:dripstone_block', + 'tfg:rock/cobble_dripstone', + 'beneath:crackrack', + 'tfg:rock/cobble_crackrack', 'minecraft:basalt' ] @@ -673,6 +822,13 @@ function registerTFGRockRecipes(event) { .duration(16) .EUt(7) .dimension('ad_astra:moon') + + event.recipes.gtceu.rock_breaker('tfg:moon_deepslate_cobblestone') + .notConsumable('tfg:rock/cobble_moon_deepslate') + .itemOutputs('tfg:rock/cobble_moon_deepslate') + .duration(16) + .EUt(7) + .dimension('ad_astra:moon') event.recipes.gtceu.rock_breaker('tfg:glacio_stone') .notConsumable('ad_astra:glacio_stone') @@ -743,6 +899,21 @@ function registerTFGRockRecipes(event) { .duration(16) .EUt(7) .dimension('ad_astra:mercury') + + event.recipes.gtceu.compressor('tfg:permafrost') + .itemInputs('4x tfg:loose/permafrost') + .itemOutputs('ad_astra:permafrost') + .duration(40*20) + .EUt(2) + .dimension('ad_astra:glacio') + + event.recipes.gtceu.rock_breaker('tfg:permafrost_cobblestone') + .notConsumable('tfg:rock/cobble_permafrost') + .itemOutputs('tfg:rock/cobble_permafrost') + .duration(16) + .EUt(7) + .dimension('ad_astra:glacio') + // #endregion // #region sandstone @@ -752,12 +923,7 @@ function registerTFGRockRecipes(event) { .itemOutputs('ad_astra:venus_sandstone') .duration(40*20) .EUt(2) - - event.recipes.gtceu.compressor('tfg:permafrost') - .itemInputs('4x tfg:loose/permafrost') - .itemOutputs('ad_astra:permafrost') - .duration(40*20) - .EUt(2) + .dimension('ad_astra:mars') // #endregion diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 9fd5f17a4..10c75cd65 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -319,7 +319,372 @@ const registerTFGItemTags = (event) => { event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:copper_jar_package_8x8') //#endregion + // #region Nether blocks + + // Deepslate (Migmatite) + const create_deepslate_blocks = Ingredient.of('#create:stone_types/deepslate').itemIds.toArray().map(String); + create_deepslate_blocks.forEach(block => { + event.add('tfc:metamorphic_items', block) + }) + + event.add('tfc:metamorphic_items', 'minecraft:deepslate') + + event.add('tfc:metamorphic_items', 'minecraft:cobbled_deepslate') + + event.add('forge:smooth_stone', 'minecraft:polished_deepslate') + event.add('tfc:metamorphic_items', 'minecraft:polished_deepslate') + event.add('tfc:rock/smooth', 'minecraft:polished_deepslate') + event.add('create:stone_types/deepslate', 'minecraft:polished_deepslate') + + event.add('forge:stone_bricks', 'minecraft:deepslate_bricks') + event.add('tfc:metamorphic_items', 'minecraft:deepslate_bricks') + event.add('tfc:rock/bricks', 'minecraft:deepslate_bricks') + + event.add('forge:stone_bricks', 'minecraft:deepslate_tiles') + event.add('tfc:metamorphic_items', 'minecraft:deepslate_tiles') + event.add('tfc:rock/bricks', 'minecraft:deepslate_tiles') + event.add('tfc:rock/chiseled_bricks', 'minecraft:deepslate_tiles') + + event.add('forge:stone_bricks', 'minecraft:chiseled_deepslate') + event.add('tfc:metamorphic_items', 'minecraft:chiseled_deepslate') + event.add('tfc:rock/bricks', 'minecraft:chiseled_deepslate') + event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_deepslate') + + // Blackstone (Pyroxenite) + event.remove('tfc:metamorphic_rock', 'beneath:blackstone_pebble') + event.add('tfc:igneous_intrusive_rock', 'beneath:blackstone_pebble') + event.add('rnr:loose_rock_items', 'beneath:blackstone_pebble') + + event.add('tfc:igneous_intrusive_items', 'beneath:blackstone_brick') + + event.add('forge:stone', 'minecraft:blackstone') + event.add('tfc:igneous_intrusive_items', 'minecraft:blackstone') + + event.add('tfc:igneous_intrusive_items', 'minecraft:gilded_blackstone') + + event.add('forge:smooth_stone', 'minecraft:polished_blackstone') + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone') + event.add('tfc:rock/smooth', 'minecraft:polished_blackstone') + + event.add('forge:stone_bricks', 'minecraft:polished_blackstone_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_bricks') + event.add('tfc:rock/bricks', 'minecraft:polished_blackstone_bricks') + + event.add('forge:stone_bricks', 'minecraft:cracked_blackstone_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:cracked_blackstone_bricks') + event.add('tfc:rock/bricks', 'minecraft:cracked_blackstone_bricks') + event.add('tfc:rock/cracked_bricks', 'minecraft:cracked_blackstone_bricks') + + event.add('forge:stone_bricks', 'minecraft:polished_blackstone_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_bricks') + event.add('tfc:rock/bricks', 'minecraft:polished_blackstone_bricks') + + event.add('forge:stone_bricks', 'minecraft:polished_blackstone_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:chiseled_polished_blackstone_bricks') + event.add('tfc:rock/bricks', 'minecraft:chiseled_polished_blackstone_bricks') + event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_polished_blackstone_bricks') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_stairs') + event.add('tfg:rock_stairs', 'minecraft:polished_blackstone_stairs') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_brick_slab') + event.add('tfg:rock_slabs', 'minecraft:polished_blackstone_slab') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_wall') + event.add('tfg:rock_walls', 'minecraft:polished_blackstone_wall') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_brick_stairs') + event.add('tfg:brick_stairs', 'minecraft:polished_blackstone_brick_stairs') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_brick_slab') + event.add('tfg:brick_slabs', 'minecraft:polished_blackstone_brick_slab') + + event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_brick_wall') + event.add('tfg:brick_walls', 'minecraft:polished_blackstone_brick_wall') + + event.add('tfc:igneous_intrusive_items', 'beneath:blackstone_aqueduct') + + // Dripstone (Travertine) + const create_dripstone_blocks = Ingredient.of('#create:stone_types/dripstone').itemIds.toArray().map(String); + create_dripstone_blocks.forEach(block => { + event.add('tfc:sedimentary_items', block) + }) + + event.add('forge:stone', 'minecraft:dripstone_block') + event.add('tfc:sedimentary_items', 'minecraft:dripstone_block') + + event.add('forge:smooth_stone', 'create:cut_dripstone') + event.add('tfc:sedimentary_items', 'create:cut_dripstone') + event.add('tfc:rock/smooth', 'create:cut_dripstone') + + event.add('forge:stone_bricks', 'create:cut_dripstone_bricks') + event.add('tfc:igneous_intrusive_items', 'create:cut_dripstone_bricks') + event.add('tfc:rock/bricks', 'create:cut_dripstone_bricks') + + event.add('forge:stone_bricks', 'create:small_dripstone_bricks') + event.add('tfc:igneous_intrusive_items', 'create:small_dripstone_bricks') + event.add('tfc:rock/bricks', 'create:small_dripstone_bricks') + event.add('tfc:rock/chiseled_bricks', 'create:small_dripstone_bricks') + + event.add('forge:smooth_stone', 'ad_astra:polished_mars_stone') + event.add('tfc:rock/smooth', 'create:polished_cut_dripstone') + + // Crackrack (Keratophyre) + event.add('forge:stone', 'beneath:crackrack') + event.add('tfc:igneous_intrusive_items', 'beneath:crackrack') + event.add('tfc:igneous_intrusive_items', 'minecraft:nether_brick') + + event.add('forge:stone_bricks', 'minecraft:nether_bricks') + event.add('tfc:igneous_intrusive_items', 'minecraft:nether_bricks') + event.add('tfc:rock/bricks', 'minecraft:nether_bricks') + + // Basalt + event.add('forge:stone', 'minecraft:basalt') + event.add('tfc:igneous_extrusive_items', 'minecraft:basalt') + + event.add('forge:smooth_stone', 'minecraft:smooth_basalt') + event.add('tfc:igneous_extrusive_items', 'minecraft:smooth_basalt') + event.add('tfc:rock/smooth', 'minecraft:smooth_basalt') + + event.add('forge:smooth_stone', 'minecraft:polished_basalt') + event.add('tfc:igneous_extrusive_items', 'minecraft:polished_basalt') + event.add('tfc:rock/smooth', 'minecraft:polished_basalt') + // #endregion + // #region Space blocks + // Moon Stone (Anorthosite) + event.add('forge:stone', 'ad_astra:moon_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_stone') + + event.add('forge:cobblestone', 'ad_astra:moon_stone') + event.add('forge:cobblestone/normal', 'ad_astra:moon_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_moon_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:polished_moon_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_moon_stone') + + event.add('forge:stone_bricks', 'ad_astra:moon_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:moon_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_moon_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:cracked_moon_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_moon_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_moon_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_moon_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:chiseled_moon_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_moon_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_moon_stone_bricks') + + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_pillar') + + + // Moon Deepslate (Norite) + event.add('forge:stone', 'ad_astra:moon_deepslate') + event.add('tfc:igneous_intrusive_items', 'ad_astra:moon_deepslate') + + // Glacio Stone (Phonolite) + event.add('forge:stone', 'ad_astra:glacio_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:glacio_stone') + + event.add('forge:cobblestone', 'ad_astra:glacio_cobblestone') + event.add('forge:cobblestone/normal', 'ad_astra:glacio_cobblestone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:glacio_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_glacio_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:polished_glacio_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_glacio_stone') + + event.add('forge:stone_bricks', 'ad_astra:glacio_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:glacio_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:glacio_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_glacio_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:cracked_glacio_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_glacio_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_glacio_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_glacio_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:chiseled_glacio_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_glacio_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_glacio_stone_bricks') + + // Mars Stone (Argillite) + event.add('forge:stone', 'ad_astra:mars_stone') + event.add('tfc:sedimentary_items', 'ad_astra:mars_stone') + + event.add('forge:cobblestone', 'ad_astra:mars_cobblestone') + event.add('forge:cobblestone/normal', 'ad_astra:mars_cobblestone') + event.add('tfc:sedimentary_items', 'ad_astra:mars_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_mars_stone') + event.add('tfc:sedimentary_items', 'ad_astra:polished_mars_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_mars_stone') + + event.add('forge:stone_bricks', 'ad_astra:mars_stone_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:mars_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:mars_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_mars_stone_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:cracked_mars_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_mars_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_mars_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_mars_stone_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:chiseled_mars_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_mars_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_mars_stone_bricks') + + // Venus Stone (Trachyte) + event.add('forge:stone', 'ad_astra:venus_stone') + event.add('tfc:igneous_extrusive_items', 'ad_astra:venus_stone') + + event.add('forge:cobblestone', 'ad_astra:venus_cobblestone') + event.add('forge:cobblestone/normal', 'ad_astra:venus_cobblestone') + event.add('tfc:igneous_extrusive_items', 'ad_astra:venus_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_venus_stone') + event.add('tfc:igneous_extrusive_items', 'ad_astra:polished_venus_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_venus_stone') + + event.add('forge:stone_bricks', 'ad_astra:venus_stone_bricks') + event.add('tfc:igneous_extrusive_items', 'ad_astra:venus_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:venus_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_venus_stone_bricks') + event.add('tfc:igneous_extrusive_items', 'ad_astra:cracked_venus_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_venus_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_venus_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_venus_stone_bricks') + event.add('tfc:igneous_extrusive_items', 'ad_astra:chiseled_venus_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_venus_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_venus_stone_bricks') + + // Red Granite + event.add('forge:stone', 'gtceu:red_granite') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite') + + event.add('forge:cobblestone', 'gtceu:red_granite_cobblestone') + event.add('forge:cobblestone/normal', 'gtceu:red_granite_cobblestone') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_cobblestone') + + event.add('forge:cobblestone', 'gtceu:mossy_red_granite_cobblestone') + event.add('forge:cobblestone/normal', 'gtceu:mossy_red_granite_cobblestone') + event.add('tfc:igneous_intrusive_items', 'gtceu:mossy_red_granite_cobblestone') + + event.add('forge:smooth_stone', 'gtceu:polished_red_granite') + event.add('tfc:igneous_intrusive_items', 'gtceu:polished_red_granite') + event.add('tfc:rock/smooth', 'gtceu:polished_red_granite') + + event.add('forge:stone_bricks', 'gtceu:red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:red_granite_bricks') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:mossy_red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:mossy_red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:mossy_red_granite_bricks') + event.add('tfc:rock/mossy_bricks', 'gtceu:mossy_red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:cracked_red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:cracked_red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:cracked_red_granite_bricks') + event.add('tfc:rock/cracked_bricks', 'gtceu:cracked_red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:red_granite_tile') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_tile') + event.add('tfc:rock/bricks', 'gtceu:red_granite_tile') + event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_tile') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_tile') + + event.add('forge:stone_bricks', 'gtceu:square_red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:square_red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:square_red_granite_bricks') + event.add('tfc:rock/chiseled_bricks', 'gtceu:square_red_granite_bricks') + event.add('tfg:red_granite_cutter_set', 'gtceu:square_red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:red_granite_windmill_a') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_windmill_a') + event.add('tfc:rock/bricks', 'gtceu:red_granite_windmill_a') + event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_windmill_a') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_windmill_a') + + event.add('forge:stone_bricks', 'gtceu:red_granite_windmill_b') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_windmill_b') + event.add('tfc:rock/bricks', 'gtceu:red_granite_windmill_b') + event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_windmill_b') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_windmill_b') + + event.add('forge:stone_bricks', 'gtceu:small_red_granite_bricks') + event.add('tfc:igneous_intrusive_items', 'gtceu:small_red_granite_bricks') + event.add('tfc:rock/bricks', 'gtceu:small_red_granite_bricks') + event.add('tfc:rock/chiseled_bricks', 'gtceu:small_red_granite_bricks') + event.add('tfg:red_granite_cutter_set', 'gtceu:small_red_granite_bricks') + + event.add('forge:stone_bricks', 'gtceu:red_granite_small_tile') + event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite_small_tile') + event.add('tfc:rock/bricks', 'gtceu:red_granite_small_tile') + event.add('tfc:rock/chiseled_bricks', 'gtceu:red_granite_small_tile') + event.add('tfg:red_granite_cutter_set', 'gtceu:red_granite_small_tile') + + event.add('forge:stone_bricks', 'gtceu:chiseled_red_granite') + event.add('tfc:igneous_intrusive_items', 'gtceu:chiseled_red_granite') + event.add('tfc:rock/bricks', 'gtceu:chiseled_red_granite') + event.add('tfc:rock/chiseled_bricks', 'gtceu:chiseled_red_granite') + event.add('tfg:red_granite_cutter_set', 'gtceu:chiseled_red_granite') + + // Mercury Stone (Komatiite) + event.add('forge:stone', 'ad_astra:mercury_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:mercury_stone') + + event.add('forge:cobblestone', 'ad_astra:mercury_cobblestone') + event.add('forge:cobblestone/normal', 'ad_astra:mercury_cobblestone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:mercury_cobblestone') + + event.add('forge:smooth_stone', 'ad_astra:polished_mercury_stone') + event.add('tfc:igneous_intrusive_items', 'ad_astra:polished_mercury_stone') + event.add('tfc:rock/smooth', 'ad_astra:polished_mercury_stone') + + event.add('forge:stone_bricks', 'ad_astra:mercury_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:mercury_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:mercury_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_mercury_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:cracked_mercury_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_mercury_stone_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_mercury_stone_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_mercury_stone_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:chiseled_mercury_stone_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_mercury_stone_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_mercury_stone_bricks') + + // Permafrost (???) + event.add('forge:stone', 'ad_astra:permafrost') + event.add('tfc:sedimentary_items', 'ad_astra:permafrost') + + event.add('forge:smooth_stone', 'ad_astra:polished_permafrost') + event.add('tfc:sedimentary_items', 'ad_astra:polished_permafrost') + event.add('tfc:rock/smooth', 'ad_astra:polished_permafrost') + + event.add('forge:stone_bricks', 'ad_astra:permafrost_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:permafrost_bricks') + event.add('tfc:rock/bricks', 'ad_astra:permafrost_bricks') + + event.add('forge:stone_bricks', 'ad_astra:cracked_permafrost_bricks') + event.add('tfc:sedimentary_items', 'ad_astra:cracked_permafrost_bricks') + event.add('tfc:rock/bricks', 'ad_astra:cracked_permafrost_bricks') + event.add('tfc:rock/cracked_bricks', 'ad_astra:cracked_permafrost_bricks') + + event.add('forge:stone_bricks', 'ad_astra:chiseled_permafrost_bricks') + event.add('tfc:igneous_intrusive_items', 'ad_astra:chiseled_permafrost_bricks') + event.add('tfc:rock/bricks', 'ad_astra:chiseled_permafrost_bricks') + event.add('tfc:rock/chiseled_bricks', 'ad_astra:chiseled_permafrost_bricks') + + // Dirt event.add('tfg:moon_plants', 'tfg:lunar_roots') event.add('tfg:moon_plants', 'tfg:lunar_sprouts') @@ -333,6 +698,7 @@ const registerTFGItemTags = (event) => { event.add('minecraft:mineable/shovel', 'tfg:grass/amber_mycelium') event.add('minecraft:mineable/shovel', 'tfg:grass/rusticus_mycelium') event.add('minecraft:mineable/shovel', 'tfg:grass/sangnum_mycelium') + // #endregion // Mars stone dust @@ -549,7 +915,7 @@ const registerTFGBlockTags = (event) => { 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('minecraft:dirt', 'tfg:grass/mars_clay_dirt') diff --git a/kubejs/startup_scripts/beneath/constants.js b/kubejs/startup_scripts/beneath/constants.js index 86a0d999d..69fcec829 100644 --- a/kubejs/startup_scripts/beneath/constants.js +++ b/kubejs/startup_scripts/beneath/constants.js @@ -3,6 +3,7 @@ global.BENEATH_DISABLED_ITEMS = [ "beneath:cobblerack", + "beneath:crackrack_rock", "beneath:lost_page", "beneath:ore/slimed_netherrack", "beneath:raw_slime", diff --git a/kubejs/startup_scripts/tfg/blocks.nether.js b/kubejs/startup_scripts/tfg/blocks.nether.js index a63cafe7d..7e2026d03 100644 --- a/kubejs/startup_scripts/tfg/blocks.nether.js +++ b/kubejs/startup_scripts/tfg/blocks.nether.js @@ -2,6 +2,7 @@ function registerTFGNetherBlocks(event) { + // Hardened stones event.create('tfg:rock/hardened_deepslate') .soundType('deepslate') .property(BlockProperties.AXIS) @@ -12,6 +13,7 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth('tfc:metamorphic_items') .tagBlock('minecraft:mineable/pickaxe') .mapColor('terracotta_grey') .fullBlock(true) @@ -26,7 +28,8 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .mapColor('terracotta_grey') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('color_black') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) @@ -41,14 +44,17 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .mapColor('terracotta') + .tagBoth('tfc:sedimentary_items') .tagBlock('minecraft:mineable/pickaxe') + .mapColor('terracotta') .fullBlock(true) .opaque(true) + // Spikes event.create('tfg:spike/dripstone_spike', 'tfc:rock_spike') .textureAll('minecraft:block/dripstone_block') .soundType('dripstone_block') + .tagBoth('tfc:sedimentary_items') .hardness(0.8) .resistance(0.8) .requiresTool(true) @@ -57,6 +63,7 @@ function registerTFGNetherBlocks(event) { event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike') .textureAll('minecraft:block/deepslate') .soundType('deepslate') + .tagBoth('tfc:metamorphic_items') .hardness(0.8) .resistance(0.8) .requiresTool(true) @@ -65,11 +72,13 @@ function registerTFGNetherBlocks(event) { event.create('tfg:spike/blackstone_spike', 'tfc:rock_spike') .textureAll('minecraft:block/blackstone') .stoneSoundType() + .tagBoth('tfc:igneous_intrusive_items') .hardness(0.8) .resistance(0.8) .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') + // Loose rocks event.create('tfg:loose/deepslate', 'tfc:loose_rock') .itemTexture('tfg:item/loose/deepslate') .rockTypeModel('metamorphic') @@ -92,6 +101,117 @@ function registerTFGNetherBlocks(event) { .tagItem('tfc:sedimentary_rock') .tagItem("rnr:loose_rock_items") + event.create('tfg:loose/crackrack', 'tfc:loose_rock') + .itemTexture('tfg:item/loose/crackrack') + .rockTypeModel('igneous_intrusive') + .soundType('basalt') + .translationKey("block.tfg.loose.crackrack") + .tagBlock('tfc:loose_rocks') + .tagItem('tfc:any_knapping') + .tagItem('tfc:rock_knapping') + .tagItem('tfc:igneous_intrusive_rock') + .tagItem("rnr:loose_rock_items") + + // Cobblestones + event.create('tfg:rock/cobble_blackstone') + .soundType('stone') + .model('tfg:block/rock/cobble_blackstone') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('color_black') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/cobble_dripstone') + .soundType('dripstone_block') + .model('tfg:block/rock/cobble_dripstone') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:sedimentary_items') + .mapColor('terracotta') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/cobble_crackrack') + .soundType('netherrack') + .model('tfg:block/rock/cobble_crackrack') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('crimson_stem') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + // Smooth Stones + + event.create('tfg:rock/polished_crackrack') + .soundType('basalt') + .model('tfg:block/rock/polished_crackrack') + .tagBoth('forge:smooth_stone') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfc:rock/smooth') + .mapColor('crimson_stem') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Gravels + event.create('tfg:rock/gravel_deepslate') + .soundType('gravel') + .model('tfg:block/rock/gravel_deepslate') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:metamorphic_items') + .mapColor('terracotta_grey') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_blackstone') + .soundType('gravel') + .model('tfg:block/rock/gravel_blackstone') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('color_black') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_dripstone') + .soundType('gravel') + .model('tfg:block/rock/gravel_dripstone') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:sedimentary_items') + .mapColor('terracotta') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_crackrack') + .soundType('gravel') + .model('tfg:block/rock/gravel_crackrack') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('crimson_stem') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + // Plants event.create('tfg:mushroom_roots', 'tfg:decorative_plant') .soundType('nether_wart') .tagItem('tfc:plants') diff --git a/kubejs/startup_scripts/tfg/blocks.space.js b/kubejs/startup_scripts/tfg/blocks.space.js index cfcf8a0cc..efc0014d9 100644 --- a/kubejs/startup_scripts/tfg/blocks.space.js +++ b/kubejs/startup_scripts/tfg/blocks.space.js @@ -51,6 +51,7 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth('tfc:igneous_intrusive_items') .tagBlock('minecraft:mineable/pickaxe') .mapColor('terracotta_cyan') .fullBlock(true) @@ -65,6 +66,7 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth('tfc:igneous_intrusive_items') .tagBlock('minecraft:mineable/pickaxe') .mapColor('terracotta_blue') .fullBlock(true) @@ -280,6 +282,202 @@ function registerTFGSpaceBlocks(event) { .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') + // Cobblestones + + event.create('tfg:rock/cobble_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/cobble_moon_deepslate') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/cobble_permafrost') + .soundType('stone') + .model('tfg:block/rock/cobble_permafrost') + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('snow') + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + // Gravels + + event.create('tfg:rock/gravel_moon') + .soundType('gravel') + .model('tfg:block/rock/gravel_moon') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_cyan') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_moon_deepslate') + .soundType('gravel') + .model('tfg:block/rock/gravel_moon_deepslate') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_glacio') + .soundType('gravel') + .model('tfg:block/rock/gravel_glacio') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_light_blue') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_mars') + .soundType('gravel') + .model('tfg:block/rock/gravel_mars') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_orange') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_venus') + .soundType('gravel') + .model('tfg:block/rock/gravel_venus') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_yellow') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_mercury') + .soundType('gravel') + .model('tfg:block/rock/gravel_mercury') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_purple') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_permafrost') + .soundType('gravel') + .model('tfg:block/rock/gravel_permafrost') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('snow') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_red_granite') + .soundType('gravel') + .model('tfg:block/rock/gravel_red_granite') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth('tfc:igneous_intrusive_items') + .mapColor('terracotta_red') + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + // Smooth Stones + + event.create('tfg:rock/polished_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/polished_moon_deepslate') + .tagBoth('forge:smooth_stone') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfc:rock/smooth') + .tagBoth('tfg:brick_index') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Decorative + + event.create('tfg:rock/bricks_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/bricks_moon_deepslate') + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfg:brick_index') + .tagBoth('tfg:moon_deepslate_cutter_set') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/cracked_bricks_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/cracked_bricks_moon_deepslate') + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/cracked_bricks') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfg:brick_index') + .tagBoth('tfg:moon_deepslate_cutter_set') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/chiseled_bricks_moon_deepslate') + .soundType('deepslate') + .model('tfg:block/rock/chiseled_bricks_moon_deepslate') + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/chiseled_bricks') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfg:brick_index') + .tagBoth('tfg:moon_deepslate_cutter_set') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/pillar_moon_deepslate') + .property(BlockProperties.AXIS) + .placementState(event => event.set(BlockProperties.AXIS, event.clickedFace.axis)) + .soundType('deepslate') + .tagBoth('tfc:igneous_intrusive_items') + .tagBoth('tfg:moon_deepslate_cutter_set') + .mapColor('terracotta_blue') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // #region Plants /* diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 4a7f24965..808e98b57 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -167,6 +167,83 @@ global.FOOD_FRUIT = [ {name: 'shadow_berry', id: 'betterend:shadow_berry_cooked', saturation: 1, water: 5, fruit: 1.5, decay: 2 } ]; +/** @type {Hammering[]} */ +global.HAMMERING = [ + // Beneath + { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 }, + { raw: 'minecraft:cobbled_deepslate', hammered: 'tfg:rock/gravel_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_deepslate', hammered: 'tfc:sand/black', duration: 70, eu: 2 }, + + { raw: 'minecraft:blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_blackstone', hammered: 'tfg:rock/cobble_blackstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_blackstone', hammered: 'tfg:rock/gravel_blackstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_blackstone', hammered: 'tfc:sand/black', duration: 70, eu: 2 }, + + { raw: 'minecraft:dripstone_block', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_dripstone', hammered: 'tfg:rock/cobble_dripstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_dripstone', hammered: 'tfg:rock/gravel_dripstone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_dripstone', hammered: 'tfc:sand/brown', duration: 70, eu: 2 }, + + { raw: 'beneath:crackrack', hammered: 'tfg:rock/cobble_crackrack', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_crackrack', hammered: 'tfg:rock/gravel_crackrack', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_crackrack', hammered: 'tfc:sand/pink', duration: 70, eu: 2 }, + + { raw: 'minecraft:basalt', hammered: 'tfc:rock/cobble/basalt', duration: 10, eu: 16 }, + + // Moon + { raw: 'ad_astra:moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:moon_cobblestone', hammered: 'tfg:rock/gravel_moon', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_moon', hammered: 'ad_astra:moon_sand', duration: 70, eu: 2 }, + + { raw: 'ad_astra:moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, + { raw: 'ad_astra:hardened_moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_moon_deepslate', hammered: 'tfg:rock/gravel_moon_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_moon_deepslate', hammered: 'ad_astra:moon_sand', duration: 10, eu: 16 }, + + { raw: 'ad_astra:glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:glacio_cobblestone', hammered: 'tfg:rock/gravel_glacio', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_glacio', hammered: 'tfc:sand/white', duration: 70, eu: 2 }, + + // Mars + { raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:mars_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_mars', hammered: 'ad_astra:mars_sand', duration: 70, eu: 2 }, + + { raw: 'minecraft:red_sandstone', hammered: '4x minecraft:red_sand', duration: 10, eu: 16 }, + + { raw: 'gtceu:red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_red_granite', hammered: 'gtceu:red_granite_cobblestone', duration: 10, eu: 16 }, + { raw: 'gtceu:red_granite_cobblestone', hammered: 'tfg:rock/gravel_red_granite', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_red_granite', hammered: 'minecraft:red_sand', duration: 70, eu: 2 }, + + // Venus + { raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:venus_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_mars', hammered: 'ad_astra:venus_sand', duration: 70, eu: 2 }, + + { raw: 'ad_astra:venus_sandstone', hammered: '4x ad_astra:venus_sand', duration: 70, eu: 2 }, + + // Mercury + { raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, + { raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 }, + { raw: 'ad_astra:mercury_cobblestone', hammered: 'tfg:rock/gravel_mars', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_mars', hammered: 'tfc:sand/red', duration: 70, eu: 2 }, + + // Europa + { raw: 'ad_astra:permafrost', hammered: 'tfg:rock/cobble_permafrost', duration: 10, eu: 16 }, + { raw: 'tfg:rock/cobble_permafrost', hammered: 'tfg:rock/gravel_permafrost', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_permafrost', hammered: '4x gtceu:ice_dust', duration: 70, eu: 2 }, + + // Misc + { raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate', duration: 10, eu: 16 } + + ] + global.COOLING_FOODS = [ 'firmalife:food/vanilla_ice_cream', 'firmalife:food/chocolate_ice_cream', @@ -185,4 +262,4 @@ global.WARMING_FOODS = [ 'tfc:food/vegetables_soup', 'tfc:food/protein_soup', 'tfc:food/dairy_soup' -]; \ No newline at end of file +]; diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 32a12587d..8a84d7294 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -86,6 +86,10 @@ const registerTFGItems = (event) => { .translationKey('item.tfg.brick.glacio_stone') event.create('tfg:brick/permafrost') .translationKey('item.tfg.brick.permafrost') + event.create('tfg:brick/red_granite') + .translationKey('item.tfg.red_granite') + event.create('tfg:brick/moon_deepslate') + .translationKey('item.tfg.moon_deepslate') // #endregion // #region Primitive rubber gloves