"use strict"; function registerTFGSpaceBlocks(event) { // #region Dimension markers event.create('tfg:marker/moon') .stoneSoundType() .item(item => { item.modelJson({ parent: 'tfg:block/marker/moon' }) }) .tagBlock('c:hidden_from_recipe_viewers') .fullBlock(true) .opaque(true) event.create('tfg:marker/mars') .stoneSoundType() .item(item => { item.modelJson({ parent: 'tfg:block/marker/mars' }) }) .tagBlock('c:hidden_from_recipe_viewers') .fullBlock(true) .opaque(true) event.create('tfg:marker/venus') .stoneSoundType() .item(item => { item.modelJson({ parent: 'tfg:block/marker/venus' }) }) .tagBlock('c:hidden_from_recipe_viewers') .fullBlock(true) .opaque(true) event.create('tfg:marker/mercury') .stoneSoundType() .item(item => { item.modelJson({ parent: 'tfg:block/marker/mercury' }) }) .tagBlock('c:hidden_from_recipe_viewers') .fullBlock(true) .opaque(true) event.create('tfg:marker/glacio') .stoneSoundType() .item(item => { item.modelJson({ parent: 'tfg:block/marker/glacio' }) }) .tagBlock('c:hidden_from_recipe_viewers') .fullBlock(true) .opaque(true) // #endregion Dimension markers const SHAPES = ['stairs', 'slab', 'wall'] const AA_REGULAR_STONES = ['moon', 'mars', 'venus', 'mercury', 'glacio'] // #region Raw Stones event.create('tfg:rock/moon_stone_wall', 'wall') .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/moon_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/moon_deepslate_${shape}`, shape) .soundType(global.STONE_CHARACS.moon_deepslate.sound) .textureAll('ad_astra:block/moon_deepslate') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mars_stone_wall', 'wall') .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/mars_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/venus_stone_wall', 'wall') .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/venus_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mercury_stone_wall', 'wall') .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/mercury_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/glacio_stone_wall', 'wall') .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/glacio_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/permafrost_${shape}`, shape) .soundType(global.STONE_CHARACS.permafrost.sound) .textureAll('ad_astra:block/permafrost') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) SHAPES.forEach(shape => { event.create(`tfg:rock/red_granite_${shape}`, shape) .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/stone') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // #endregion Raw Stones // #region Hardened Stones event.create('tfg:rock/hardened_moon_stone') .soundType(global.STONE_CHARACS.moon.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/moon_stone' }) }) .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/moon_deepslate' }) }) .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_mars_stone') .soundType(global.STONE_CHARACS.mars.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/mars_stone' }) }) .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_venus_stone') .soundType(global.STONE_CHARACS.venus.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/venus_stone' }) }) .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_mercury_stone') .soundType(global.STONE_CHARACS.mercury.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/mercury_stone' }) }) .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_glacio_stone') .soundType(global.STONE_CHARACS.glacio.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'ad_astra:item/glacio_stone' }) }) .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/hardened_red_granite') .soundType(global.STONE_CHARACS.red_granite.sound) .requiresTool(true) .item(item => { item.modelJson({ parent: 'gtceu:item/red_granite' }) }) .tagBlock('tfc:can_carve') .tagBoth('forge:stone') .tagBoth('tfc:rock/hardened') .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) // #endregion Hardened Stones // #region Loose Stones event.create('tfg:loose/moon_stone', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.moon.sound) .itemTexture('tfg:item/loose/moon_stone') .rockTypeModel(global.STONE_CHARACS.moon.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem(`tfc:${global.STONE_CHARACS.moon.type}_rock`) .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/moon_deepslate', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .itemTexture('tfg:item/loose/moon_deepslate') .rockTypeModel(global.STONE_CHARACS.moon_deepslate.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_rock`) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/mars_stone', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.mars.sound) .itemTexture('tfg:item/loose/mars_stone') .rockTypeModel(global.STONE_CHARACS.mars.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem(`tfc:${global.STONE_CHARACS.mars.type}_rock`) .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/venus_stone', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.venus.sound) .itemTexture('tfg:item/loose/venus_stone') .rockTypeModel(global.STONE_CHARACS.venus.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem(`tfc:${global.STONE_CHARACS.venus.type}_rock`) .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/mercury_stone', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.mercury.sound) .itemTexture('tfg:item/loose/mercury_stone') .rockTypeModel(global.STONE_CHARACS.mercury.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem(`tfc:${global.STONE_CHARACS.mercury.type}_rock`) .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/glacio_stone', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.glacio.sound) .itemTexture('tfg:item/loose/glacio_stone') .rockTypeModel(global.STONE_CHARACS.glacio.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem(`tfc:${global.STONE_CHARACS.glacio.type}_rock`) .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .tagItem("rnr:loose_rock_items") event.create('tfg:loose/permafrost', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.permafrost.sound) .itemTexture('tfg:item/loose/permafrost') .rockTypeModel(global.STONE_CHARACS.permafrost.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem("rnr:loose_rock_items") event.create('tfg:loose/red_granite', 'tfc:loose_rock') .soundType(global.STONE_CHARACS.red_granite.sound) .itemTexture('tfg:item/loose/red_granite') .rockTypeModel(global.STONE_CHARACS.red_granite.type) .tagBlock('tfc:loose_rocks') .tagItem('tfc:any_knapping') .tagItem('tfc:rock_knapping') .tagItem(`tfc:${global.STONE_CHARACS.red_granite.type}_rock`) .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .tagItem("rnr:loose_rock_items") // #endregion Loose stones // #region Spikes event.create('tfg:spike/moon_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/moon_stone') .soundType(global.STONE_CHARACS.moon.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) event.create('tfg:spike/moon_deepslate_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) event.create('tfg:spike/mars_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/mars_stone') .soundType(global.STONE_CHARACS.mars.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) event.create('tfg:spike/venus_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/venus_stone') .soundType(global.STONE_CHARACS.venus.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) event.create('tfg:spike/mercury_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/mercury_stone') .soundType(global.STONE_CHARACS.mercury.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) event.create('tfg:spike/glacio_stone_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/glacio_stone') .soundType(global.STONE_CHARACS.glacio.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) event.create('tfg:spike/permafrost_spike', 'tfc:rock_spike') .textureAll('ad_astra:block/permafrost') .soundType(global.STONE_CHARACS.permafrost.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) event.create('tfg:spike/red_granite_spike', 'tfc:rock_spike') .textureAll('gtceu:block/stones/red_granite/stone') .soundType(global.STONE_CHARACS.red_granite.sound) .tagBlock('minecraft:mineable/pickaxe') .hardness(0.8) .resistance(0.8) .requiresTool(true) // #endregion Spikes // #region Cobblestones // Moon event.create('tfg:rock/cobble_moon_wall', 'wall') .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/moon_cobblestone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_moon') .soundType(global.STONE_CHARACS.moon.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_moon_${shape}`, shape) .soundType(global.STONE_CHARACS.moon.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // Moon Deepslate event.create('tfg:rock/cobble_moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_moon_deepslate_${shape}`, shape) .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_cobble_moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_moon_deepslate_${shape}`, shape) .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // Mars event.create('tfg:rock/cobble_mars_wall', 'wall') .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/mars_cobblestone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_mars') .soundType(global.STONE_CHARACS.mars.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_mars_${shape}`, shape) .soundType(global.STONE_CHARACS.mars.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // Venus event.create('tfg:rock/cobble_venus_wall', 'wall') .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/venus_cobblestone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_venus') .soundType(global.STONE_CHARACS.venus.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_venus_${shape}`, shape) .soundType(global.STONE_CHARACS.venus.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // Mercury event.create('tfg:rock/cobble_mercury_wall', 'wall') .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/mercury_cobblestone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_mercury') .soundType(global.STONE_CHARACS.mercury.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_mercury_${shape}`, shape) .soundType(global.STONE_CHARACS.mercury.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // Glacio event.create('tfg:rock/cobble_glacio_wall', 'wall') .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/glacio_cobblestone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/mossy_cobble_glacio') .soundType(global.STONE_CHARACS.glacio.sound) .tagBoth('forge:cobblestone') .tagBoth('forge:cobblestone/normal') .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_glacio_${shape}`, shape) .soundType(global.STONE_CHARACS.glacio.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // Permafrost event.create('tfg:rock/cobble_permafrost') .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth('forge:cobblestone') .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_permafrost_${shape}`, shape) .textureAll('ad_astra:block/permafrost_top') .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_cobble_permafrost') .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth('forge:cobblestone') .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_permafrost_${shape}`, shape) .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // Red Granite SHAPES.forEach(shape => { event.create(`tfg:rock/cobble_red_granite_${shape}`, shape) .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/cobble') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_cobble_red_granite_${shape}`, shape) .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/cobble_mossy') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // #endregion Cobblestones // #region Gravels event.create('tfg:rock/gravel_moon') .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) event.create('tfg:rock/gravel_moon_deepslate') .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) event.create('tfg:rock/gravel_mars') .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) event.create('tfg:rock/gravel_venus') .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) event.create('tfg:rock/gravel_mercury') .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) event.create('tfg:rock/gravel_glacio') .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) event.create('tfg:rock/gravel_permafrost') .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) event.create('tfg:rock/gravel_red_granite') .soundType('gravel') .tagBoth('forge:gravel') .tagBoth('tfc:rock/gravel') .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/shovel') .tagBlock('tfc:can_landslide') .fullBlock(true) .opaque(true) // #endregion Gravels // #region Smooth (Polished/Cut) Stones event.create('tfg:rock/polished_moon_wall', 'wall') .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/polished_moon_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('forge:smooth_stone') .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .tagBoth('tfc:rock/smooth') .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/polished_moon_deepslate_${shape}`, shape) .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/polished_mars_wall', 'wall') .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/polished_mars_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_venus_wall', 'wall') .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/polished_venus_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_mercury_wall', 'wall') .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/polished_mercury_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_glacio_wall', 'wall') .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/polished_glacio_stone') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/polished_permafrost_wall', 'wall') .soundType(global.STONE_CHARACS.permafrost.sound) .textureAll('ad_astra:block/polished_permafrost') .tagBoth('tfg:rock_walls') .tagBoth(`tfc:${global.STONE_CHARACS.permafrost.type}_items`) .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/polished_red_granite_${shape}`, shape) .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/polished') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // #endregion Smooth (Polished/Cut) Stones // #region Bricks / Decorative // Moon Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_moon_${shape}`, shape) .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/cracked_moon_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_moon') .soundType(global.STONE_CHARACS.moon.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_moon_${shape}`, shape) .soundType(global.STONE_CHARACS.moon.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_moon_wall', 'wall') .soundType(global.STONE_CHARACS.moon.sound) .textureAll('ad_astra:block/chiseled_moon_stone_bricks') .tagBoth('tfg:brick_walls') .tagBoth(`tfc:${global.STONE_CHARACS.moon.type}_items`) .mapColor(global.STONE_CHARACS.moon.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) // Moon Deepslate event.create('tfg:rock/bricks_moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/bricks_moon_deepslate_${shape}`, shape) .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/cracked_bricks_moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/cracked_bricks') .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_moon_deepslate_${shape}`, shape) .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_moon_deepslate_${shape}`, shape) .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/chiseled_bricks') .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/chiseled_bricks_moon_deepslate_${shape}`, shape) .soundType(global.STONE_CHARACS.moon_deepslate.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/pillar_moon_deepslate') .soundType(global.STONE_CHARACS.moon_deepslate.sound) .property(BlockProperties.AXIS) .placementState(event => event.set(BlockProperties.AXIS, event.clickedFace.axis)) .tagBoth(`tfc:${global.STONE_CHARACS.moon_deepslate.type}_items`) .mapColor(global.STONE_CHARACS.moon_deepslate.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) // Mars Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_mars_${shape}`, shape) .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/cracked_mars_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_mars') .soundType(global.STONE_CHARACS.mars.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_mars_${shape}`, shape) .soundType(global.STONE_CHARACS.mars.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_mars_wall', 'wall') .soundType(global.STONE_CHARACS.mars.sound) .textureAll('ad_astra:block/chiseled_mars_stone_bricks') .tagBoth('tfg:brick_walls') .tagBoth(`tfc:${global.STONE_CHARACS.mars.type}_items`) .mapColor(global.STONE_CHARACS.mars.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) // Venus Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_venus_${shape}`, shape) .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/cracked_venus_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_venus') .soundType(global.STONE_CHARACS.venus.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_venus_${shape}`, shape) .soundType(global.STONE_CHARACS.venus.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_venus_wall', 'wall') .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/chiseled_venus_stone_bricks') .tagBoth('tfg:brick_walls') .tagBoth(`tfc:${global.STONE_CHARACS.venus.type}_items`) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) // Mercury Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_mercury_${shape}`, shape) .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/cracked_mercury_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_mercury') .soundType(global.STONE_CHARACS.mercury.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_mercury_${shape}`, shape) .soundType(global.STONE_CHARACS.mercury.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_mercury_wall', 'wall') .soundType(global.STONE_CHARACS.mercury.sound) .textureAll('ad_astra:block/chiseled_mercury_stone_bricks') .tagBoth('tfg:brick_walls') .tagBoth(`tfc:${global.STONE_CHARACS.mercury.type}_items`) .mapColor(global.STONE_CHARACS.mercury.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) // Glacio Stone SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_glacio_${shape}`, shape) .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/cracked_glacio_stone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_glacio') .soundType(global.STONE_CHARACS.glacio.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_glacio_${shape}`, shape) .soundType(global.STONE_CHARACS.glacio.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_glacio_wall', 'wall') .soundType(global.STONE_CHARACS.glacio.sound) .textureAll('ad_astra:block/chiseled_glacio_stone_bricks') .tagBoth('tfg:brick_walls') .tagBoth(`tfc:${global.STONE_CHARACS.glacio.type}_items`) .mapColor(global.STONE_CHARACS.glacio.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) // Permafrost SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_permafrost_${shape}`, shape) .soundType(global.STONE_CHARACS.permafrost.sound) .textureAll('ad_astra:block/cracked_permafrost_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.permafrost.type}_items`) .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/mossy_bricks_permafrost') .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth('minecraft:stone_bricks') .tagBoth('forge:stone_bricks') .tagBoth('tfc:rock/bricks') .tagBoth('tfc:rock/mossy_bricks') .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_permafrost_${shape}`, shape) .soundType(global.STONE_CHARACS.permafrost.sound) .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) event.create('tfg:rock/chiseled_bricks_permafrost_wall', 'wall') .soundType(global.STONE_CHARACS.permafrost.sound) .textureAll('ad_astra:block/chiseled_permafrost_bricks') .tagBoth('tfg:brick_walls') .mapColor(global.STONE_CHARACS.permafrost.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) // Red Granite SHAPES.forEach(shape => { event.create(`tfg:rock/bricks_red_granite_${shape}`, shape) .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_red_granite_${shape}`, shape) .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/bricks_cracked') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) SHAPES.forEach(shape => { event.create(`tfg:rock/mossy_bricks_red_granite_${shape}`, shape) .soundType(global.STONE_CHARACS.red_granite.sound) .textureAll('gtceu:block/stones/red_granite/bricks_mossy') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .tagBoth(`tfc:${global.STONE_CHARACS.red_granite.type}_items`) .mapColor(global.STONE_CHARACS.red_granite.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // #endregion Bricks / Decorative // #region Sandstone event.create('tfg:rock/smooth_red_sandstone_wall', 'wall') .soundType('stone') .textureAll('minecraft:block/red_sandstone_top') .mapColor('teracotta_red') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/cut_red_sandstone_stairs', 'stairs') .soundType('stone') .textureAll('minecraft:block/cut_red_sandstone') .mapColor('teracotta_red') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/cut_red_sandstone_wall', 'wall') .soundType('stone') .textureAll('minecraft:block/cut_red_sandstone') .mapColor('teracotta_red') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/bricks_venus_sandstone_wall', 'wall') .soundType('stone') .textureAll('ad_astra:block/venus_sandstone_bricks') .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_venus_sandstone_${shape}`, shape) .soundType(global.STONE_CHARACS.venus.sound) .textureAll('ad_astra:block/cracked_venus_sandstone_bricks') .tagBoth(`tfg:brick_${shape}`.replace(/ss/g, 's')) .mapColor(global.STONE_CHARACS.venus.mapColor) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // #endregion Sandstone // #region Plants /* Custom TFG Builder information https://github.com/TerraFirmaGreg-Team/Modpack-Modern/wiki/%5BEN%5D-TFG-Custom-Kubejs-Scripts */ event.create('tfg:lunar_roots', 'tfg:decorative_plant') .soundType('nether_wart') .lightLevel(0.4) .tagItem('tfg:moon_plants') .tagBlock('minecraft:replaceable') event.create('tfg:lunar_sprouts', 'tfg:decorative_plant') .soundType('nether_wart') .tagItem('tfg:moon_plants') .tagBlock('minecraft:replaceable') event.create('tfg:corallium_arenicolus_0', 'tfg:tall_decorative_plant') .height(2) .soundType('nether_wart') .tagItem('tfg:venus_plants') .lightLevel(0.4) .renderType('translucent') event.create('tfg:corallium_arenicolus_1', 'tfg:decorative_plant') .soundType('nether_wart') .tagItem('tfg:venus_plants') .box(3, 0, 3, 13, 14, 13) event.create('tfg:corallium_arenicolus_2', 'tfg:decorative_plant') .soundType('nether_wart') .tagItem('tfg:venus_plants') .renderType('translucent') .box(0, 0, 0, 16, 4, 16) event.create('tfg:corallium_arenicolus_3', 'tfg:decorative_plant') .soundType('nether_wart') .tagItem('tfg:venus_plants') .box(3, 0, 3, 13, 14, 13) event.create('tfg:corallium_arenicolus_4', 'tfg:decorative_plant') .soundType('nether_wart') .tagItem('tfg:venus_plants') .box(3, 0, 3, 13, 14, 13) event.create('tfg:corallium_arenicolus_5', 'tfg:decorative_plant') .soundType('nether_wart') .tagItem('tfg:venus_plants') .box(3, 0, 3, 13, 14, 13) event.create('tfg:geyser_source', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') .mapColor('color_white') .resistance(6) .hardness(1.5) .particleOffset(0.3, 1, 0.3) .particleVelocity(0, 0.1, 0) .particle('minecraft:campfire_signal_smoke') .particleCount(5) .particleForced(true) event.create('tfg:geyser_source_small', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') .mapColor('color_white') .resistance(6) .hardness(1.5) .particleOffset(0.3, 1, 0.3) .particleVelocity(0, 0.05, 0) .particle('minecraft:campfire_cosy_smoke') .particleCount(2) .particleForced(false) event.create('tfg:stromatolite_cluster_small', 'tfg:decorative_plant') .soundType('dripstone_block') .mapColor('color_brown') .box(3, 0, 3, 13, 6, 13) event.create('tfg:stromatolite_cluster_medium', 'tfg:decorative_plant') .soundType('dripstone_block') .mapColor('color_brown') .box(3, 0, 3, 13, 14, 13) // #endregion // #region Mars Blocks event.create('tfg:spice', 'tfg:particle_emitter') .textureAll('tfg:block/sand_spice') .soundType('sand') .hardness(2) .resistance(6) // makes it invisible on xaeros, so people can't use it to find the deposits :) .mapColor('none') .particleOffset(0.3, 1.5, 0.3) .particleVelocity(0, 0.05, 0) .particle('electric_spark') .particleCount(2) .particleForced(false) .fullBlock(true) .opaque(true) event.create('tfg:groundcover/glider_feather', 'tfc:ground_cover') .box(4, 0, 4, 12, 2, 12) .soundType('wool') .groundCoverModelShape('feather') .withPreexistingItem('wan_ancient_beasts:glider_feather') .textureAll('wan_ancient_beasts:item/glider_feather') .tagBlock('tfc:can_be_snow_piled') event.create('tfg:groundcover/wraptor_feather', 'tfc:ground_cover') .box(4, 0, 4, 12, 2, 12) .soundType('wool') .groundCoverModelShape('feather') .withPreexistingItem('minecraft:feather') .textureAll('tfg:item/wraptor_wool') .tagBlock('tfc:can_be_snow_piled') event.create('tfg:groundcover/aeronos_stick', 'tfc:ground_cover') .box(3, 0, 3, 13, 3, 13) .groundCoverModelShape('twig') .withPreexistingItem('tfg:twigs/aeronos') .tagBlock('tfc:can_be_snow_piled') .texture('particle', 'ad_astra:block/aeronos_stem') .texture('all', 'ad_astra:block/aeronos_stem') .texture('top', 'ad_astra:block/aeronos_stem_inside') event.create('tfg:groundcover/strophar_stick', 'tfc:ground_cover') .box(3, 0, 3, 13, 3, 13) .groundCoverModelShape('twig') .withPreexistingItem('tfg:twigs/strophar') .tagBlock('tfc:can_be_snow_piled') .texture('particle', 'ad_astra:block/strophar_stem') .texture('all', 'ad_astra:block/strophar_stem') .texture('top', 'ad_astra:block/strophar_stem_inside') event.create('tfg:groundcover/glacian_stick', 'tfc:ground_cover') .box(3, 0, 3, 13, 3, 13) .groundCoverModelShape('twig') .withPreexistingItem('tfg:twigs/glacian') .tagBlock('tfc:can_be_snow_piled') .texture('particle', 'ad_astra:block/glacian_log') .texture('all', 'ad_astra:block/glacian_log') .texture('top', 'ad_astra:block/glacian_log_top') event.create('tfg:groundcover/alphacene_stick', 'tfc:ground_cover') .box(3, 0, 3, 13, 3, 13) .groundCoverModelShape('twig') .withPreexistingItem('tfg:twigs/alphacene') .tagBlock('tfc:can_be_snow_piled') .texture('particle', 'species:block/alphacene_mushroom_block') .texture('all', 'species:block/alphacene_mushroom_block') .texture('top', 'minecraft:block/mushroom_stem') // #endregion //#region Venus Blocks //Fluorapatite const fluorapatite_colors = ['blue', 'green', 'brown', 'orange', 'white', 'yellow']; fluorapatite_colors.forEach(color => { const mapColor = color === 'white' ? 'quartz' : `color_${color}`; //Sand event.create(`tfg:sand/fluorapatite/${color}`, 'falling') .textureAll(`tfg:block/planets/venus/sand_fluorapatite_${color}`) .soundType('sand') .requiresTool(false) .tagBoth('forge:sand') .tagItem('forge:sand/fluorapatite') .tagBlock('minecraft:mineable/shovel') .mapColor(mapColor) .fullBlock(true) .opaque(true) //Raw Sandstone event.create(`tfg:sandstone/raw/fluorapatite/${color}`) .textureAll(`tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`) .texture('up', `tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) .hardness(0.8) .resistance(0.8) .soundType('stone') .requiresTool(true) .tagBoth('forge:sandstone') .tagItem('forge:sandstone/fluorapatite') .tagBlock('minecraft:mineable/pickaxe') .mapColor(mapColor) .fullBlock(true) .opaque(true) //Smooth Sandstone event.create(`tfg:sandstone/smooth/fluorapatite/${color}`) .textureAll(`tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) .hardness(0.8) .resistance(0.8) .soundType('stone') .requiresTool(true) .tagBoth('forge:sandstone') .tagItem('forge:sandstone/fluorapatite') .tagBlock('minecraft:mineable/pickaxe') .mapColor(mapColor) .fullBlock(true) .opaque(true) //Chiseled Sandstone event.create(`tfg:sandstone/smooth/chiseled/fluorapatite/${color}`) .textureAll(`tfg:block/planets/venus/sandstone_chiseled_fluorapatite_${color}`) .texture('up', `tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) .texture('down', `tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`) .hardness(0.8) .resistance(0.8) .soundType('stone') .requiresTool(true) .tagBoth('forge:sandstone') .tagItem('forge:sandstone/fluorapatite') .tagBlock('minecraft:mineable/pickaxe') .mapColor(mapColor) .fullBlock(true) .opaque(true) //Sandstone event.create(`tfg:sandstone/fluorapatite/${color}`) .textureAll(`tfg:block/planets/venus/sandstone_fluorapatite_${color}`) .texture('down', `tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`) .texture('up', `tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`) .hardness(0.8) .resistance(0.8) .soundType('stone') .requiresTool(true) .tagBoth('forge:sandstone') .tagItem('forge:sandstone/fluorapatite') .tagBlock('minecraft:mineable/pickaxe') .mapColor(mapColor) .fullBlock(true) .opaque(true) }) //#region Venus Stone //Stromatolite event.create('tfg:rock/raw/stromatolite', 'tfc:raw_rock') .textureAll('tfg:block/planets/venus/stromatolite_spike') .model('tfg:block/rock/stromatolite_block') .rockTypeTooltip(Text.translatable('tooltip.tfg.sedimentary')) .naturallySupported(true) .sedimentary() .renderType('cutout') .soundType('dripstone_block') .requiresTool(true) .hardness(0.8) .resistance(0.8) .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:rock/spike/stromatolite', 'tfc:rock_spike') .textureAll('tfg:block/planets/venus/stromatolite_spike') .soundType('dripstone_block') .hardness(0.8) .resistance(0.8) .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') //Geyserite event.create('tfg:rock/raw/geyserite', 'tfc:raw_rock') .textureAll('tfg:block/planets/venus/geyserite') .rockTypeTooltip(Text.translatable('tooltip.tfg.sedimentary')) .naturallySupported(true) .mapColor('quartz') .sedimentary() .soundType('dripstone_block') .requiresTool(true) .hardness(0.8) .resistance(0.8) .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:rock/spike/geyserite', 'tfc:rock_spike') .textureAll('tfg:block/planets/venus/geyserite') .soundType('dripstone_block') .mapColor('quartz') .hardness(0.8) .resistance(0.8) .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') // Halite event.create('tfg:rock/halite') .mapColor('quartz') .soundType('deepslate') .hardness(0.8) .resistance(0.8) .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) event.create('tfg:rock/halite2') .mapColor('snow') .soundType('deepslate') .hardness(0.8) .resistance(0.8) .requiresTool(true) .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }