neuralgia/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js
2025-12-08 12:35:11 +00:00

273 lines
No EOL
8.4 KiB
JavaScript

"use strict";
function registerTFGWorldGenVenusDecoBlocks(event) {
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)
//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)
//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')
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)
//#region 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)
})
//#endregion
// Some more stone blocks from better end, for variety's sake
event.create('betterend:brimstone')
.soundType('tuff')
.mapColor('color_yellow')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
event.create('betterend:hydrothermal_vent', 'tfg:particle_emitter_decoration')
.soundType('dripstone_block')
.mapColor('dirt')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
.opaque(false)
.fullBlock(false)
.box(1, 0, 1, 15, 16, 15)
.notSolid()
.particleOffset(0.3, 1, 0.3)
.particleVelocity(0, 0.1, 0)
.particle('minecraft:large_smoke')
.particleCount(5)
.particleForced(true)
event.create('betterend:tube_worm', 'tfg:attached_decorative_plant')
.soundType('nether_wart')
.mapColor('terracotta_white')
.tagBlock('minecraft:replaceable')
.tagBlock('tfg:do_not_destroy_in_space')
event.create('betterend:lacugrove_bark')
.soundType('basalt')
.mapColor('podzol')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
event.create('betterend:lucernia_bark')
.soundType('netherrack')
.mapColor('wood')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
event.create('betterend:sulphur_crystal', 'tfg:decorative_plant')
.soundType('deepslate')
.mapColor('gold')
.box(3, 0, 3, 13, 6, 13)
const flavolite = [ 'flavolite', 'flavolite_bricks', 'flavolite_polished', 'flavolite_tiles' ];
flavolite.forEach(f => {
event.create(`betterend:${f}`)
.soundType('deepslate')
.mapColor('sand')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
})
event.create(`betterend:flavolite_pillar`)
.property(BlockProperties.AXIS)
.placementState((event) => event.set(BlockProperties.AXIS, event.clickedFace.axis))
.soundType('netherrack')
.mapColor('sand')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
const jadestone = [ 'sandy_jadestone', 'sandy_jadestone_bricks', 'sandy_jadestone_polished', 'sandy_jadestone_tiles' ];
jadestone.forEach(j => {
event.create(`betterend:${j}`)
.soundType('stone')
.mapColor('color_light_green')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
})
event.create(`betterend:sandy_jadestone_pillar`)
.property(BlockProperties.AXIS)
.placementState((event) => event.set(BlockProperties.AXIS, event.clickedFace.axis))
.soundType('stone')
.mapColor('color_light_green')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
const sulphuric_rock = [ 'sulphuric_rock', 'sulphuric_rock_bricks', 'sulphuric_rock_polished', 'sulphuric_rock_tiles' ];
sulphuric_rock.forEach(s => {
event.create(`betterend:${s}`)
.soundType('dripstone_block')
.mapColor('terracotta_light_gray')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
})
event.create(`betterend:sulphuric_rock_pillar`)
.placementState((event) => event.set(BlockProperties.AXIS, event.clickedFace.axis))
.property(BlockProperties.AXIS)
.soundType('dripstone_block')
.mapColor('terracotta_light_gray')
.requiresTool(true)
.tagBlock('minecraft:mineable/pickaxe')
}