neuralgia/kubejs/startup_scripts/tfg/blocks.space.js
2025-10-12 18:29:52 +01:00

1608 lines
No EOL
54 KiB
JavaScript

"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 => {
//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(`color_${color}`)
.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(`color_${color}`)
.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(`color_${color}`)
.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(`color_${color}`)
.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(`color_${color}`)
.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)
.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')
.hardness(0.8)
.resistance(0.8)
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
}