diff --git a/kubejs/assets/tfg/textures/block/rock/cracked_bricks_dripstone.png b/kubejs/assets/tfg/textures/block/rock/cracked_bricks_dripstone.png new file mode 100644 index 000000000..eff82d904 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/cracked_bricks_dripstone.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_blackstone.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_blackstone.png new file mode 100644 index 000000000..72d3ca7be Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_blackstone.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_deepslate.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_deepslate.png new file mode 100644 index 000000000..46c837014 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_deepslate.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_dripstone.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_dripstone.png new file mode 100644 index 000000000..4c8862fd1 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_dripstone.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_glacio.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_glacio.png new file mode 100644 index 000000000..2fb41793d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_glacio.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_mars.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_mars.png new file mode 100644 index 000000000..753db480b Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_mars.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_mercury.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_mercury.png new file mode 100644 index 000000000..28739b695 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_mercury.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_moon.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_moon.png new file mode 100644 index 000000000..03e85e286 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_moon.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_moon_deepslate.png new file mode 100644 index 000000000..f95cbc6d9 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_moon_deepslate.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_nether.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_nether.png new file mode 100644 index 000000000..759d6210d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_nether.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_permafrost.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_permafrost.png new file mode 100644 index 000000000..ab0971c4e Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_permafrost.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_bricks_venus.png b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_venus.png new file mode 100644 index 000000000..777287291 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_bricks_venus.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_blackstone.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_blackstone.png new file mode 100644 index 000000000..abf7189e0 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_blackstone.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_crackrack.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_crackrack.png new file mode 100644 index 000000000..08a30d89a Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_crackrack.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_deepslate.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_deepslate.png new file mode 100644 index 000000000..ad67c7f9d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_deepslate.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_dripstone.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_dripstone.png new file mode 100644 index 000000000..da7f0cef1 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_dripstone.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_glacio.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_glacio.png new file mode 100644 index 000000000..bf3c01c10 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_glacio.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_mars.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_mars.png new file mode 100644 index 000000000..1f967eb8d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_mars.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_mercury.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_mercury.png new file mode 100644 index 000000000..bdf8434d1 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_mercury.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_moon.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_moon.png new file mode 100644 index 000000000..66a5dea47 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_moon.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_moon_deepslate.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_moon_deepslate.png new file mode 100644 index 000000000..9d50a7fae Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_moon_deepslate.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_permafrost.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_permafrost.png new file mode 100644 index 000000000..60a150fa3 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_permafrost.png differ diff --git a/kubejs/assets/tfg/textures/block/rock/mossy_cobble_venus.png b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_venus.png new file mode 100644 index 000000000..34a2de326 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/rock/mossy_cobble_venus.png differ diff --git a/kubejs/assets/tfg/textures/item/brick/dripstone.png b/kubejs/assets/tfg/textures/item/brick/dripstone.png new file mode 100644 index 000000000..f94c34875 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/brick/dripstone.png differ diff --git a/kubejs/server_scripts/minecraft/recipes.removes.js b/kubejs/server_scripts/minecraft/recipes.removes.js index f091d12c6..13ea20a53 100644 --- a/kubejs/server_scripts/minecraft/recipes.removes.js +++ b/kubejs/server_scripts/minecraft/recipes.removes.js @@ -14,6 +14,26 @@ function removeMinecraftRecipes(event) { event.remove({ id: 'ae2:entropy/heat/cobblestone_stone' }) event.remove({ id: 'gtceu:compressor/stone_from_dust' }) event.remove({ id: 'gtceu:rock_breaker/stone' }) + + event.remove({ id: 'gtceu:shaped/stone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/stone_slab_saw' }) + + event.remove({ id: 'gtceu:shaped/cobblestone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) + event.remove({ id: 'gtceu:shaped/cobblestone_slab_wall' }) + + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_saw' }) + event.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_wall' }) + + event.remove({ id: 'gtceu:shaped/red_sandstone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/red_sandstone_wall_saw' }) + event.remove({ id: 'gtceu:shaped/red_sandstone_polish_hammer' }) + + event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_stair_saw' }) + event.remove({ id: 'gtceu:shaped/smooth_red_sandstone_slab_saw' }) + + event.remove({ id: 'gtceu:shaped/cut_red_sandstone_slab_saw' }) //#endregion diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js index 77bd5d5f9..182fadcb0 100644 --- a/kubejs/server_scripts/tfg/events.js +++ b/kubejs/server_scripts/tfg/events.js @@ -267,68 +267,188 @@ function getTFGPersistentDataRoot(player) { * @property {string|null} chiseled_brick - Chiseled brick block ID. */ +const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] + +// #region BRICK_INDEX /** @type {BrickVariant[]} */ global.BRICK_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({ - brick_type: tfc_stone, - brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`, + brick_type: tfc_stone, + brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`, cracked_brick: `tfc:rock/cracked_bricks/${tfc_stone}`, cracked_stairs: `tfc:rock/cracked_bricks/${tfc_stone}_stairs`, cracked_slab: `tfc:rock/cracked_bricks/${tfc_stone}_slab`, cracked_wall: `tfc:rock/cracked_bricks/${tfc_stone}_wall`, - mossy_brick: `tfc:rock/mossy_bricks/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_bricks/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_bricks/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_bricks/${tfc_stone}_wall`, - smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`, + mossy_brick: `tfc:rock/mossy_bricks/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_bricks/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_bricks/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_bricks/${tfc_stone}_wall`, + smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`, chiseled_brick: `tfc:rock/chiseled/${tfc_stone}` })); (global.CREATE_DECO_BRICK_TYPES ? global.CREATE_DECO_BRICK_TYPES : []).slice(0, -1).forEach(create_brick => { global.BRICK_INDEX.push({ - brick_type: create_brick, - brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`, - cracked_brick: `createdeco:cracked_${create_brick}_bricks`, cracked_stairs: `createdeco:cracked_${create_brick}_brick_stairs`, cracked_slab: `createdeco:cracked_${create_brick}_brick_slab`, cracked_wall: `createdeco:cracked_${create_brick}_brick_wall`, - mossy_brick: `createdeco:mossy_${create_brick}_bricks`, mossy_stairs: `createdeco:mossy_${create_brick}_brick_stairs`, mossy_slab: `createdeco:mossy_${create_brick}_brick_slab`, mossy_wall: `createdeco:mossy_${create_brick}_brick_wall`, - smooth_brick: `createdeco:corner_${create_brick}_bricks`, smooth_stairs: `createdeco:corner_${create_brick}_brick_stairs`, smooth_slab: `createdeco:corner_${create_brick}_brick_slab`, smooth_wall: `createdeco:corner_${create_brick}_brick_wall`, + brick_type: create_brick, + brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`, + cracked_brick: `createdeco:cracked_${create_brick}_bricks`, cracked_stairs: `createdeco:cracked_${create_brick}_brick_stairs`, cracked_slab: `createdeco:cracked_${create_brick}_brick_slab`, cracked_wall: `createdeco:cracked_${create_brick}_brick_wall`, + mossy_brick: `createdeco:mossy_${create_brick}_bricks`, mossy_stairs: `createdeco:mossy_${create_brick}_brick_stairs`, mossy_slab: `createdeco:mossy_${create_brick}_brick_slab`, mossy_wall: `createdeco:mossy_${create_brick}_brick_wall`, + smooth_brick: `createdeco:corner_${create_brick}_bricks`, smooth_stairs: `createdeco:corner_${create_brick}_brick_stairs`, smooth_slab: `createdeco:corner_${create_brick}_brick_slab`, smooth_wall: `createdeco:corner_${create_brick}_brick_wall`, chiseled_brick: `createdeco:tiled_${create_brick}_bricks` }) }); global.BRICK_INDEX = global.BRICK_INDEX.concat([ - // { - // brick_type: '', - // brick: '', brick_stairs: '', brick_slab: '', brick_wall: '', - // cracked_brick: '', cracked_stairs: '', cracked_slab: '', cracked_wall: '', - // mossy_brick: '', mossy_stairs: '', mossy_slab: '', mossy_wallL: '', - // smooth_brick: '', smooth_stairs: '', smooth_slab: '', smooth_wall: '', - // chiseled_brick: '' - // }, - { - brick_type: 'red', - brick: 'minecraft:bricks', brick_stairs: 'minecraft:brick_stairs', brick_slab: 'minecraft:brick_slab', brick_wall: 'minecraft:brick_wall', - cracked_brick: 'createdeco:cracked_red_bricks', cracked_stairs: 'createdeco:cracked_red_brick_stairs', cracked_slab: 'createdeco:cracked_red_brick_slab', cracked_wall: 'createdeco:cracked_red_brick_wall', - mossy_brick: 'createdeco:mossy_red_bricks', mossy_stairs: 'createdeco:mossy_red_brick_stairs', mossy_slab: 'createdeco:mossy_red_brick_slab', mossy_wall: 'createdeco:mossy_red_brick_wall', - smooth_brick: 'createdeco:corner_red_bricks', smooth_stairs: 'createdeco:corner_red_brick_stairs', smooth_slab: 'createdeco:corner_red_brick_slab', smooth_wall: 'createdeco:corner_red_brick_wall', - chiseled_brick: 'createdeco:tiled_red_bricks' - }, - { - brick_type: 'light_concrete', - brick: 'gtceu:light_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_light_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_light_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_light_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_light_concrete' - }, - { - brick_type: 'dark_concrete', - brick: 'gtceu:dark_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_dark_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_dark_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_dark_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_dark_concrete' - }, - { - brick_type: 'red_granite', - brick: 'gtceu:red_granite_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, - cracked_brick: 'gtceu:cracked_red_granite_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, - mossy_brick: 'gtceu:mossy_red_granite_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, - smooth_brick: 'gtceu:polished_red_granite', smooth_stairs: null, smooth_slab: null, smooth_wall: null, - chiseled_brick: 'gtceu:chiseled_red_granite' - } +// { brick_type: '', +// brick: '', brick_stairs: '', brick_slab: '', brick_wall: '', +// cracked_brick: '', cracked_stairs: '', cracked_slab: '', cracked_wall: '', +// mossy_brick: '', mossy_stairs: '', mossy_slab: '', mossy_wallL: '', +// smooth_brick: '', smooth_stairs: '', smooth_slab: '', smooth_wall: '', +// chiseled_brick: '' }, + + { brick_type: 'red', + brick: 'minecraft:bricks', brick_stairs: 'minecraft:brick_stairs', brick_slab: 'minecraft:brick_slab', brick_wall: 'minecraft:brick_wall', + cracked_brick: 'createdeco:cracked_red_bricks', cracked_stairs: 'createdeco:cracked_red_brick_stairs', cracked_slab: 'createdeco:cracked_red_brick_slab', cracked_wall: 'createdeco:cracked_red_brick_wall', + mossy_brick: 'createdeco:mossy_red_bricks', mossy_stairs: 'createdeco:mossy_red_brick_stairs', mossy_slab: 'createdeco:mossy_red_brick_slab', mossy_wall: 'createdeco:mossy_red_brick_wall', + smooth_brick: 'createdeco:corner_red_bricks', smooth_stairs: 'createdeco:corner_red_brick_stairs', smooth_slab: 'createdeco:corner_red_brick_slab', smooth_wall: 'createdeco:corner_red_brick_wall', + chiseled_brick: 'createdeco:tiled_red_bricks' }, + + { brick_type: 'light_concrete', + brick: 'gtceu:light_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, + cracked_brick: 'gtceu:cracked_light_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, + mossy_brick: 'gtceu:mossy_light_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: 'gtceu:polished_light_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, + chiseled_brick: 'gtceu:chiseled_light_concrete' }, + + { brick_type: 'dark_concrete', + brick: 'gtceu:dark_concrete_bricks', brick_stairs: null, brick_slab: null, brick_wall: null, + cracked_brick: 'gtceu:cracked_dark_concrete_bricks', cracked_stairs: null, cracked_slab: null, cracked_wall: null, + mossy_brick: 'gtceu:mossy_dark_concrete_bricks', mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: 'gtceu:polished_dark_concrete', smooth_stairs: null, smooth_slab: null, smooth_wall: null, + chiseled_brick: 'gtceu:chiseled_dark_concrete' }, + + { brick_type: 'deepslate', + brick: 'minecraft:deepslate_bricks', brick_stairs: 'minecraft:deepslate_brick_stairs', brick_slab: 'minecraft:deepslate_brick_slab', brick_wall: 'minecraft:deepslate_brick_wall', + cracked_brick: 'minecraft:cracked_deepslate_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_deepslate_slab', cracked_wall: 'tfg:rock/cracked_bricks_deepslate_wall', + mossy_brick: 'tfg:rock/mossy_bricks_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_deepslate_slab', mossy_wall: 'tfg:rock/mossy_bricks_deepslate_wall', + smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall', + chiseled_brick: 'minecraft:chiseled_deepslate' }, + + { brick_type: 'deepslate_tiles', + brick: 'minecraft:deepslate_tiles', brick_stairs: 'minecraft:deepslate_tile_stairs', brick_slab: 'minecraft:deepslate_tile_slab', brick_wall: 'minecraft:deepslate_tile_wall', + cracked_brick: 'minecraft:cracked_deepslate_tiles', cracked_stairs: 'tfg:rock/cracked_tiles_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_tiles_deepslate_slab', cracked_wall: 'tfg:rock/cracked_tiles_deepslate_wall', + mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: 'minecraft:polished_deepslate', smooth_stairs: 'minecraft:polished_deepslate_stairs', smooth_slab: 'minecraft:polished_deepslate_slab', smooth_wall: 'minecraft:polished_deepslate_wall', + chiseled_brick: 'minecraft:chiseled_deepslate' }, + + { brick_type: 'blackstone', + brick: 'minecraft:polished_blackstone_bricks', brick_stairs: 'minecraft:polished_blackstone_brick_stairs', brick_slab: 'minecraft:polished_blackstone_brick_slab', brick_wall: 'minecraft:polished_blackstone_brick_wall', + cracked_brick: 'minecraft:cracked_polished_blackstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_blackstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_blackstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_blackstone_wall', + mossy_brick: 'tfg:rock/mossy_bricks_blackstone', mossy_stairs: 'tfg:rock/mossy_bricks_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_blackstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_blackstone_wall', + smooth_brick: 'minecraft:polished_blackstone', smooth_stairs: 'minecraft:polished_blackstone_stairs', smooth_slab: 'minecraft:polished_blackstone_slab', smooth_wall: 'minecraft:polished_blackstone_wall', + chiseled_brick: 'minecraft:chiseled_blackstone' }, + + { brick_type: 'dripstone', + brick: 'create:cut_dripstone_bricks', brick_stairs: 'create:cut_dripstone_brick_stairs', brick_slab: 'create:cut_dripstone_brick_slab', brick_wall: 'create:cut_dripstone_brick_wall', + cracked_brick: 'tfg:rock/cracked_bricks_dripstone', cracked_stairs: 'tfg:rock/cracked_bricks_dripstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_dripstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_dripstone_wall', + mossy_brick: 'tfg:rock/mossy_bricks_dripstone', mossy_stairs: 'tfg:rock/mossy_bricks_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_bricks_dripstone_slab', mossy_wall: 'tfg:rock/mossy_bricks_dripstone_wall', + smooth_brick: 'create:polished_cut_dripstone', smooth_stairs: 'create:polished_cut_dripstone_stairs', smooth_slab: 'create:polished_cut_dripstone_slab', smooth_wall: 'create:polished_cut_dripstone_wall', + chiseled_brick: 'create:small_dripstone_bricks' }, + + { brick_type: 'crackrack', + brick: 'minecraft:nether_bricks', brick_stairs: 'minecraft:nether_bricks_stairs', brick_slab: 'minecraft:nether_bricks_slab', brick_wall: 'minecraft:nether_bricks_wall', + cracked_brick: 'minecraft:cracked_nether_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_nether_stairs', cracked_slab: 'tfg:rock/cracked_bricks_nether_slab', cracked_wall: 'tfg:rock/cracked_bricks_nether_wall', + mossy_brick: 'tfg:rock/mossy_bricks_nether', mossy_stairs: 'tfg:rock/mossy_bricks_nether_stairs', mossy_slab: 'tfg:rock/mossy_bricks_nether_slab', mossy_wall: 'tfg:rock/mossy_bricks_nether_wall', + smooth_brick: 'tfg:rock/polished_crackrack', smooth_stairs: 'tfg:rock/polished_crackrack_stairs', smooth_slab: 'tfg:rock/polished_crackrack_slab', smooth_wall: 'tfg:rock/polished_crackrack_wall', + chiseled_brick: 'minecraft:chiseled_nether_bricks' }, + + { brick_type: 'moon_deepslate', + brick: 'tfg:rock/bricks_moon_deepslate', brick_stairs: 'tfg:rock/bricks_moon_deepslate_stairs', brick_slab: 'tfg:rock/bricks_moon_deepslate_slab', brick_wall: 'tfg:rock/bricks_moon_deepslate_wall', + cracked_brick: 'tfg:rock/cracked_bricks_moon_deepslate', cracked_stairs: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', cracked_slab: 'tfg:rock/cracked_bricks_moon_slab', cracked_wall: 'tfg:rock/cracked_bricks_moon_wall', + mossy_brick: 'tfg:rock/mossy_bricks_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_bricks_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_bricks_moon_slab', mossy_wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall', + smooth_brick: 'tfg:rock/polished_moon_deepslate', smooth_stairs: 'tfg:rock/polished_moon_deepslate_stairs', smooth_slab: 'ad_astra:polished_moon_stone_slab', smooth_wall: 'tfg:rock/polished_moon_deepslate_wall', + chiseled_brick: 'tfg:rock/chiseled_bricks_moon_deepslate' }, + + { brick_type: 'permafrost', + brick: 'ad_astra:permafrost_bricks', brick_stairs: 'ad_astra:permafrost_brick_stairs', brick_slab: 'ad_astra:permafrost_brick_slab', brick_wall: 'ad_astra:permafrost_brick_wall', + cracked_brick: 'ad_astra:cracked_permafrost_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_permafrost_stairs', cracked_slab: 'tfg:rock/cracked_bricks_permafrost_slab', cracked_wall: 'tfg:rock/cracked_bricks_permafrost_wall', + mossy_brick: 'tfg:rock/mossy_bricks_permafrost', mossy_stairs: 'tfg:rock/mossy_bricks_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_bricks_permafrost_slab', mossy_wall: 'tfg:rock/mossy_bricks_permafrost_wall', + smooth_brick: 'ad_astra:polished_permafrost', smooth_stairs: 'ad_astra:polished_permafrost_stairs', smooth_slab: 'ad_astra:polished_permafrost_slab', smooth_wall: 'tfg:rock/polished_permafrost_wall', + chiseled_brick: 'ad_astra:chiseled_permafrost_bricks' }, + + { brick_type: 'red_granite', + brick: 'gtceu:red_granite_bricks', brick_stairs: 'tfg:rock/bricks_red_granite_stairs', brick_slab: 'tfg:rock/bricks_red_granite_slab', brick_wall: 'tfg:rock/bricks_red_granite_wall', + cracked_brick: 'gtceu:cracked_red_granite_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_red_granite_stairs', cracked_slab: 'tfg:rock/cracked_bricks_red_granite_slab', cracked_wall: 'tfg:rock/cracked_bricks_red_granite_wall', + mossy_brick: 'gtceu:mossy_red_granite_bricks', mossy_stairs: 'tfg:rock/mossy_bricks_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_bricks_red_granite_slab', mossy_wall: 'tfg:rock/mossy_bricks_red_granite_wall', + smooth_brick: 'gtceu:polished_red_granite', smooth_stairs: 'tfg:rock/polished_red_granite_stairs', smooth_slab: 'tfg:rock/polished_red_granite_slab', smooth_wall: 'tfg:rock/polished_red_granite_wall', + chiseled_brick: 'gtceu:chiseled_red_granite' }, + + { brick_type: 'venus_sandstone', + brick: 'ad_astra:venus_sandstone_bricks', brick_stairs: 'ad_astra:venus_sandstone_brick_stairs', brick_slab: 'ad_astra:venus_sandstone_brick_slab', brick_wall: 'tfg:rock/bricks_venus_sandstone_wall', + cracked_brick: 'ad_astra:cracked_venus_sandstone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_venus_sandstone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_venus_sandstone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall', + mossy_brick: null, mossy_stairs: null, mossy_slab: null, mossy_wall: null, + smooth_brick: null, smooth_stairs: null, smooth_slab: null, smooth_wall: null, + chiseled_brick: null }, + + { brick_type: 'stone', + brick: 'minecraft:stone_bricks', brick_stairs: 'minecraft:stone_brick_stairs', brick_slab: 'minecraft:stone_brick_slab', brick_wall: 'minecraft:stone_brick_wall', + cracked_brick: 'minecraft:cracked_stone_bricks', cracked_stairs: 'tfg:rock/cracked_bricks_stone_stairs', cracked_slab: 'tfg:rock/cracked_bricks_stone_slab', cracked_wall: 'tfg:rock/cracked_bricks_stone_wall', + mossy_brick: 'minecraft:mossy_stone_bricks', mossy_stairs: 'minecraft:mossy_stone_brick_stairs', mossy_slab: 'minecraft:mossy_stone_brick_slab', mossy_wall: 'minecraft:mossy_stone_brick_wall', + smooth_brick: 'minecraft:smooth_stone', smooth_stairs: 'tfg:rock/smooth_stone_stairs', smooth_slab: 'minecraft:smooth_stone_slab', smooth_wall: 'tfg:rock/smooth_stone_wall', + chiseled_brick: 'minecraft:chiseled_stone_bricks' } ]); +global.BRICK_INDEX = global.BRICK_INDEX.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { brick_type: stone, + brick: `ad_astra:${stone}_stone_bricks`, brick_stairs: `ad_astra:${stone}_stone_brick_stairs`, brick_slab: `ad_astra:${stone}_stone_brick_slab`, brick_wall: `ad_astra:${stone}_stone_brick_wall`, + cracked_brick: `ad_astra:cracked_${stone}_stone_bricks`, cracked_stairs: `tfg:rock/cracked_bricks_${stone}_stairs`, cracked_slab: `tfg:rock/cracked_bricks_${stone}_slab`, cracked_wall: `tfg:rock/cracked_bricks_${stone}_wall`, + mossy_brick: `tfg:rock/mossy_bricks_${stone}`, mossy_stairs: `tfg:rock/mossy_bricks_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_bricks_${stone}_slab`, mossy_wall: `tfg:rock/mossy_bricks_${stone}_wall`, + smooth_brick: `ad_astra:polished_${stone}_stone`, smooth_stairs: `ad_astra:polished_${stone}_stone_stairs`, smooth_slab: `ad_astra:polished_${stone}_stone_slab`, smooth_wall: `tfg:rock/polished_${stone}_wall`, + chiseled_brick: `ad_astra:chiseled_${stone}_stone_bricks` } +)) ) + +// #endregion BRICK_INDEX + +// #region COBBLE_INDEX +global.COBBLE_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({ + cobble_type: tfc_stone, + block: `tfc:rock/cobble/${tfc_stone}`, stairs: `tfc:rock/cobble/${tfc_stone}_stairs`, slab: `tfc:rock/cobble/${tfc_stone}_slab`, wall: `tfc:rock/cobble/${tfc_stone}_wall`, + mossy_block: `tfc:rock/mossy_cobble/${tfc_stone}`, mossy_stairs: `tfc:rock/mossy_cobble/${tfc_stone}_stairs`, mossy_slab: `tfc:rock/mossy_cobble/${tfc_stone}_slab`, mossy_wall: `tfc:rock/mossy_cobble/${tfc_stone}_wall` +})); + +global.COBBLE_INDEX = global.COBBLE_INDEX.concat([ + { cobble_type: 'deepslate', + block: 'minecraft:cobbled_deepslate', stairs: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall', + mossy_block: 'tfg:rock/mossy_cobble_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_deepslate_wall' }, + + { cobble_type: 'blackstone', + block: 'tfg:rock/cobble_blackstone', stairs: 'tfg:rock/cobble_blackstone_stairs', slab: 'tfg:rock/cobble_blackstone_slab', wall: 'tfg:rock/cobble_blackstone_wall', + mossy_block: 'tfg:rock/mossy_cobble_blackstone', mossy_stairs: 'tfg:rock/mossy_cobble_blackstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_blackstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_blackstone_wall' }, + + { cobble_type: 'dripstone', + block: 'tfg:rock/cobble_dripstone', stairs: 'tfg:rock/cobble_dripstone_stairs', slab: 'tfg:rock/cobble_dripstone_slab', wall: 'tfg:rock/cobble_dripstone_wall', + mossy_block: 'tfg:rock/mossy_cobble_dripstone', mossy_stairs: 'tfg:rock/mossy_cobble_dripstone_stairs', mossy_slab: 'tfg:rock/mossy_cobble_dripstone_slab', mossy_wall: 'tfg:rock/mossy_cobble_dripstone_wall' }, + + { cobble_type: 'crackrack', + block: 'tfg:rock/cobble_crackrack', stairs: 'tfg:rock/cobble_crackrack_stairs', slab: 'tfg:rock/cobble_crackrack_slab', wall: 'tfg:rock/cobble_crackrack_wall', + mossy_block: 'tfg:rock/mossy_cobble_crackrack', mossy_stairs: 'tfg:rock/mossy_cobble_crackrack_stairs', mossy_slab: 'tfg:rock/mossy_cobble_crackrack_slab', mossy_wall: 'tfg:rock/mossy_cobble_crackrack_wall' }, + + { cobble_type: 'moon_deepslate', + block: 'tfg:rock/cobble_moon_deepslate', stairs: 'tfg:rock/cobble_moon_deepslate_stairs', slab: 'tfg:rock/cobble_moon_deepslate_slab', wall: 'tfg:rock/cobble_moon_deepslate_wall', + mossy_block: 'tfg:rock/mossy_cobble_moon_deepslate', mossy_stairs: 'tfg:rock/mossy_cobble_moon_deepslate_stairs', mossy_slab: 'tfg:rock/mossy_cobble_moon_deepslate_slab', mossy_wall: 'tfg:rock/mossy_cobble_moon_deepslate_wall' }, + + { cobble_type: 'permafrost', + block: 'tfg:rock/cobble_permafrost', stairs: 'tfg:rock/cobble_permafrost_stairs', slab: 'tfg:rock/cobble_permafrost_slab', wall: 'tfg:rock/cobble_permafrost_wall', + mossy_block: 'tfg:rock/mossy_cobble_permafrost', mossy_stairs: 'tfg:rock/mossy_cobble_permafrost_stairs', mossy_slab: 'tfg:rock/mossy_cobble_permafrost_slab', mossy_wall: 'tfg:rock/mossy_cobble_permafrost_wall' }, + + { cobble_type: 'red_granite', + block: 'gtceu:red_granite_cobblestone', stairs: 'tfg:rock/cobble_red_granite_stairs', slab: 'tfg:rock/cobble_red_granite_slab', wall: 'tfg:rock/cobble_red_granite_wall', + mossy_block: 'gtceu:mossy_red_granite_cobblestone', mossy_stairs: 'tfg:rock/mossy_cobble_red_granite_stairs', mossy_slab: 'tfg:rock/mossy_cobble_red_granite_slab', mossy_wall: 'tfg:rock/mossy_cobble_red_granite_wall' }, + + { cobble_type: 'stone', + block: 'minecraft:cobblestone', stairs: 'minecraft:cobblestone_stairs', slab: 'minecraft:cobblestone_slab', wall: 'minecraft:cobblestone_wall', + mossy_block: 'minecraft:mossy_cobblestone', mossy_stairs: 'minecraft:mossy_cobblestone_stairs', mossy_slab: 'minecraft:mossy_cobblestone_slab', mossy_wall: 'minecraft:mossy_cobblestone_wall' } +]); + +global.COBBLE_INDEX = global.COBBLE_INDEX.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { cobble_type: stone, + block: `ad_astra:${stone}_cobblestone`, stairs: `ad_astra:${stone}_cobblestone_stairs`, slab: `ad_astra:${stone}_cobblestone_slab`, wall: `tfg:rock/cobble_${stone}_wall`, + mossy_block: `tfg:rock/mossy_cobble_${stone}`, mossy_stairs: `tfg:rock/mossy_cobble_${stone}_stairs`, mossy_slab: `tfg:rock/mossy_cobble_${stone}_slab`, mossy_wall: `tfg:rock/mossy_cobble_${stone}_wall` } +)) ) + +// #endregion COBBLE_INDEX + /** * Function for replacing a block with another block by crouch-right-clicking with a tool. * @@ -453,78 +573,79 @@ BlockEvents.rightClicked(event => { //Brick index events for (const b of global.BRICK_INDEX) { //brick -> cracked - transformBlockWithTool(event, b.brick, b.cracked_brick, '#forge:tools/hammers',true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.brick_stairs, b.cracked_stairs, '#forge:tools/hammers',true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.brick_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.brick_wall, b.cracked_wall, '#forge:tools/hammers',true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.brick_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.brick_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.brick_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); //brick -> mossy - transformBlockWithItem(event, b.brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.brick_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.brick_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); //cracked -> mossy - transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_stairs, b.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_slab, b.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.cracked_wall, b.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); //mossy -> cracked - transformBlockWithTool(event, b.mossy_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.mossy_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.mossy_stairs, b.cracked_stairs, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.mossy_slab, b.cracked_slab, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithTool(event, b.mossy_wall, b.cracked_wall, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); //mossy -> brick - transformBlockWithTool(event, b.mossy_brick, b.brick, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_brick, b.brick, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.mossy_stairs, b.brick_stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_stairs, b.brick_stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.mossy_slab, b.brick_slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_slab, b.brick_slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.mossy_wall, b.brick_wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.mossy_wall, b.mossy_wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.mossy_brick, b.brick, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.mossy_brick, b.brick, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.mossy_stairs, b.brick_stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.mossy_stairs, b.brick_stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.mossy_slab, b.brick_slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.mossy_slab, b.brick_slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.mossy_wall, b.brick_wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.mossy_wall, b.mossy_wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); //cracked -> brick - transformBlockWithItem(event, b.cracked_brick, b.brick, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - transformBlockWithItem(event, b.cracked_stairs, b.brick_stairs, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - transformBlockWithItem(event, b.cracked_slab, b.brick_slab, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - transformBlockWithItem(event, b.cracked_wall, b.brick_wall, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); - // -> smooth - transformBlockWithTool(event, b.brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - transformBlockWithTool(event, b.mossy_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - transformBlockWithTool(event, b.cracked_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); - // smooth -> - transformBlockWithTool(event, b.smooth_brick, b.cracked_brick, '#forge:tools/hammers',true, 'minecraft:block.copper.hit', 'minecraft:crit', true); - transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithTool(event, b.smooth_brick, b.brick, '#forge:tools/files', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); + transformBlockWithItem(event, b.cracked_brick, b.brick, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + transformBlockWithItem(event, b.cracked_stairs, b.brick_stairs, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + transformBlockWithItem(event, b.cracked_slab, b.brick_slab, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + transformBlockWithItem(event, b.cracked_wall, b.brick_wall, 'tfc:mortar', true, 1, 'minecraft:item.ink_sac.use', 'minecraft:effect', true); + // brick -> smooth + transformBlockWithTool(event, b.brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + transformBlockWithTool(event, b.mossy_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + transformBlockWithTool(event, b.cracked_brick, b.smooth_brick, '#create:sandpaper', true, 'create:sanding_short', 'minecraft:crit', true); + // smooth -> brick + transformBlockWithTool(event, b.smooth_brick, b.cracked_brick, '#forge:tools/hammers', true, 'minecraft:block.copper.hit', 'minecraft:crit', true); + transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, b.smooth_brick, b.mossy_brick, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithTool(event, b.smooth_brick, b.brick, '#forge:tools/files', true, 'minecraft:block.beehive.shear', 'minecraft:crit', true); } - //Other TFC Blocks - global.TFC_STONE_TYPES.forEach(stone => { + + //Cobble index events + for (const c of global.COBBLE_INDEX) { //cobble -> mossy - transformBlockWithItem(event, `tfc:rock/cobble/${stone}`, `tfc:rock/mossy_cobble/${stone}`, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/cobble/${stone}`, `tfc:rock/mossy_cobble/${stone}`, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/cobble/${stone}_stairs`, `tfc:rock/mossy_cobble/${stone}_stairs`, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/cobble/${stone}_stairs`, `tfc:rock/mossy_cobble/${stone}_stairs`, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/cobble/${stone}_slab`, `tfc:rock/mossy_cobble/${stone}_slab`, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/cobble/${stone}_slab`, `tfc:rock/mossy_cobble/${stone}_slab`, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}_wall`, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}_wall`, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.block, c.mossy_block, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.block, c.mossy_block, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.stairs, c.mossy_stairs, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.stairs, c.mossy_stairs, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.slab, c.mossy_slab, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.slab, c.mossy_slab, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.wall, c.mossy_wall, '#tfc:compost_greens_low', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.wall, c.mossy_wall, 'gtceu:plant_ball', true, 1, 'minecraft:block.moss.hit', 'minecraft:item_slime', true); //mossy -> cobble - transformBlockWithTool(event, `tfc:rock/mossy_cobble/${stone}`, `tfc:rock/cobble/${stone}`, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/mossy_cobble/${stone}`, `tfc:rock/cobble/${stone}`, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, `tfc:rock/mossy_cobble/${stone}_stairs`, `tfc:rock/cobble/${stone}_stairs`, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/mossy_cobble/${stone}_stairs`, `tfc:rock/cobble/${stone}_stairs`, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, `tfc:rock/mossy_cobble/${stone}_slab`, `tfc:rock/cobble/${stone}_slab`, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/mossy_cobble/${stone}_slab`, `tfc:rock/cobble/${stone}_slab`, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithTool(event, `tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/cobble/${stone}_wall`, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - transformBlockWithItem(event, `tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/cobble/${stone}_wall`, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); - }); + transformBlockWithTool(event, c.mossy_block, c.block, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.mossy_block, c.block, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, c.mossy_stairs, c.stairs, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.mossy_stairs, c.stairs, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, c.mossy_slab, c.slab, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.mossy_slab, c.slab, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithTool(event, c.mossy_wall, c.wall, '#forge:tools/knives', true, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + transformBlockWithItem(event, c.mossy_wall, c.wall, 'tfc:groundcover/pumice', true, 1, 'minecraft:item.axe.wax_off', 'minecraft:item_slime', true); + } }); // Makes scythes, hoes, and knives take damage when cutting grass diff --git a/kubejs/server_scripts/tfg/recipes.collapse.js b/kubejs/server_scripts/tfg/recipes.collapse.js index 62e039d47..41b52c61a 100644 --- a/kubejs/server_scripts/tfg/recipes.collapse.js +++ b/kubejs/server_scripts/tfg/recipes.collapse.js @@ -22,9 +22,13 @@ function registerTFGCollapseRecipes(event) { event.recipes.tfc.landslide('tfg:ash_pile', 'tfg:ash_pile') event.recipes.tfc.landslide('minecraft:cobbled_deepslate', 'minecraft:cobbled_deepslate') + event.recipes.tfc.landslide('minecraft:mossy_cobbled_deepslate', 'minecraft:mossy_cobbled_deepslate') event.recipes.tfc.landslide('tfg:rock/cobble_blackstone', 'tfg:rock/cobble_blackstone') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_blackstone', 'tfg:rock/mossy_cobble_blackstone') event.recipes.tfc.landslide('tfg:rock/cobble_dripstone', 'tfg:rock/cobble_dripstone') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_dripstone', 'tfg:rock/mossy_cobble_dripstone') event.recipes.tfc.landslide('tfg:rock/cobble_crackrack', 'tfg:rock/cobble_crackrack') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_crackrack', 'tfg:rock/mossy_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') @@ -38,53 +42,61 @@ 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('tfg:rock/mossy_cobble_moon', 'tfg:rock/mossy_cobble_moon') 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/cobble_moon_deepslate', 'tfg:rock/cobble_moon_deepslate') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_moon_deepslate', 'tfg:rock/mossy_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('ad_astra:glacio_cobblestone', 'ad_astra:glacio_cobblestone') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_glacio', 'tfg:rock/mossy_cobble_glacio') 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('ad_astra:mars_cobblestone', 'ad_astra:mars_cobblestone') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_mars', 'tfg:rock/mossy_cobble_mars') 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('ad_astra:venus_cobblestone', 'ad_astra:venus_cobblestone') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_venus', 'tfg:rock/mossy_cobble_venus') 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('ad_astra:mercury_cobblestone', 'ad_astra:mercury_cobblestone') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_mercury', 'tfg:rock/mossy_cobble_mercury') event.recipes.tfc.landslide('tfg:rock/gravel_mercury', 'tfg:rock/gravel_mercury') 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/cobble_permafrost', 'tfg:rock/cobble_permafrost') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_permafrost', 'tfg:rock/mossy_cobble_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('gtceu:red_granite_cobblestone', 'gtceu:red_granite_cobblestone') + event.recipes.tfc.landslide('tfg:rock/mossy_cobble_red_granite', 'tfg:rock/mossy_cobble_red_granite') event.recipes.tfc.landslide('tfg:rock/gravel_red_granite', 'tfg:rock/gravel_red_granite') + event.recipes.tfc.landslide('minecraft:red_sand', 'minecraft:red_sand') event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/mars_dirt') event.recipes.tfc.landslide('tfg:grass/mars_dirt', 'tfg:grass/amber_mycelium') @@ -99,4 +111,10 @@ function registerTFGCollapseRecipes(event) { event.recipes.tfc.landslide('tfc:red_kaolin_clay', 'tfg:grass/rusticus_kaolin_mycelium') event.recipes.tfc.landslide('tfc:red_kaolin_clay', 'tfg:grass/sangnum_kaolin_mycelium') // #endregion + + // #region Other + event.recipes.tfc.collapse('minecraft:cobblestone', 'minecraft:stone') + event.recipes.tfc.landslide('minecraft:cobblestone', 'minecraft:cobblestone') + event.recipes.tfc.landslide('minecraft:mossy_cobblestone', 'minecraft:mossy_cobblestone') + // #endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js index 6016c0f6c..48c7e2824 100644 --- a/kubejs/server_scripts/tfg/recipes.rocks.js +++ b/kubejs/server_scripts/tfg/recipes.rocks.js @@ -6,34 +6,44 @@ */ function registerTFGRockRecipes(event) { - // #region Nether rock recipes - + // #region GLUEING_TOGETHER // loose rocks to cobble, bricks to brick blocks - const GLUEING_TOGETHER = [ - { 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: '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' } + { loose: 'tfg:loose/deepslate', block: 'minecraft:cobbled_deepslate' }, + { loose: 'tfg:brick/deepslate', block: '4x minecraft:deepslate_bricks' }, + + { loose: 'beneath:blackstone_pebble', block: 'minecraft:blackstone' }, + + { loose: 'tfg:loose/dripstone', block: 'tfg:rock/cobble_dripstone' }, + { loose: 'tfg:brick/dripstone', block: '4x create:cut_dripstone_bricks' }, + + { 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/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' } ] GLUEING_TOGETHER.forEach(x => { @@ -54,36 +64,38 @@ function registerTFGRockRecipes(event) { .duration(50) .EUt(2) }) + // #endregion GLUEING_TOGETHER - // Cobble to loose - + // #region 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: '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: 'gtceu:red_granite_cobblestone', loose: 'tfg:brick/red_granite' }, + { cobble: 'tfg:rock/cobble_permafrost', loose: 'tfg:loose/permafrost' }, + { cobble: 'gtceu:red_granite_cobblestone', loose: 'tfg:loose/red_granite' } ] COBBLE_TO_LOOSE.forEach(x => { event.shapeless(`4x ${x.loose}`, [x.cobble]) }) + // #endregion COBBLE_TO_LOOSE - // loose to gravel - + // #region LOOSE_TO_GRAVEL const LOOSE_TO_GRAVEL = [ - { loose: 'tfg:loose/deepslate', gravel: 'tfg:rock/gravel_deepslate' }, + { 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: '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: 'tfg:loose/red_granite', gravel: 'tfg:rock/gravel_red_granite' }, ] LOOSE_TO_GRAVEL.forEach(x => { @@ -91,18 +103,20 @@ function registerTFGRockRecipes(event) { event.shapeless(`16x ${x.loose}`, [`4x ${x.gravel}`]) }) - // loose to bricks - + // #region 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/deepslate', brick: 'tfg:brick/deepslate' }, + { loose: 'tfg:loose/dripstone', brick: 'tfg:brick/dripstone' }, + { 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' }, - { loose: 'tfg:loose/glacio_stone', brick: 'tfg:brick/glacio_stone' }, - { loose: 'tfg:loose/permafrost', brick: 'tfg:brick/permafrost' } + { 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' }, + { loose: 'tfg:loose/glacio_stone', brick: 'tfg:brick/glacio_stone' }, + { loose: 'tfg:loose/permafrost', brick: 'tfg:brick/permafrost' }, + { loose: 'tfg:loose/red_granite', brick: 'tfg:brick/red_granite' }, + ] LOOSE_TO_BRICKS.forEach(x => { @@ -116,89 +130,102 @@ function registerTFGRockRecipes(event) { .duration(40) .EUt(8) }) + // #endregion LOOSE_TO_BRICKS - // raw to polished - + // #region RAW_TO_POLISHED const RAW_TO_POLISHED = [ // Beneath - { raw: 'minecraft:deepslate', polished: 'minecraft:polished_deepslate' }, - { 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:deepslate', polished: 'minecraft:polished_deepslate' }, + { 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: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: '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: 'beneath:crackrack', polished: 'tfg:rock/polished_crackrack' }, + { raw: 'minecraft:nether_bricks', polished: 'minecraft:chiseled_nether_bricks' }, + { raw: 'minecraft:chiseled_nether_bricks', polished: 'minecraft:nether_bricks' }, - { raw: 'minecraft:basalt', polished: 'minecraft:smooth_basalt' }, - { raw: 'minecraft:smooth_basalt', polished: 'minecraft:polished_basalt' }, + { 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_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: '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' }, + { 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: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: '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' }, + { 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' }, + + { raw: 'minecraft:smooth_red_sandstone', polished: 'minecraft:cut_red_sandstone' }, + { raw: 'minecraft:cut_red_sandstone', polished: 'minecraft:chiseled_red_sandstone' }, + { raw: 'minecraft:chiseled_red_sandstone', polished: 'minecraft:smooth_red_sandstone' }, // 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:chiseled_mercury_stone_bricks', polished: 'ad_astra:mercury_stone_bricks' }, + { 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: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' }, + { 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: 'ae2:sky_stone_small_brick', polished: 'ae2:smooth_sky_stone_block' }, - { raw: 'gtceu:certus_quartz_block', polished: 'ae2:cut_quartz_block' } + { 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: 'ae2:sky_stone_small_brick', polished: 'ae2:smooth_sky_stone_block' }, + { raw: 'gtceu:certus_quartz_block', polished: 'ae2:cut_quartz_block' }, + + // Recon Stone + { raw: 'minecraft:stone', polished: 'minecraft:smooth_stone' }, + { raw: 'minecraft:smooth_stone', polished: 'minecraft:stone' }, + + { raw: 'minecraft:stone_bricks', polished: 'minecraft:chiseled_stone_bricks' }, + { raw: 'minecraft:chiseled_stone_bricks', polished: 'minecraft:stone_bricks' } ] RAW_TO_POLISHED.forEach(x => { @@ -224,64 +251,23 @@ 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' } - ) + // #endregion RAW_TO_POLISHED // cracked bricks const CRACKING = [ - { raw: 'minecraft:deepslate_bricks', cracked: 'minecraft:cracked_deepslate_bricks' }, - { raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' }, - { raw: 'ad_astra:moon_stone_bricks', cracked: 'ad_astra:cracked_moon_stone_bricks' }, - { 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: 'minecraft:deepslate_bricks', cracked: 'minecraft:cracked_deepslate_bricks' }, + { raw: 'minecraft:deepslate_tiles', cracked: 'minecraft:cracked_deepslate_tiles' }, + { raw: 'minecraft:nether_bricks', cracked: 'minecraft:cracked_nether_bricks' }, + { raw: 'ad_astra:moon_stone_bricks', cracked: 'ad_astra:cracked_moon_stone_bricks' }, + { 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: 'tfg:rock/bricks_moon_deepslate', cracked: 'tfg:rock/cracked_bricks_moon_deepslate' } - + { 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: 'tfg:rock/bricks_moon_deepslate', cracked: 'tfg:rock/cracked_bricks_moon_deepslate' } ] CRACKING.forEach(x => { @@ -315,341 +301,309 @@ function registerTFGRockRecipes(event) { // slabs, stairs, walls - const CUTTER = [ + // #region CUTTER + // + // (spacing for region titles) + // + let CUTTER = [ // #region Nether - { - raw: 'minecraft:cobbled_deepslate', - stair: 'minecraft:cobbled_deepslate_stairs', - slab: 'minecraft:cobbled_deepslate_slab', - wall: 'minecraft:cobbled_deepslate_wall', - dust: 'gtceu:deepslate_dust', - loose: 'tfg:loose/deepslate', - stonecutting: false - }, - { - raw: 'minecraft:polished_deepslate', - stair: 'minecraft:polished_deepslate_stairs', - slab: 'minecraft:polished_deepslate_slab', - wall: 'minecraft:polished_deepslate_wall', - dust: 'gtceu:deepslate_dust', - stonecutting: false - }, - { - raw: 'minecraft:deepslate_bricks', - stair: 'minecraft:deepslate_brick_stairs', - slab: 'minecraft:deepslate_brick_slab', - wall: 'minecraft:deepslate_brick_wall', - dust: 'gtceu:deepslate_dust', - stonecutting: false - }, - { - raw: 'minecraft:deepslate_tiles', - stair: 'minecraft:deepslate_tile_stairs', - slab: 'minecraft:deepslate_tile_slab', - wall: 'minecraft:deepslate_tile_wall', - dust: 'gtceu:deepslate_dust', - stonecutting: false - }, - { - raw: 'minecraft:blackstone', - stair: 'minecraft:blackstone_stairs', - slab: 'minecraft:blackstone_slab', - wall: 'minecraft:blackstone_wall', - dust: 'gtceu:blackstone_dust', - loose: 'beneath:blackstone_pebble', - stonecutting: false - }, - { - raw: 'minecraft:polished_blackstone', - stair: 'minecraft:polished_blackstone_stairs', - slab: 'minecraft:polished_blackstone_slab', - wall: 'minecraft:polished_blackstone_wall', - dust: 'gtceu:blackstone_dust', - stonecutting: false - }, - { - raw: 'minecraft:polished_blackstone_bricks', - stair: 'minecraft:polished_blackstone_brick_stairs', - slab: 'minecraft:polished_blackstone_brick_slab', - wall: 'minecraft:polished_blackstone_brick_wall', - dust: 'gtceu:blackstone_dust', - stonecutting: false - }, - // #endregion - // #region Space - { - raw: 'ad_astra:moon_cobblestone', - stair: 'ad_astra:moon_cobblestone_stairs', - slab: 'ad_astra:moon_cobblestone_slab', - dust: 'tfg:moon_stone_dust', - loose: 'tfg:loose/moon_stone', - stonecutting: true - }, - { - raw: 'ad_astra:mars_cobblestone', - stair: 'ad_astra:mars_cobblestone_stairs', - slab: 'ad_astra:mars_cobblestone_slab', - dust: 'tfg:mars_stone_dust', - loose: 'tfg:loose/mars_stone', - stonecutting: true - }, - { - raw: 'ad_astra:venus_cobblestone', - stair: 'ad_astra:venus_cobblestone_stairs', - slab: 'ad_astra:venus_cobblestone_slab', - dust: 'tfg:venus_stone_dust', - loose: 'tfg:loose/venus_stone', - stonecutting: true - }, - { - raw: 'ad_astra:mercury_cobblestone', - stair: 'ad_astra:mercury_cobblestone_stairs', - slab: 'ad_astra:mercury_cobblestone_slab', - dust: 'tfg:mercury_stone_dust', - loose: 'tfg:loose/mercury_stone', - stonecutting: true - }, - { - raw: 'ad_astra:glacio_cobblestone', - stair: 'ad_astra:glacio_cobblestone_stairs', - slab: 'ad_astra:glacio_cobblestone_slab', - dust: 'tfg:glacio_stone_dust', - loose: 'tfg:loose/glacio_stone', - stonecutting: true - }, - { - raw: 'ad_astra:moon_stone', - stair: 'ad_astra:moon_stone_stairs', - slab: 'ad_astra:moon_stone_slab', - dust: 'tfg:moon_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:mars_stone', - stair: 'ad_astra:mars_stone_stairs', - slab: 'ad_astra:mars_stone_slab', - dust: 'tfg:mars_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:venus_stone', - stair: 'ad_astra:venus_stone_stairs', - slab: 'ad_astra:venus_stone_slab', - dust: 'tfg:venus_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:mercury_stone', - stair: 'ad_astra:mercury_stone_stairs', - slab: 'ad_astra:mercury_stone_slab', - dust: 'tfg:mercury_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:glacio_stone', - stair: 'ad_astra:glacio_stone_stairs', - slab: 'ad_astra:glacio_stone_slab', - dust: 'tfg:glacio_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:venus_sandstone_bricks', - stair: 'ad_astra:venus_sandstone_brick_stairs', - slab: 'ad_astra:venus_sandstone_brick_slab', - dust: '4x gtceu:venus_sand', - stonecutting: true - }, - { - raw: 'ad_astra:moon_stone_bricks', - stair: 'ad_astra:moon_stone_brick_stairs', - slab: 'ad_astra:moon_stone_brick_slab', - wall: 'ad_astra:moon_stone_brick_wall', - dust: 'tfg:moon_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:mars_stone_bricks', - stair: 'ad_astra:mars_stone_brick_stairs', - slab: 'ad_astra:mars_stone_brick_slab', - wall: 'ad_astra:mars_stone_brick_wall', - dust: 'tfg:mars_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:venus_stone_bricks', - stair: 'ad_astra:venus_stone_brick_stairs', - slab: 'ad_astra:venus_stone_brick_slab', - wall: 'ad_astra:venus_stone_brick_wall', - dust: 'tfg:venus_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:mercury_stone_bricks', - stair: 'ad_astra:mercury_stone_brick_stairs', - slab: 'ad_astra:mercury_stone_brick_slab', - wall: 'ad_astra:mercury_stone_brick_wall', - dust: 'tfg:mercury_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:glacio_stone_bricks', - stair: 'ad_astra:glacio_stone_brick_stairs', - slab: 'ad_astra:glacio_stone_brick_slab', - wall: 'ad_astra:glacio_stone_brick_wall', - dust: 'tfg:glacio_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:permafrost_bricks', - stair: 'ad_astra:permafrost_brick_stairs', - slab: 'ad_astra:permafrost_brick_slab', - wall: 'ad_astra:permafrost_brick_wall', - dust: 'gtceu:ice_dust', - stonecutting: true - }, - { - raw: 'ad_astra:chiseled_moon_stone_bricks', - stair: 'ad_astra:chiseled_moon_stone_stairs', - slab: 'ad_astra:chiseled_moon_stone_slab', - dust: 'tfg:moon_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:chiseled_mars_stone_bricks', - stair: 'ad_astra:chiseled_mars_stone_stairs', - slab: 'ad_astra:chiseled_mars_stone_slab', - dust: 'tfg:mars_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:chiseled_venus_stone_bricks', - stair: 'ad_astra:chiseled_venus_stone_stairs', - slab: 'ad_astra:chiseled_venus_stone_slab', - dust: 'tfg:venus_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:chiseled_mercury_stone_bricks', - stair: 'ad_astra:chiseled_mercury_stone_stairs', - slab: 'ad_astra:chiseled_mercury_stone_slab', - dust: 'tfg:mercury_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:chiseled_glacio_stone_bricks', - stair: 'ad_astra:chiseled_glacio_stone_stairs', - slab: 'ad_astra:chiseled_glacio_stone_slab', - dust: 'tfg:glacio_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:chiseled_permafrost_bricks', - stair: 'ad_astra:chiseled_permafrost_brick_stairs', - slab: 'ad_astra:chiseled_permafrost_brick_slab', - dust: 'gtceu:ice_dust', - stonecutting: true - }, - { - raw: 'ad_astra:polished_moon_stone', - stair: 'ad_astra:polished_moon_stone_stairs', - slab: 'ad_astra:polished_moon_stone_slab', - dust: 'tfg:moon_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:polished_mars_stone', - stair: 'ad_astra:polished_mars_stone_stairs', - slab: 'ad_astra:polished_mars_stone_slab', - dust: 'tfg:mars_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:polished_venus_stone', - stair: 'ad_astra:polished_venus_stone_stairs', - slab: 'ad_astra:polished_venus_stone_slab', - dust: 'tfg:venus_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:polished_mercury_stone', - stair: 'ad_astra:polished_mercury_stone_stairs', - slab: 'ad_astra:polished_mercury_stone_slab', - dust: 'tfg:mercury_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:polished_glacio_stone', - stair: 'ad_astra:polished_glacio_stone_stairs', - slab: 'ad_astra:polished_glacio_stone_slab', - dust: 'tfg:glacio_stone_dust', - stonecutting: true - }, - { - raw: 'ad_astra:polished_permafrost', - stair: 'ad_astra:polished_permafrost_stairs', - slab: 'ad_astra:polished_permafrost_slab', - dust: 'gtceu:ice_dust', - stonecutting: true - }, - { - raw: 'ae2:sky_stone_block', - stair: 'ae2:sky_stone_stairs', - slab: 'ae2:sky_stone_slab', - wall: 'ae2:sky_stone_wall', - dust: 'ae2:sky_dust', - stonecutting: true - }, - { - raw: 'ae2:smooth_sky_stone_block', - stair: 'ae2:smooth_sky_stone_stairs', - slab: 'ae2:smooth_sky_stone_slab', - wall: 'ae2:smooth_sky_stone_wall', - dust: 'ae2:sky_dust', - stonecutting: true - }, - { - raw: 'ae2:sky_stone_brick', - stair: 'ae2:sky_stone_brick_stairs', - slab: 'ae2:sky_stone_brick_slab', - wall: 'ae2:sky_stone_brick_wall', - dust: 'ae2:sky_dust', - stonecutting: true - }, - { - raw: 'ae2:sky_stone_small_brick', - stair: 'ae2:sky_stone_small_brick_stairs', - slab: 'ae2:sky_stone_small_brick_slab', - wall: 'ae2:sky_stone_small_brick_wall', - dust: 'ae2:sky_dust', - stonecutting: true - }, - { - raw: 'ae2:fluix_block', - stair: 'ae2:fluix_stairs', - slab: 'ae2:fluix_slab', - wall: 'ae2:fluix_wall', - dust: 'ae2:fluix_dust', - stonecutting: true - }, - { - raw: 'minecraft:purpur_block', - stair: 'minecraft:purpur_stairs', - slab: 'minecraft:purpur_slab', - dust: null, - stonecutting: true - } - // #endregion + // Deepslate + { raw: 'minecraft:deepslate', stair: 'tfg:rock/deepslate_stairs', slab: 'tfg:rock/deepslate_slab', wall: 'tfg:rock/deepslate_wall', + dust: null, loose: null, stonecutting: false }, // Raw + + { raw: 'minecraft:cobbled_deepslate', stair: 'minecraft:cobbled_deepslate_stairs', slab: 'minecraft:cobbled_deepslate_slab', wall: 'minecraft:cobbled_deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: 'tfg:loose/deepslate', stonecutting: false }, // Cobble + + { raw: 'tfg:rock/mossy_cobble_deepslate', stair: 'tfg:rock/mossy_cobble_deepslate_stairs', slab: 'tfg:rock/mossy_cobble_deepslate_slab', wall: 'tfg:rock/mossy_cobble_deepslate_wall', + dust: null, loose: null, stonecutting: true }, // Cobble - Mossy + + { raw: 'minecraft:polished_deepslate', stair: 'minecraft:polished_deepslate_stairs', slab: 'minecraft:polished_deepslate_slab', wall: 'minecraft:polished_deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Smooth + + { raw: 'create:cut_deepslate', stair: 'create:cut_deepslate_stairs', slab: 'create:cut_deepslate_slab', wall: 'create:cut_deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Smooth - Extra + + { raw: 'create:polished_cut_deepslate', stair: 'create:polished_cut_deepslate_stairs', slab: 'create:polished_cut_deepslate_slab', wall: 'create:polished_cut_deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Smooth - Extra + + { raw: 'minecraft:deepslate_bricks', stair: 'minecraft:deepslate_brick_stairs', slab: 'minecraft:deepslate_brick_slab', wall: 'minecraft:deepslate_brick_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Bricks + + { raw: 'minecraft:cracked_deepslate_bricks', stair: 'tfg:rock/cracked_bricks_deepslate_stairs', slab: 'tfg:rock/cracked_bricks_deepslate_slab', wall: 'tfg:rock/cracked_bricks_deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked + + { raw: 'tfg:rock/mossy_bricks_deepslate', stair: 'tfg:rock/mossy_bricks_deepslate_stairs', slab: 'tfg:rock/mossy_bricks_deepslate_slab', wall: 'tfg:rock/mossy_bricks_deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Bricks - Mossy + + { raw: 'minecraft:deepslate_tiles', stair: 'minecraft:deepslate_tile_stairs', slab: 'minecraft:deepslate_tile_slab', wall: 'minecraft:deepslate_tile_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Bricks - Extra + + { raw: 'minecraft:cracked_deepslate_tiles', stair: 'tfg:rock/cracked_tiles_deepslate_stairs', slab: 'tfg:rock/cracked_tiles_deepslate_slab', wall: 'tfg:rock/cracked_tiles_deepslate_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked - Extra + + { raw: 'create:cut_deepslate_bricks', stair: 'create:cut_deepslate_brick_stairs', slab: 'create:cut_deepslate_brick_slab', wall: 'create:cut_deepslate_brick_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Bricks - Extra + + { raw: 'create:small_deepslate_bricks', stair: 'create:small_deepslate_brick_stairs', slab: 'create:small_deepslate_brick_slab', wall: 'create:small_deepslate_brick_wall', + dust: 'gtceu:deepslate_dust', loose: null, stonecutting: false }, // Bricks - Extra + + // Blackstone + { raw: 'minecraft:blackstone', stair: 'minecraft:blackstone_stairs', slab: 'minecraft:blackstone_slab', wall: 'minecraft:blackstone_wall', + dust: 'gtceu:blackstone_dust', loose: null, stonecutting: false }, // Raw + + { raw: 'tfg:rock/cobble_blackstone', stair: 'tfg:rock/cobble_blackstone_stairs', slab: 'tfg:rock/cobble_blackstone_slab', wall: 'tfg:rock/cobble_blackstone_wall', + dust: 'gtceu:blackstone_dust', loose: 'beneath:blackstone_pebble', stonecutting: true }, // Cobble + + { raw: 'tfg:rock/mossy_cobble_blackstone', stair: 'tfg:rock/mossy_cobble_blackstone_stairs', slab: 'tfg:rock/mossy_cobble_blackstone_slab', wall: 'tfg:rock/mossy_cobble_blackstone_wall', + dust: 'gtceu:blackstone_dust', loose: null, stonecutting: true }, // Cobble - Mossy + + { raw: 'minecraft:polished_blackstone', stair: 'minecraft:polished_blackstone_stairs', slab: 'minecraft:polished_blackstone_slab', wall: 'minecraft:polished_blackstone_wall', + dust: 'gtceu:blackstone_dust', loose: null, stonecutting: false }, // Smooth + + { raw: 'minecraft:polished_blackstone_bricks', stair: 'minecraft:polished_blackstone_brick_stairs', slab: 'minecraft:polished_blackstone_brick_slab', wall: 'minecraft:polished_blackstone_brick_wall', + dust: 'gtceu:blackstone_dust', loose: null, stonecutting: false }, // Bricks + + { raw: 'minecraft:cracked_polished_blackstone_bricks', stair: 'tfg:rock/cracked_bricks_blackstone_stairs', slab: 'tfg:rock/cracked_bricks_blackstone_slab', wall: 'tfg:rock/cracked_bricks_blackstone_wall', + dust: 'gtceu:blackstone_dust', loose: null, stonecutting: true }, // Bricks - Cracked + + { raw: 'tfg:rock/mossy_bricks_blackstone', stair: 'tfg:rock/mossy_bricks_blackstone_stairs', slab: 'tfg:rock/mossy_bricks_blackstone_slab', wall: 'tfg:rock/mossy_bricks_blackstone_wall', + dust: 'gtceu:blackstone_dust', loose: null, stonecutting: true }, // Bricks - Mossy + + // Dripstone + { raw: 'minecraft:dripstone_block', stair: 'tfg:rock/dripstone_stairs', slab: 'tfg:rock/dripstone_slab', wall: 'tfg:rock/dripstone_wall', + dust: 'tfg:dripstone_dust', loose: null, stonecutting: true }, // Raw + + { raw: 'tfg:rock/cobble_dripstone', stair: 'tfg:rock/cobble_dripstone_stairs', slab: 'tfg:rock/cobble_dripstone_slab', wall: 'tfg:rock/cobble_dripstone_wall', + dust: 'tfg:dripstone_dust', loose: 'tfg:loose/dripstone', stonecutting: true }, // Cobble + + { raw: 'tfg:rock/mossy_cobble_dripstone', stair: 'tfg:rock/mossy_cobble_dripstone_stairs', slab: 'tfg:rock/mossy_cobble_dripstone_slab', wall: 'tfg:rock/mossy_cobble_dripstone_wall', + dust: 'tfg:dripstone_dust', loose: null, stonecutting: true }, // Cobble - Mossy + + { raw: 'create:polished_cut_dripstone', stair: 'create:polished_cut_dripstone_stairs', slab: 'create:polished_cut_dripstone_slab', wall: 'create:polished_cut_dripstone_wall', + dust: 'tfg:dripstone_dust', loose: null, stonecutting: false }, // Smooth + + { raw: 'create:cut_dripstone', stair: 'create:cut_dripstone_stairs', slab: 'create:cut_dripstone_slab', wall: 'create:cut_dripstone_wall', + dust: 'tfg:dripstone_dust', loose: null, stonecutting: false }, // Smooth + + { raw: 'create:cut_dripstone_bricks', stair: 'create:cut_dripstone_brick_stairs', slab: 'create:cut_dripstone_brick_slab', wall: 'create:cut_dripstone_brick_wall', + dust: 'tfg:dripstone_dust', loose: null, stonecutting: false }, // Bricks + + { raw: 'tfg:rock/cracked_bricks_dripstone', stair: 'tfg:rock/cracked_bricks_dripstone_stairs', slab: 'tfg:rock/cracked_bricks_dripstone_slab', wall: 'tfg:rock/cracked_bricks_dripstone_wall', + dust: 'tfg:dripstone_dust', loose: null, stonecutting: true }, // Bricks - Cracked + + { raw: 'tfg:rock/mossy_bricks_dripstone', stair: 'tfg:rock/mossy_bricks_dripstone_stairs', slab: 'tfg:rock/mossy_bricks_dripstone_slab', wall: 'tfg:rock/mossy_bricks_dripstone_wall', + dust: 'tfg:dripstone_dust', loose: null, stonecutting: true }, // Bricks - Mossy + + { raw: 'create:small_dripstone_bricks', stair: 'create:small_dripstone_brick_stairs', slab: 'create:small_dripstone_brick_slab', wall: 'create:small_dripstone_brick_wall', + dust: 'tfg:dripstone_dust', loose: null, stonecutting: false }, // Bricks - Extra + + // Crackrack / Nether + { raw: 'beneath:crackrack', stair: 'tfg:rock/crackrack_stairs', slab: 'tfg:rock/crackrack_slab', wall: 'tfg:rock/crackrack_wall', + dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Raw + + { raw: 'tfg:rock/cobble_crackrack', stair: 'tfg:rock/cobble_crackrack_stairs', slab: 'tfg:rock/cobble_crackrack_slab', wall: 'tfg:rock/cobble_crackrack_wall', + dust: 'gtceu:netherrack_dust', loose: 'tfg:loose/crackrack', stonecutting: true }, // Cobble + + { raw: 'tfg:rock/mossy_cobble_crackrack', stair: 'tfg:rock/mossy_cobble_crackrack_stairs', slab: 'tfg:rock/mossy_cobble_crackrack_slab', wall: 'tfg:rock/mossy_cobble_crackrack_wall', + dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Cobble - Mossy + + { raw: 'tfg:rock/polished_crackrack', stair: 'tfg:rock/polished_crackrack_stairs', slab: 'tfg:rock/polished_crackrack_slab', wall: 'tfg:rock/polished_crackrack_wall', + dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Smooth + + { raw: 'minecraft:nether_bricks', stair: 'minecraft:nether_brick_stairs', slab: 'minecraft:nether_brick_slab', wall: 'minecraft:nether_brick_wall', + dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Bricks + + { raw: 'minecraft:cracked_nether_bricks', stair: 'tfg:rock/cracked_bricks_nether_stairs', slab: 'tfg:rock/cracked_bricks_nether_slab', wall: 'tfg:rock/cracked_bricks_nether_wall', + dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Bricks - Cracked + + { raw: 'tfg:rock/mossy_bricks_nether', stair: 'tfg:rock/mossy_bricks_nether_stairs', slab: 'tfg:rock/mossy_bricks_nether_slab', wall: 'tfg:rock/mossy_bricks_nether_wall', + dust: 'gtceu:netherrack_dust', loose: null, stonecutting: true }, // Bricks - Mossy + + // #endregion Nether ] - + + // #region Space + const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] + + CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { raw: `ad_astra:${stone}_stone`, stair: `ad_astra:${stone}_stone_stairs`, slab: `ad_astra:${stone}_stone_slab`, wall: `tfg:rock/${stone}_stone_wall`, + dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Raw + )) ) + CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { raw: `ad_astra:${stone}_cobblestone`, stair: `ad_astra:${stone}_cobblestone_stairs`, slab: `ad_astra:${stone}_cobblestone_slab`, wall: `tfg:rock/cobble_${stone}_wall`, + dust: `tfg:${stone}_stone_dust`, loose: `tfg:loose/${stone}_stone`, stonecutting: true } // Cobble + )) ) + CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { raw: `tfg:rock/mossy_cobble_${stone}`, stair: `tfg:rock/mossy_cobble_${stone}_stairs`, slab: `tfg:rock/mossy_cobble_${stone}_slab`, wall: `tfg:rock/mossy_cobble_${stone}_wall`, + dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Cobble - Mossy + )) ) + CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { raw: `ad_astra:polished_${stone}_stone`, stair: `ad_astra:polished_${stone}_stone_stairs`, slab: `ad_astra:polished_${stone}_stone_slab`, wall: `tfg:rock/polished_${stone}_wall`, + dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Smooth + )) ) + CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { raw: `ad_astra:${stone}_stone_bricks`, stair: `ad_astra:${stone}_stone_brick_stairs`, slab: `ad_astra:${stone}_stone_brick_slab`, wall: `ad_astra:${stone}_stone_brick_wall`, + dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks + )) ) + CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { raw: `ad_astra:cracked_${stone}_stone_bricks`, stair: `tfg:rock/cracked_bricks_${stone}_stairs`, slab: `tfg:rock/cracked_bricks_${stone}_slab`, wall: `tfg:rock/cracked_bricks_${stone}_wall`, + dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - Cracked + )) ) + CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { raw: `tfg:rock/mossy_bricks_${stone}`, stair: `tfg:rock/mossy_bricks_${stone}_stairs`, slab: `tfg:rock/mossy_bricks_${stone}_slab`, wall: `tfg:rock/mossy_bricks_${stone}_wall`, + dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - Mossy + )) ) + CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => ( + { raw: `ad_astra:chiseled_${stone}_stone_bricks`, stair: `ad_astra:chiseled_${stone}_stone_stairs`, slab: `ad_astra:chiseled_${stone}_stone_slab`, wall: `tfg:rock/chiseled_bricks_${stone}_wall`, + dust: `tfg:${stone}_stone_dust`, loose: null, stonecutting: true } // Bricks - Extra + )) ) + + CUTTER = CUTTER.concat([ + // Moon Deepstone + { raw: 'ad_astra:moon_deepslate', stair: 'tfg:rock/moon_deepslate_stairs', slab: 'tfg:rock/moon_deepslate_slab', wall: 'tfg:rock/moon_deepslate_wall', + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Raw + + { raw: 'tfg:rock/cobble_moon_deepslate', stair: 'tfg:rock/cobble_moon_deepslate_stairs', slab: 'tfg:rock/cobble_moon_deepslate_slab', wall: 'tfg:rock/cobble_moon_deepslate_wall', + dust: 'tfg:moon_deepslate_dust', loose: 'tfg:loose/moon_deepslate', stonecutting: true }, // Cobble + + { raw: 'tfg:rock/mossy_cobble_moon_deepslate', stair: 'tfg:rock/mossy_cobble_moon_deepslate_stairs', slab: 'tfg:rock/mossy_cobble_moon_deepslate_slab', wall: 'tfg:rock/mossy_cobble_moon_deepslate_wall', + dust: 'tfg:moon_deepslate_dust', loose: null, stonecutting: true }, // Cobble - Mossy + + { raw: 'tfg:rock/polished_moon_deepslate', stair: 'tfg:rock/polished_moon_deepslate_stairs', slab: 'tfg:rock/polished_moon_deepslate_slab', wall: 'tfg:rock/polished_moon_deepslate_wall', + dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Smooth + + { raw: 'tfg:rock/bricks_moon_deepslate', stair: 'tfg:rock/bricks_moon_deepslate_stairs', slab: 'tfg:rock/bricks_moon_deepslate_slab', wall: 'tfg:rock/bricks_moon_deepslate_wall', + dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks + + { raw: 'tfg:rock/cracked_bricks_moon_deepslate', stair: 'tfg:rock/cracked_bricks_moon_deepslate_stairs', slab: 'tfg:rock/cracked_bricks_moon_deepslate_slab', wall: 'tfg:rock/cracked_bricks_moon_deepslate_wall', + dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Cracked + + { raw: 'tfg:rock/mossy_bricks_moon_deepslate', stair: 'tfg:rock/mossy_bricks_moon_deepslate_stairs' , slab: 'tfg:rock/mossy_bricks_moon_deepslate_slab', wall: 'tfg:rock/mossy_bricks_moon_deepslate_wall', + dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Mossy + + { raw: 'tfg:rock/chiseled_bricks_moon_deepslate', stair: 'tfg:rock/chiseled_bricks_moon_deepslate_stairs', slab: 'tfg:rock/chiseled_bricks_moon_deepslate_slab', wall: 'tfg:rock/chiseled_bricks_moon_deepslate_wall', + dust: 'gtceu:moon_deepslate_dust', loose: null, stonecutting: true }, // Bricks - Extra + + // Permafrost + { raw: 'ad_astra:permafrost', stair: 'tfg:rock/permafrost_stairs', slab: 'tfg:rock/permafrost_slab', wall: 'tfg:rock/permafrost_wall', + dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Raw + + { raw: 'tfg:rock/cobble_permafrost', stair: 'tfg:rock/cobble_permafrost_stairs', slab: 'tfg:rock/cobble_permafrost_slab', wall: 'tfg:rock/cobble_permafrost_wall', + dust: 'gtceu:ice_dust', loose: 'tfg:loose/permafrost', stonecutting: true }, // Cobble + + { raw: 'tfg:rock/mossy_cobble_permafrost', stair: 'tfg:rock/mossy_cobble_permafrost_stairs', slab: 'tfg:rock/mossy_cobble_permafrost_slab', wall: 'tfg:rock/mossy_cobble_permafrost_wall', + dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Cobble - Mossy + + { raw: 'ad_astra:polished_permafrost', stair: 'ad_astra:polished_permafrost_stairs', slab: 'ad_astra:polished_permafrost_slab', wall: 'tfg:rock/polished_permafrost_wall', + dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Smooth + + { raw: 'ad_astra:permafrost_bricks', stair: 'ad_astra:permafrost_brick_stairs', slab: 'ad_astra:permafrost_brick_slab', wall: 'ad_astra:permafrost_brick_wall', + dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Bricks + + { raw: 'ad_astra:cracked_permafrost_bricks', stair: 'tfg:rock/cracked_bricks_permafrost_stairs', slab: 'tfg:rock/cracked_bricks_permafrost_slab', wall: 'tfg:rock/cracked_bricks_permafrost_wall', + dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Bricks - Cracked + + { raw: 'tfg:rock/mossy_bricks_permafrost', stair: 'tfg:rock/mossy_bricks_permafrost_stairs', slab: 'tfg:rock/mossy_bricks_permafrost_slab', wall: 'tfg:rock/mossy_bricks_permafrost_wall', + dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Bricks - Mossy + + { raw: 'ad_astra:chiseled_permafrost_bricks', stair: 'ad_astra:chiseled_permafrost_brick_stairs', slab: 'ad_astra:chiseled_permafrost_brick_slab', wall: 'tfg:rock/chiseled_bricks_permafrost_wall', + dust: 'gtceu:ice_dust', loose: null, stonecutting: true }, // Bricks - Extra + + // Red Granite + { raw: 'gtceu:red_granite', stair: 'tfg:rock/red_granite_stairs', slab: 'tfg:rock/red_granite_slab', wall: 'tfg:rock/red_granite_wall', + dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Raw + + { raw: 'gtceu:red_granite_cobblestone', stair: 'tfg:rock/cobble_red_granite_stairs', slab: 'tfg:rock/cobble_red_granite_slab', wall: 'tfg:rock/cobble_red_granite_wall', + dust: 'gtceu:granite_red_dust', loose: 'tfg:loose/red_granite', stonecutting: true }, // Cobble + + { raw: 'gtceu:mossy_red_granite_cobblestone', stair: 'tfg:rock/mossy_cobble_red_granite_stairs', slab: 'tfg:rock/mossy_cobble_red_granite_slab', wall: 'tfg:rock/mossy_cobble_red_granite_wall', + dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Cobble - Mossy + + { raw: 'gtceu:polished_red_granite', stair: 'tfg:rock/polished_red_granite_stairs', slab: 'tfg:rock/polished_red_granite_slab', wall: 'tfg:rock/polished_red_granite_wall', + dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Smooth + + { raw: 'gtceu:red_granite_bricks', stair: 'tfg:rock/bricks_red_granite_stairs', slab: 'tfg:rock/bricks_red_granite_slab', wall: 'tfg:rock/bricks_red_granite_wall', + dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Bricks + + { raw: 'gtceu:cracked_red_granite_bricks', stair: 'tfg:rock/cracked_bricks_red_granite_stairs', slab: 'tfg:rock/cracked_bricks_red_granite_slab', wall: 'tfg:rock/cracked_bricks_red_granite_wall', + dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Bricks - Cracked + + { raw: 'gtceu:mossy_red_granite_bricks', stair: 'tfg:rock/mossy_bricks_red_granite_stairs', slab: 'tfg:rock/mossy_bricks_red_granite_slab', wall: 'tfg:rock/mossy_bricks_red_granite_wall', + dust: 'gtceu:granite_red_dust', loose: null, stonecutting: true }, // Bricks - Mossy + + // Red Sandstone + { raw: 'minecraft:red_sandstone', stair: 'minecraft:red_sandstone_stairs', slab: 'minecraft:red_sandstone_slab', wall: 'minecraft:red_sandstone_wall', + dust: null, loose: null, stonecutting: true }, // Raw + + { raw: 'minecraft:smooth_red_sandstone', stair: 'minecraft:smooth_red_sandstone_stairs', slab: 'minecraft:smooth_red_sandstone_slab', wall: 'tfg:rock/smooth_red_sandstone_wall', + dust: null, loose: null, stonecutting: true }, // Smooth + + { raw: 'minecraft:cut_red_sandstone', stair: 'tfg:rock/cut_red_sandstone_stairs', slab: 'minecraft:smooth_red_sandstone_slab', wall: 'tfg:rock/cut_red_sandstone_wall', + dust: null, loose: null, stonecutting: true }, // Smooth - Extra + + // Venus Sandstone + { raw: 'ad_astra:venus_sandstone_bricks', stair: 'ad_astra:venus_sandstone_brick_stairs', slab: 'ad_astra:venus_sandstone_brick_slab', wall: 'tfg:rock/bricks_venus_sandstone_wall', + dust: null, loose: null, stonecutting: true }, // Bricks + + { raw: 'ad_astra:cracked_venus_sandstone_bricks', stair: 'tfg:rock/cracked_bricks_venus_sandstone_stairs', slab: 'tfg:rock/cracked_bricks_venus_sandstone_slab', wall: 'tfg:rock/cracked_bricks_venus_sandstone_wall', + dust: null, loose: null, stonecutting: true }, // Bricks - Cracked + + // Other Space Blocks + { raw: 'ae2:sky_stone_block', stair: 'ae2:sky_stone_stairs', slab: 'ae2:sky_stone_slab', wall: 'ae2:sky_stone_wall', + dust: 'ae2:sky_dust', loose: null, stonecutting: true }, + + { raw: 'ae2:smooth_sky_stone_block', stair: 'ae2:smooth_sky_stone_stairs', slab: 'ae2:smooth_sky_stone_slab', wall: 'ae2:smooth_sky_stone_wall', + dust: 'ae2:sky_dust', loose: null, stonecutting: true }, + + { raw: 'ae2:sky_stone_brick', stair: 'ae2:sky_stone_brick_stairs', slab: 'ae2:sky_stone_brick_slab', wall: 'ae2:sky_stone_brick_wall', + dust: 'ae2:sky_dust', loose: null, stonecutting: true }, + + { raw: 'ae2:sky_stone_small_brick', stair: 'ae2:sky_stone_small_brick_stairs', slab: 'ae2:sky_stone_small_brick_slab', wall: 'ae2:sky_stone_small_brick_wall', + dust: 'ae2:sky_dust', loose: null, stonecutting: true }, + + { raw: 'ae2:fluix_block', stair: 'ae2:fluix_stairs', slab: 'ae2:fluix_slab', wall: 'ae2:fluix_wall', + dust: 'ae2:fluix_dust', loose: null, stonecutting: true }, + + { raw: 'minecraft:purpur_block', stair: 'minecraft:purpur_stairs', slab: 'minecraft:purpur_slab', wall: null, + dust: null, loose: null, stonecutting: true }, + + // #endregion Space + + // #region Other + { raw: 'minecraft:stone', stair: 'minecraft:stone_stairs', slab: 'minecraft:stone_slab', wall: 'tfg:rock/stone_wall', + dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Raw + + { raw: 'minecraft:cobblestone', stair: 'minecraft:cobblestone_stairs', slab: 'minecraft:cobblestone_slab', wall: 'minecraft:cobblestone_wall', + dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Cobble + + { raw: 'minecraft:mossy_cobblestone', stair: 'minecraft:mossy_cobblestone_stairs', slab: 'minecraft:mossy_cobblestone_slab', wall: 'minecraft:mossy_cobblestone_wall', + dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Cobble - Mossy + + { raw: 'minecraft:smooth_stone', stair: 'tfg:rock/smooth_stone_stairs', slab: 'minecraft:smooth_stone_slab', wall: 'tfg:rock/smooth_stone_wall', + dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Smooth + + { raw: 'minecraft:stone_bricks', stair: 'minecraft:stone_brick_stairs', slab: 'minecraft:stone_brick_slab', wall: 'minecraft:stone_brick_wall', + dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Brick + + { raw: 'minecraft:cracked_stone_bricks', stair: 'tfg:rock/cracked_bricks_stone_stairs', slab: 'tfg:rock/cracked_bricks_stone_slab', wall: 'tfg:rock/cracked_bricks_stone_wall', + dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Brick - Cracked + + { raw: 'minecraft:mossy_stone_bricks', stair: 'minecraft:mossy_stone_brick_stairs', slab: 'minecraft:mossy_stone_brick_slab', wall: 'minecraft:mossy_stone_brick_wall', + dust: 'gtceu:stone_dust', loose: null, stonecutting: true }, // Brick - Mossy + + // #endregion Other + ]) + CUTTER.forEach(x => { - if ("stair" in x) { + console.log(x.raw) + if (x.stair != null) { event.recipes.tfc.chisel(x.stair, x.raw, 'stair') if (x.stonecutting) { event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_')) } - if (x.dust !== null) { + if (x.dust != null) { event.recipes.gtceu.macerator(`macerate_${x.stair}`.replace(/:/g, '_')) .itemInputs(x.stair) .itemOutputs(x.dust) @@ -658,18 +612,18 @@ function registerTFGRockRecipes(event) { .category(GTRecipeCategories.MACERATOR_RECYCLING) } - if ("loose" in x) { + if (x.loose != null) { event.shapeless(`3x ${x.loose}`, [x.stair]) } } - if ("slab" in x) { + if (x.slab != null) { event.recipes.tfc.chisel(x.slab, x.raw, 'slab').extraDrop(x.slab) if (x.stonecutting) { event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_')) } - if (x.dust !== null) { + if (x.dust != null) { event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_')) .itemInputs(`2x ${x.slab}`) .itemOutputs(x.dust) @@ -678,18 +632,18 @@ function registerTFGRockRecipes(event) { .category(GTRecipeCategories.MACERATOR_RECYCLING) } - if ("loose" in x) { + if (x.loose != null) { event.shapeless(`2x ${x.loose}`, [x.slab]) } } - if ("wall" in x) { + if (x.wall != null) { event.recipes.tfc.chisel(x.wall, x.raw, 'smooth') if (x.stonecutting) { event.stonecutting(x.wall, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_')) } - if (x.dust !== null) { + if (x.dust != null) { event.recipes.gtceu.macerator(`macerate_${x.wall}`.replace(/:/g, '_')) .itemInputs(x.wall) .itemOutputs(x.dust) @@ -699,21 +653,46 @@ function registerTFGRockRecipes(event) { } } - if ("loose" in x) { + if (x.loose != null) { event.shapeless(`4x ${x.loose}`, [x.raw]) } }) - // pillars + // Alabaster + event.recipes.gtceu.cutter("tfg:raw_alabaster_to_bricks") + .itemInputs("tfc:alabaster/raw") + .itemOutputs("4x tfc:alabaster_brick") + .duration(40) + .EUt(2) + // #endregion CUTTER + + // 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, "/")}`) + + }) + + // #region PILLARS const PILLARS = [ - { raw: 'ad_astra:moon_stone_bricks', pillar: 'ad_astra:moon_pillar' }, - { raw: 'ad_astra:mars_stone_bricks', pillar: 'ad_astra:mars_pillar' }, - { raw: 'ad_astra:venus_stone_bricks', pillar: 'ad_astra:venus_pillar' }, + { raw: 'ad_astra:moon_stone_bricks', pillar: 'ad_astra:moon_pillar' }, + { raw: 'ad_astra:mars_stone_bricks', pillar: 'ad_astra:mars_pillar' }, + { raw: 'ad_astra:venus_stone_bricks', pillar: 'ad_astra:venus_pillar' }, { raw: 'ad_astra:mercury_stone_bricks', pillar: 'ad_astra:mercury_pillar' }, - { raw: 'ad_astra:glacio_stone_bricks', pillar: 'ad_astra:glacio_pillar' }, - { raw: 'ad_astra:permafrost_bricks', pillar: 'ad_astra:permafrost_pillar' }, - { raw: 'minecraft:purpur_block', pillar: 'minecraft:purpur_pillar' } + { raw: 'ad_astra:glacio_stone_bricks', pillar: 'ad_astra:glacio_pillar' }, + { raw: 'ad_astra:permafrost_bricks', pillar: 'ad_astra:permafrost_pillar' }, + { raw: 'minecraft:purpur_block', pillar: 'minecraft:purpur_pillar' } ] PILLARS.forEach(x => { @@ -727,19 +706,45 @@ function registerTFGRockRecipes(event) { event.stonecutting(x.pillar, x.raw).id(`${x.raw}_to_${x.pillar}`.replace(/:/g, '_')) }) - // macerating + // 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' } + ) + // #endregion PILLARS + + // #region MACERATOR const MACERATOR = [ - { block: 'minecraft:deepslate', dust: 'gtceu:deepslate_dust' }, + { block: 'minecraft:deepslate', dust: 'gtceu:deepslate_dust' }, { block: 'minecraft:dripstone_block', dust: 'tfg:dripstone_dust' }, - { block: 'ad_astra:moon_stone', dust: 'tfg:moon_stone_dust' }, - { block: 'ad_astra:moon_deepslate', dust: 'tfg:moon_deepslate_dust' }, - { block: 'ad_astra:mars_stone', dust: 'tfg:mars_stone_dust' }, - { block: 'ad_astra:venus_stone', dust: 'tfg:venus_stone_dust' }, - { block: 'ad_astra:mercury_stone', dust: 'tfg:mercury_stone_dust' }, - { block: 'ad_astra:glacio_stone', dust: 'tfg:glacio_stone_dust' }, - { block: 'ad_astra:permafrost', dust: 'gtceu:ice_dust' }, - { block: 'ae2:sky_stone', dust: 'ae2:sky_dust' } + { block: 'ad_astra:moon_stone', dust: 'tfg:moon_stone_dust' }, + { block: 'ad_astra:moon_deepslate', dust: 'tfg:moon_deepslate_dust' }, + { block: 'ad_astra:mars_stone', dust: 'tfg:mars_stone_dust' }, + { block: 'ad_astra:venus_stone', dust: 'tfg:venus_stone_dust' }, + { block: 'ad_astra:mercury_stone', dust: 'tfg:mercury_stone_dust' }, + { block: 'ad_astra:glacio_stone', dust: 'tfg:glacio_stone_dust' }, + { block: 'ad_astra:permafrost', dust: 'gtceu:ice_dust' }, + { block: 'ae2:sky_stone', dust: 'ae2:sky_dust' } ] MACERATOR.forEach(x => { @@ -751,144 +756,81 @@ function registerTFGRockRecipes(event) { .category(GTRecipeCategories.MACERATOR_RECYCLING) }) - // rock breaker + //#region Crackrack/netherrack dust compat + event.recipes.gtceu.macerator(`raw_crackrack_to_dust`) + .itemInputs('beneath:crackrack') + .itemOutputs('gtceu:netherrack_dust') + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + event.recipes.gtceu.macerator('crackrack_cobble_to_dust') + .itemInputs('tfg:rock/cobble_crackrack') + .itemOutputs('gtceu:netherrack_dust') + .duration(150) + .EUt(2) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + //#endregion + + // #endregion MACERATOR + + // #region ROCK_DUPING (Breaker) const ROCK_DUPING = [ - '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' + { block: 'minecraft:deepslate', dimension: null }, + { block: 'minecraft:cobbled_deepslate', dimension: null }, + { block: 'minecraft:blackstone', dimension: null }, + { block: 'tfg:rock/cobble_blackstone', dimension: null }, + { block: 'minecraft:dripstone_block', dimension: null }, + { block: 'tfg:rock/cobble_dripstone', dimension: null }, + { block: 'beneath:crackrack', dimension: null }, + { block: 'tfg:rock/cobble_crackrack', dimension: null }, + { block: 'minecraft:basalt', dimension: null }, + { block: 'ad_astra:moon_stone', dimension: 'ad_astra:moon' }, + { block: 'ad_astra:moon_cobblestone', dimension: 'ad_astra:moon' }, + { block: 'ad_astra:moon_deepslate', dimension: 'ad_astra:moon' }, + { block: 'tfg:rock/cobble_moon_deepslate', dimension: 'ad_astra:moon' }, + { block: 'ad_astra:glacio_stone', dimension: 'ad_astra:moon' }, + { block: 'ad_astra:glacio_cobblestone', dimension: 'ad_astra:moon' }, + { block: 'ad_astra:mars_stone', dimension: 'ad_astra:mars' }, + { block: 'ad_astra:mars_cobblestone', dimension: 'ad_astra:mars' }, + { block: 'ad_astra:venus_stone', dimension: 'ad_astra:mars' }, + { block: 'ad_astra:venus_cobblestone', dimension: 'ad_astra:mars' }, + { block: 'gtceu:red_granite', dimension: 'ad_astra:mars' }, + { block: 'gtceu:red_granite_cobblestone', dimension: 'ad_astra:mars' }, + { block: 'ad_astra:mercury_stone', dimension: 'ad_astra:mercury' }, + { block: 'ad_astra:mercury_cobblestone', dimension: 'ad_astra:mercury' }, + { block: 'ad_astra:permafrost', dimension: 'ad_astra:glacio' }, + { block: 'tfg:rock/cobble_permafrost', dimension: 'ad_astra:glacio' }, + { block: 'tfc:alabaster/raw', dimension: null } ] ROCK_DUPING.forEach(x => { - event.recipes.gtceu.rock_breaker(x) - .notConsumable(x) - .itemOutputs(x) - .duration(16) - .EUt(7) + if (x.dimension != null) { + event.recipes.gtceu.rock_breaker(x.block) + .notConsumable(x.block) + .itemOutputs(x.block) + .duration(16) + .EUt(7) + .dimension(x.dimension) + } else { + event.recipes.gtceu.rock_breaker(x.block) + .notConsumable(x.block) + .itemOutputs(x.block) + .duration(16) + .EUt(7) + } }) - event.recipes.gtceu.rock_breaker('tfg:moon_stone') - .notConsumable('ad_astra:moon_stone') - .itemOutputs('ad_astra:moon_stone') - .duration(16) - .EUt(7) - .dimension('ad_astra:moon') - - event.recipes.gtceu.rock_breaker('tfg:moon_cobblestone') - .notConsumable('ad_astra:moon_cobblestone') - .itemOutputs('ad_astra:moon_cobblestone') - .duration(16) - .EUt(7) - .dimension('ad_astra:moon') - - event.recipes.gtceu.rock_breaker('tfg:moon_deepslate') - .notConsumable('ad_astra:moon_deepslate') - .itemOutputs('ad_astra:moon_deepslate') - .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') - .itemOutputs('ad_astra:glacio_stone') - .duration(16) - .EUt(7) - .dimension('ad_astra:moon') - - event.recipes.gtceu.rock_breaker('tfg:glacio_cobblestone') - .notConsumable('ad_astra:glacio_cobblestone') - .itemOutputs('ad_astra:glacio_cobblestone') - .duration(16) - .EUt(7) - .dimension('ad_astra:moon') - - event.recipes.gtceu.rock_breaker('tfg:mars_stone') - .notConsumable('ad_astra:mars_stone') - .itemOutputs('ad_astra:mars_stone') - .duration(16) - .EUt(7) - .dimension('ad_astra:mars') - - event.recipes.gtceu.rock_breaker('tfg:mars_cobblestone') - .notConsumable('ad_astra:mars_cobblestone') - .itemOutputs('ad_astra:mars_cobblestone') - .duration(16) - .EUt(7) - .dimension('ad_astra:mars') - - event.recipes.gtceu.rock_breaker('tfg:venus_stone') - .notConsumable('ad_astra:venus_stone') - .itemOutputs('ad_astra:venus_stone') - .duration(16) - .EUt(7) - .dimension('ad_astra:mars') - - event.recipes.gtceu.rock_breaker('tfg:venus_cobblestone') - .notConsumable('ad_astra:venus_cobblestone') - .itemOutputs('ad_astra:venus_cobblestone') - .duration(16) - .EUt(7) - .dimension('ad_astra:mars') - - event.recipes.gtceu.rock_breaker('tfg:red_granite') - .notConsumable('gtceu:red_granite') - .itemOutputs('gtceu:red_granite') - .duration(16) - .EUt(7) - .dimension('ad_astra:mars') - - event.recipes.gtceu.rock_breaker('tfg:red_granite_cobblestone') - .notConsumable('gtceu:red_granite_cobblestone') - .itemOutputs('gtceu:red_granite_cobblestone') - .duration(16) - .EUt(7) - .dimension('ad_astra:mars') - - event.recipes.gtceu.rock_breaker('tfg:mercury_stone') - .notConsumable('ad_astra:mercury_stone') - .itemOutputs('ad_astra:mercury_stone') - .duration(16) - .EUt(7) - .dimension('ad_astra:mercury') - - event.recipes.gtceu.rock_breaker('tfg:mercury_cobblestone') - .notConsumable('ad_astra:mercury_cobblestone') - .itemOutputs('ad_astra:mercury_cobblestone') - .duration(16) - .EUt(7) - .dimension('ad_astra:mercury') + // #endregion ROCK_DUPING (Breaker) + // #region COMPRESSOR 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 - + event.recipes.gtceu.compressor('tfg:venus_sandstone') .itemInputs('4x ad_astra:venus_sand') .itemOutputs('ad_astra:venus_sandstone') @@ -896,7 +838,7 @@ function registerTFGRockRecipes(event) { .EUt(2) .dimension('ad_astra:mars') - // #endregion + // #endregion COMPRESSOR //#region Magma Blocks event.remove({id: 'gtceu:compressor/magma_block'}) @@ -904,14 +846,14 @@ function registerTFGRockRecipes(event) { //magma block + stone group const MAGMA_BLOCKS = [ - { magma: 'minecraft:magma_block', rock: 'minecraft:blackstone' }, - { magma: 'tfc:rock/magma/granite', rock: 'tfc:rock/raw/granite' }, - { magma: 'tfc:rock/magma/diorite', rock: 'tfc:rock/raw/diorite' }, - { magma: 'tfc:rock/magma/gabbro', rock: 'tfc:rock/raw/gabbro' }, + { magma: 'minecraft:magma_block', rock: 'minecraft:blackstone' }, + { magma: 'tfc:rock/magma/granite', rock: 'tfc:rock/raw/granite' }, + { magma: 'tfc:rock/magma/diorite', rock: 'tfc:rock/raw/diorite' }, + { magma: 'tfc:rock/magma/gabbro', rock: 'tfc:rock/raw/gabbro' }, { magma: 'tfc:rock/magma/rhyolite', rock: 'tfc:rock/raw/rhyolite' }, - { magma: 'tfc:rock/magma/basalt', rock: 'tfc:rock/raw/basalt' }, + { magma: 'tfc:rock/magma/basalt', rock: 'tfc:rock/raw/basalt' }, { magma: 'tfc:rock/magma/andesite', rock: 'tfc:rock/raw/andesite' }, - { magma: 'tfc:rock/magma/dacite', rock: 'tfc:rock/raw/dacite' } + { magma: 'tfc:rock/magma/dacite', rock: 'tfc:rock/raw/dacite' } ]; MAGMA_BLOCKS.forEach(block => { @@ -930,37 +872,6 @@ function registerTFGRockRecipes(event) { .duration(100) .EUt(GTValues.VA[GTValues.LV]) }) - //#endregion - //#region Alabaster - - event.recipes.gtceu.rock_breaker("tfg:alabaster") - .notConsumable("tfc:alabaster/raw") - .itemOutputs("tfc:alabaster/raw") - .duration(16) - .EUt(7) - - event.recipes.gtceu.cutter("tfg:raw_alabaster_to_bricks") - .itemInputs("tfc:alabaster/raw") - .itemOutputs("4x tfc:alabaster_brick") - .duration(40) - .EUt(2) - - //#endregion - - //#region Crackrack/netherrack dust compat - event.recipes.gtceu.macerator(`raw_crackrack_to_dust`) - .itemInputs('beneath:crackrack') - .itemOutputs('gtceu:netherrack_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - - event.recipes.gtceu.macerator('crackrack_cobble_to_dust') - .itemInputs('tfg:rock/cobble_crackrack') - .itemOutputs('gtceu:netherrack_dust') - .duration(150) - .EUt(2) - .category(GTRecipeCategories.MACERATOR_RECYCLING) - //#endregion + //#endregion Magma Blocks } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 0656fc05a..1e9c70e36 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -328,368 +328,362 @@ const registerTFGItemTags = (event) => { event.add('tfg:cannot_launch_in_railgun', 'create_factory_logistics:copper_jar_package_8x8') //#endregion + const SHAPES = ['stairs', 'slab', 'wall'] + const SHAPES_AA = ['stairs', 'slab'] + + const STONE_TYPES = { + deepslate: "metamorphic", + blackstone: "igneous_intrusive", + dripstone: "sedimentary", + crackrack: "igneous_intrusive", + basalt: "igneous_extrusive", + moon: "igneous_intrusive", + moon_deepslate: "igneous_intrusive", + mars: "sedimentary", + venus: "igneous_extrusive", + mercury: "igneous_intrusive", + glacio: "igneous_extrusive", + red_granite: "igneous_intrusive" + } + + function getStoneType(stone) { + const stoneType = STONE_TYPES[stone.toLowerCase()]; + return stoneType ? stoneType : `Stone "${stone}" not found`; + } + + const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] + // #region Nether blocks - // Deepslate (Migmatite) + // Deepslate (Migmatite) [Metamorphic] 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:${STONE_TYPES.deepslate}_items`, block) }) - event.add('tfc:metamorphic_items', 'minecraft:deepslate') + event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:deepslate') - event.add('tfc:metamorphic_items', 'minecraft:cobbled_deepslate') + event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:cobbled_deepslate') + + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.deepslate}_items`, `minecraft:cobbled_deepslate_${shape}`) + event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `minecraft:cobbled_deepslate_${shape}`) + }) event.add('forge:smooth_stone', 'minecraft:polished_deepslate') - event.add('tfc:metamorphic_items', 'minecraft:polished_deepslate') + event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:polished_deepslate') event.add('tfc:rock/smooth', 'minecraft:polished_deepslate') event.add('create:stone_types/deepslate', 'minecraft:polished_deepslate') + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.deepslate}_items`, `minecraft:polished_deepslate_${shape}`) + event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `minecraft:polished_deepslate_${shape}`) + }) + event.add('forge:stone_bricks', 'minecraft:deepslate_bricks') - event.add('tfc:metamorphic_items', 'minecraft:deepslate_bricks') + event.add(`tfc:${STONE_TYPES.deepslate}_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:${STONE_TYPES.deepslate}_items`, 'minecraft:deepslate_tiles') event.add('tfc:rock/bricks', 'minecraft:deepslate_tiles') event.add('tfc:rock/chiseled_bricks', 'minecraft:deepslate_tiles') + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.deepslate}_items`, `minecraft:deepslate_tile_${shape}`) + event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `minecraft:deepslate_tile_${shape}`) + }) + + event.add('forge:stone_bricks', 'minecraft:cracked_deepslate_tiles') + event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:cracked_deepslate_tiles') + event.add('tfc:rock/bricks', 'minecraft:cracked_deepslate_tiles') + event.add('tfc:rock/chiseled_bricks', 'minecraft:cracked_deepslate_tiles') + event.add('forge:stone_bricks', 'minecraft:chiseled_deepslate') - event.add('tfc:metamorphic_items', 'minecraft:chiseled_deepslate') + event.add(`tfc:${STONE_TYPES.deepslate}_items`, 'minecraft:chiseled_deepslate') event.add('tfc:rock/bricks', 'minecraft:chiseled_deepslate') event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_deepslate') - // Blackstone (Pyroxenite) + // Blackstone (Pyroxenite) [Igneous Intrusive] event.remove('tfc:metamorphic_rock', 'beneath:blackstone_pebble') - event.add('tfc:igneous_intrusive_rock', 'beneath:blackstone_pebble') + event.add(`tfc:${STONE_TYPES.blackstone}_rock`, 'beneath:blackstone_pebble') + event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'beneath:blackstone_pebble') event.add('rnr:loose_rock_items', 'beneath:blackstone_pebble') - event.add('tfc:igneous_intrusive_items', 'beneath:blackstone_brick') + event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'beneath:blackstone_brick') event.add('forge:stone', 'minecraft:blackstone') - event.add('tfc:igneous_intrusive_items', 'minecraft:blackstone') + event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:blackstone') - event.add('tfc:igneous_intrusive_items', 'minecraft:gilded_blackstone') + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.blackstone}_items`, `minecraft:blackstone_${shape}`) + event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `minecraft:blackstone_${shape}`) + }) + + event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:gilded_blackstone') event.add('forge:smooth_stone', 'minecraft:polished_blackstone') - event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone') + event.add(`tfc:${STONE_TYPES.blackstone}_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:${STONE_TYPES.blackstone}_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') + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.blackstone}_items`, `minecraft:polished_blackstone_${shape}`) + event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `minecraft:polished_blackstone_${shape}`) + }) + + event.add('forge:stone_bricks', 'minecraft:cracked_polished_blackstone_bricks') + event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:cracked_polished_blackstone_bricks') + event.add('tfc:rock/bricks', 'minecraft:cracked_polished_blackstone_bricks') + event.add('tfc:rock/cracked_bricks', 'minecraft:cracked_polished_blackstone_bricks') + + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.blackstone}_items`, `minecraft:polished_blackstone_brick_${shape}`) + event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `minecraft:polished_blackstone_brick_${shape}`) + }) event.add('forge:stone_bricks', 'minecraft:polished_blackstone_bricks') - event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_bricks') + event.add(`tfc:${STONE_TYPES.blackstone}_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('forge:stone_bricks', 'minecraft:chiseled_polished_blackstone') + event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'minecraft:chiseled_polished_blackstone') + event.add('tfc:rock/bricks', 'minecraft:chiseled_polished_blackstone') + event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_polished_blackstone') - event.add('tfc:igneous_intrusive_items', 'minecraft:polished_blackstone_stairs') - event.add('tfg:rock_stairs', 'minecraft:polished_blackstone_stairs') + event.add(`tfc:${STONE_TYPES.blackstone}_items`, 'beneath:blackstone_aqueduct') - 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) + // Dripstone (Travertine) [Sedimentary] 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(`tfc:${STONE_TYPES.dripstone}_items`, block) }) event.add('forge:stone', 'minecraft:dripstone_block') - event.add('tfc:sedimentary_items', 'minecraft:dripstone_block') + event.add(`tfc:${STONE_TYPES.dripstone}_items`, 'minecraft:dripstone_block') event.add('forge:smooth_stone', 'create:cut_dripstone') - event.add('tfc:sedimentary_items', 'create:cut_dripstone') + event.add(`tfc:${STONE_TYPES.dripstone}_items`, 'create:cut_dripstone') event.add('tfc:rock/smooth', 'create:cut_dripstone') + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.dripstone}_items`, `create:cut_dripstone_${shape}`) + event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `create:cut_dripstone_${shape}`) + }) + + event.add('forge:smooth_stone', 'ad_astra:polished_cut_dripstone') + event.add('tfc:rock/smooth', 'create:polished_cut_dripstone') + + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.dripstone}_items`, `create:polished_cut_dripstone_${shape}`) + event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `create:polished_cut_dripstone_${shape}`) + }) + event.add('forge:stone_bricks', 'create:cut_dripstone_bricks') - event.add('tfc:igneous_intrusive_items', 'create:cut_dripstone_bricks') + event.add(`tfc:${STONE_TYPES.dripstone}_items`, 'create:cut_dripstone_bricks') event.add('tfc:rock/bricks', 'create:cut_dripstone_bricks') + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.dripstone}_items`, `create:cut_dripstone_brick_${shape}`) + event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `create:cut_dripstone_brick_${shape}`) + }) + event.add('forge:stone_bricks', 'create:small_dripstone_bricks') - event.add('tfc:igneous_intrusive_items', 'create:small_dripstone_bricks') + event.add(`tfc:${STONE_TYPES.dripstone}_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') + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.dripstone}_items`, `create:small_dripstone_brick_${shape}`) + event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `create:small_dripstone_brick_${shape}`) + }) - // Crackrack (Keratophyre) + // Crackrack / "Nether" (Keratophyre) [Igneous Intrusive] 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(`tfc:${STONE_TYPES.crackrack}_items`, 'beneath:crackrack') event.add('forge:stone_bricks', 'minecraft:nether_bricks') - event.add('tfc:igneous_intrusive_items', 'minecraft:nether_bricks') + event.add(`tfc:${STONE_TYPES.crackrack}_items`, 'minecraft:nether_bricks') event.add('tfc:rock/bricks', 'minecraft:nether_bricks') + SHAPES.forEach(shape => { + event.add(`tfc:${STONE_TYPES.crackrack}_items`, `minecraft:nether_brick_${shape}`) + event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `minecraft:nether_brick_${shape}`) + }) + + event.add('forge:stone_bricks', 'minecraft:cracked_nether_bricks') + event.add(`tfc:${STONE_TYPES.crackrack}_items`, 'minecraft:cracked_nether_bricks') + event.add('tfc:rock/bricks', 'minecraft:cracked_nether_bricks') + event.add('tfc:rock/cracked_bricks', 'minecraft:cracked_nether_bricks') + + event.add('forge:stone_bricks', 'minecraft:chiseled_nether_bricks') + event.add(`tfc:${STONE_TYPES.crackrack}_items`, 'minecraft:chiseled_nether_bricks') + event.add('tfc:rock/bricks', 'minecraft:chiseled_nether_bricks') + event.add('tfc:rock/chiseled_bricks', 'minecraft:chiseled_nether_bricks') + // Basalt event.add('forge:stone', 'minecraft:basalt') - event.add('tfc:igneous_extrusive_items', 'minecraft:basalt') + event.add(`tfc:${STONE_TYPES.basalt}_items`, 'minecraft:basalt') event.add('forge:smooth_stone', 'minecraft:smooth_basalt') - event.add('tfc:igneous_extrusive_items', 'minecraft:smooth_basalt') + event.add(`tfc:${STONE_TYPES.basalt}_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:${STONE_TYPES.basalt}_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') + AA_REGULAR_STONES.forEach(stone => { + event.add('forge:stone', `ad_astra:${stone}_stone`) + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_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') + SHAPES_AA.forEach(shape => { + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_stone_${shape}`) + event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `ad_astra:${stone}_stone_${shape}`) + }) - 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:cobblestone', `ad_astra:${stone}_cobblestone`) + event.add('forge:cobblestone/normal', `ad_astra:${stone}_cobblestone`) + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_cobblestone`) - 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') + SHAPES_AA.forEach(shape => { + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_cobblestone_${shape}`) + event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `ad_astra:${stone}_cobblestone_${shape}`) + }) - 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:smooth_stone', `ad_astra:polished_:${stone}_stone`) + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:polished_${stone}_stone`) + event.add('tfc:rock/smooth', `ad_astra:polished_:${stone}_stone`) - 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') + SHAPES_AA.forEach(shape => { + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:polished_${stone}_stone_${shape}`) + event.add(`tfg:rock_${shape}`.replace(/ss/g, 's'), `ad_astra:polished_${stone}_stone_${shape}`) + }) - 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') + event.add('forge:stone_bricks', `ad_astra:${stone}_stone_bricks`) + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_stone_bricks`) + event.add('tfc:rock/bricks', `ad_astra:${stone}_stone_bricks`) - // Mars Stone (Argillite) - event.add('forge:stone', 'ad_astra:mars_stone') - event.add('tfc:sedimentary_items', 'ad_astra:mars_stone') + SHAPES.forEach(shape => { + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_stone_brick_${shape}`) + event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `ad_astra:${stone}_stone_brick_${shape}`) + }) + + event.add('forge:stone_bricks', `ad_astra:cracked_${stone}_stone_bricks`) + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:cracked_${stone}_stone_bricks`) + event.add('tfc:rock/bricks', `ad_astra:cracked_${stone}_stone_bricks`) + event.add('tfc:rock/cracked_bricks', `ad_astra:cracked_${stone}_stone_bricks`) + + event.add('forge:stone_bricks', `ad_astra:chiseled_${stone}_stone_bricks`) + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:chiseled_${stone}_stone_bricks`) + event.add('tfc:rock/bricks', `ad_astra:chiseled_${stone}_stone_bricks`) + event.add('tfc:rock/chiseled_bricks', `ad_astra:chiseled_${stone}_stone_bricks`) + + SHAPES_AA.forEach(shape => { + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:chiseled_${stone}_stone_brick_${shape}`) + event.add(`tfg:brick_${shape}`.replace(/ss/g, 's'), `ad_astra:chiseled_${stone}_stone_brick_${shape}`) + }) + + event.add(`tfc:${getStoneType(stone)}_items`, `ad_astra:${stone}_pillar`) + }) + + // Moon Deepslate (Norite) [Igneous Intrusive] + event.add('forge:stone', 'ad_astra:moon_deepslate') + event.add(`tfc:${STONE_TYPES.moon_deepslate}_items`, 'ad_astra:moon_deepslate') - 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 + // Red Granite [Igneous Intrusive] event.add('forge:stone', 'gtceu:red_granite') - event.add('tfc:igneous_intrusive_items', 'gtceu:red_granite') + event.add(`tfc:${STONE_TYPES.red_granite}_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(`tfc:${STONE_TYPES.red_granite}_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(`tfc:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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:${STONE_TYPES.red_granite}_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 (???) + // Permafrost (???) [NA] + event.remove('tfc:metamorphic_rock', 'tfg:loose/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') @@ -734,7 +728,7 @@ const registerTFGItemTags = (event) => { event.add('tfg:mineral_rich_wool', 'tfg:sniffer_wool') //#endregion - //#region Пыли стоунтайпов в один тэг + //#region Stone Dusts Tag event.add('tfg:stone_dusts', 'tfg:gabbro_dust') event.add('tfg:stone_dusts', 'tfg:shale_dust') event.add('tfg:stone_dusts', 'tfg:claystone_dust') diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 2c092c312..788eff86d 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -16,31 +16,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:infested_chiseled_stone_bricks', 'minecraft:infested_deepslate', - // Каменные блоки - 'minecraft:stone_stairs', - 'minecraft:stone_slab', - 'minecraft:stone_pressure_plate', - 'minecraft:stone_button', - 'minecraft:smooth_stone', - 'minecraft:smooth_stone_slab', - 'minecraft:cobblestone', - 'minecraft:cobblestone_stairs', - 'minecraft:cobblestone_slab', - 'minecraft:cobblestone_wall', - 'minecraft:stone_bricks', - 'minecraft:stone_brick_stairs', - 'minecraft:stone_brick_slab', - 'minecraft:stone_brick_wall', - 'minecraft:cracked_stone_bricks', - 'minecraft:chiseled_stone_bricks', - 'minecraft:mossy_stone_bricks', - 'minecraft:mossy_stone_brick_stairs', - 'minecraft:mossy_stone_brick_slab', - 'minecraft:mossy_stone_brick_wall', - 'minecraft:mossy_cobblestone', - 'minecraft:mossy_cobblestone_stairs', - 'minecraft:mossy_cobblestone_slab', - 'minecraft:mossy_cobblestone_wall', + // Stone + 'minecraft:stone_pressure_plate', + 'minecraft:stone_button', // Гранитовые блоки 'minecraft:granite', diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js index 3b0cb3d21..278e1f022 100644 --- a/kubejs/startup_scripts/tfg/blocks.js +++ b/kubejs/startup_scripts/tfg/blocks.js @@ -244,4 +244,40 @@ const registerTFGBlocks = (event) => { .textureAll('tfg:item/deprecated') // #endregion + + // #region Reconstructed Stone + event.create(`tfg:rock/stone_wall`, 'wall') + .soundType('stone') + .textureAll('minecraft:block/stone') + .tagBoth('tfg:rock_wall') + .mapColor('stone') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + let SHAPES = ['stairs', 'wall'] + SHAPES.forEach(shape => { + event.create(`tfg:rock/smooth_stone_${shape}`, shape) + .soundType('stone') + .textureAll('minecraft:block/smooth_stone') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .mapColor('stone') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES = ['stairs', 'slab', 'wall'] + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_stone_${shape}`, shape) + .soundType('stone') + .textureAll('minecraft:block/smooth_stone') + .tagBoth(`tfg:brick_${shape}s`.replace(/ss/g, 's')) + .mapColor('stone') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #endregion Reconstructed Stone } diff --git a/kubejs/startup_scripts/tfg/blocks.nether.js b/kubejs/startup_scripts/tfg/blocks.nether.js index 7e2026d03..27258c178 100644 --- a/kubejs/startup_scripts/tfg/blocks.nether.js +++ b/kubejs/startup_scripts/tfg/blocks.nether.js @@ -1,10 +1,58 @@ "use strict"; function registerTFGNetherBlocks(event) { + const SHAPES = ['stairs', 'slab', 'wall'] - // Hardened stones + const STONE_CHARACS = { + deepslate: { sound: 'deepslate', type: "metamorphic", mapColor: 'terracotta_grey' }, + blackstone: { sound: 'deepslate', type: "igneous_intrusive", mapColor: 'color_black' }, + dripstone: { sound: 'dripstone_block', type: "sedimentary", mapColor: 'terracotta' }, + crackrack: { sound: 'netherrack', type: "igneous_intrusive", mapColor: 'crimson_stem' }, + nether: { sound: 'nether_bricks', type: "igneous_intrusive", mapColor: 'nether' } + } + + // #region Raw Stones + SHAPES.forEach(shape => { + event.create(`tfg:rock/deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.deepslate.sound) + .textureAll('minecraft:block/deepslate') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/dripstone_${shape}`, shape) + .soundType(STONE_CHARACS.dripstone.sound) + .textureAll('minecraft:block/dripstone_block') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/crackrack_${shape}`, shape) + .soundType(STONE_CHARACS.crackrack.sound) + .textureAll('beneath:block/crackrack') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) + .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #endregion Raw Stones + + // #region Hardened Stones event.create('tfg:rock/hardened_deepslate') - .soundType('deepslate') + .soundType(STONE_CHARACS.deepslate.sound) .property(BlockProperties.AXIS) .requiresTool(true) .item(item => { @@ -13,14 +61,14 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth('tfc:metamorphic_items') + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .mapColor(STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') - .mapColor('terracotta_grey') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_blackstone') - .stoneSoundType() + .soundType(STONE_CHARACS.blackstone.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'minecraft:item/blackstone' }) @@ -28,14 +76,14 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth('tfc:igneous_intrusive_items') - .mapColor('color_black') + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .mapColor(STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_dripstone') - .soundType('dripstone_block') + .soundType(STONE_CHARACS.dripstone.sound) .stoneSoundType() .requiresTool(true) .item(item => { @@ -44,116 +92,248 @@ function registerTFGNetherBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth('tfc:sedimentary_items') + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) .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) - .tagBlock('minecraft:mineable/pickaxe') - + // #endregion Hardened stones + + // #region Spikes event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike') .textureAll('minecraft:block/deepslate') - .soundType('deepslate') - .tagBoth('tfc:metamorphic_items') + .soundType(STONE_CHARACS.deepslate.sound) + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:spike/blackstone_spike', 'tfc:rock_spike') .textureAll('minecraft:block/blackstone') - .stoneSoundType() - .tagBoth('tfc:igneous_intrusive_items') + .soundType(STONE_CHARACS.blackstone.sound) + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .tagBlock('minecraft:mineable/pickaxe') + .hardness(0.8) + .resistance(0.8) + .requiresTool(true) + + event.create('tfg:spike/dripstone_spike', 'tfc:rock_spike') + .textureAll('minecraft:block/dripstone_block') + .soundType(STONE_CHARACS.dripstone.sound) + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') - // Loose rocks + // #endregion Spikes + + // #region Loose Stones event.create('tfg:loose/deepslate', 'tfc:loose_rock') + .soundType(STONE_CHARACS.deepslate.sound) .itemTexture('tfg:item/loose/deepslate') - .rockTypeModel('metamorphic') - .soundType('deepslate') + .rockTypeModel(STONE_CHARACS.deepslate.type) .translationKey("block.tfg.loose.deepslate") .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:metamorphic_rock') + .tagItem(`tfc:${STONE_CHARACS.deepslate.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/dripstone', 'tfc:loose_rock') + .soundType(STONE_CHARACS.dripstone.sound) .itemTexture('tfg:item/loose/dripstone') - .rockTypeModel('sedimentary') - .soundType('dripstone_block') + .rockTypeModel(STONE_CHARACS.dripstone.type) .translationKey("block.tfg.loose.dripstone") .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:sedimentary_rock') + .tagItem(`tfc:${STONE_CHARACS.dripstone.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/crackrack', 'tfc:loose_rock') + .soundType(STONE_CHARACS.crackrack.sound) .itemTexture('tfg:item/loose/crackrack') - .rockTypeModel('igneous_intrusive') - .soundType('basalt') + .rockTypeModel(STONE_CHARACS.crackrack.type) .translationKey("block.tfg.loose.crackrack") .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:igneous_intrusive_rock') + .tagItem(`tfc:${STONE_CHARACS.crackrack.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) .tagItem("rnr:loose_rock_items") - // Cobblestones + // #endregion Loose rocks + + // #region Cobblestones + + // Deepslate + event.create('tfg:rock/mossy_cobble_deepslate') + .soundType(STONE_CHARACS.deepslate.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.deepslate.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Blackstone event.create('tfg:rock/cobble_blackstone') - .soundType('stone') - .model('tfg:block/rock/cobble_blackstone') + .soundType(STONE_CHARACS.blackstone.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth('tfc:igneous_intrusive_items') - .mapColor('color_black') + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .mapColor(STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) + SHAPES.forEach(shape => { + event.create(`tfg:rock/cobble_blackstone_${shape}`, shape) + .soundType(STONE_CHARACS.blackstone.sound) + .textureAll('minecraft:block/blackstone_top') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_cobble_blackstone') + .soundType(STONE_CHARACS.blackstone.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_blackstone_${shape}`, shape) + .soundType(STONE_CHARACS.blackstone.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Dripstone event.create('tfg:rock/cobble_dripstone') - .soundType('dripstone_block') - .model('tfg:block/rock/cobble_dripstone') + .soundType(STONE_CHARACS.dripstone.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth('tfc:sedimentary_items') - .mapColor('terracotta') + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) + SHAPES.forEach(shape => { + event.create(`tfg:rock/cobble_dripstone_${shape}`, shape) + .soundType(STONE_CHARACS.dripstone.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_cobble_dripstone') + .soundType(STONE_CHARACS.dripstone.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_dripstone_${shape}`, shape) + .soundType(STONE_CHARACS.dripstone.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Crackrack event.create('tfg:rock/cobble_crackrack') - .soundType('netherrack') - .model('tfg:block/rock/cobble_crackrack') + .soundType(STONE_CHARACS.crackrack.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth('tfc:igneous_intrusive_items') - .mapColor('crimson_stem') + .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) + .mapColor(STONE_CHARACS.crackrack.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - // Smooth Stones + SHAPES.forEach(shape => { + event.create(`tfg:rock/cobble_crackrack_${shape}`, shape) + .soundType(STONE_CHARACS.crackrack.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) + .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_cobble_crackrack') + .soundType(STONE_CHARACS.crackrack.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) + .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_crackrack_${shape}`, shape) + .soundType(STONE_CHARACS.crackrack.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) + .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #region Smooth (Polished/Cut) Stones event.create('tfg:rock/polished_crackrack') - .soundType('basalt') - .model('tfg:block/rock/polished_crackrack') + .soundType(STONE_CHARACS.crackrack.sound) .tagBoth('forge:smooth_stone') .tagBoth('tfc:igneous_intrusive_items') .tagBoth('tfc:rock/smooth') @@ -162,14 +342,26 @@ function registerTFGNetherBlocks(event) { .fullBlock(true) .opaque(true) - // Gravels + SHAPES.forEach(shape => { + event.create(`tfg:rock/polished_crackrack_${shape}`, shape) + .soundType(STONE_CHARACS.crackrack.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) + .mapColor(STONE_CHARACS.crackrack.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #endregion Smooth (Polished/Cut) Stones + + // #region 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') + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .mapColor(STONE_CHARACS.deepslate.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -177,11 +369,10 @@ function registerTFGNetherBlocks(event) { 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') + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .mapColor(STONE_CHARACS.blackstone.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -189,11 +380,10 @@ function registerTFGNetherBlocks(event) { 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') + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -201,17 +391,189 @@ function registerTFGNetherBlocks(event) { 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') + .tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`) + .mapColor(STONE_CHARACS.crackrack.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - // Plants + // #endregion Gravels + + // #region Bricks / Decorative + + // Deepslate + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.deepslate.sound) + .textureAll('minecraft:block/cracked_deepslate_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_tiles_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.deepslate.sound) + .textureAll('minecraft:block/cracked_deepslate_tiles') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_deepslate') + .soundType(STONE_CHARACS.deepslate.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.deepslate.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`) + .mapColor(STONE_CHARACS.deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Blackstone + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_blackstone_${shape}`, shape) + .soundType(STONE_CHARACS.blackstone.sound) + .textureAll('minecraft:block/cracked_polished_blackstone_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_blackstone') + .soundType(STONE_CHARACS.blackstone.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_blackstone_${shape}`, shape) + .soundType(STONE_CHARACS.blackstone.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`) + .mapColor(STONE_CHARACS.blackstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Dripstone + event.create('tfg:rock/cracked_bricks_dripstone') + .soundType(STONE_CHARACS.dripstone.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_dripstone_${shape}`, shape) + .soundType(STONE_CHARACS.dripstone.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_dripstone') + .soundType(STONE_CHARACS.dripstone.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_dripstone_${shape}`, shape) + .soundType(STONE_CHARACS.dripstone.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`) + .mapColor(STONE_CHARACS.dripstone.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Crackrack + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_nether_${shape}`, shape) + .soundType(STONE_CHARACS.nether.sound) + .textureAll('minecraft:block/cracked_nether_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.nether.type}_items`) + .mapColor(STONE_CHARACS.nether.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_nether') + .soundType(STONE_CHARACS.nether.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.nether.type}_items`) + .mapColor(STONE_CHARACS.nether.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_nether_${shape}`, shape) + .soundType(STONE_CHARACS.nether.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.nether.type}_items`) + .mapColor(STONE_CHARACS.nether.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #endregion Bricks / Decorative + + // #region 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 efc0014d9..1fd535691 100644 --- a/kubejs/startup_scripts/tfg/blocks.space.js +++ b/kubejs/startup_scripts/tfg/blocks.space.js @@ -1,9 +1,8 @@ "use strict"; function registerTFGSpaceBlocks(event) { - - // Dimension markers - + + // #region Dimension markers event.create('tfg:marker/moon') .stoneSoundType() .item(item => { @@ -40,10 +39,114 @@ function registerTFGSpaceBlocks(event) { .fullBlock(true) .opaque(true) - // Hardened stones + // #endregion Dimension markers + const SHAPES = ['stairs', 'slab', 'wall'] + + const STONE_CHARACS = { + moon: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_cyan' }, + moon_deepslate: { sound: 'deepslate', type: "igneous_intrusive", mapColor: 'terracotta_blue' }, + mars: { sound: 'stone', type: "sedimentary", mapColor: 'terracotta_orange' }, + venus: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_yellow' }, + mercury: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_purple' }, + glacio: { sound: 'stone', type: "igneous_extrusive", mapColor: 'terracotta_light_blue' }, + permafrost: { sound: 'stone', type: null, mapColor: 'snow' }, + red_granite: { sound: 'stone', type: "igneous_intrusive", mapColor: 'terracotta_red' } + } + + const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] + + // #region Raw Stones + event.create('tfg:rock/moon_stone_wall', 'wall') + .soundType(STONE_CHARACS.moon.sound) + .textureAll('ad_astra:block/moon_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/moon_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.moon_deepslate.sound) + .textureAll('ad_astra:block/moon_deepslate') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mars_stone_wall', 'wall') + .soundType(STONE_CHARACS.mars.sound) + .textureAll('ad_astra:block/mars_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/venus_stone_wall', 'wall') + .soundType(STONE_CHARACS.venus.sound) + .textureAll('ad_astra:block/venus_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/mercury_stone_wall', 'wall') + .soundType(STONE_CHARACS.mercury.sound) + .textureAll('ad_astra:block/mercury_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/glacio_stone_wall', 'wall') + .soundType(STONE_CHARACS.glacio.sound) + .textureAll('ad_astra:block/glacio_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/permafrost_${shape}`, shape) + .soundType(STONE_CHARACS.permafrost.sound) + .textureAll('ad_astra:block/permafrost') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/red_granite_${shape}`, shape) + .soundType(STONE_CHARACS.red_granite.sound) + .textureAll('gtceu:block/stones/red_granite/stone') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #endregion Raw Stones + + // #region Hardened Stones event.create('tfg:rock/hardened_moon_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.moon.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/moon_stone' }) @@ -51,14 +154,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth('tfc:igneous_intrusive_items') + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') - .mapColor('terracotta_cyan') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_moon_deepslate') - .soundType('deepslate') + .soundType(STONE_CHARACS.moon_deepslate.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/moon_deepslate' }) @@ -66,14 +169,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') - .tagBoth('tfc:igneous_intrusive_items') + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') - .mapColor('terracotta_blue') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_mars_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.mars.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/mars_stone' }) @@ -81,13 +184,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') - .mapColor('terracotta_orange') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_venus_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.venus.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/venus_stone' }) @@ -95,13 +199,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') - .mapColor('terracotta_yellow') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_mercury_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.mercury.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/mercury_stone' }) @@ -109,13 +214,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') - .mapColor('terracotta_purple') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_glacio_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.glacio.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/glacio_stone' }) @@ -123,13 +229,14 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') - .mapColor('terracotta_light_blue') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_red_granite') - .stoneSoundType() + .soundType(STONE_CHARACS.red_granite.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'gtceu:item/red_granite' }) @@ -137,186 +244,455 @@ function registerTFGSpaceBlocks(event) { .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .mapColor(STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') - .mapColor('terracotta_red') .fullBlock(true) .opaque(true) - // Loose stones - + // #endregion Hardened Stones + + // #region Loose Stones event.create('tfg:loose/moon_stone', 'tfc:loose_rock') - .stoneSoundType() + .soundType(STONE_CHARACS.moon.sound) .itemTexture('tfg:item/loose/moon_stone') + .rockTypeModel(STONE_CHARACS.moon.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:igneous_intrusive_rock') + .tagItem(`tfc:${STONE_CHARACS.moon.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/moon_deepslate', 'tfc:loose_rock') - .soundType('deepslate') + .soundType(STONE_CHARACS.moon_deepslate.sound) .itemTexture('tfg:item/loose/moon_deepslate') + .rockTypeModel(STONE_CHARACS.moon_deepslate.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:igneous_intrusive_rock') + .tagItem(`tfc:${STONE_CHARACS.moon_deepslate.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/mars_stone', 'tfc:loose_rock') - .stoneSoundType() + .soundType(STONE_CHARACS.mars.sound) .itemTexture('tfg:item/loose/mars_stone') + .rockTypeModel(STONE_CHARACS.mars.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:sedimentary_rock') + .tagItem(`tfc:${STONE_CHARACS.mars.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/venus_stone', 'tfc:loose_rock') - .stoneSoundType() + .soundType(STONE_CHARACS.venus.sound) .itemTexture('tfg:item/loose/venus_stone') + .rockTypeModel(STONE_CHARACS.venus.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:igneous_extrusive_rock') + .tagItem(`tfc:${STONE_CHARACS.venus.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/mercury_stone', 'tfc:loose_rock') - .stoneSoundType() + .soundType(STONE_CHARACS.mercury.sound) .itemTexture('tfg:item/loose/mercury_stone') + .rockTypeModel(STONE_CHARACS.mercury.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:igneous_intrusive_rock') + .tagItem(`tfc:${STONE_CHARACS.mercury.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/glacio_stone', 'tfc:loose_rock') - .stoneSoundType() + .soundType(STONE_CHARACS.glacio.sound) .itemTexture('tfg:item/loose/glacio_stone') + .rockTypeModel(STONE_CHARACS.glacio.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:igneous_extrusive_rock') + .tagItem(`tfc:${STONE_CHARACS.glacio.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/permafrost', 'tfc:loose_rock') - .stoneSoundType() + .soundType(STONE_CHARACS.permafrost.sound) .itemTexture('tfg:item/loose/permafrost') + .rockTypeModel(STONE_CHARACS.permafrost.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:metamorphic_rock') .tagItem("rnr:loose_rock_items") event.create('tfg:loose/red_granite', 'tfc:loose_rock') - .stoneSoundType() + .soundType(STONE_CHARACS.red_granite.sound) .itemTexture('tfg:item/loose/red_granite') + .rockTypeModel(STONE_CHARACS.red_granite.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') - .tagItem('tfc:igneous_intrusive_rock') + .tagItem(`tfc:${STONE_CHARACS.red_granite.type}_rock`) + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) .tagItem("rnr:loose_rock_items") - // Spikes - + // #endregion Loose stones + + // #region Spikes event.create('tfg:spike/moon_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/moon_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.moon.sound) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:spike/moon_deepslate_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/moon_deepslate') - .soundType('deepslate') + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:spike/mars_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/mars_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.mars.sound) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:spike/venus_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/venus_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.venus.sound) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:spike/mercury_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/mercury_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.mercury.sound) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:spike/glacio_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/glacio_stone') - .stoneSoundType() + .soundType(STONE_CHARACS.glacio.sound) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:spike/permafrost_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/permafrost') - .stoneSoundType() + .soundType(STONE_CHARACS.permafrost.sound) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:spike/red_granite_spike', 'tfc:rock_spike') .textureAll('gtceu:block/stones/red_granite/stone') - .stoneSoundType() + .soundType(STONE_CHARACS.red_granite.sound) + .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) - .tagBlock('minecraft:mineable/pickaxe') - // Cobblestones + // #endregion Spikes + // #region Cobblestones + // Moon + event.create('tfg:rock/cobble_moon_wall', 'wall') + .soundType(STONE_CHARACS.moon.sound) + .textureAll('ad_astra:block/moon_cobblestone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/mossy_cobble_moon') + .soundType(STONE_CHARACS.moon.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_moon_${shape}`, shape) + .soundType(STONE_CHARACS.moon.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Moon Deepslate event.create('tfg:rock/cobble_moon_deepslate') - .soundType('deepslate') - .model('tfg:block/rock/cobble_moon_deepslate') + .soundType(STONE_CHARACS.moon_deepslate.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth('tfc:igneous_intrusive_items') - .mapColor('terracotta_blue') + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) .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') + SHAPES.forEach(shape => { + event.create(`tfg:rock/cobble_moon_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_cobble_moon_deepslate') + .soundType(STONE_CHARACS.moon_deepslate.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') - .tagBoth('tfc:igneous_intrusive_items') - .mapColor('snow') + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) - // Gravels + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_moon_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Mars + event.create('tfg:rock/cobble_mars_wall', 'wall') + .soundType(STONE_CHARACS.mars.sound) + .textureAll('ad_astra:block/mars_cobblestone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/mossy_cobble_mars') + .soundType(STONE_CHARACS.mars.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_mars_${shape}`, shape) + .soundType(STONE_CHARACS.mars.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + // Venus + event.create('tfg:rock/cobble_venus_wall', 'wall') + .soundType(STONE_CHARACS.venus.sound) + .textureAll('ad_astra:block/venus_cobblestone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/mossy_cobble_venus') + .soundType(STONE_CHARACS.venus.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_venus_${shape}`, shape) + .soundType(STONE_CHARACS.venus.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Mercury + event.create('tfg:rock/cobble_mercury_wall', 'wall') + .soundType(STONE_CHARACS.mercury.sound) + .textureAll('ad_astra:block/mercury_cobblestone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/mossy_cobble_mercury') + .soundType(STONE_CHARACS.mercury.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_mercury_${shape}`, shape) + .soundType(STONE_CHARACS.mercury.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Glacio + event.create('tfg:rock/cobble_glacio_wall', 'wall') + .soundType(STONE_CHARACS.glacio.sound) + .textureAll('ad_astra:block/glacio_cobblestone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/mossy_cobble_glacio') + .soundType(STONE_CHARACS.glacio.sound) + .tagBoth('forge:cobblestone') + .tagBoth('forge:cobblestone/normal') + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_glacio_${shape}`, shape) + .soundType(STONE_CHARACS.glacio.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Permafrost + event.create('tfg:rock/cobble_permafrost') + .soundType(STONE_CHARACS.permafrost.sound) + .tagBoth('forge:cobblestone') + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cobble_permafrost_${shape}`, shape) + .textureAll('ad_astra:block/permafrost_top') + .soundType(STONE_CHARACS.permafrost.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_cobble_permafrost') + .soundType(STONE_CHARACS.permafrost.sound) + .tagBoth('forge:cobblestone') + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_permafrost_${shape}`, shape) + .soundType(STONE_CHARACS.permafrost.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // Red Granite + SHAPES.forEach(shape => { + event.create(`tfg:rock/cobble_red_granite_${shape}`, shape) + .soundType(STONE_CHARACS.red_granite.sound) + .textureAll('gtceu:block/stones/red_granite/cobble') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_cobble_red_granite_${shape}`, shape) + .soundType(STONE_CHARACS.red_granite.sound) + .textureAll('gtceu:block/stones/red_granite/cobble_mossy') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #endregion Cobblestones + + // #region 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') + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -324,23 +700,10 @@ function registerTFGSpaceBlocks(event) { 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') + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -348,11 +711,10 @@ function registerTFGSpaceBlocks(event) { 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') + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -360,11 +722,10 @@ function registerTFGSpaceBlocks(event) { 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') + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -372,11 +733,21 @@ function registerTFGSpaceBlocks(event) { 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') + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/shovel') + .tagBlock('tfc:can_landslide') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/gravel_glacio') + .soundType('gravel') + .tagBoth('forge:gravel') + .tagBoth('tfc:rock/gravel') + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -384,11 +755,9 @@ function registerTFGSpaceBlocks(event) { 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') + .mapColor(STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) @@ -396,87 +765,579 @@ function registerTFGSpaceBlocks(event) { 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') + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .mapColor(STONE_CHARACS.red_granite.mapColor) .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') + // #endregion Gravels + + // #region Smooth (Polished/Cut) Stones + event.create('tfg:rock/polished_moon_wall', 'wall') + .soundType(STONE_CHARACS.moon.sound) + .textureAll('ad_astra:block/polished_moon_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) - // Decorative + event.create('tfg:rock/polished_moon_deepslate') + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth('forge:smooth_stone') + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .tagBoth('tfc:rock/smooth') + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/polished_moon_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) - event.create('tfg:rock/bricks_moon_deepslate') - .soundType('deepslate') - .model('tfg:block/rock/bricks_moon_deepslate') + event.create('tfg:rock/polished_mars_wall', 'wall') + .soundType(STONE_CHARACS.mars.sound) + .textureAll('ad_astra:block/polished_mars_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/polished_venus_wall', 'wall') + .soundType(STONE_CHARACS.venus.sound) + .textureAll('ad_astra:block/polished_venus_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/polished_mercury_wall', 'wall') + .soundType(STONE_CHARACS.mercury.sound) + .textureAll('ad_astra:block/polished_mercury_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/polished_glacio_wall', 'wall') + .soundType(STONE_CHARACS.glacio.sound) + .textureAll('ad_astra:block/polished_glacio_stone') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/polished_permafrost_wall', 'wall') + .soundType(STONE_CHARACS.permafrost.sound) + .textureAll('ad_astra:block/polished_permafrost') + .tagBoth('tfg:rock_walls') + .tagBoth(`tfc:${STONE_CHARACS.permafrost.type}_items`) + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/polished_red_granite_${shape}`, shape) + .soundType(STONE_CHARACS.red_granite.sound) + .textureAll('gtceu:block/stones/red_granite/polished') + .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #endregion Smooth (Polished/Cut) Stones + + // #region Bricks / Decorative + // Moon Stone + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_moon_${shape}`, shape) + .soundType(STONE_CHARACS.moon.sound) + .textureAll('ad_astra:block/cracked_moon_stone_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_moon') + .soundType(STONE_CHARACS.moon.sound) .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') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) - + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_moon_${shape}`, shape) + .soundType(STONE_CHARACS.moon.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/chiseled_bricks_moon_wall', 'wall') + .soundType(STONE_CHARACS.moon.sound) + .textureAll('ad_astra:block/chiseled_moon_stone_bricks') + .tagBoth('tfg:brick_walls') + .tagBoth(`tfc:${STONE_CHARACS.moon.type}_items`) + .mapColor(STONE_CHARACS.moon.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Moon Deepslate + event.create('tfg:rock/bricks_moon_deepslate') + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth('tfg:moon_deepslate_cutter_set') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/bricks_moon_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .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') + .soundType(STONE_CHARACS.moon_deepslate.sound) .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(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) .tagBoth('tfg:moon_deepslate_cutter_set') - .mapColor('terracotta_blue') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_moon_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_moon_deepslate') + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth('tfg:moon_deepslate_cutter_set') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_moon_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .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') + .soundType(STONE_CHARACS.moon_deepslate.sound) .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(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBoth('tfg:moon_deepslate_cutter_set') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/chiseled_bricks_moon_deepslate_${shape}`, shape) + .soundType(STONE_CHARACS.moon_deepslate.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/pillar_moon_deepslate') + .soundType(STONE_CHARACS.moon_deepslate.sound) + .property(BlockProperties.AXIS) + .placementState(event => event.set(BlockProperties.AXIS, event.clickedFace.axis)) + .tagBoth(`tfc:${STONE_CHARACS.moon_deepslate.type}_items`) + .mapColor(STONE_CHARACS.moon_deepslate.mapColor) .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') + // Mars Stone + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_mars_${shape}`, shape) + .soundType(STONE_CHARACS.mars.sound) + .textureAll('ad_astra:block/cracked_mars_stone_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_mars') + .soundType(STONE_CHARACS.mars.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_mars_${shape}`, shape) + .soundType(STONE_CHARACS.mars.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/chiseled_bricks_mars_wall', 'wall') + .soundType(STONE_CHARACS.mars.sound) + .textureAll('ad_astra:block/chiseled_mars_stone_bricks') + .tagBoth('tfg:brick_walls') + .tagBoth(`tfc:${STONE_CHARACS.mars.type}_items`) + .mapColor(STONE_CHARACS.mars.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Venus Stone + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_venus_${shape}`, shape) + .soundType(STONE_CHARACS.venus.sound) + .textureAll('ad_astra:block/cracked_venus_stone_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_venus') + .soundType(STONE_CHARACS.venus.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_venus_${shape}`, shape) + .soundType(STONE_CHARACS.venus.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/chiseled_bricks_venus_wall', 'wall') + .soundType(STONE_CHARACS.venus.sound) + .textureAll('ad_astra:block/chiseled_venus_stone_bricks') + .tagBoth('tfg:brick_walls') + .tagBoth(`tfc:${STONE_CHARACS.venus.type}_items`) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Mercury Stone + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_mercury_${shape}`, shape) + .soundType(STONE_CHARACS.mercury.sound) + .textureAll('ad_astra:block/cracked_mercury_stone_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_mercury') + .soundType(STONE_CHARACS.mercury.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_mercury_${shape}`, shape) + .soundType(STONE_CHARACS.mercury.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/chiseled_bricks_mercury_wall', 'wall') + .soundType(STONE_CHARACS.mercury.sound) + .textureAll('ad_astra:block/chiseled_mercury_stone_bricks') + .tagBoth('tfg:brick_walls') + .tagBoth(`tfc:${STONE_CHARACS.mercury.type}_items`) + .mapColor(STONE_CHARACS.mercury.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Glacio Stone + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_glacio_${shape}`, shape) + .soundType(STONE_CHARACS.glacio.sound) + .textureAll('ad_astra:block/cracked_glacio_stone_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_glacio') + .soundType(STONE_CHARACS.glacio.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_glacio_${shape}`, shape) + .soundType(STONE_CHARACS.glacio.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/chiseled_bricks_glacio_wall', 'wall') + .soundType(STONE_CHARACS.glacio.sound) + .textureAll('ad_astra:block/chiseled_glacio_stone_bricks') + .tagBoth('tfg:brick_walls') + .tagBoth(`tfc:${STONE_CHARACS.glacio.type}_items`) + .mapColor(STONE_CHARACS.glacio.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Permafrost + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_permafrost_${shape}`, shape) + .soundType(STONE_CHARACS.permafrost.sound) + .textureAll('ad_astra:block/cracked_permafrost_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.permafrost.type}_items`) + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/mossy_bricks_permafrost') + .soundType(STONE_CHARACS.permafrost.sound) + .tagBoth('minecraft:stone_bricks') + .tagBoth('forge:stone_bricks') + .tagBoth('tfc:rock/bricks') + .tagBoth('tfc:rock/mossy_bricks') + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_permafrost_${shape}`, shape) + .soundType(STONE_CHARACS.permafrost.sound) + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + event.create('tfg:rock/chiseled_bricks_permafrost_wall', 'wall') + .soundType(STONE_CHARACS.permafrost.sound) + .textureAll('ad_astra:block/chiseled_permafrost_bricks') + .tagBoth('tfg:brick_walls') + .mapColor(STONE_CHARACS.permafrost.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + // Red Granite + + SHAPES.forEach(shape => { + event.create(`tfg:rock/bricks_red_granite_${shape}`, shape) + .soundType(STONE_CHARACS.red_granite.sound) + .textureAll('gtceu:block/stones/red_granite/bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_red_granite_${shape}`, shape) + .soundType(STONE_CHARACS.red_granite.sound) + .textureAll('gtceu:block/stones/red_granite/bricks_cracked') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/mossy_bricks_red_granite_${shape}`, shape) + .soundType(STONE_CHARACS.red_granite.sound) + .textureAll('gtceu:block/stones/red_granite/bricks_mossy') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .tagBoth(`tfc:${STONE_CHARACS.red_granite.type}_items`) + .mapColor(STONE_CHARACS.red_granite.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #endregion Bricks / Decorative + + // #region Sandstone + event.create('tfg:rock/smooth_red_sandstone_wall', 'wall') + .soundType('stone') + .textureAll('minecraft:block/smooth_red_sandstone') + .mapColor('teracotta_red') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/cut_red_sandstone_stairs', 'stairs') + .soundType('stone') + .textureAll('minecraft:block/cut_red_sandstone') + .mapColor('teracotta_red') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) + event.create('tfg:rock/cut_red_sandstone_wall', 'wall') + .soundType('stone') + .textureAll('minecraft:block/cut_red_sandstone') + .mapColor('teracotta_red') + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + event.create('tfg:rock/bricks_venus_sandstone_wall', 'wall') + .soundType('stone') + .textureAll('ad_astra:block/venus_sandstone_bricks') + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + + SHAPES.forEach(shape => { + event.create(`tfg:rock/cracked_bricks_venus_sandstone_${shape}`, shape) + .soundType(STONE_CHARACS.venus.sound) + .textureAll('ad_astra:block/cracked_venus_sandstone_bricks') + .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) + .mapColor(STONE_CHARACS.venus.mapColor) + .tagBlock('minecraft:mineable/pickaxe') + .fullBlock(true) + .opaque(true) + }) + + // #endregion Sandstone // #region Plants diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index 0d6e6ac77..84bda4e36 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -170,78 +170,91 @@ global.FOOD_FRUIT = [ /** @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: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/mossy_cobble_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: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/mossy_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: '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/mossy_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: '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/mossy_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 }, + { 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_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/mossy_cobble_moon', 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: 'tfg:rock/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:moon_deepslate', hammered: 'tfg:rock/cobble_moon_deepslate', duration: 10, eu: 16 }, + { raw: 'tfg:rock/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/mossy_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 }, + { 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/mossy_cobble_glacio', 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: '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/mossy_cobble_mars', 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: '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 }, + { 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: 'gtceu:mossy_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_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_venus', duration: 10, eu: 16 }, + { raw: 'tfg:rock/mossy_cobble_venus', hammered: 'tfg:rock/gravel_venus', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_venus', hammered: 'ad_astra:venus_sand', duration: 70, eu: 2 }, - { raw: 'ad_astra:venus_sandstone', hammered: '4x 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 }, + { 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_mercury', duration: 10, eu: 16 }, + { raw: 'tfg:rock/mossy_cobble_mercury', hammered: 'tfg:rock/gravel_mercury', duration: 10, eu: 16 }, + { raw: 'tfg:rock/gravel_mercury', 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 }, + { 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/mossy_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 } + { raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate', duration: 10, eu: 16 }, + { raw: 'minecraft:stone', hammered: 'minecraft:cobblestone', duration: 10, eu: 16 } ] global.COOLING_FOODS = [ diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index 729dbfeca..b46650010 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -73,23 +73,44 @@ const registerTFGItems = (event) => { // #region Stone bricks and dusts event.create('tfg:brick/deepslate') + .tag(`tfc:metamorphic_items`) .translationKey('item.tfg.brick.deepslate') + + event.create('tfg:brick/dripstone') + .tag(`tfc:sedimentary_items`) + .translationKey('item.tfg.brick.dripstone') + event.create('tfg:brick/moon_stone') + .tag(`tfc:igneous_intrusive_items`) .translationKey('item.tfg.brick.moon_stone') + + event.create('tfg:brick/moon_deepslate') + .tag(`tfc:igneous_intrusive_items`) + .translationKey('item.tfg.moon_deepslate') + event.create('tfg:brick/mars_stone') + .tag(`tfc:sedimentary_items`) .translationKey('item.tfg.brick.mars_stone') + event.create('tfg:brick/venus_stone') + .tag(`tfc:igneous_extrusive_items`) .translationKey('item.tfg.brick.venus_stone') + event.create('tfg:brick/mercury_stone') + .tag(`tfc:igneous_intrusive_items`) .translationKey('item.tfg.brick.mercury_stone') + event.create('tfg:brick/glacio_stone') + .tag(`tfc:igneous_extrusive_items`) .translationKey('item.tfg.brick.glacio_stone') + event.create('tfg:brick/permafrost') .translationKey('item.tfg.brick.permafrost') + event.create('tfg:brick/red_granite') + .tag(`tfc:igneous_intrusive_items`) .translationKey('item.tfg.red_granite') - event.create('tfg:brick/moon_deepslate') - .translationKey('item.tfg.moon_deepslate') + // #endregion // #region Primitive rubber gloves