[Molden] Stone TFGfication p3 - Aqueducts, Supports + Cutting and Grinding fixes (#1919)

* Aqueducts + move stone characs to constants

* Supports

Supports for all stones
Remapped to the original textures rather than copies (all removed)

* Support tooltips

+ recipe rocks regions added

* Macerator Recipes

- Add Macerator missing grinding recipes
- Change the TFC stone Macerator recipes to the same ratios

* aqueduct recipes + stonecutting fixes

* Remove redundant tags

---------

Signed-off-by: Adrien Vidal <vidal.adrien2@gmail.com>
This commit is contained in:
Adrien Vidal 2025-09-28 19:10:33 +02:00 committed by GitHub
parent 1a8172e27a
commit c856ec9398
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
42 changed files with 1366 additions and 975 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 611 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 629 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 958 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 607 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 620 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 B

View file

@ -81,7 +81,7 @@ const registerTooltips = (event) => {
event.addAdvanced(['tfg:reinforced_light_concrete_support', 'tfg:reinforced_dark_concrete_support', 'tfg:steel_support'], (item, advanced, text) => {
text.add(1, Text.translate('tfg.tooltip.support.tier3'))
})
const other_stone = ['pyroxenite', 'migmatite', 'travertine']
const other_stone = ['migmatite', 'pyroxenite', 'travertine', 'keratophyre', 'anorthosite', 'norite', 'argillite', 'trachyte', 'komatiite', 'phonolite', 'permafrost', 'red_granite', 'stone']
const stone_types = global.TFC_STONE_TYPES.concat(other_stone)
stone_types.forEach(stone => {

View file

@ -14,26 +14,6 @@ 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
@ -2080,7 +2060,7 @@ function removeMinecraftRecipes(event) {
event.remove({ id: 'minecraft:raw_gold_block' })
event.remove({ id: 'minecraft:raw_gold' })
//#endregion
//#endregionw
//#region Исправление дерьма с железом (Однажды разраб GTCEu вспомнит, лучше бы забыл)
@ -2101,4 +2081,6 @@ function removeMinecraftRecipes(event) {
event.remove({ id: 'minecraft:flower_banner_pattern' })
event.remove({ id: 'gtceu:assembler/lodestone' })
//#endregion
}

View file

@ -7,25 +7,24 @@ function registerTFCStoneRecipes(event) {
let stoneMaterial = TFGHelpers.getMaterial(stone);
let stoneDust = ChemicalHelper.get(TagPrefix.dust, stoneMaterial, 1)
let smallStoneDust = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1)
// Кирпич (предмет)
// Brick (item)
event.recipes.gtceu.cutter(`tfg:tfc/${stone}_loose_to_brick`)
.itemInputs(`tfc:rock/loose/${stone}`)
.itemOutputs(`tfc:brick/${stone}`)
.duration(10)
.EUt(2)
//#region Сырой камень
//#region Raw Stone
// Сырой камень -> Сырой камень
// Breaker Duping
event.recipes.gtceu.rock_breaker(`${stone}_raw`)
.notConsumable(`tfc:rock/raw/${stone}`)
.itemOutputs(`tfc:rock/raw/${stone}`)
.duration(16)
.EUt(7)
// Сырой камень -> Булыжник
// Hammering
event.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`)
.itemInputs(`tfc:rock/raw/${stone}`)
.itemOutputs(`tfc:rock/cobble/${stone}`)
@ -36,7 +35,7 @@ function registerTFCStoneRecipes(event) {
.recipeTier(1)
.id(`greate:pressing/${stone}_raw_to_cobble`)
// ? -> Сырая нажимная пластина
// Raw Pressure Plate
event.shaped(`tfc:rock/pressure_plate/${stone}`, [
' B ',
'CDC',
@ -55,7 +54,7 @@ function registerTFCStoneRecipes(event) {
.duration(50)
.EUt(2)
// ? -> Сырая кнопка
// Raw Button
event.remove({ id: `tfc:crafting/rock/${stone}_button` })
generateCutterRecipe(event, `tfc:rock/pressure_plate/${stone}`, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`)
@ -92,87 +91,77 @@ function registerTFCStoneRecipes(event) {
// #region Stonecutting
// Сырой камень -> Ступени
// Raw
event.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` })
// Сырой камень -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` })
// Сырой камень -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_raw_wall` })
// Булыжник -> Ступени
// Cobble
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` })
// Булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` })
// Булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` })
// Булыжник -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` })
// Булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` })
// Булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` })
// Блок кирпичей -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` })
// Блок кирпичей -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` })
// Блок кирпичей -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` })
// Потрескавшийся кирпич -> Ступени
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` })
// Потрескавшийся кирпич -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` })
// Потрескавшийся кирпич -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` })
// Замшелый булыжник -> Ступени
// Mossy Cobble
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` })
//Замшелый булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` })
// Замшелый булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` })
// Замшелый булыжник -> Ступени
// Smooth
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` })
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` })
event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` })
// Bricks
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` })
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` })
event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` })
// Cracked Bricks
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` })
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` })
event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` })
// Mossy Bricks
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` })
//Замшелый булыжник -> Плиты
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` })
// Замшелый булыжник -> Стена
event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` })
// Укрепленный сырой камень -> Гладкий
//walls
event.remove({ id: `tfc:stonecutting/rock/${stone}_raw_wall` })
event.remove({ id: `tfc:stonecutting/rock/${stone}_cobble_wall` })
event.remove({ id: `tfc:stonecutting/rock/${stone}_mossy_cobble_wall` })
event.remove({ id: `tfc:stonecutting/rock/${stone}_smooth_wall` })
event.remove({ id: `tfc:stonecutting/rock/${stone}_bricks_wall` })
event.remove({ id: `tfc:stonecutting/rock/${stone}_cracked_bricks_wall` })
event.remove({ id: `tfc:stonecutting/rock/${stone}_mossy_bricks_wall` })
// Hardened -> Smooth
event.stonecutting(`tfc:rock/smooth/${stone}`, `tfc:rock/hardened/${stone}`).id(`hardened_${stone}_to_smooth`)
// Блок кирпичей -> Резной кирпич
// Chiseled Brick -> Brick
event.stonecutting(`tfc:rock/chiseled/${stone}`, `tfc:rock/bricks/${stone}`).id(`chiseled_${stone}`)
//Walls
event.stonecutting(`2x tfc:rock/raw/${stone}_wall`, `tfc:rock/raw/${stone}`).id(`raw_to_${stone}_raw_wall`)
event.stonecutting(`2x tfc:rock/cobble/${stone}_wall`, `tfc:rock/cobble/${stone}`).id(`cobble_to_${stone}_cobble_wall`)
event.stonecutting(`2x tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}`).id(`mossy_cobble_to_${stone}_mossy_cobble_wall`)
event.stonecutting(`2x tfc:rock/smooth/${stone}_wall`, `tfc:rock/smooth/${stone}`).id(`smooth_to_${stone}_smooth_wall`)
event.stonecutting(`2x tfc:rock/bricks/${stone}_wall`, `tfc:rock/bricks/${stone}`).id(`bricks_to_${stone}_bricks_wall`)
event.stonecutting(`2x tfc:rock/cracked_bricks/${stone}_wall`, `tfc:rock/cracked_bricks/${stone}`).id(`cracked_bricks_to_${stone}_cracked_bricks_wall`)
event.stonecutting(`2x tfc:rock/mossy_bricks/${stone}_wall`, `tfc:rock/mossy_bricks/${stone}`).id(`mossy_bricks_to_${stone}_mossy_bricks_wall`)
// #endregion
//#region Булыжник
//#region Cobblestone
// Булыжник -> Булыжник
// Breaker Dupe
event.recipes.gtceu.rock_breaker(`${stone}_cobble`)
.notConsumable(`tfc:rock/cobble/${stone}`)
.itemOutputs(`tfc:rock/cobble/${stone}`)
.duration(16)
.EUt(7)
// Булыжник -> Гравий
// Hammering Cobble -> Gravel
event.recipes.gtceu.forge_hammer(`${stone}_cobble_to_gravel`)
.itemInputs(`tfc:rock/cobble/${stone}`)
.itemOutputs(`tfc:rock/gravel/${stone}`)
@ -183,7 +172,7 @@ function registerTFCStoneRecipes(event) {
.recipeTier(1)
.id(`greate:pressing/${stone}_cobble_to_gravel`)
// Камни -> Булыжник
// Glueing Losse to Cobble
event.shaped(`tfc:rock/cobble/${stone}`, [
'ABA',
'BAB',
@ -204,7 +193,7 @@ function registerTFCStoneRecipes(event) {
// #endregion
//#region Кирпич -> Блок кирпичей
//#region Bricks Glueing
event.recipes.gtceu.assembler(`bricks_${stone}`)
.itemInputs(`5x tfc:brick/${stone}`)
@ -216,7 +205,7 @@ function registerTFCStoneRecipes(event) {
//#endregion
//#region Кирпич -> Потрескавшийся кирпич
//#region Cracking Bricks
event.recipes.gtceu.forge_hammer(`cracked_bricks_${stone}`)
.itemInputs(`tfc:rock/bricks/${stone}`)
@ -230,9 +219,9 @@ function registerTFCStoneRecipes(event) {
//#endregion
//#region Замшелый булыжник
//#region Mossy Cobble
// Булыжник -> Замшелый булыжник
// Cobble -> Mossy Cobble
event.shaped(`tfc:rock/mossy_cobble/${stone}`, [
'ABA',
'BAB',
@ -260,7 +249,7 @@ function registerTFCStoneRecipes(event) {
//#endregion
//#region Блок кирпичей -> Замшелый кирпич
//#region Bricks -> Mossy Bricks
event.recipes.gtceu.assembler(`mossy_bricks_${stone}`)
.itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low')
@ -272,7 +261,7 @@ function registerTFCStoneRecipes(event) {
//#endregion
//#region Укрепленный камень
//#region Hardened
event.recipes.gtceu.assembler(`hardened_${stone}`)
.itemInputs(`5x tfc:rock/raw/${stone}`)
@ -284,7 +273,7 @@ function registerTFCStoneRecipes(event) {
//#endregion
//#region Укрепленный камень
//#region Smooth
event.recipes.gtceu.assembler(`smooth_${stone}`)
.itemInputs(`8x tfc:rock/raw/${stone}`)
@ -296,7 +285,7 @@ function registerTFCStoneRecipes(event) {
//#endregion
//#region Акведук
//#region Aqueduct
event.recipes.gtceu.assembler(`aqueduct_${stone}`)
.itemInputs(`3x tfc:brick/${stone}`)
@ -308,11 +297,14 @@ function registerTFCStoneRecipes(event) {
//#endregion
//#region Декрафт блоков камня в пыль
//#region Macerator
//
//
//
//
//#region Whole Blocks
//#region Целый блок
// Сырой
// Raw
event.recipes.gtceu.macerator(`raw_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}`)
.itemOutputs(stoneDust)
@ -320,7 +312,15 @@ function registerTFCStoneRecipes(event) {
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Булыжник
// Hardened
event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`)
.itemInputs(`tfc:rock/hardened/${stone}`)
.itemOutputs(stoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Cobble
event.recipes.gtceu.macerator(`cobble_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}`)
.itemOutputs(stoneDust)
@ -328,31 +328,7 @@ function registerTFCStoneRecipes(event) {
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Гладкий
event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый булыжник
// Mossy Cobble
event.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}`)
.itemOutputs(stoneDust)
@ -360,7 +336,31 @@ function registerTFCStoneRecipes(event) {
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый кирпич
// Smooth
event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Bricks
event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Cracked Bricks
event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Mossy Bricks
event.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}`)
.itemOutputs(stoneDust)
@ -368,129 +368,137 @@ function registerTFCStoneRecipes(event) {
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Chiseled
event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`)
.itemInputs(`tfc:rock/chiseled/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
//#region Ступень
//#region Stairs
// Сырой
// Raw
event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Булыжник
// Cobble
event.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Гладкий
event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый булыжник
// Mossy Cobble
event.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый кирпич
// Smooth
event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_stairs`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Bricks
event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_stairs`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Cracked Bricks
event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Mossy Bricks
event.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`)
.itemOutputs(smallStoneDust.withCount(6))
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
//#region Плита
//#region Slab
// Сырой
// Raw
event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.itemInputs(`2x tfc:rock/raw/${stone}_slab`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Булыжник
// Cobble
event.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Гладкий
event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый булыжник
// Mossy Cobble
event.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.itemInputs(`2x tfc:rock/mossy_cobble/${stone}_slab`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый кирпич
// Smooth
event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`)
.itemInputs(`2x tfc:rock/smooth/${stone}_slab`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Bricks
event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`)
.itemInputs(`2x tfc:rock/bricks/${stone}_slab`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Cracked Bricks
event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`)
.itemInputs(`2x tfc:rock/cracked_bricks/${stone}_slab`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Mossy Bricks
event.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}_slab`)
.itemOutputs(smallStoneDust.withCount(2))
.itemInputs(`2x tfc:rock/mossy_bricks/${stone}_slab`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
//#region Стена
//#region Walls
event.recipes.tfc.chisel(`tfc:rock/raw/${stone}_wall`, `tfc:rock/raw/${stone}_slab`, 'smooth')
event.recipes.tfc.chisel(`tfc:rock/cobble/${stone}_wall`, `tfc:rock/cobble/${stone}_slab`, 'smooth')
@ -500,80 +508,63 @@ function registerTFCStoneRecipes(event) {
event.recipes.tfc.chisel(`tfc:rock/mossy_cobble/${stone}_wall`, `tfc:rock/mossy_cobble/${stone}_slab`, 'smooth')
event.recipes.tfc.chisel(`tfc:rock/mossy_bricks/${stone}_wall`, `tfc:rock/mossy_bricks/${stone}_slab`, 'smooth')
// Сырой
// Raw
event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/raw/${stone}_wall`)
.itemInputs(`2x tfc:rock/raw/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Булыжник
// Cobble
event.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/cobble/${stone}_wall`)
.itemInputs(`2x tfc:rock/cobble/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Гладкий
event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/smooth/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Кирпичи
event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/bricks/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Потрескавшиеся кирпичи
event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/cracked_bricks/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый булыжник
// Mossy Cobble
event.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_cobble/${stone}_wall`)
.itemInputs(`2x tfc:rock/mossy_cobble/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Замшелый кирпич
// Smooth
event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`)
.itemInputs(`2x tfc:rock/smooth/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Bricks
event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`)
.itemInputs(`2x tfc:rock/bricks/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Cracked Bricks
event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`)
.itemInputs(`2x tfc:rock/cracked_bricks/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Mossy Bricks
event.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`)
.itemInputs(`tfc:rock/mossy_bricks/${stone}_wall`)
.itemInputs(`2x tfc:rock/mossy_bricks/${stone}_wall`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
// Резной кирпич
event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`)
.itemInputs(`tfc:rock/chiseled/${stone}`)
.itemOutputs(stoneDust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
// Укрепленный
event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`)
.itemInputs(`tfc:rock/hardened/${stone}`)
.itemOutputs(stoneDust.withCount(2))
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
//#endregion
event.recipes.tfc.collapse(`tfc:rock/cobble/${stone}`, `#forge:ores_in_ground/${stone}`)

View file

@ -6,6 +6,30 @@
*/
function registerTFGRockRecipes(event) {
// #region REMOVES
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' })
removeMaceratorRecipe(event, 'macerate_nether_bricks')
removeMaceratorRecipe(event, 'macerate_chiseled_nether_bricks')
// #region GLUEING_TOGETHER
// loose rocks to cobble, bricks to brick blocks
const GLUEING_TOGETHER = [
@ -132,6 +156,44 @@ function registerTFGRockRecipes(event) {
})
// #endregion LOOSE_TO_BRICKS
// #region AQUEDUCTS
const AQUEDUCTS = [
{ brick: 'tfg:brick/deepslate', aqueduct: 'tfg:rock/aqueduct_deepslate' },
{ brick: 'tfg:brick/dripstone', aqueduct: 'tfg:rock/aqueduct_dripstone' },
{ brick: 'minecraft:nether_brick', aqueduct: 'tfg:rock/aqueduct_nether' },
{ brick: 'tfg:brick/moon_stone', aqueduct: 'tfg:rock/aqueduct_moon_stone' },
{ brick: 'tfg:brick/moon_deepslate', aqueduct: 'tfg:rock/aqueduct_moon_deepslate' },
{ brick: 'tfg:brick/mars_stone', aqueduct: 'tfg:rock/aqueduct_mars_stone' },
{ brick: 'tfg:brick/venus_stone', aqueduct: 'tfg:rock/aqueduct_venus_stone' },
{ brick: 'tfg:brick/mercury_stone', aqueduct: 'tfg:rock/aqueduct_mercury_stone' },
{ brick: 'tfg:brick/glacio_stone', aqueduct: 'tfg:rock/aqueduct_glacio_stone' },
{ brick: 'tfg:brick/permafrost', aqueduct: 'tfg:rock/aqueduct_permafrost' },
{ brick: 'tfg:brick/red_granite', aqueduct: 'tfg:rock/aqueduct_red_granite' }
]
AQUEDUCTS.forEach(x => {
event.shaped(x.aqueduct, [
'A A',
'BAB'
], {
A: x.loose,
B: 'tfc:mortar'
})
})
event.shaped('tfg:rock/aqueduct_stone', [
'ABA',
'ABA',
'AAA'
], {
A: 'gtceu:stone_ingot',
B: 'tfc:mortar'
})
// #endregion AQUEDUCT
// #region RAW_TO_POLISHED
const RAW_TO_POLISHED = [
// Beneath
@ -256,21 +318,21 @@ function registerTFGRockRecipes(event) {
// #endregion RAW_TO_POLISHED
// cracked bricks
// #region CRACKING
const CRACKING = [
{ 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: '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: 'tfg:rock/bricks_moon_deepslate', cracked: 'tfg:rock/cracked_bricks_moon_deepslate' },
{ 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: '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: 'gtceu:red_granite_bricks', cracked: 'gtceu:cracked_red_granite_bricks' }
]
CRACKING.forEach(x => {
@ -288,7 +350,9 @@ function registerTFGRockRecipes(event) {
.recipeTier(1)
.id(`greate:pressing/${x.raw}_to_${x.cracked}`.replace(/:/g, '_'))
})
// #endregion CRACKING
// #region HAMMERING
// Defined in kubejs/startup_scripts/tfg/constants.js
global.HAMMERING.forEach(x => {
event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_'))
@ -301,24 +365,23 @@ function registerTFGRockRecipes(event) {
.recipeTier(x.eu <= 8 ? 0 : 1)
.id(`greate:pressing/${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_'))
})
// #endregion HAMMERING
// slabs, stairs, walls
// #region CUTTER
// #region CUT_GRIND
//
// (spacing for region titles)
//
let CUTTER = [
//
let CUT_GRIND = [
// #region Nether
// 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
dust: 'gtceu:deepslate_dust', 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
dust: 'gtceu:deepslate_dust', 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
@ -428,40 +491,40 @@ function registerTFGRockRecipes(event) {
// #region Space
const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio']
CUTTER = CUTTER.concat( (AA_REGULAR_STONES ? AA_REGULAR_STONES : []).map(stone => (
CUT_GRIND = CUT_GRIND.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 => (
CUT_GRIND = CUT_GRIND.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 => (
CUT_GRIND = CUT_GRIND.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 => (
CUT_GRIND = CUT_GRIND.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 => (
CUT_GRIND = CUT_GRIND.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 => (
CUT_GRIND = CUT_GRIND.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 => (
CUT_GRIND = CUT_GRIND.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 => (
CUT_GRIND = CUT_GRIND.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([
CUT_GRIND = CUT_GRIND.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
@ -569,7 +632,6 @@ function registerTFGRockRecipes(event) {
{ raw: 'minecraft:purpur_block', stair: 'minecraft:purpur_stairs', slab: 'minecraft:purpur_slab', wall: null,
dust: null, loose: null, stonecutting: true },
// #endregion Space
// #region Other
@ -597,17 +659,29 @@ function registerTFGRockRecipes(event) {
// #endregion Other
])
CUTTER.forEach(x => {
CUT_GRIND.forEach(x => {
console.log(x.raw)
if (x.raw != null && x.dust != null ) {
try{
event.recipes.gtceu.macerator(x.raw.replace(/.*:/g, 'macerate_'))
.itemInputs(x.raw)
.itemOutputs(x.dust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
} catch(e){ }
}
if (x.stair != null) {
event.recipes.tfc.chisel(x.stair, x.raw, 'stair')
if (x.raw != 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.stonecutting) {
event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_'))
}
}
if (x.dust != null) {
event.recipes.gtceu.macerator(`macerate_${x.stair}`.replace(/:/g, '_'))
event.recipes.gtceu.macerator(x.stair.replace(/.*:/g, 'macerate_'))
.itemInputs(x.stair)
.itemOutputs(x.dust)
.duration(150)
@ -620,14 +694,16 @@ function registerTFGRockRecipes(event) {
}
}
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.raw != 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) {
event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_'))
event.recipes.gtceu.macerator(x.slab.replace(/.*:/g, 'macerate_'))
.itemInputs(`2x ${x.slab}`)
.itemOutputs(x.dust)
.duration(150)
@ -640,26 +716,28 @@ function registerTFGRockRecipes(event) {
}
}
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.raw != null) {
event.recipes.tfc.chisel(x.wall, x.raw, 'smooth')
if (x.stonecutting) {
event.stonecutting(`2x ${x.wall}`, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_'))
}
}
if (x.slab != null) {
event.recipes.tfc.chisel(x.wall, x.slab, 'smooth')
}
if (x.dust != null) {
event.recipes.gtceu.macerator(`macerate_${x.wall}`.replace(/:/g, '_'))
.itemInputs(x.wall)
event.recipes.gtceu.macerator(x.wall.replace(/.*:/g, 'macerate_'))
.itemInputs(`2x ${x.wall}`)
.itemOutputs(x.dust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
}
}
if (x.slab != null && x.wall != null) {
event.recipes.tfc.chisel(x.wall, x.slab, 'smooth')
}
if (x.loose != null) {
if (x.loose != null && x.raw != null) {
event.shapeless(`4x ${x.loose}`, [x.raw])
}
})
@ -671,37 +749,95 @@ function registerTFGRockRecipes(event) {
.duration(40)
.EUt(2)
// #endregion CUTTER
// #endregion CUT_GRIND
// 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, "/")}`)
})
// #region MACERATOR
// For all the blocks not already handles bu the CUTTER loop.
const MACERATOR = [
{ block: 'tfg:rock/hardened_deepslate', dust: 'gtceu:deepslate_dust' },
{ block: 'minecraft:chiseled_deepslate', dust: 'gtceu:deepslate_dust' },
{ block: 'tfg:rock/hardened_blackstone', dust: 'gtceu:blackstone_dust' },
{ block: 'minecraft:chiseled_blackstone', dust: 'gtceu:blackstone_dust' },
{ block: 'tfg:rock/hardened_dripstone', dust: 'tfg:dripstone_dust' },
{ block: 'minecraft:chiseled_nether_bricks', dust: 'gtceu:netherrack_dust' },
{ block: 'tfg:rock/hardened_moon_stone', dust: 'tfg:moon_stone_dust' },
{ block: 'ad_astra:moon_pillar', dust: 'tfg:moon_stone_dust' },
{ block: 'tfg:rock/hardened_moon_deepslate', dust: 'tfg:moon_deepslate_dust' },
{ block: 'tfg:rock/pillar_moon_deepslate', dust: 'tfg:moon_deepslate_dust' },
{ block: 'tfg:rock/hardened_mars_stone', dust: 'tfg:mars_stone_dust' },
{ block: 'ad_astra:mars_pillar', dust: 'tfg:mars_stone_dust' },
{ block: 'tfg:rock/hardened_venus_stone', dust: 'tfg:venus_stone_dust' },
{ block: 'ad_astra:venus_pillar', dust: 'tfg:venus_stone_dust' },
{ block: 'tfg:rock/hardened_mercury_stone', dust: 'tfg:mercury_stone_dust' },
{ block: 'ad_astra:mercury_pillar', dust: 'tfg:mercury_stone_dust' },
{ block: 'tfg:rock/hardened_glacio_stone', dust: 'tfg:glacio_stone_dust' },
{ block: 'ad_astra:glacio_pillar', dust: 'tfg:glacio_stone_dust' },
{ block: 'tfg:rock/hardened_red_granite', dust: 'gtceu:granite_red_dust' },
{ block: 'gtceu:red_granite_tile', dust: 'gtceu:granite_red_dust' },
{ block: 'gtceu:square_red_granite_bricks', dust: 'gtceu:granite_red_dust' },
{ block: 'gtceu:red_granite_windmill_a', dust: 'gtceu:granite_red_dust' },
{ block: 'gtceu:red_granite_windmill_b', dust: 'gtceu:granite_red_dust' },
{ block: 'gtceu:small_red_granite_bricks', dust: 'gtceu:granite_red_dust' },
{ block: 'gtceu:red_granite_small_tile', dust: 'gtceu:granite_red_dust' },
{ block: 'gtceu:chiseled_red_granite', dust: 'gtceu:granite_red_dust' }
]
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, "/")}`)
MACERATOR.forEach(x => {
event.recipes.gtceu.macerator(x.block.replace(/.*:/g, 'macerate_'))
.itemInputs(x.block)
.itemOutputs(x.dust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
})
//#endregion
// #endregion MACERATOR
// #region STONECUTTER
const STONECUTTER = [
[ 'minecraft:deepslate_bricks', 'minecraft:deepslate_tiles', 'minecraft:chiseled_deepslate' ],
[ 'minecraft:polished_blackstone_bricks', 'minecraft:chiseled_polished_blackstone' ],
[ 'minecraft:nether_bricks', 'minecraft:nether_bricks' ],
[ 'ad_astra:moon_stone_bricks', 'ad_astra:chiseled_moon_stone_bricks', ],
[ 'tfg:rock/bricks_moon_deepslate', 'tfg:rock/chiseled_bricks_moon_deepslate', ],
[ 'ad_astra:mars_stone_bricks', 'ad_astra:chiseled_mars_stone_bricks', ],
[ 'ad_astra:venus_stone_bricks', 'ad_astra:chiseled_venus_stone_bricks', ],
[ 'ad_astra:mercury_stone_bricks', 'ad_astra:chiseled_mercury_stone_bricks', ],
[ 'ad_astra:glacio_stone_bricks', 'ad_astra:chiseled_glacio_stone_bricks', ],
[ 'ad_astra:permafrost_bricks', 'ad_astra:chiseled_permafrost_bricks', ],
[ 'gtceu:red_granite_bricks', 'gtceu:red_granite_tile', 'gtceu:square_red_granite_bricks',
'gtceu:red_granite_windmill_a', 'gtceu:red_granite_windmill_b', 'gtceu:small_red_granite_bricks',
'gtceu:red_granite_small_tile', 'gtceu:chiseled_red_granite' ],
[ 'minecraft:stone_bricks', 'minecraft:chiseled_stone_bricks' ]
]
STONECUTTER.forEach(set => {
set.forEach(block1 => {
set.forEach(block2 => {
if( block1 != block2 ){ event.stonecutting(block1, block2) }
})
})
})
// #endregion STONECUTTER
// #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: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: 'minecraft:polished_deepslate', pillar: 'create:deepslate_pillar' },
{ raw: 'create:polished_cut_dripstone', pillar: 'create:dripstone_pillar' },
{ raw: 'create:cut_dripstone', pillar: 'create:dripstone_pillar' },
{ raw: 'ad_astra:moon_stone_bricks', pillar: 'ad_astra:moon_pillar' },
{ raw: 'tfg:rock/pillar_moon_deepslate', pillar: 'tfg:rock/bricks_moon_deepslate' },
{ 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' }
]
PILLARS.forEach(x => {
console.log(x.pillar)
event.shaped(`2x ${x.pillar}`, [
'A',
'A'
@ -712,74 +848,19 @@ function registerTFGRockRecipes(event) {
event.stonecutting(x.pillar, x.raw).id(`${x.raw}_to_${x.pillar}`.replace(/:/g, '_'))
})
// pillar shaped recipes
event.shaped(
Item.of('create:deepslate_pillar', 2), [ ' A ', ' A ' ], { A: 'minecraft:polished_deepslate' }
)
// horizontal shaped recipes
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' }
Item.of('create:layered_dripstone', 2), [ 'AA ' ], { A: 'create:cut_dripstone' }
)
// #endregion PILLARS
// #region MACERATOR
const MACERATOR = [
{ 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' }
]
MACERATOR.forEach(x => {
event.recipes.gtceu.macerator(`macerate_${x.block}`.replace(/:/g, '_'))
.itemInputs(x.block)
.itemOutputs(x.dust)
.duration(150)
.EUt(2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
})
//#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 = [
{ block: 'minecraft:deepslate', dimension: null },

View file

@ -114,62 +114,44 @@ function registerTFGSupportRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
})
event.recipes.tfc.damage_inputs_shaped_crafting(
event.shaped('8x tfg:travertine_support', [
'AB ',
'AC ',
'AC '
],{
A: 'tfg:loose/dripstone',
B: '#tfc:chisels',
C: 'tfc:mortar'
}).id('tfg:shaped/travertine_support'))
// REDO w/ table and loop
const EXO_STONE_SUPPORTS = [
{ loose: 'tfg:loose/deepslate', support: 'tfg:migmatite_support' },
{ loose: 'tfg:loose/blackstone', support: 'tfg:pyroxenite_support' },
{ loose: 'tfg:loose/dripstone', support: 'tfg:travertine_support' },
{ loose: 'tfg:loose/crackrack', support: 'tfg:keratophyre_support' },
{ loose: 'tfg:loose/moon_stone', support: 'tfg:anorthosite_support' },
{ loose: 'tfg:loose/moon_deepslate', support: 'tfg:norite_support' },
{ loose: 'tfg:loose/mars_stone', support: 'tfg:argillite_support' },
{ loose: 'tfg:loose/venus_stone', support: 'tfg:trachyte_support' },
{ loose: 'tfg:loose/mercury_stone', support: 'tfg:komatiite_support' },
{ loose: 'tfg:loose/glacio_stone', support: 'tfg:phonolite_support' },
{ loose: 'tfg:loose/permafrost', support: 'tfg:permafrost_support' },
{ loose: 'tfg:loose/red_granite', support: 'tfg:red_granite_support' },
{ loose: 'gtceu:stone_ingot', support: 'tfg:stone_support' }
]
event.recipes.gtceu.assembler('tfg:gtceu/assembler/travertine_support')
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs('8x tfg:travertine_support')
.itemInputs('3x tfg:loose/dripstone')
.duration(40)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.tfc.damage_inputs_shaped_crafting(
event.shaped('8x tfg:migmatite_support', [
'AB ',
'AC ',
'AC '
],{
A: 'tfg:loose/deepslate',
B: '#tfc:chisels',
C: 'tfc:mortar'
}).id('tfg:shaped/migmatite_support'))
EXO_STONE_SUPPORTS.forEach(s => {
event.recipes.tfc.damage_inputs_shaped_crafting(
event.shaped(`8x ${s.support}`, [
'AB ',
'AC ',
'AC '
],{
A: s.loose,
B: '#tfc:chisels',
C: 'tfc:mortar'
}).id(`tfg:shaped/${s.support}`)
)
event.recipes.gtceu.assembler('tfg:gtceu/assembler/migmatite_support')
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs('8x tfg:migmatite_support')
.itemInputs('3x tfg:loose/deepslate')
.duration(40)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.tfc.damage_inputs_shaped_crafting(
event.shaped('8x tfg:pyroxenite_support', [
'AB ',
'AC ',
'AC '
],{
A: 'beneath:blackstone_pebble',
B: '#tfc:chisels',
C: 'tfc:mortar'
}).id('tfg:shaped/pyroxenite_support'))
event.recipes.gtceu.assembler('tfg:gtceu/assembler/pyroxenite_support')
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs('8x tfg:pyroxenite_support')
.itemInputs('3x beneath:blackstone_pebble')
.duration(40)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler(`tfg:gtceu/assembler/${s.support}`)
.circuit(11)
.inputFluids(Fluid.of('gtceu:concrete', 36))
.itemOutputs(`8x ${s.support}`)
.itemInputs(`3x ${s.loose}`)
.duration(40)
.EUt(GTValues.VA[GTValues.ULV])
})
// Metal Supports
event.shaped('8x tfg:rebar_support', [

View file

@ -665,7 +665,6 @@ const registerTFGItemTags = (event) => {
event.add('forge:stone_bricks', '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:${STONE_TYPES.red_granite}_items`, 'gtceu:mossy_red_granite_bricks')
@ -681,43 +680,36 @@ const registerTFGItemTags = (event) => {
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:${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:${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:${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:${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:${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:${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')
// Permafrost (???) [NA]
event.remove('tfc:metamorphic_rock', 'tfg:loose/permafrost')

View file

@ -0,0 +1,86 @@
function registerTFGAqueductBlocks(event) {
// Nether
event.create('tfg:rock/aqueduct_deepslate', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.deepslate.sound)
.textureAll('minecraft:block/deepslate_bricks')
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_dripstone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.dripstone.sound)
.textureAll('create:block/palettes/stone_types/brick/dripstone_cut_brick')
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_nether', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.nether.sound)
.textureAll('minecraft:block/nether_bricks')
.mapColor(global.STONE_CHARACS.nether.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_moon_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.moon.sound)
.textureAll('ad_astra:block/moon_stone_bricks')
.mapColor(global.STONE_CHARACS.moon.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_moon_deepslate', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.moon_deepslate.sound)
.textureAll('tfg:block/rock/bricks_moon_deepslate')
.mapColor(global.STONE_CHARACS.moon_deepslate.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_mars_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.mars.sound)
.textureAll('ad_astra:block/mars_stone_bricks')
.mapColor(global.STONE_CHARACS.mars.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_venus_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.venus.sound)
.textureAll('ad_astra:block/venus_stone_bricks')
.mapColor(global.STONE_CHARACS.venus.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_mercury_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.mercury.sound)
.textureAll('ad_astra:block/mercury_stone_bricks')
.mapColor(global.STONE_CHARACS.mercury.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_glacio_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.glacio.sound)
.textureAll('ad_astra:block/glacio_stone_bricks')
.mapColor(global.STONE_CHARACS.glacio.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_permafrost', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.permafrost.sound)
.textureAll('ad_astra:block/permafrost_bricks')
.mapColor(global.STONE_CHARACS.permafrost.mapColor)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_red_granite', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.red_granite.sound)
.textureAll('gtceu:block/stones/red_granite/bricks')
.mapColor(global.STONE_CHARACS.red_granite.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`)
.tagBoth('tfg:rock/aqueducts')
event.create('tfg:rock/aqueduct_stone', 'tfc:aqueduct')
.soundType(global.STONE_CHARACS.reconstituted.sound)
.textureAll('minecraft:block/stone_bricks')
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBoth('tfg:rock/aqueducts')
}

View file

@ -5,6 +5,7 @@ const registerTFGBlocks = (event) => {
registerTFGNetherBlocks(event)
registerTFGSpaceBlocks(event)
registerTFGSupportBlocks(event)
registerTFGAqueductBlocks(event)
registerTFGCrops(event)
event.create('tfg:dry_ice', 'tfg:particle_emitter')
@ -255,12 +256,13 @@ const registerTFGBlocks = (event) => {
// #endregion
// #region Reconstructed Stone
// #region Reconstituted Stone
event.create(`tfg:rock/stone_wall`, 'wall')
.soundType('stone')
.soundType(global.STONE_CHARACS.reconstituted.sound)
.textureAll('minecraft:block/stone')
.tagBoth('tfg:rock_wall')
.mapColor('stone')
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -268,10 +270,10 @@ const registerTFGBlocks = (event) => {
let SHAPES = ['stairs', 'wall']
SHAPES.forEach(shape => {
event.create(`tfg:rock/smooth_stone_${shape}`, shape)
.soundType('stone')
.soundType(global.STONE_CHARACS.reconstituted.sound)
.textureAll('minecraft:block/smooth_stone')
.tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's'))
.mapColor('stone')
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -280,14 +282,26 @@ const registerTFGBlocks = (event) => {
SHAPES = ['stairs', 'slab', 'wall']
SHAPES.forEach(shape => {
event.create(`tfg:rock/cracked_bricks_stone_${shape}`, shape)
.soundType('stone')
.soundType(global.STONE_CHARACS.reconstituted.sound)
.textureAll('minecraft:block/cracked_stone_bricks')
.tagBoth(`tfg:brick_${shape}s`.replace(/ss/g, 's'))
.mapColor('stone')
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
// #endregion Reconstructed Stone
// #endregion Reconstituted Stone
// #region Deprecated
event.create('treetap:tap')
.requiresTool(false)
.textureAll('tfg:item/deprecated')
event.create('tfcea:refrigerator')
.requiresTool(false)
.textureAll('tfg:item/deprecated')
// #endregion
}

View file

@ -3,22 +3,14 @@
function registerTFGNetherBlocks(event) {
const SHAPES = ['stairs', 'slab', 'wall']
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)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -26,11 +18,11 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/dripstone_${shape}`, shape)
.soundType(STONE_CHARACS.dripstone.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -38,11 +30,11 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/crackrack_${shape}`, shape)
.soundType(STONE_CHARACS.crackrack.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`)
.mapColor(global.STONE_CHARACS.crackrack.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -52,7 +44,7 @@ function registerTFGNetherBlocks(event) {
// #region Hardened Stones
event.create('tfg:rock/hardened_deepslate')
.soundType(STONE_CHARACS.deepslate.sound)
.soundType(global.STONE_CHARACS.deepslate.sound)
.property(BlockProperties.AXIS)
.requiresTool(true)
.item(item => {
@ -61,14 +53,14 @@ function registerTFGNetherBlocks(event) {
.tagBlock('tfc:can_carve')
.tagBoth('forge:stone')
.tagBoth('tfc:rock/hardened')
.tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`)
.mapColor(STONE_CHARACS.deepslate.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
event.create('tfg:rock/hardened_blackstone')
.soundType(STONE_CHARACS.blackstone.sound)
.soundType(global.STONE_CHARACS.blackstone.sound)
.requiresTool(true)
.item(item => {
item.modelJson({ parent: 'minecraft:item/blackstone' })
@ -76,14 +68,14 @@ function registerTFGNetherBlocks(event) {
.tagBlock('tfc:can_carve')
.tagBoth('forge:stone')
.tagBoth('tfc:rock/hardened')
.tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`)
.mapColor(STONE_CHARACS.blackstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
event.create('tfg:rock/hardened_dripstone')
.soundType(STONE_CHARACS.dripstone.sound)
.soundType(global.STONE_CHARACS.dripstone.sound)
.stoneSoundType()
.requiresTool(true)
.item(item => {
@ -92,8 +84,8 @@ function registerTFGNetherBlocks(event) {
.tagBlock('tfc:can_carve')
.tagBoth('forge:stone')
.tagBoth('tfc:rock/hardened')
.tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`)
.mapColor(STONE_CHARACS.dripstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -103,8 +95,8 @@ function registerTFGNetherBlocks(event) {
// #region Spikes
event.create('tfg:spike/deepslate_spike', 'tfc:rock_spike')
.textureAll('minecraft:block/deepslate')
.soundType(STONE_CHARACS.deepslate.sound)
.tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`)
.soundType(global.STONE_CHARACS.deepslate.sound)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.tagBlock('minecraft:mineable/pickaxe')
.hardness(0.8)
.resistance(0.8)
@ -112,8 +104,8 @@ function registerTFGNetherBlocks(event) {
event.create('tfg:spike/blackstone_spike', 'tfc:rock_spike')
.textureAll('minecraft:block/blackstone')
.soundType(STONE_CHARACS.blackstone.sound)
.tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`)
.soundType(global.STONE_CHARACS.blackstone.sound)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.tagBlock('minecraft:mineable/pickaxe')
.hardness(0.8)
.resistance(0.8)
@ -121,8 +113,8 @@ function registerTFGNetherBlocks(event) {
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`)
.soundType(global.STONE_CHARACS.dripstone.sound)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.tagBlock('minecraft:mineable/pickaxe')
.hardness(0.8)
.resistance(0.8)
@ -132,39 +124,39 @@ function registerTFGNetherBlocks(event) {
// #region Loose Stones
event.create('tfg:loose/deepslate', 'tfc:loose_rock')
.soundType(STONE_CHARACS.deepslate.sound)
.soundType(global.STONE_CHARACS.deepslate.sound)
.itemTexture('tfg:item/loose/deepslate')
.rockTypeModel(STONE_CHARACS.deepslate.type)
.rockTypeModel(global.STONE_CHARACS.deepslate.type)
.translationKey("block.tfg.loose.deepslate")
.tagBlock('tfc:loose_rocks')
.tagItem('tfc:any_knapping')
.tagItem('tfc:rock_knapping')
.tagItem(`tfc:${STONE_CHARACS.deepslate.type}_rock`)
.tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`)
.tagItem(`tfc:${global.STONE_CHARACS.deepslate.type}_rock`)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.tagItem("rnr:loose_rock_items")
event.create('tfg:loose/dripstone', 'tfc:loose_rock')
.soundType(STONE_CHARACS.dripstone.sound)
.soundType(global.STONE_CHARACS.dripstone.sound)
.itemTexture('tfg:item/loose/dripstone')
.rockTypeModel(STONE_CHARACS.dripstone.type)
.rockTypeModel(global.STONE_CHARACS.dripstone.type)
.translationKey("block.tfg.loose.dripstone")
.tagBlock('tfc:loose_rocks')
.tagItem('tfc:any_knapping')
.tagItem('tfc:rock_knapping')
.tagItem(`tfc:${STONE_CHARACS.dripstone.type}_rock`)
.tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`)
.tagItem(`tfc:${global.STONE_CHARACS.dripstone.type}_rock`)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.tagItem("rnr:loose_rock_items")
event.create('tfg:loose/crackrack', 'tfc:loose_rock')
.soundType(STONE_CHARACS.crackrack.sound)
.soundType(global.STONE_CHARACS.crackrack.sound)
.itemTexture('tfg:item/loose/crackrack')
.rockTypeModel(STONE_CHARACS.crackrack.type)
.rockTypeModel(global.STONE_CHARACS.crackrack.type)
.translationKey("block.tfg.loose.crackrack")
.tagBlock('tfc:loose_rocks')
.tagItem('tfc:any_knapping')
.tagItem('tfc:rock_knapping')
.tagItem(`tfc:${STONE_CHARACS.crackrack.type}_rock`)
.tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`)
.tagItem(`tfc:${global.STONE_CHARACS.crackrack.type}_rock`)
.tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`)
.tagItem("rnr:loose_rock_items")
// #endregion Loose rocks
@ -173,11 +165,11 @@ function registerTFGNetherBlocks(event) {
// Deepslate
event.create('tfg:rock/mossy_cobble_deepslate')
.soundType(STONE_CHARACS.deepslate.sound)
.soundType(global.STONE_CHARACS.deepslate.sound)
.tagBoth('forge:cobblestone')
.tagBoth('forge:cobblestone/normal')
.tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`)
.mapColor(STONE_CHARACS.deepslate.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -185,10 +177,10 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/mossy_cobble_deepslate_${shape}`, shape)
.soundType(STONE_CHARACS.deepslate.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -196,11 +188,11 @@ function registerTFGNetherBlocks(event) {
// Blackstone
event.create('tfg:rock/cobble_blackstone')
.soundType(STONE_CHARACS.blackstone.sound)
.soundType(global.STONE_CHARACS.blackstone.sound)
.tagBoth('forge:cobblestone')
.tagBoth('forge:cobblestone/normal')
.tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`)
.mapColor(STONE_CHARACS.blackstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -208,22 +200,22 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/cobble_blackstone_${shape}`, shape)
.soundType(STONE_CHARACS.blackstone.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
event.create('tfg:rock/mossy_cobble_blackstone')
.soundType(STONE_CHARACS.blackstone.sound)
.soundType(global.STONE_CHARACS.blackstone.sound)
.tagBoth('forge:cobblestone')
.tagBoth('forge:cobblestone/normal')
.tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`)
.mapColor(STONE_CHARACS.blackstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -231,10 +223,10 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/mossy_cobble_blackstone_${shape}`, shape)
.soundType(STONE_CHARACS.blackstone.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -242,11 +234,11 @@ function registerTFGNetherBlocks(event) {
// Dripstone
event.create('tfg:rock/cobble_dripstone')
.soundType(STONE_CHARACS.dripstone.sound)
.soundType(global.STONE_CHARACS.dripstone.sound)
.tagBoth('forge:cobblestone')
.tagBoth('forge:cobblestone/normal')
.tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`)
.mapColor(STONE_CHARACS.dripstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -254,21 +246,21 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/cobble_dripstone_${shape}`, shape)
.soundType(STONE_CHARACS.dripstone.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
event.create('tfg:rock/mossy_cobble_dripstone')
.soundType(STONE_CHARACS.dripstone.sound)
.soundType(global.STONE_CHARACS.dripstone.sound)
.tagBoth('forge:cobblestone')
.tagBoth('forge:cobblestone/normal')
.tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`)
.mapColor(STONE_CHARACS.dripstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -276,10 +268,10 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/mossy_cobble_dripstone_${shape}`, shape)
.soundType(STONE_CHARACS.dripstone.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -287,11 +279,11 @@ function registerTFGNetherBlocks(event) {
// Crackrack
event.create('tfg:rock/cobble_crackrack')
.soundType(STONE_CHARACS.crackrack.sound)
.soundType(global.STONE_CHARACS.crackrack.sound)
.tagBoth('forge:cobblestone')
.tagBoth('forge:cobblestone/normal')
.tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`)
.mapColor(STONE_CHARACS.crackrack.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`)
.mapColor(global.STONE_CHARACS.crackrack.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -299,21 +291,21 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/cobble_crackrack_${shape}`, shape)
.soundType(STONE_CHARACS.crackrack.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`)
.mapColor(global.STONE_CHARACS.crackrack.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
event.create('tfg:rock/mossy_cobble_crackrack')
.soundType(STONE_CHARACS.crackrack.sound)
.soundType(global.STONE_CHARACS.crackrack.sound)
.tagBoth('forge:cobblestone')
.tagBoth('forge:cobblestone/normal')
.tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`)
.mapColor(STONE_CHARACS.crackrack.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`)
.mapColor(global.STONE_CHARACS.crackrack.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -321,10 +313,10 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/mossy_cobble_crackrack_${shape}`, shape)
.soundType(STONE_CHARACS.crackrack.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`)
.mapColor(global.STONE_CHARACS.crackrack.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -333,7 +325,7 @@ function registerTFGNetherBlocks(event) {
// #region Smooth (Polished/Cut) Stones
event.create('tfg:rock/polished_crackrack')
.soundType(STONE_CHARACS.crackrack.sound)
.soundType(global.STONE_CHARACS.crackrack.sound)
.tagBoth('forge:smooth_stone')
.tagBoth('tfc:igneous_intrusive_items')
.tagBoth('tfc:rock/smooth')
@ -344,10 +336,10 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/polished_crackrack_${shape}`, shape)
.soundType(STONE_CHARACS.crackrack.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`)
.mapColor(global.STONE_CHARACS.crackrack.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -360,8 +352,8 @@ function registerTFGNetherBlocks(event) {
.soundType('gravel')
.tagBoth('forge:gravel')
.tagBoth('tfc:rock/gravel')
.tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`)
.mapColor(STONE_CHARACS.deepslate.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/shovel')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -371,8 +363,8 @@ function registerTFGNetherBlocks(event) {
.soundType('gravel')
.tagBoth('forge:gravel')
.tagBoth('tfc:rock/gravel')
.tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`)
.mapColor(STONE_CHARACS.blackstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/shovel')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -382,8 +374,8 @@ function registerTFGNetherBlocks(event) {
.soundType('gravel')
.tagBoth('forge:gravel')
.tagBoth('tfc:rock/gravel')
.tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`)
.mapColor(STONE_CHARACS.dripstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/shovel')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -393,8 +385,8 @@ function registerTFGNetherBlocks(event) {
.soundType('gravel')
.tagBoth('forge:gravel')
.tagBoth('tfc:rock/gravel')
.tagBoth(`tfc:${STONE_CHARACS.crackrack.type}_items`)
.mapColor(STONE_CHARACS.crackrack.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.crackrack.type}_items`)
.mapColor(global.STONE_CHARACS.crackrack.mapColor)
.tagBlock('minecraft:mineable/shovel')
.tagBlock('tfc:can_landslide')
.fullBlock(true)
@ -407,11 +399,11 @@ function registerTFGNetherBlocks(event) {
// Deepslate
SHAPES.forEach(shape => {
event.create(`tfg:rock/cracked_bricks_deepslate_${shape}`, shape)
.soundType(STONE_CHARACS.deepslate.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -419,34 +411,34 @@ function registerTFGNetherBlocks(event) {
SHAPES.forEach(shape => {
event.create(`tfg:rock/cracked_tiles_deepslate_${shape}`, shape)
.soundType(STONE_CHARACS.deepslate.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
event.create('tfg:rock/mossy_bricks_deepslate')
.soundType(STONE_CHARACS.deepslate.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.mapColor(global.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)
.soundType(global.STONE_CHARACS.deepslate.sound)
.tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's'))
.tagBoth(`tfc:${STONE_CHARACS.deepslate.type}_items`)
.mapColor(STONE_CHARACS.deepslate.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.deepslate.type}_items`)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -455,34 +447,34 @@ function registerTFGNetherBlocks(event) {
// Blackstone
SHAPES.forEach(shape => {
event.create(`tfg:rock/cracked_bricks_blackstone_${shape}`, shape)
.soundType(STONE_CHARACS.blackstone.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
event.create('tfg:rock/mossy_bricks_blackstone')
.soundType(STONE_CHARACS.blackstone.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.mapColor(global.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)
.soundType(global.STONE_CHARACS.blackstone.sound)
.tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's'))
.tagBoth(`tfc:${STONE_CHARACS.blackstone.type}_items`)
.mapColor(STONE_CHARACS.blackstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.blackstone.type}_items`)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -490,46 +482,46 @@ function registerTFGNetherBlocks(event) {
// Dripstone
event.create('tfg:rock/cracked_bricks_dripstone')
.soundType(STONE_CHARACS.dripstone.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.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)
.soundType(global.STONE_CHARACS.dripstone.sound)
.tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's'))
.tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`)
.mapColor(STONE_CHARACS.dripstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
event.create('tfg:rock/mossy_bricks_dripstone')
.soundType(STONE_CHARACS.dripstone.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.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)
.soundType(global.STONE_CHARACS.dripstone.sound)
.tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's'))
.tagBoth(`tfc:${STONE_CHARACS.dripstone.type}_items`)
.mapColor(STONE_CHARACS.dripstone.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.dripstone.type}_items`)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
@ -538,34 +530,34 @@ function registerTFGNetherBlocks(event) {
// Crackrack
SHAPES.forEach(shape => {
event.create(`tfg:rock/cracked_bricks_nether_${shape}`, shape)
.soundType(STONE_CHARACS.nether.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`)
.mapColor(global.STONE_CHARACS.nether.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
event.create('tfg:rock/mossy_bricks_nether')
.soundType(STONE_CHARACS.nether.sound)
.soundType(global.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)
.tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`)
.mapColor(global.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)
.soundType(global.STONE_CHARACS.nether.sound)
.tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's'))
.tagBoth(`tfc:${STONE_CHARACS.nether.type}_items`)
.mapColor(STONE_CHARACS.nether.mapColor)
.tagBoth(`tfc:${global.STONE_CHARACS.nether.type}_items`)
.mapColor(global.STONE_CHARACS.nether.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)

File diff suppressed because it is too large Load diff

View file

@ -1,79 +1,390 @@
"use strict";
function registerTFGSupportBlocks(event) {
event.create('tfg:light_concrete_support', 'tfc:support')
.textureAll('tfg:block/support/light_concrete_support')
// Wood
event.create(`tfg:aeronos_support`, 'tfc:support')
.textureAll(`ad_astra:block/aeronos_cap`)
.horizontal(horizontal => {
horizontal.textureAll('tfg:block/support/light_concrete_support')
horizontal.soundType('stone')
horizontal.textureAll(`ad_astra:block/aeronos_stem`)
horizontal.soundType('wood')
horizontal.hardness(2)
horizontal.resistance(2)
horizontal.mapColor('terracotta_blue')
horizontal.tagBlock('minecraft:mineable/axe')
horizontal.requiresTool(false)
})
.soundType('wood')
.hardness(2)
.resistance(2)
.mapColor('terracotta_blue')
.tagBlock('minecraft:mineable/axe')
.requiresTool(false)
event.create(`tfg:strophar_support`, 'tfc:support')
.textureAll(`ad_astra:block/strophar_cap`)
.horizontal(horizontal => {
horizontal.textureAll(`ad_astra:block/strophar_stem`)
horizontal.soundType('wood')
horizontal.hardness(2)
horizontal.resistance(2)
horizontal.mapColor('color_white')
horizontal.tagBlock('minecraft:mineable/axe')
horizontal.requiresTool(false)
})
.soundType('wood')
.hardness(2)
.resistance(2)
.mapColor('color_white')
.tagBlock('minecraft:mineable/axe')
.requiresTool(false)
event.create(`tfg:glacian_support`, 'tfc:support')
.textureAll(`ad_astra:block/stripped_glacian_log`)
.horizontal(horizontal => {
horizontal.textureAll(`ad_astra:block/stripped_glacian_log`)
horizontal.soundType('wood')
horizontal.hardness(2)
horizontal.resistance(2)
horizontal.mapColor('crimson_stem')
horizontal.tagBlock('minecraft:mineable/axe')
horizontal.requiresTool(false)
})
.soundType('wood')
.hardness(2)
.resistance(2)
.mapColor('crimson_stem')
.tagBlock('minecraft:mineable/axe')
.requiresTool(false)
// Stone
global.TFC_STONE_TYPES.forEach(stone => {
event.create(`tfg:${stone}_support`, 'tfc:support')
.textureAll(`tfc:block/rock/raw/${stone}`)
.horizontal(horizontal => {
horizontal.textureAll(`tfc:block/rock/raw/${stone}`)
horizontal.soundType('stone')
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor('color_gray')
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType('stone')
.hardness(5)
.resistance(8)
.mapColor('color_gray')
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
})
event.create(`tfg:migmatite_support`, 'tfc:support')
.textureAll('minecraft:block/deepslate')
.horizontal(horizontal => {
horizontal.textureAll('minecraft:block/deepslate')
horizontal.soundType(global.STONE_CHARACS.deepslate.sound)
horizontal.hardness(5)
horizontal.resistance(16)
horizontal.mapColor('color_light_gray')
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.deepslate.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType('stone')
.soundType(global.STONE_CHARACS.deepslate.sound)
.hardness(5)
.resistance(16)
.mapColor('color_light_gray')
.resistance(8)
.mapColor(global.STONE_CHARACS.deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create('tfg:dark_concrete_support', 'tfc:support')
.textureAll('tfg:block/support/dark_concrete_support')
event.create(`tfg:pyroxenite_support`, 'tfc:support')
.textureAll('minecraft:block/blackstone')
.horizontal(horizontal => {
horizontal.textureAll('tfg:block/support/dark_concrete_support')
horizontal.soundType('stone')
horizontal.textureAll('minecraft:block/blackstone')
horizontal.soundType(global.STONE_CHARACS.blackstone.sound)
horizontal.hardness(5)
horizontal.resistance(16)
horizontal.mapColor('color_gray')
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.blackstone.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType('stone')
.soundType(global.STONE_CHARACS.blackstone.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.blackstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:travertine_support`, 'tfc:support')
.textureAll('minecraft:block/dripstone_block')
.horizontal(horizontal => {
horizontal.textureAll('minecraft:block/dripstone_block')
horizontal.soundType(global.STONE_CHARACS.dripstone.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.dripstone.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.dripstone.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.dripstone.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:keratophyre_support`, 'tfc:support')
.textureAll('beneath:block/crackrack')
.horizontal(horizontal => {
horizontal.textureAll('beneath:block/crackrack')
horizontal.soundType(global.STONE_CHARACS.crackrack.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.crackrack.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.crackrack.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.crackrack.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:anorthosite_support`, 'tfc:support')
.textureAll('ad_astra:block/moon_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/moon_stone')
horizontal.soundType(global.STONE_CHARACS.moon.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.moon.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.moon.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.moon.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:norite_support`, 'tfc:support')
.textureAll('ad_astra:block/moon_deepslate')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/moon_deepslate')
horizontal.soundType(global.STONE_CHARACS.moon_deepslate.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.moon_deepslate.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.moon_deepslate.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.moon_deepslate.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:argillite_support`, 'tfc:support')
.textureAll('ad_astra:block/mars_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/mars_stone')
horizontal.soundType(global.STONE_CHARACS.mars.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.mars.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.mars.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.mars.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:trachyte_support`, 'tfc:support')
.textureAll('ad_astra:block/venus_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/venus_stone')
horizontal.soundType(global.STONE_CHARACS.venus.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.venus.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.venus.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.venus.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:komatiite_support`, 'tfc:support')
.textureAll('ad_astra:block/mercury_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/mercury_stone')
horizontal.soundType(global.STONE_CHARACS.mercury.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.mercury.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.mercury.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.mercury.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:phonolite_support`, 'tfc:support')
.textureAll('ad_astra:block/glacio_stone')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/glacio_stone')
horizontal.soundType(global.STONE_CHARACS.glacio.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.glacio.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.glacio.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.glacio.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:permafrost_support`, 'tfc:support')
.textureAll('ad_astra:block/permafrost')
.horizontal(horizontal => {
horizontal.textureAll('ad_astra:block/permafrost')
horizontal.soundType(global.STONE_CHARACS.permafrost.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.permafrost.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.permafrost.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.permafrost.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:red_granite_support`, 'tfc:support')
.textureAll('gtceu:block/stones/red_granite/stone')
.horizontal(horizontal => {
horizontal.textureAll('gtceu:block/stones/red_granite/stone')
horizontal.soundType(global.STONE_CHARACS.red_granite.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.red_granite.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.red_granite.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.red_granite.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create(`tfg:stone_support`, 'tfc:support')
.textureAll('minecraft:block/stone')
.horizontal(horizontal => {
horizontal.textureAll('minecraft:block/stone')
horizontal.soundType(global.STONE_CHARACS.reconstituted.sound)
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.reconstituted.sound)
.hardness(5)
.resistance(8)
.mapColor(global.STONE_CHARACS.reconstituted.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
// Concrete
event.create('tfg:light_concrete_support', 'tfc:support')
.textureAll('gtceu:block/stones/light_concrete/stone')
.horizontal(horizontal => {
horizontal.textureAll('gtceu:block/stones/light_concrete/stone')
horizontal.soundType(global.STONE_CHARACS.light_concrete.sound)
horizontal.hardness(5)
horizontal.resistance(16)
horizontal.mapColor(global.STONE_CHARACS.light_concrete.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.light_concrete.sound)
.hardness(5)
.resistance(16)
.mapColor('color_gray')
.mapColor(global.STONE_CHARACS.light_concrete.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create('tfg:reinforced_light_concrete_support', 'tfc:support')
.textureAll('tfg:block/support/reinforced_light_concrete_support')
.textureAll('gtceu:block/stones/light_concrete/stone')
.horizontal(horizontal => {
horizontal.textureAll('tfg:block/support/reinforced_light_concrete_support')
horizontal.soundType('stone')
horizontal.textureAll('gtceu:block/stones/light_concrete/stone')
horizontal.soundType(global.STONE_CHARACS.light_concrete.sound)
horizontal.hardness(5)
horizontal.resistance(64)
horizontal.mapColor('color_light_gray')
horizontal.mapColor(global.STONE_CHARACS.light_concrete.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType('stone')
.soundType(global.STONE_CHARACS.light_concrete.sound)
.hardness(5)
.resistance(64)
.mapColor('color_light_gray')
.mapColor(global.STONE_CHARACS.light_concrete.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create('tfg:dark_concrete_support', 'tfc:support')
.textureAll('gtceu:block/stones/dark_concrete/stone')
.horizontal(horizontal => {
horizontal.textureAll('gtceu:block/stones/dark_concrete/stone')
horizontal.soundType(global.STONE_CHARACS.dark_concrete.sound)
horizontal.hardness(5)
horizontal.resistance(16)
horizontal.mapColor(global.STONE_CHARACS.dark_concrete.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType(global.STONE_CHARACS.dark_concrete.sound)
.hardness(5)
.resistance(16)
.mapColor(global.STONE_CHARACS.dark_concrete.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
event.create('tfg:reinforced_dark_concrete_support', 'tfc:support')
.textureAll('tfg:block/support/reinforced_dark_concrete_support')
.textureAll('gtceu:block/stones/dark_concrete/stone')
.horizontal(horizontal => {
horizontal.textureAll('tfg:block/support/reinforced_dark_concrete_support')
horizontal.soundType('stone')
horizontal.textureAll('gtceu:block/stones/dark_concrete/stone')
horizontal.soundType(global.STONE_CHARACS.dark_concrete.sound)
horizontal.hardness(5)
horizontal.resistance(64)
horizontal.mapColor('color_gray')
horizontal.mapColor(global.STONE_CHARACS.dark_concrete.mapColor)
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType('stone')
.soundType(global.STONE_CHARACS.dark_concrete.sound)
.hardness(5)
.resistance(64)
.mapColor('color_gray')
.mapColor(global.STONE_CHARACS.dark_concrete.mapColor)
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
// Metal
event.create('tfg:rebar_support', 'tfc:support')
.textureAll('tfg:block/support/rebar_support')
.horizontal(horizontal => {
@ -115,49 +426,4 @@ function registerTFGSupportBlocks(event) {
.mapColor('color_gray')
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
const other_stone = ['pyroxenite', 'migmatite', 'travertine']
const stone_types = global.TFC_STONE_TYPES.concat(other_stone)
stone_types.forEach(stone => {
event.create(`tfg:${stone}_support`, 'tfc:support')
.textureAll(`tfg:block/support/${stone}_support`)
.horizontal(horizontal => {
horizontal.textureAll(`tfg:block/support/${stone}_support`)
horizontal.soundType('stone')
horizontal.hardness(5)
horizontal.resistance(8)
horizontal.mapColor('color_gray')
horizontal.tagBlock('minecraft:mineable/pickaxe')
horizontal.requiresTool(true)
})
.soundType('stone')
.hardness(5)
.resistance(8)
.mapColor('color_gray')
.tagBlock('minecraft:mineable/pickaxe')
.requiresTool(true)
})
global.AD_ASTRA_WOOD.forEach(wood => {
event.create(`tfg:${wood.name}_support`, 'tfc:support')
.textureAll(`tfg:block/support/${wood.name}_support`)
.horizontal(horizontal => {
horizontal.textureAll(`tfg:block/support/${wood.name}_support`)
horizontal.soundType('wood')
horizontal.hardness(2)
horizontal.resistance(2)
horizontal.mapColor('color_orange')
horizontal.tagBlock('minecraft:mineable/axe')
horizontal.requiresTool(false)
})
.soundType('wood')
.hardness(2)
.resistance(2)
.mapColor('color_orange')
.tagBlock('minecraft:mineable/axe')
.requiresTool(false)
})
}

View file

@ -168,8 +168,29 @@ global.FOOD_FRUIT = [
{name: 'shadow_berry', id: 'betterend:shadow_berry_cooked', saturation: 1, water: 5, fruit: 1.5, decay: 2 }
];
global.STONE_CHARACS = { // Sets of stone block properties used for block registry.
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' },
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' },
reconstituted: { sound: 'stone', type: null, mapColor: 'stone' },
light_concrete: { sound: 'stone', type: null, mapColor: 'color_light_gray' },
dark_concrete: { sound: 'stone', type: null, mapColor: 'color_gray' }
}
/** @type {Hammering[]} */
global.HAMMERING = [
global.HAMMERING = [ // Crushing relationships for manual block hammering, create press hammering and gtceu forge hammer crushing.
// 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 },