349 lines
No EOL
10 KiB
JavaScript
349 lines
No EOL
10 KiB
JavaScript
"use strict";
|
|
|
|
function registerTFGWorldGenVenusDecoBlocks(event) {
|
|
|
|
event.create('tfg:geyser_source', 'tfg:particle_emitter_decoration')
|
|
.soundType('dripstone_block')
|
|
.mapColor('color_white')
|
|
.box(3, 0, 3, 13, 10, 13)
|
|
.resistance(6)
|
|
.hardness(1.5)
|
|
.particles(a => a
|
|
.range(0.3, 1, 0.3)
|
|
.velocity(0, 0.1, 0)
|
|
.particle('minecraft:campfire_signal_smoke')
|
|
.count(5)
|
|
.forced(true));
|
|
|
|
event.create('tfg:geyser_source_small', 'tfg:particle_emitter_decoration')
|
|
.soundType('dripstone_block')
|
|
.mapColor('color_white')
|
|
.box(3, 0, 3, 13, 10, 13)
|
|
.resistance(6)
|
|
.hardness(1.5)
|
|
.particles(a => a
|
|
.range(0.3, 1, 0.3)
|
|
.velocity(0, 0.05, 0)
|
|
.particle('minecraft:campfire_cosy_smoke')
|
|
.count(2)
|
|
.forced(false));
|
|
|
|
event.create('tfg:smoker_source', 'tfg:particle_emitter_decoration')
|
|
.soundType('dripstone_block')
|
|
.mapColor('color_gray')
|
|
.box(3, 0, 3, 13, 10, 13)
|
|
.resistance(6)
|
|
.hardness(1.5)
|
|
.particles(a => a
|
|
.range(0.3, 1, 0.3)
|
|
.velocity(0, 0.05, 0)
|
|
.particle('minecraft:campfire_cosy_smoke')
|
|
.count(1)
|
|
.forced(false));
|
|
|
|
event.create('tfg:lava_source', 'tfg:particle_emitter_decoration')
|
|
.soundType('dripstone_block')
|
|
.mapColor('color_black')
|
|
.box(3, 0, 3, 13, 10, 13)
|
|
.resistance(6)
|
|
.hardness(1.5)
|
|
.particles(a => a
|
|
.range(0.3, 0.5, 0.3)
|
|
.velocity(0, 0, 0)
|
|
.particle('lava')
|
|
.count(1)
|
|
.forced(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)
|
|
|
|
//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()
|
|
.particles(a => a
|
|
.range(0.3, 1, 0.3)
|
|
.velocity(0, 0.1, 0)
|
|
.particle('minecraft:large_smoke')
|
|
.count(2)
|
|
.forced(false));
|
|
|
|
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')
|
|
.tagBoth('tfc:rock/raw')
|
|
.tagBoth('forge:stone')
|
|
|
|
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)
|
|
|
|
|
|
event.create(`betterend:flavolite`, 'tfc:raw_rock')
|
|
.soundType('deepslate')
|
|
.mapColor('sand')
|
|
.requiresTool(true)
|
|
.tagBlock('minecraft:mineable/pickaxe')
|
|
.naturallySupported(false)
|
|
|
|
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 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:sandy_jadestone`, 'tfc:raw_rock')
|
|
.soundType('stone')
|
|
.mapColor('grass')
|
|
.requiresTool(true)
|
|
.tagBlock('minecraft:mineable/pickaxe')
|
|
.naturallySupported(false)
|
|
|
|
event.create(`betterend:sandy_jadestone_pillar`)
|
|
.property(BlockProperties.AXIS)
|
|
.placementState((event) => event.set(BlockProperties.AXIS, event.clickedFace.axis))
|
|
.soundType('stone')
|
|
.mapColor('grass')
|
|
.requiresTool(true)
|
|
.tagBlock('minecraft:mineable/pickaxe')
|
|
|
|
const jadestone = [ 'sandy_jadestone_bricks', 'sandy_jadestone_polished', 'sandy_jadestone_tiles' ];
|
|
jadestone.forEach(j => {
|
|
event.create(`betterend:${j}`)
|
|
.soundType('stone')
|
|
.mapColor('grass')
|
|
.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')
|
|
|
|
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')
|
|
})
|
|
|
|
// Plants
|
|
|
|
event.create('betterend:hydralux_sapling', 'tfg:decorative_plant')
|
|
.soundType('nether_wart')
|
|
.mapColor('green_terracotta')
|
|
.box(2, 0, 2, 14, 13, 14)
|
|
.tagBlock('tfg:do_not_destroy_in_space')
|
|
|
|
event.create('betterend:hydralux_small', 'tfg:tall_decorative_plant')
|
|
.height(4)
|
|
.soundType('nether_wart')
|
|
.mapColor('green_terracotta')
|
|
.box(3, 0, 3, 13, 16, 13)
|
|
.tagBoth('tfg:venus_plants')
|
|
.tagBlock('tfg:do_not_destroy_in_space')
|
|
|
|
event.create('betterend:hydralux_large', 'tfg:tall_decorative_plant')
|
|
.height(4)
|
|
.soundType('nether_wart')
|
|
.mapColor('green_terracotta')
|
|
.box(3, 0, 3, 13, 16, 13)
|
|
.tagBoth('tfg:venus_plants')
|
|
.tagBlock('tfg:do_not_destroy_in_space')
|
|
|
|
createPlant(event, "shadow_plant", "venus")
|
|
.box(3, 0, 3, 13, 10, 13)
|
|
|
|
event.create('betterend:twisted_vine', 'tfg:tall_decorative_plant')
|
|
.height(3)
|
|
.soundType('crop')
|
|
.mapColor('none')
|
|
.box(3, 0, 3, 13, 16, 13)
|
|
.tagBoth('tfg:venus_plants')
|
|
.tagBlock('tfg:do_not_destroy_in_space')
|
|
|
|
} |