neuralgia/kubejs/startup_scripts/tfg/blocks.js
Adrien Vidal 0a8e68e7d0
[Molden] Stone TFG-fication continued (#1845)
* Fixed some rock type tags

* Nether mossy cobbles

* nether mossy bricks

* mossy bricks

* nether brick recipes + deepstate sets + typos

* cobble interaction index

* reformatting tables

* Region delimiters for stone blocks

* More shaped sets + deepslate recipes

+ missing landslide recipes
+ tables formatting for readability

* Other nether shaped blocks

+ A bit or reorganizing of recipes.rocks.js

* Many Space Stone Blocks

+ Stone Declaration Refactor
+ Many typo fixes
+ Moon Stone Recipes
+ Some Missing tags

* Tags Refactor + Missing Blocks

* definition fix

* remove console debugs

* Space stones cutting & Interractions

+ Breaker Duping Reformat
+ Missing Dripstone Brick
+ Missing Red Granite recipes
+ Misc bugfixes

* small fix

* Vanilla Stone + Red Sandstone Fix

+ Duper loop fix

* Undo .gitignore changes

* Venus sandstone stuff
2025-09-16 15:54:54 -05:00

283 lines
8.1 KiB
JavaScript

"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)
// #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
// #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 Deprecated
event.create('treetap:tap')
.requiresTool(false)
.textureAll('tfg:item/deprecated')
event.create('tfcea:refrigerator')
.requiresTool(false)
.textureAll('tfg:item/deprecated')
// #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/smooth_stone')
.tagBoth(`tfg:brick_${shape}s`.replace(/ss/g, 's'))
.mapColor('stone')
.tagBlock('minecraft:mineable/pickaxe')
.fullBlock(true)
.opaque(true)
})
// #endregion Reconstructed Stone
}