MMD OreSpawn

MMD OreSpawn

11M Downloads

Biome Specific Ores Not Working

CornBeard opened this issue ยท 9 comments

commented

I found this issue in the FTB Infinity Lite 1.10 pack version 1.8.0.

As far as I can tell the issue lies somewhere within orespawn, but it could be some sort of conflict.

If I have vanilla ore generation disabled in the orespawn.cfg (all vanilla ores are in orespawn's minecraft.json) emerald ore will not generate in the world unless no biomes are specified.

I have tried this with Force Spawns set to true, and false. I have also tried using the biome IDs as "Extreme Hills Edge", "minecraft:smaller_extreme_hills", and "EXTREME_HILLS_EDGE". None of those seem to work.

Note: I have tested this on Default and Biomes O Plenty world types with the same results.

commented

That's a negative on the numerical values.

commented

...Versions 1 and 2 of OreSpawn are officially in "maintenance mode" because nobody on the current team feels comfortable enough with the code bases of them to do any real work on them. OreSpawn 3 is out for 1.11 and we should be able to backport it rather easily - though thats going to have to wait until after the worst of the ruckus over the new betas of the "Metals" family being released.

commented

...and looking at the code of OreSpawn 1 it should work with "Extreme Hills Edge" - this is what is in the default "minecraft.json" that OreSpawn v. 1 will generate.

Note that v.1 does not retrogen and the "Force" option only stops other mods from interfering...

OreSpawn v.1 also can take either the name or the ID number:

if(!(spawnData.biomesByName.contains(biome.getBiomeName())
  || spawnData.biomesByName.contains(String.valueOf(Biome.getIdForBiome(biome))))){
    // wrong biome
    return;
}

Also note that the "biomes" entry MUST be an array - even if there is only one item in it.

commented

hrm... the "minecraft:..." spec is how to do it... I actually don't know the names of the defaults in the biome dictionary offhand, let me give it a look and I'll get back to you.

Actually... which version of OreSpawn are you using ?

OreSpawn 1 and OreSpawn 2 are both in "maintenance mode" and OreSpawn 3 is due to be released shortly. At that, IIRC, the biome restrictions didn't work well (or at all) in OS2 and I think OS1 actually only worked if you specified them as numerics, but I'm not positive on that.

commented

OreSpawn_1.10.2-1.1.0 is what is included in the pack.

I was able to get a bandaid on the problem by editing the minecraft.json that they provided. I removed all of the minecraft spawns from it and then re-enabled vanilla spawning. It's not what they had intended for the pack, I'm sure. But then again, they didn't intend for emeralds not to spawn either. :P

According to the github here and the Minecraft wiki it should be "minecraft:smaller_extreme_hills",
Default in the pack minecraft.json is "Extreme Hills Edge",
I saw it as "EXTREME_HILLS_EDGE" in the VanillaOreSpawn.json HERE

I'll test with the numeric values real quick and get back to you on that.

commented

Deleted orespawn.cfg and minecraft.json in order to let the mod create fresh files.
orespawn.cfg:

# Configuration file

options {
    # If true, then default Minecraft ore generation will be handled exclusively by orespawn .json files 
    # (vanilla ore generation will be disabled) [default: false]
    B:disable_standard_ore_generation=false

    # If true, then ore generation cannot be disabled by other mods. [default: false]
    B:force_ore_generation=false

    # If true, then references to non-existant blocks in the .json files will be ingored without causing an error. [default: true]
    B:ignore_missing_blocks=true

    # A semi-colon (;) delimited list of block IDs of non-stone blocks that you want to also have ores spawn 
    # in them (e.g. "minecraft:gravel;minecraft:sandstone;minecraft:stained_hardened_clay" [default: ]
    S:nonstandard_spawn_blocks=
}

Changed:

   B:disable_standard_ore_generation=false

to

   B:disable_standard_ore_generation=true

then re-launched the game.

Here is the minecraft.json emerald ore entry generated by the mod as well as nether gen as it is the only other specified biome.

{
	"dimensions":[
		{
			"dimension":"+",
			"ores":[
				{
					"blockID":"minecraft:emerald_ore",
					"size":1,
					"variation":0,
					"frequency":8,
					"minHeight":4,
					"maxHeight":32,
					"biomes":[
						"Extreme Hills Edge",
						"Extreme Hills"
					]
				},
			]
		},
		{
			"dimension":-1,
			"ores":[
				{
					"blockID":"minecraft:quartz_ore",
					"size":15,
					"variation":4,
					"frequency":7,
					"minHeight":0,
					"maxHeight":128,
					"biomes":[

					]
				}
			]
		}
	]
}

Here is the /oredistribution result:

commented

Created a new 1.10.2 instance in MultiMC and installed only FML, BDLib, and orespawn.
I edited the config and turned off vanilla ore spawning then restarted the client to let minecraft.json generate.
Here are the results:

Looks like there is a mod conflict to me.

commented

Okay, I've done enough testing that I'm pretty sure it's not a problem with your mod.
It takes 3 or more mods to recreate the issue. SimpleRetrogen and orespawn are always present, but there is no issue unless a 3rd mod tries to add ores as well. Some mods work just fine, other mods remove emerald ore for some reason.
Here is a list of mods that were able to load their own ores and emerald ore:

Immersive Engineering
IC2
Railcraft

If any of these mods were present emerald ore did not spawn:

Chiesl
Forestry
Mekanism
ZeroCore  (Required for Extreme Reactors)

I'm going to relay this information over to the FTB Support forum. Thanks a lot for all of your help!!!

commented

Alright, time for some science.

I installed a fresh untouched version of the modpack. Here is the orespawn.cfg:

# Configuration file

options {
    # If true, then default Minecraft ore generation will be handled exclusively by orespawn .json files 
    # (vanilla ore generation will be disabled) [default: false]
    B:disable_standard_ore_generation=true

    # If true, then ore generation cannot be disabled by other mods. [default: false]
    B:force_ore_generation=false

    # If true, then references to non-existant blocks in the .json files will be ingored without causing an error. [default: true]
    B:ignore_missing_blocks=true

    # A semi-colon (;) delimited list of block IDs of non-stone blocks that you want to also have ores spawn 
    # in them (e.g. "minecraft:gravel;minecraft:sandstone;minecraft:stained_hardened_clay" [default: ]
    S:nonstandard_spawn_blocks=
}

Note that the intention is to have vanilla ore generation handled exclusively by orespawn.

And here is the emarald entry in the minecraft.json that is shipped in the config/orespawn folder"

{
	"dimensions":[
		{
			"dimension":0,
			"ores":[
				{
					"blockID":"minecraft:emerald_ore",
					"size":1,
					"variation":0,
					"frequency":8,
					"minHeight":4,
					"maxHeight":32,
					"biomes":[
						"Extreme Hills Edge",
						"Extreme Hills"
					]
				},
			]
		},

I trimmed out the other ores and dimensions to save space in this post. I can post the entire file somewhere if that would be helpful.
Note: Every dimension has it's own entry. There is no generic entry.

Created a new world that is only Extreme Hills and ran /oredistrobution (From BDLib). Here are the results: