#removing ores from world gen doesnt work for all modded ores

26 messages · Page 1 of 1 (latest)

late fiber
#

Hi,
i am trying to remove the duplicate ore gen via kubejs. (mainly to not having to edit x configs)
it does work, but not for all mods. eg. railcraft ores are being removed, so are nuclearcraft. but mainly mekanism ores are not affected, as well as immersive engineering.
this is the script that i have:

  event.removeOres(props => {
    props.worldgenLayer = 'underground_ores';
    props.blocks = [
      "railcraft:lead_ore",
      "railcraft:deepslate_lead_ore",
      "railcraft:nickel_ore",
      "railcraft:deepslate_nickel_ore",
      "railcraft:tin_ore",
      "railcraft:deepslate_tin_ore",
      "railcraft:silver_ore",
      "railcraft:deepslate_silver_ore",
      "railcraft:zinc_ore",
      "railcraft:deepslate_zinc_ore",
      "railcraft:sulfur_ore",
      "railcraft:deepslate_sulfur_ore",
      "occultism:silver_ore",
      "occultism:silver_ore_deepslate",
      "bigreactors:yellorite_ore",
      "mekanism:uranium_ore",
      "mekanism:deepslate_uranium_ore",
      "biggerreactors:uranium_ore",
      "biggerreactors:deepslate_uranium_ore",
      "nuclearcraft:uranium_ore",
      "nuclearcraft:uranium_deepslate_ore",
      "nuclearcraft:zinc_ore",
      "embers:lead_ore",
      "embers:deepslate_lead_ore",
      "nuclearcraft:lead_ore",
      "mekanism:lead_ore",
      "mekanism:deepslate_lead_ore",
      "immersiveengineering:ore_lead",
      "immersiveengineering:deepslate_ore_lead",
      "embers:silver_ore",
      "embers:deepslate_silver_ore",
      "immersiveengineering:ore_silver",
      "immersiveengineering:deepslate_ore_silver",
      "nuclearcraft:silver_ore",
      "nuclearcraft:silver_deepslate_ore",
      "xycraft_world:aluminum_ore_stone",
      "xycraft_world:aluminum_ore_deepslate",
      "immersiveengineering:ore_nickel",
      "immersiveengineering:deepslate_ore_nickel",
      "mekanism:tin_ore",
      "mekanism:deepslate_tin_ore",
      "nuclearcraft:tin_ore"
    ]
  })
})
sonic shoreBOT
#

Once your ticket has been resolved, please close it with </ticket close:1054771505520717835> command!

zealous hearthBOT
#

You can write your code in a codeblock by typing it between the codeblock delimiters:
Note that these are backticks, not apostrophes

```js :arrow_left:

ServerEvents.recipes(event => {
event.smelting('minecraft:glass', '#forge:sand').xp(.1)
})

``` :arrow_left:

This example will look like this:

ServerEvents.recipes(event => {
  event.smelting('minecraft:glass', '#forge:sand').xp(.1)
})
left remnant
open tusk
open tusk
#

Clearly it works for modded ores, so maybe change your title to be more accurate.

late fiber
#

is the worldgenLayer mandatory?

open tusk
#

I believe so, that's where the removal takes place

late fiber
#

hmm, then i will search if the affected mods, where it doesnt work, are using something else then underground_ores

subtle crown
#

datapack is your best bet

#

im using datapack for my 1.20.1

#

its relatively simple too

late fiber
#

so i can confirm that meka is using underground_ores for the ore gen

late fiber
#

i compared meka with railcraft (where the removal works)

#

both use GenerationStep.Decoration.UNDERGROUND_ORES
and ores are defined using "step": "underground_ores"

#

another odd thing: immersiveengineering works, exept the deepslate nickel ore

#

i also double checked naming (copied it via crafttweaker)

subtle crown
#

deep_nickel is the file

#

from the mod itself

late fiber
#

yes correct. and in it it lists immersiveengineering:deepslate_ore_nickel

#

so i would assume this should work, since it does work for immersiveengineering:ore_nickel

late fiber
#

so i did a test run with just meka and IE

#
  event.removeOres(props => {
    props.blocks = [
      'immersiveengineering:ore_lead',
      'immersiveengineering:deepslate_ore_lead',
      'immersiveengineering:ore_nickel',
      'immersiveengineering:deepslate_ore_nickel',
      'immersiveengineering:ore_silver',
      'immersiveengineering:deepslate_ore_silver',
      'mekanism:tin_ore',
      'mekanism:deepslate_tin_ore'
    ]
  })
})```
#

with this script, only immersiveengineering:ore_nickel is beeing removed