LTDV10/packet/kubejs/server_scripts/Create Ore/cluster.js
2026-04-14 18:20:56 +08:00

113 lines
4.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ServerEvents.recipes((event) => {
event.remove({ mod: "createoreexcavation", type: "createoreexcavation:vein" })
event.remove({ mod: "createoreexcavation", type: "createoreexcavation:drilling" })
//主世界金属矿簇
event.recipes.createoreexcavation
.vein(
'{"text": "主世界金属矿簇"}',
"createdelight:overworld_metal_ore_cluster",
)
.placement(64, 8, 114514)
.biomeWhitelist("minecraft:is_overworld")
.id("kubejs:overworld_metal_ore_cluster_ore");
//主世界贵金属矿簇
event.recipes.createoreexcavation
.vein(
'{"text": "主世界贵金属矿簇"}',
"createdelight:overworld_noble_metal_ore_cluster",
)
.placement(128, 16, 721)
.biomeWhitelist("minecraft:is_overworld")
.id("kubejs:overworld_noble_metal_ore_cluster_ore");
//下界矿簇
event.recipes.createoreexcavation
.vein('{"text": "下界矿簇"}', "createdelight:nether_ore_cluster")
.placement(64, 8, 114514)
.biomeWhitelist("minecraft:is_nether")
.id("kubejs:nether_ore_cluster");
//月球矿簇
event.recipes.createoreexcavation
.vein('{"text": "月球矿簇"}', "createdelight:moon_ore_cluster")
.placement(64, 8, 114514)
.biomeWhitelist("createdelight:is_moon")
.id("kubejs:moon_ore_cluster_ore");
//火星矿簇
event.recipes.createoreexcavation
.vein('{"text": "火星矿簇"}', "createdelight:mars_ore_cluster")
.placement(64, 8, 114514)
.biomeWhitelist("createdelight:is_mars")
.id("kubejs:mars_ore_cluster_ore");
//火星宝石矿簇
event.recipes.createoreexcavation
.vein('{"text": "火星宝石矿簇"}', "createdelight:mars_gemstone_cluster")
.placement(128, 16, 721)
.biomeWhitelist("createdelight:is_mars")
.id("kubejs:mars_gemstone_cluster_ore");
//水星矿簇
event.recipes.createoreexcavation
.vein('{"text": "水星矿簇"}', "createdelight:mercury_ore_cluster")
.placement(64, 8, 114514)
.biomeWhitelist("createdelight:is_mercury")
.id("kubejs:mercury_ore_cluster_ore");
//金星矿簇
event.recipes.createoreexcavation
.vein('{"text": "金星矿簇"}', "createdelight:venus_ore_cluster")
.placement(128, 16, 721)
.biomeWhitelist("createdelight:is_venus")
.id("kubejs:venus_ore_cluster_ore")
//霜原星矿簇
event.recipes.createoreexcavation
.vein('{"text": "霜原星矿簇"}', "createdelight:glacio_ore_cluster")
.placement(128, 16, 721)
.biomeWhitelist("createdelight:is_glacio")
.id("kubejs:glacio_ore_cluster_ore");
/**
*
* @param {OutputItem_|OutputItem_[]} output //矿脉产出
* @param {string} veinId //矿脉id
* @param {Internal.FluidStackJS} baseFluid //基础流体必须要用Fluid.xx指定流体量
* @param {number} baseStress //基础应力消耗
* @param {number} baseProcessingTime //基础工作时间
* @param {number} level //所需润滑油的最低等级()
*/
function drilling(output, veinId, baseFluid, baseStress, baseProcessingTime, level) {
let fluidArr = ["createdelight:ice_lubricating_oil", "createdelight:lubricating_oil", baseFluid]
let l = fluidArr.length + 1 - level
let processingTimeMulti = [0.1, 0.2, 1]
let stressMulti = [0.5, 0.75, 1]
let fluidAmountMulti = [0.05, 0.1, 1]
let drill = ["createoreexcavation:netherite_drill", "createoreexcavation:diamond_drill", "createoreexcavation:drill"]
for (let index = 0; index < l; index++) {
let fluid = Fluid.of(fluidArr[index], baseFluid.amount * fluidAmountMulti[index]);
event.recipes.createoreexcavation
.drilling(
output,
veinId,
baseProcessingTime * processingTimeMulti[index],
)
.fluid(fluid)
.drill(drill[index])
.stress(baseStress * stressMulti[index])
.id(`kubejs:${output.split(":")[1]}_using_${fluid.id.split(":")[1]}`)
}
}
drilling("createdelight:overworld_metal_ore_cluster", "kubejs:overworld_metal_ore_cluster_ore", Fluid.water(500), 1024, 8000, 1)
drilling("createdelight:overworld_noble_metal_ore_cluster", "kubejs:overworld_noble_metal_ore_cluster_ore", Fluid.water(500), 1536, 10000, 1)
drilling("createdelight:nether_ore_cluster", "kubejs:nether_ore_cluster", Fluid.lava(500), 2048, 12000, 1)
drilling("createdelight:moon_ore_cluster", "kubejs:moon_ore_cluster_ore", Fluid.of("netherexp:ectoplasm", 500), 1024, 4000, 1)
drilling("createdelight:mars_ore_cluster", "kubejs:mars_ore_cluster_ore", Fluid.of("netherexp:ectoplasm", 500), 1536, 4000, 2)
drilling("createdelight:mars_gemstone_cluster", "kubejs:mars_gemstone_cluster_ore", Fluid.of("netherexp:ectoplasm", 500), 2048, 4000, 2)
drilling("createdelight:mercury_ore_cluster", "kubejs:mercury_ore_cluster_ore", Fluid.lava(1000), 2048, 2000, 3)
drilling("createdelight:venus_ore_cluster", "kubejs:venus_ore_cluster_ore", Fluid.lava(500), 2048, 8000, 3)
drilling("createdelight:glacio_ore_cluster", "kubejs:glacio_ore_cluster_ore", Fluid.of("netherexp:ectoplasm", 1000), 2048, 2000, 3)
});