2026-02-28 21:10:56 -03:00

131 lines
11 KiB
JavaScript

// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
// As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.
var miningDimOres = [
{path: 'runic_stone', id:'allthemodium:runic_stone', min:65, max:250,size:4, count:1, stoneReplaces:"forbidden_arcanus:runic_stone", deepslateReplaces:"forbidden_arcanus:runic_deepslate", endStoneReplaces:null, netherrackReplaces:null},
{path: 'arcane_crystal_ore', id:'allthemodium:arcane_crystal_ore', min:65, max:250,size:4, count:1, stoneReplaces:"forbidden_arcanus:arcane_crystal_ore", deepslateReplaces:"forbidden_arcanus:deepslate_arcane_crystal_ore", endStoneReplaces:null, netherrackReplaces:null},
{path: 'uraninite_ore', id:'allthemodium:uraninite_ore', min:65, max:250,size:8, count:8, stoneReplaces:"powah:uraninite_ore", deepslateReplaces:"powah:deepslate_uraninite_ore", endStoneReplaces:null, netherrackReplaces:null},
{path: 'inferium_ore', id:'allthemodium:inferium_ore', min:65, max:250,size:8, count:16, stoneReplaces:"mysticalagriculture:inferium_ore", deepslateReplaces:"mysticalagriculture:deepslate_inferium_ore", endStoneReplaces:null, netherrackReplaces:null},
{path: 'aggra_inferium_ore', id:'allthemodium:aggra_inferium_ore', min:-63, max:63, size:8, count:16, stoneReplaces:null, deepslateReplaces:null, endStoneReplaces:"mysticalagradditions:end_inferium_ore", netherrackReplaces:"mysticalagradditions:nether_inferium_ore"},
{path: 'aggra_prosperity_ore', id:'allthemodium:aggra_prosperity_ore', min:-63, max:63, size:8, count:8, stoneReplaces:null, deepslateReplaces:null, endStoneReplaces:"mysticalagradditions:end_prosperity_ore", netherrackReplaces:"mysticalagradditions:nether_prosperity_ore"},
{path: 'prosperity_ore', id:'allthemodium:prosperity_ore', min:65, max:250,size:8, count:8, stoneReplaces:"mysticalagriculture:prosperity_ore", deepslateReplaces:"mysticalagriculture:deepslate_prosperity_ore", endStoneReplaces:null, netherrackReplaces:null},
{path: 'soulium_ore', id:'allthemodium:soulium_ore', min:-63, max:250,size:6, count:3, stoneReplaces:"mysticalagriculture:soulium_ore", deepslateReplaces:"mysticalagriculture:soulium_ore", endStoneReplaces:"mysticalagriculture:soulium_ore", netherrackReplaces:"mysticalagriculture:soulium_ore"},
{path: 'titanium_ore', id:'allthemodium:titanium_ore', min:65, max:250,size:6, count:2, stoneReplaces:"theurgy:sal_ammoniac_ore", deepslateReplaces:"theurgy:deepslate_sal_ammoniac_ore", endStoneReplaces:null, netherrackReplaces:null},
{path: 'black_quartz_ore', id:'allthemodium:black_quartz_ore', min:65, max:250,size:6, count:8, stoneReplaces:"actuallyadditions:black_quartz_ore", deepslateReplaces:null, endStoneReplaces:null, netherrackReplaces:null},
{path: 'sulfur_ore', id:'allthemodium:sulfur_ore', min:-63, max:250,size:8, count:3, stoneReplaces:"alltheores:sulfur_ore", deepslateReplaces:"alltheores:deepslate_sulfur_ore", endStoneReplaces:"alltheores:end_sulfur_ore", netherrackReplaces:"alltheores:nether_sulfur_ore"},
{path: 'fluorite_ore', id:'allthemodium:fluorite_ore', min:-63, max:250,size:8, count:3, stoneReplaces:"alltheores:fluorite_ore", deepslateReplaces:"alltheores:deepslate_fluorite_ore", endStoneReplaces:"alltheores:end_fluorite_ore", netherrackReplaces:"alltheores:nether_fluorite_ore"},
{path: 'cinnabar_ore', id:'allthemodium:cinnabar_ore', min:-63, max:250,size:8, count:2, stoneReplaces:"alltheores:cinnabar_ore", deepslateReplaces:"alltheores:deepslate_cinnabar_ore", endStoneReplaces:"alltheores:end_cinnabar_ore", netherrackReplaces:"alltheores:nether_cinnabar_ore"},
{path: 'salt_ore', id:'allthemodium:salt_ore', min:-63, max:250,size:6, count:8, stoneReplaces:"alltheores:salt_ore", deepslateReplaces:"alltheores:deepslate_salt_ore", endStoneReplaces:"alltheores:end_salt_ore", netherrackReplaces:"alltheores:nether_salt_ore"},
{path: 'stella_arcanum', id:'allthemodium:stella_arcanum', min:-63, max:250,size:2, count:1, stoneReplaces:"forbidden_arcanus:stella_arcanum", deepslateReplaces:"forbidden_arcanus:stella_arcanum", endStoneReplaces:"forbidden_arcanus:stella_arcanum", netherrackReplaces:"forbidden_arcanus:stella_arcanum"},
{path: 'dimensionalshard', id:'allthemodium:dimensionalshard', min:-63, max:250,size:12,count:2, stoneReplaces:"rftoolsbase:dimensionalshard_overworld", deepslateReplaces:null, endStoneReplaces:"rftoolsbase:dimensionalshard_end", netherrackReplaces:"rftoolsbase:dimensionalshard_nether"},
{path: 'crimson_iron_ore', id:'allthemodium:crimson_iron_ore', min:-63, max:63, size:8, count:3, stoneReplaces:null, deepslateReplaces:null, endStoneReplaces:null, netherrackReplaces:"silentgear:crimson_iron_ore"},
{path: 'azure_silver_ore', id:'allthemodium:azure_silver_ore', min:-63, max:63, size:8, count:3, stoneReplaces:null, deepslateReplaces:null, endStoneReplaces:"silentgear:azure_silver_ore", netherrackReplaces:null},
{path: 'draconium_ore', id:'allthemodium:draconium_ore', min:-63, max:250,size:4,count:8, stoneReplaces:"draconicevolution:overworld_draconium_ore", deepslateReplaces:null, endStoneReplaces:null, netherrackReplaces:null}
]
ServerEvents.generateData('after_mods', allthemods => {
let addMiningDimOre = (path, id, min, max, size, count, stoneReplaces, deepslateReplaces, endStoneReplaces, netherrackReplaces) => {
let jsonPlaced = JsonIO.toObject({
"feature": id,
"placement": [
{
"count": count,
"type": "minecraft:count"
},
{
"type": "minecraft:in_square"
},
{
"height": {
"min_inclusive": {
"absolute": min
},
"max_inclusive": {
"absolute": max
},
"type": "minecraft:trapezoid"
},
"type": "minecraft:height_range"
},
{
"type": "minecraft:biome"
}
]
})
let jsonConfigured = JsonIO.toObject({
type: "minecraft:ore",
config: {
"size": size,
"discard_chance_on_air_exposure": 0.0,
"targets": []
}
})
let jsonForge = JsonIO.toObject({
type: "neoforge:add_features",
biomes: "#allthemodium:mining_features/mining_biomes",
"features": [id],
"step": "underground_ores"
})
if(stoneReplaces!==null){
jsonConfigured.config.targets.push(
JsonIO.toObject({
"target": {
"predicate_type": "minecraft:tag_match",
"tag": "minecraft:stone_ore_replaceables"
},
"state": {
"Name": stoneReplaces
}
}))
}
if(deepslateReplaces!==null){
jsonConfigured.config.targets.push(
JsonIO.toObject({
"target": {
"predicate_type": "minecraft:tag_match",
"tag": "minecraft:deepslate_ore_replaceables"
},
"state": {
"Name": deepslateReplaces
}
}))
}
if(endStoneReplaces!==null){
jsonConfigured.config.targets.push(
JsonIO.toObject({
"target": {
"predicate_type": "minecraft:block_match",
"block": "minecraft:end_stone"
},
"state": {
"Name": endStoneReplaces
}
})
)
}
if(netherrackReplaces!==null){
jsonConfigured.config.targets.push(
JsonIO.toObject({
"target": {
"predicate_type": "minecraft:block_match",
"block": "minecraft:netherrack"
},
"state": {
"Name": netherrackReplaces
}
}))
}
allthemods.json(`allthemodium:worldgen/placed_feature/${path}.json`, jsonPlaced)
allthemods.json(`allthemodium:worldgen/configured_feature/${path}.json`, jsonConfigured)
allthemods.json(`allthemodium:neoforge/biome_modifier/allthemodium/dim_ores/${path}.json`, jsonForge)
}
miningDimOres.forEach(ore=>{
addMiningDimOre(ore.path,ore.id, ore.min, ore.max, ore.size, ore.count, ore.stoneReplaces, ore.deepslateReplaces, ore.endStoneReplaces, ore.netherrackReplaces);
})
})
// This File has been authored by AllTheMods Staff, or a Community contributor for use in AllTheMods - AllTheMods 10.
// As all AllTheMods packs are licensed under All Rights Reserved, this file is not allowed to be used in any public packs not released by the AllTheMods Team, without explicit permission.