shMonifactory/kubejs/startup_scripts/registry/block_registry.js
2025-09-14 20:52:18 +03:00

257 lines
7.7 KiB
JavaScript

/**
* Block Registry - defines ID, name,
* block properties, and block tags of custom blocks.
*/
StartupEvents.registry("block", event => {
// Compressed Blocks
event.create("compressed_sand")
.displayName("Compressed Sand")
.soundType("sand")
.resistance(1).hardness(1)
.tagBlock("mineable/shovel").requiresTool(true)
.property(BlockProperties.FALLING);
event.create("double_compressed_sand")
.displayName("Double Compressed Sand")
.soundType("sand")
.resistance(2).hardness(2)
.tagBlock("mineable/shovel").requiresTool(true)
.property(BlockProperties.FALLING);
event.create("compressed_red_sand")
.displayName("Compressed Red Sand")
.soundType("sand")
.resistance(1).hardness(1)
.tagBlock("mineable/shovel").requiresTool(true)
.property(BlockProperties.FALLING);
event.create("double_compressed_red_sand")
.displayName("Double Compressed Red Sand")
.soundType("sand")
.resistance(2).hardness(2)
.tagBlock("mineable/shovel").requiresTool(true)
.property(BlockProperties.FALLING);
event.create("infinity_dust_block", "falling")
.displayName("Infinity Dust Block")
.soundType("sand")
.resistance(0.6).hardness(0.5)
.tagBlock("mineable/shovel").requiresTool(true);
event.create("compressed_infinity_dust_block", "falling")
.displayName("Compressed Infinity Dust Block")
.soundType("sand")
.resistance(1).hardness(1)
.tagBlock("mineable/shovel").requiresTool(true);
event.create("double_compressed_infinity_dust_block", "falling")
.displayName("Double Compressed Infinity Dust Block")
.soundType("sand")
.resistance(2).hardness(2)
.tagBlock("mineable/shovel").requiresTool(true);
// Micro Miner Cores/Frames
event.create("electrum_micro_miner_core")
.displayName("Electrum Micro Miner Engine Core")
.soundType("metal")
.resistance(3)
.hardness(3)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true)
.defaultCutout();
event.create("signalum_micro_miner_core")
.displayName("Signalum Micro Miner Engine Core")
.soundType("metal")
.resistance(4)
.hardness(4)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true)
.defaultCutout();
event.create("enderium_micro_miner_core")
.displayName("Enderium Micro Miner Engine Core")
.soundType("metal")
.resistance(5)
.hardness(5)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true)
.defaultCutout();
event.create("electrum_micro_miner_frame")
.displayName("Electrum Micro Miner Engine Frame")
.soundType("metal")
.resistance(3)
.hardness(3)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true)
.defaultCutout();
event.create("signalum_micro_miner_frame")
.displayName("Signalum Micro Miner Engine Frame")
.soundType("metal")
.resistance(4)
.hardness(4)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true)
.defaultCutout();
event.create("enderium_micro_miner_frame")
.displayName("Enderium Micro Miner Engine Frame")
.soundType("metal")
.resistance(5)
.hardness(5)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true)
.defaultCutout();
event.create("warp_core")
.displayName("Warp Core")
.soundType("metal")
.resistance(6).hardness(5)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true);
event.create("warp_controller")
.displayName("Warp Controller")
.soundType("metal")
.resistance(6).hardness(5)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true);
event.create("universal_warp_core")
.displayName("Universal Warp Core")
.soundType("metal")
.resistance(6).hardness(5)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true);
event.create("universal_warp_controller")
.displayName("Universal Warp Controller")
.soundType("metal")
.resistance(6).hardness(5)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true);
// Dense Ores
const ores = [
"redstone",
"diamond",
"emerald",
"gold",
"lapis",
"iron",
"coal",
"copper",
"nether_quartz",
"oilsands"
]
ores.forEach(ore => {
event.create(`dense_${ore}_ore`)
.soundType("stone")
.resistance(6)
.hardness(5)
.tagBlock("mineable/pickaxe")
.tagBoth("forge:ores/dense")
.tagBoth(`forge:ores/dense/${ore}`)
.requiresTool(true);
});
event.create("dense_magma_block")
.soundType("stone")
.resistance(6)
.hardness(5)
.tagBlock("mineable/pickaxe")
.tagBoth("forge:ores/dense")
.tagBoth("forge:ores/dense/magma")
.requiresTool(true)
.lightLevel(1.0);
// Machine Casings
const casings = [
"microverse",
"dark_soularium",
"omnic_matrix_machine",
"dimensional_stabilization_netherite",
"cryolobus",
"bioalloy",
"bioalloy_fusion",
]
casings.forEach(casing => {
event.create(`${casing}_casing`)
.soundType("metal")
.resistance(6).hardness(5)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true);
});
// Misc
event.create("starry_diamond_block")
.displayName("Starry Diamatine Block")
.soundType("metal")
.resistance(6).hardness(5)
.tagBlock("mineable/pickaxe").requiresTool(true)
.textureAll("kubejs:block/microverse/starry_diamond_block");
event.create("dust", "falling")
.soundType("sand")
.resistance(0.4).hardness(0.4)
.tag("mineable/shovel").displayName("Dust Block")
.property(BlockProperties.FALLING);
event.create("dark_steel_machine_hull")
.displayName("Dark Steel Machine Hull")
.soundType("metal")
.resistance(6).hardness(5)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true);
event.create("excitationcoil", "cardinal")
.displayName("Excitation Coil")
.soundType("metal")
.renderType("cutout")
.box(3, 0, 3, 13, 1, 13)
.box(4, 1, 4, 12, 9, 12)
.tag("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.requiresTool(true);
event.create("omnic_matrix_coil_block", "gtceu:coil")
.temperature(12600)
.level(16)
.energyDiscount(16)
.tier(8)
.coilMaterial(() => GTMaterials.get("omnium"))
.hardness(5)
.requiresTool(true)
.tagBlock("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.soundType("metal")
event.create("meowni_plush", "cardinal")
.displayName("Meowni Plush")
.soundType("wool")
.renderType("cutout")
.tag("mineable/pickaxe")
.tagBlock("forge:mineable/wrench")
.defaultCutout();
});