"use strict"; const registerTFGBlocks = (event) => { registerTFGNetherBlocks(event) registerTFGSpaceBlocks(event) registerTFGSupportBlocks(event) registerTFGCrops(event) event.create('tfg:artificial_end_portal_frame') .stoneSoundType() .tagBlock('minecraft:mineable/pickaxe') .requiresTool(true) .fullBlock(true) .item(item => { item.modelJson({ parent: 'minecraft:block/end_portal_frame' }) }) event.create('tfg:dry_ice', 'tfg:particle_emitter') .textureAll('tfg:block/dry_ice') .soundType('bone_block') .hardness(1) .resistance(1) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('tfcambiental:cold_stuff') .defaultTranslucent() .mapColor('color_white') .speedFactor(1.2) .particleOffset(1, 1, 1) .particleVelocity(0.05, 0, 0.05) .particle('minecraft:campfire_cosy_smoke') .particleCount(2) .particleForced(false) event.create('tfg:exhaust_vent_particle', 'tfg:particle_emitter') .textureAll('tfg:block/titanium_concrete') .soundType('metal') .hardness(5) .resistance(6) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('minecraft:mineable/wrench') .mapColor('color_black') .speedFactor(1.1) .particleOffset(5, 1, 5) .particleVelocity(0.0, 0.1, 0.0) .particle('minecraft:campfire_signal_smoke') .particleCount(50) .particleForced(true) // #region Machine Casings global.TFG_MACHINE_CASINGS.forEach(type => { event.create(`tfg:casings/${type}`) .translationKey(`block.tfg.casings.${type}`) .model(`tfg:block/casings/${type}`) .soundType('copper') .hardness(5) .resistance(6) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('minecraft:mineable/wrench') .mapColor('color_light_gray') }) event.create(`tfg:casings/machine_casing_stainless_evaporation`) .translationKey(`block.tfg.casings.machine_casing_stainless_evaporation`) .model(`tfg:block/casings/machine_casing_stainless_evaporation`) .soundType('copper') .hardness(5) .resistance(6) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('minecraft:mineable/wrench') .mapColor('color_light_gray') event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active') .simple('tfg:block/casings/machine_casing_vacuum_engine_intake') .translationKey('block.tfg.casings.machine_casing_vacuum_engine_intake') .soundType('metal') .resistance(6).hardness(5) .tagBlock('mineable/pickaxe') .tagBlock('forge:mineable/wrench') .requiresTool(true) .mapColor('color_light_gray') event.create('tfg:casings/machine_casing_bioculture') .translationKey('block.tfg.casings.machine_casing_bioculture') .model('tfg:block/casings/machine_casing_bioculture') .soundType('copper') .hardness(5) .resistance(6) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('minecraft:mineable/wrench') .mapColor('color_red') event.create('tfg:casings/machine_casing_bioculture_glass') .translationKey('block.tfg.casings.machine_casing_bioculture_glass') .model('tfg:block/casings/machine_casing_bioculture_glass') .soundType('glass') .hardness(5) .resistance(6) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('minecraft:mineable/wrench') .mapColor('color_orange') .defaultTranslucent() event.create('tfg:casings/bioculture_rotor_primary', 'gtceu:active') .translationKey('block.tfg.casings.bioculture_rotor_primary') .model('tfg:block/casings/bioculture_rotor_primary') .soundType('copper') .hardness(5) .resistance(6) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('minecraft:mineable/wrench') .mapColor('color_light_gray') event.create('tfg:casings/bioculture_rotor_secondary', 'gtceu:active') .translationKey('block.tfg.casings.bioculture_rotor_secondary') .model('tfg:block/casings/bioculture_rotor_secondary') .soundType('copper') .hardness(5) .resistance(6) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('minecraft:mineable/wrench') .mapColor('color_light_gray') event.create('tfg:casings/machine_casing_ultraviolet', 'gtceu:active') .translationKey('block.tfg.casings.machine_casing_ultraviolet') .bloom('tfg:block/casings/machine_casing_ultraviolet') .soundType('glass') .hardness(5) .resistance(6) .tagBlock('minecraft:mineable/pickaxe') .tagBlock('minecraft:mineable/wrench') .mapColor('color_light_gray') //#endregion event.create('tfg:titanium_concrete') .translationKey('block.tfg.titanium_concrete') .model('tfg:block/concrete/titanium_concrete') .soundType('stone') .mapColor('stone') .tagBlock('minecraft:mineable/pickaxe') event.create('tfg:polished_titanium_concrete') .translationKey('block.tfg.polidhed_titanium_concrete') .model('tfg:block/concrete/polished_titanium_concrete') .soundType('stone') .mapColor('stone') .tagBlock('minecraft:mineable/pickaxe') // #region Decorative vases global.MINECRAFT_DYE_NAMES.forEach(color => { event.create(`tfg:decorative_vase/generated/${color}`, 'cardinal') .model(`tfg:block/decorative_vase/loot_vase_${color}`) .soundType('decorated_pot') .hardness(0.7) .tagBlock('minecraft:mineable/pickaxe') .mapColor(`color_${color}`) .box(2, 0, 2, 14, 20, 14) .fullBlock(false) .opaque(false) .renderType('cutout') event.create(`tfg:decorative_vase/${color}`, 'cardinal') .model(`tfg:block/decorative_vase/vase_${color}`) .soundType('decorated_pot') .hardness(0.7) .tagBlock('minecraft:mineable/pickaxe') .mapColor(`color_${color}`) .box(2, 0, 2, 14, 20, 14) .fullBlock(false) .opaque(false) .renderType('cutout') .blockEntity(be => { be.attach('tfc:inventory', { width: 9, height: 1, size: size => size.isSmallerThan('large') }) be.rightClickOpensInventory() }) event.create(`tfg:decorative_vase/unfired/${color}`, 'cardinal') .model(`tfg:block/decorative_vase/vase_unfired_${color}`) .soundType('decorated_pot') .hardness(0.7) .tagBlock('minecraft:mineable/pickaxe') .mapColor(`color_${color}`) .box(2, 0, 2, 14, 20, 14) .fullBlock(false) .opaque(false) .renderType('cutout') }) event.create('tfg:decorative_vase', 'cardinal') .model('tfg:block/decorative_vase/vase') .soundType('decorated_pot') .hardness(0.7) .tagBlock('minecraft:mineable/pickaxe') .mapColor(`color_gray`) .box(2, 0, 2, 14, 20, 14) .fullBlock(false) .opaque(false) .renderType('cutout') .blockEntity(be => { be.attach('tfc:inventory', { width: 9, height: 1, size: size => size.isSmallerThan('large') }) be.rightClickOpensInventory() }) event.create('tfg:decorative_vase/unfired', 'cardinal') .model('tfg:block/decorative_vase/vase_unfired') .soundType('decorated_pot') .hardness(0.7) .tagBlock('minecraft:mineable/pickaxe') .mapColor(`color_gray`) .box(2, 0, 2, 14, 20, 14) .fullBlock(false) .opaque(false) .renderType('cutout') // #endregion // #region Layer blocks event.create('tfg:ash_pile', 'tfg:layer_block') .existingItem('tfc:powder/wood_ash') .mapColor('color_light_gray') event.create('tfg:pile/black_sand', 'tfg:layer_block') .existingItem('tfc:sand/black') event.create('tfg:pile/brown_sand', 'tfg:layer_block') .existingItem('tfc:sand/brown') event.create('tfg:pile/green_sand', 'tfg:layer_block') .existingItem('tfc:sand/green') event.create('tfg:pile/pink_sand', 'tfg:layer_block') .existingItem('tfc:sand/pink') event.create('tfg:pile/red_sand', 'tfg:layer_block') .existingItem('tfc:sand/red') event.create('tfg:pile/white_sand', 'tfg:layer_block') .existingItem('tfc:sand/white') event.create('tfg:pile/yellow_sand', 'tfg:layer_block') .existingItem('tfc:sand/yellow') event.create('tfg:pile/mars_sand', 'tfg:layer_block') .existingItem('ad_astra:mars_sand') event.create('tfg:pile/moon_sand', 'tfg:layer_block') .existingItem('ad_astra:moon_sand') event.create('tfg:pile/venus_sand', 'tfg:layer_block') .existingItem('ad_astra:venus_sand') // #endregion // #region Reconstructed Stone event.create(`tfg:rock/stone_wall`, 'wall') .soundType('stone') .textureAll('minecraft:block/stone') .tagBoth('tfg:rock_wall') .mapColor('stone') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) let SHAPES = ['stairs', 'wall'] SHAPES.forEach(shape => { event.create(`tfg:rock/smooth_stone_${shape}`, shape) .soundType('stone') .textureAll('minecraft:block/smooth_stone') .tagBoth(`tfg:rock_${shape}s`.replace(/ss/g, 's')) .mapColor('stone') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) SHAPES = ['stairs', 'slab', 'wall'] SHAPES.forEach(shape => { event.create(`tfg:rock/cracked_bricks_stone_${shape}`, shape) .soundType('stone') .textureAll('minecraft:block/cracked_stone_bricks') .tagBoth(`tfg:brick_${shape}s`.replace(/ss/g, 's')) .mapColor('stone') .tagBlock('minecraft:mineable/pickaxe') .fullBlock(true) .opaque(true) }) // #endregion Reconstructed Stone }